github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/cmd/fbchaind/mpt/cmd.go (about)

     1  package mpt
     2  
     3  import (
     4  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/server"
     5  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/store/mpt/types"
     6  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     7  	tmtypes "github.com/fibonacci-chain/fbc/libs/tendermint/types"
     8  	"github.com/spf13/cobra"
     9  )
    10  
    11  func MptCmd(ctx *server.Context) *cobra.Command {
    12  	cmd := &cobra.Command{
    13  		Use:   "mpt",
    14  		Short: "migrate iavl state to mpt state (if use migrate mpt data, then you should set `--use-composite-key true` when you decide to use mpt to store the coming data)",
    15  	}
    16  
    17  	cmd.AddCommand(
    18  		iavl2mptCmd(ctx),
    19  		cleanIavlStoreCmd(ctx),
    20  		mptViewerCmd(ctx),
    21  	)
    22  	cmd.PersistentFlags().UintVar(&types.TrieRocksdbBatchSize, types.FlagTrieRocksdbBatchSize, 100, "Concurrent rocksdb batch size for mpt")
    23  	cmd.PersistentFlags().String(sdk.FlagDBBackend, tmtypes.DBBackend, "Database backend: goleveldb | rocksdb")
    24  
    25  	return cmd
    26  }