Skip to content

Commit a845284

Browse files
authored
Merge pull request ethereum#100 from fearlessfe/hs
refactor: history storage
2 parents a4ada7c + dfdd763 commit a845284

File tree

4 files changed

+762
-6
lines changed

4 files changed

+762
-6
lines changed

cmd/shisui/main.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"github.com/ethereum/go-ethereum/portalnetwork/beacon"
2424
"github.com/ethereum/go-ethereum/portalnetwork/history"
2525
"github.com/ethereum/go-ethereum/portalnetwork/storage"
26-
"github.com/ethereum/go-ethereum/portalnetwork/storage/sqlite"
2726
"github.com/ethereum/go-ethereum/rpc"
2827
_ "github.com/mattn/go-sqlite3"
2928
"github.com/protolambda/zrnt/eth2/configs"
@@ -181,7 +180,15 @@ func initDiscV5(config Config, conn discover.UDPConn) (*discover.UDPv5, *enode.L
181180
}
182181

183182
func initHistory(config Config, server *rpc.Server, conn discover.UDPConn, localNode *enode.LocalNode, discV5 *discover.UDPv5) error {
184-
contentStorage, err := sqlite.NewContentStorage(config.DataCapacity, localNode.ID(), config.DataDir)
183+
db, err := history.NewDB(config.DataDir)
184+
if err != nil {
185+
return err
186+
}
187+
contentStorage, err := history.NewHistoryStorage(storage.PortalStorageConfig{
188+
StorageCapacityMB: config.DataCapacity,
189+
DB: db,
190+
NodeId: localNode.ID(),
191+
})
185192
if err != nil {
186193
return err
187194
}

portalnetwork/beacon/types.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@ func (flcb *ForkedLightClientBootstrap) Deserialize(spec *common.Spec, dr *codec
6868
}
6969

7070
func (flcb *ForkedLightClientBootstrap) Serialize(spec *common.Spec, w *codec.EncodingWriter) error {
71-
return w.FixedLenContainer(flcb.ForkDigest, spec.Wrap(flcb.Bootstrap))
71+
if err := w.Write(flcb.ForkDigest[:]); err != nil {
72+
return err
73+
}
74+
return flcb.Bootstrap.Serialize(spec, w)
7275
}
7376

7477
func (flcb *ForkedLightClientBootstrap) FixedLength(_ *common.Spec) uint64 {
@@ -113,7 +116,10 @@ func (flcu *ForkedLightClientUpdate) Deserialize(spec *common.Spec, dr *codec.De
113116
}
114117

115118
func (flcu *ForkedLightClientUpdate) Serialize(spec *common.Spec, w *codec.EncodingWriter) error {
116-
return w.FixedLenContainer(flcu.ForkDigest, spec.Wrap(flcu.LightClientUpdate))
119+
if err := w.Write(flcu.ForkDigest[:]); err != nil {
120+
return err
121+
}
122+
return flcu.LightClientUpdate.Serialize(spec, w)
117123
}
118124

119125
func (flcu *ForkedLightClientUpdate) FixedLength(_ *common.Spec) uint64 {
@@ -195,7 +201,10 @@ func (flcou *ForkedLightClientOptimisticUpdate) Deserialize(spec *common.Spec, d
195201
}
196202

197203
func (flcou *ForkedLightClientOptimisticUpdate) Serialize(spec *common.Spec, w *codec.EncodingWriter) error {
198-
return w.FixedLenContainer(flcou.ForkDigest, spec.Wrap(flcou.LightClientOptimisticUpdate))
204+
if err := w.Write(flcou.ForkDigest[:]); err != nil {
205+
return err
206+
}
207+
return flcou.LightClientOptimisticUpdate.Serialize(spec, w)
199208
}
200209

201210
func (flcou *ForkedLightClientOptimisticUpdate) FixedLength(_ *common.Spec) uint64 {
@@ -240,7 +249,10 @@ func (flcfu *ForkedLightClientFinalityUpdate) Deserialize(spec *common.Spec, dr
240249
}
241250

242251
func (flcfu *ForkedLightClientFinalityUpdate) Serialize(spec *common.Spec, w *codec.EncodingWriter) error {
243-
return w.FixedLenContainer(flcfu.ForkDigest, spec.Wrap(flcfu.LightClientFinalityUpdate))
252+
if err := w.Write(flcfu.ForkDigest[:]); err != nil {
253+
return err
254+
}
255+
return flcfu.LightClientFinalityUpdate.Serialize(spec, w)
244256
}
245257

246258
func (flcfu *ForkedLightClientFinalityUpdate) FixedLength(_ *common.Spec) uint64 {

0 commit comments

Comments
 (0)