Skip to content

Commit 62cbf25

Browse files
tac0turtlemergify[bot]
authored andcommitted
refactor(server): use bootstrap api from comet (#17899)
(cherry picked from commit 1be29b7)
1 parent 396be81 commit 62cbf25

1 file changed

Lines changed: 1 addition & 62 deletions

File tree

server/cmt_cmds.go

Lines changed: 1 addition & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,9 @@ import (
99

1010
cmtcfg "github.com/cometbft/cometbft/config"
1111
cmtjson "github.com/cometbft/cometbft/libs/json"
12-
"github.com/cometbft/cometbft/light"
1312
"github.com/cometbft/cometbft/node"
1413
"github.com/cometbft/cometbft/p2p"
1514
pvm "github.com/cometbft/cometbft/privval"
16-
cmtstore "github.com/cometbft/cometbft/proto/tendermint/store"
17-
sm "github.com/cometbft/cometbft/state"
18-
"github.com/cometbft/cometbft/statesync"
19-
"github.com/cometbft/cometbft/store"
2015
cmtversion "github.com/cometbft/cometbft/version"
2116
"github.com/spf13/cobra"
2217
"sigs.k8s.io/yaml"
@@ -28,7 +23,6 @@ import (
2823
"github.com/cosmos/cosmos-sdk/client/grpc/cmtservice"
2924
rpc "github.com/cosmos/cosmos-sdk/client/rpc"
3025
cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec"
31-
servercmtlog "github.com/cosmos/cosmos-sdk/server/log"
3226
"github.com/cosmos/cosmos-sdk/server/types"
3327
sdk "github.com/cosmos/cosmos-sdk/types"
3428
"github.com/cosmos/cosmos-sdk/types/query"
@@ -387,62 +381,7 @@ func BootstrapStateCmd(appCreator types.AppCreator) *cobra.Command {
387381
height = app.CommitMultiStore().LastCommitID().Version
388382
}
389383

390-
blockStoreDB, err := cmtcfg.DefaultDBProvider(&cmtcfg.DBContext{ID: "blockstore", Config: cfg})
391-
if err != nil {
392-
return err
393-
}
394-
blockStore := store.NewBlockStore(blockStoreDB)
395-
396-
stateDB, err := cmtcfg.DefaultDBProvider(&cmtcfg.DBContext{ID: "state", Config: cfg})
397-
if err != nil {
398-
return err
399-
}
400-
stateStore := sm.NewStore(stateDB, sm.StoreOptions{
401-
DiscardABCIResponses: cfg.Storage.DiscardABCIResponses,
402-
})
403-
404-
genState, _, err := node.LoadStateFromDBOrGenesisDocProvider(stateDB, node.DefaultGenesisDocProviderFunc(cfg))
405-
if err != nil {
406-
return err
407-
}
408-
409-
stateProvider, err := statesync.NewLightClientStateProvider(
410-
cmd.Context(),
411-
genState.ChainID, genState.Version, genState.InitialHeight,
412-
cfg.StateSync.RPCServers, light.TrustOptions{
413-
Period: cfg.StateSync.TrustPeriod,
414-
Height: cfg.StateSync.TrustHeight,
415-
Hash: cfg.StateSync.TrustHashBytes(),
416-
}, servercmtlog.CometLoggerWrapper{Logger: logger.With("module", "light")})
417-
if err != nil {
418-
return fmt.Errorf("failed to set up light client state provider: %w", err)
419-
}
420-
421-
state, err := stateProvider.State(cmd.Context(), uint64(height))
422-
if err != nil {
423-
return fmt.Errorf("failed to get state: %w", err)
424-
}
425-
426-
commit, err := stateProvider.Commit(cmd.Context(), uint64(height))
427-
if err != nil {
428-
return fmt.Errorf("failed to get commit: %w", err)
429-
}
430-
431-
if err := stateStore.Bootstrap(state); err != nil {
432-
return fmt.Errorf("failed to bootstrap state: %w", err)
433-
}
434-
435-
if err := blockStore.SaveSeenCommit(state.LastBlockHeight, commit); err != nil {
436-
return fmt.Errorf("failed to save seen commit: %w", err)
437-
}
438-
439-
store.SaveBlockStoreState(&cmtstore.BlockStoreState{
440-
// it breaks the invariant that blocks in range [Base, Height] must exists, but it do works in practice.
441-
Base: state.LastBlockHeight,
442-
Height: state.LastBlockHeight,
443-
}, blockStoreDB)
444-
445-
return nil
384+
return node.BootstrapState(cmd.Context(), cfg, cmtcfg.DefaultDBProvider, uint64(height), nil)
446385
},
447386
}
448387

0 commit comments

Comments
 (0)