good morning!!!!

Skip to content
Snippets Groups Projects
Commit 5d0f081a authored by alex.sharov's avatar alex.sharov
Browse files

save

parent 1a45f26a
No related branches found
No related tags found
No related merge requests found
...@@ -1083,13 +1083,7 @@ func newSync(ctx context.Context, db kv.RwDB, miningConfig *params.MiningConfig) ...@@ -1083,13 +1083,7 @@ func newSync(ctx context.Context, db kv.RwDB, miningConfig *params.MiningConfig)
cfg.Miner = *miningConfig cfg.Miner = *miningConfig
} }
sync, err := stages2.NewStagedSync(context.Background(), logger, db, p2p.Config{}, cfg, sync, err := stages2.NewStagedSync(context.Background(), logger, db, p2p.Config{}, cfg, downloadServer, tmpdir, txPool, txPoolP2PServer, nil)
downloadServer,
tmpdir,
txPool,
txPoolP2PServer,
nil, nil, nil,
)
if err != nil { if err != nil {
panic(err) panic(err)
} }
......
...@@ -96,8 +96,6 @@ type Ethereum struct { ...@@ -96,8 +96,6 @@ type Ethereum struct {
networkID uint64 networkID uint64
torrentClient *snapshotsync.Client
lock sync.RWMutex // Protects the variadic fields (e.g. gas price and etherbase) lock sync.RWMutex // Protects the variadic fields (e.g. gas price and etherbase)
chainConfig *params.ChainConfig chainConfig *params.ChainConfig
genesisHash common.Hash genesisHash common.Hash
...@@ -148,43 +146,6 @@ func New(stack *node.Node, config *ethconfig.Config, logger log.Logger) (*Ethere ...@@ -148,43 +146,6 @@ func New(stack *node.Node, config *ethconfig.Config, logger log.Logger) (*Ethere
return nil, err return nil, err
} }
var torrentClient *snapshotsync.Client
config.Snapshot.Dir = stack.Config().ResolvePath("snapshots")
if config.Snapshot.Enabled {
var peerID string
if err = chainKv.View(context.Background(), func(tx kv.Tx) error {
v, err := tx.GetOne(kv.BittorrentInfo, []byte(kv.BittorrentPeerID))
if err != nil {
return err
}
peerID = string(v)
return nil
}); err != nil {
log.Error("Get bittorrent peer", "err", err)
}
torrentClient, err = snapshotsync.New(config.Snapshot.Dir, config.Snapshot.Seeding, peerID)
if err != nil {
return nil, err
}
if len(peerID) == 0 {
log.Info("Generate new bittorent peerID", "id", common.Bytes2Hex(torrentClient.PeerID()))
if err = chainKv.Update(context.Background(), func(tx kv.RwTx) error {
return torrentClient.SavePeerID(tx)
}); err != nil {
log.Error("Bittorrent peerID haven't saved", "err", err)
}
}
chainKv, err = snapshotsync.WrapSnapshots(chainKv, config.Snapshot.Dir)
if err != nil {
return nil, err
}
err = snapshotsync.SnapshotSeeding(chainKv, torrentClient, "headers", config.Snapshot.Dir)
if err != nil {
return nil, err
}
}
// Check if we have an already initialized chain and fall back to // Check if we have an already initialized chain and fall back to
// that if so. Otherwise we need to generate a new genesis spec. // that if so. Otherwise we need to generate a new genesis spec.
if err := chainKv.View(context.Background(), func(tx kv.Tx) error { if err := chainKv.View(context.Background(), func(tx kv.Tx) error {
...@@ -216,7 +177,6 @@ func New(stack *node.Node, config *ethconfig.Config, logger log.Logger) (*Ethere ...@@ -216,7 +177,6 @@ func New(stack *node.Node, config *ethconfig.Config, logger log.Logger) (*Ethere
chainDB: chainKv, chainDB: chainKv,
networkID: config.NetworkID, networkID: config.NetworkID,
etherbase: config.Miner.Etherbase, etherbase: config.Miner.Etherbase,
torrentClient: torrentClient,
chainConfig: chainConfig, chainConfig: chainConfig,
genesisHash: genesis.Hash(), genesisHash: genesis.Hash(),
waitForStageLoopStop: make(chan struct{}), waitForStageLoopStop: make(chan struct{}),
...@@ -512,19 +472,7 @@ func New(stack *node.Node, config *ethconfig.Config, logger log.Logger) (*Ethere ...@@ -512,19 +472,7 @@ func New(stack *node.Node, config *ethconfig.Config, logger log.Logger) (*Ethere
return nil, err return nil, err
} }
backend.stagedSync, err = stages2.NewStagedSync( backend.stagedSync, err = stages2.NewStagedSync(backend.downloadCtx, backend.logger, backend.chainDB, stack.Config().P2P, *config, backend.downloadServer, tmpdir, backend.txPool, backend.txPoolP2PServer, backend.notifications.Accumulator)
backend.downloadCtx,
backend.logger,
backend.chainDB,
stack.Config().P2P,
*config,
backend.downloadServer,
tmpdir,
backend.txPool,
backend.txPoolP2PServer,
torrentClient, mg, backend.notifications.Accumulator,
)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -13,25 +13,20 @@ import ( ...@@ -13,25 +13,20 @@ import (
"github.com/ledgerwatch/erigon-lib/kv" "github.com/ledgerwatch/erigon-lib/kv"
"github.com/ledgerwatch/erigon/core/rawdb" "github.com/ledgerwatch/erigon/core/rawdb"
"github.com/ledgerwatch/erigon/core/types" "github.com/ledgerwatch/erigon/core/types"
"github.com/ledgerwatch/erigon/turbo/snapshotsync"
"github.com/ledgerwatch/log/v3" "github.com/ledgerwatch/log/v3"
) )
type FinishCfg struct { type FinishCfg struct {
db kv.RwDB db kv.RwDB
tmpDir string tmpDir string
btClient *snapshotsync.Client
snBuilder *snapshotsync.SnapshotMigrator
log log.Logger log log.Logger
} }
func StageFinishCfg(db kv.RwDB, tmpDir string, btClient *snapshotsync.Client, snBuilder *snapshotsync.SnapshotMigrator, logger log.Logger) FinishCfg { func StageFinishCfg(db kv.RwDB, tmpDir string, logger log.Logger) FinishCfg {
return FinishCfg{ return FinishCfg{
db: db, db: db,
log: logger, log: logger,
tmpDir: tmpDir, tmpDir: tmpDir,
btClient: btClient,
snBuilder: snBuilder,
} }
} }
...@@ -55,19 +50,6 @@ func FinishForward(s *StageState, tx kv.RwTx, cfg FinishCfg, initialCycle bool) ...@@ -55,19 +50,6 @@ func FinishForward(s *StageState, tx kv.RwTx, cfg FinishCfg, initialCycle bool)
return nil return nil
} }
if cfg.snBuilder != nil && useExternalTx {
snBlock := snapshotsync.CalculateEpoch(executionAt, snapshotsync.EpochSize)
err = cfg.snBuilder.AsyncStages(snBlock, cfg.log, cfg.db, tx, cfg.btClient, true)
if err != nil {
return err
}
if cfg.snBuilder.Replaced() {
err = cfg.snBuilder.SyncStages(snBlock, cfg.db, tx)
if err != nil {
return err
}
}
}
rawdb.WriteHeadBlockHash(tx, rawdb.ReadHeadHeaderHash(tx)) rawdb.WriteHeadBlockHash(tx, rawdb.ReadHeadHeaderHash(tx))
err = s.Update(tx, executionAt) err = s.Update(tx, executionAt)
if err != nil { if err != nil {
......
...@@ -301,7 +301,7 @@ func MockWithEverything(t *testing.T, gspec *core.Genesis, key *ecdsa.PrivateKey ...@@ -301,7 +301,7 @@ func MockWithEverything(t *testing.T, gspec *core.Genesis, key *ecdsa.PrivateKey
mock.DB, mock.DB,
cfg.BatchSize, cfg.BatchSize,
mock.ChainConfig, mock.ChainConfig,
), stagedsync.StageHashStateCfg(mock.DB, mock.tmpdir), stagedsync.StageTrieCfg(mock.DB, true, true, mock.tmpdir), stagedsync.StageHistoryCfg(mock.DB, prune, mock.tmpdir), stagedsync.StageLogIndexCfg(mock.DB, prune, mock.tmpdir), stagedsync.StageCallTracesCfg(mock.DB, prune, 0, mock.tmpdir), stagedsync.StageTxLookupCfg(mock.DB, prune, mock.tmpdir), stagedsync.StageTxPoolCfg(mock.DB, nil, cfg.TxPool, func() {}), stagedsync.StageFinishCfg(mock.DB, mock.tmpdir, nil, nil, mock.Log), true), ), stagedsync.StageHashStateCfg(mock.DB, mock.tmpdir), stagedsync.StageTrieCfg(mock.DB, true, true, mock.tmpdir), stagedsync.StageHistoryCfg(mock.DB, prune, mock.tmpdir), stagedsync.StageLogIndexCfg(mock.DB, prune, mock.tmpdir), stagedsync.StageCallTracesCfg(mock.DB, prune, 0, mock.tmpdir), stagedsync.StageTxLookupCfg(mock.DB, prune, mock.tmpdir), stagedsync.StageTxPoolCfg(mock.DB, nil, cfg.TxPool, func() {}), stagedsync.StageFinishCfg(mock.DB, mock.tmpdir, mock.Log), true),
stagedsync.DefaultUnwindOrder, stagedsync.DefaultUnwindOrder,
stagedsync.DefaultPruneOrder, stagedsync.DefaultPruneOrder,
) )
......
...@@ -22,7 +22,6 @@ import ( ...@@ -22,7 +22,6 @@ import (
"github.com/ledgerwatch/erigon/eth/stagedsync/stages" "github.com/ledgerwatch/erigon/eth/stagedsync/stages"
"github.com/ledgerwatch/erigon/p2p" "github.com/ledgerwatch/erigon/p2p"
"github.com/ledgerwatch/erigon/turbo/shards" "github.com/ledgerwatch/erigon/turbo/shards"
"github.com/ledgerwatch/erigon/turbo/snapshotsync"
"github.com/ledgerwatch/erigon/turbo/stages/headerdownload" "github.com/ledgerwatch/erigon/turbo/stages/headerdownload"
"github.com/ledgerwatch/erigon/turbo/txpool" "github.com/ledgerwatch/erigon/turbo/txpool"
"github.com/ledgerwatch/log/v3" "github.com/ledgerwatch/log/v3"
...@@ -225,9 +224,6 @@ func NewStagedSync( ...@@ -225,9 +224,6 @@ func NewStagedSync(
tmpdir string, tmpdir string,
txPool *core.TxPool, txPool *core.TxPool,
txPoolServer *txpool.P2PServer, txPoolServer *txpool.P2PServer,
client *snapshotsync.Client,
snapshotMigrator *snapshotsync.SnapshotMigrator,
accumulator *shards.Accumulator, accumulator *shards.Accumulator,
) (*stagedsync.Sync, error) { ) (*stagedsync.Sync, error) {
return stagedsync.New( return stagedsync.New(
...@@ -277,7 +273,7 @@ func NewStagedSync( ...@@ -277,7 +273,7 @@ func NewStagedSync(
} }
txPoolServer.TxFetcher.Start() txPoolServer.TxFetcher.Start()
} }
}), stagedsync.StageFinishCfg(db, tmpdir, client, snapshotMigrator, logger), false), }), stagedsync.StageFinishCfg(db, tmpdir, logger), false),
stagedsync.DefaultUnwindOrder, stagedsync.DefaultUnwindOrder,
stagedsync.DefaultPruneOrder, stagedsync.DefaultPruneOrder,
), nil ), nil
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment