mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2024-12-24 20:47:16 +00:00
35fcd3a829
* implemented bor consensus * add bor flags to default * change bucket into snapshot to clique * enable stateSync * bypass reciept checks * fix receipt calculation and bor logs * fix: contract call wrt bor * Update mumbai config * Add: bor-mainnet flag and config * Add bor consensus to integration * use header coinbase in block context * london fork mumbai changes * fix genesis error * Jaipur fork for mumbai * add sysCall to verifyHeader * added bor related rpc method implementation * added bor specific rpc extensions * fixes in snapshot implementation, major refactor for bor rpc * modify consensus specific db path for bor * fix: remove parallel compute for get root hash rpc method * Added bor-receipt flow * Use turbo-bor-lib and bor tables * Use bor table in RPC snapshot * Update README.md * Update README.md * Update README.md * Update README.md * update rpc readme * link rpc docs in readme * Update Readme * Update Readme * move erigon namespace rpc methods to eth * rm: erigon namespace * rm: erigon namespace, update list of available rpc methods, add example * fix: binary name in rpc readme * fix: max db size * Add london to bor-mainnet * updated node.go * add system req to readme * golang version fix readme * added networknames in correct place * nil * ran gofmt * erigon * fixed fake.go * dont need turbor-lib * old readme * fixing readme * half * other half * changed return * fixing return * fixed return * fixed flags * gofmt * merge with devel * latest erigon-lib * fixed context.coinbase * took out syscall * fixed params in hash * bor type now is consensus.Engine * parlia is consensus.Engine * missing arg and repeated importation * repeated importation * fixed eth_receipts.go * deleted duplicate issuance * part of consensus.Engine type * added eth_api issuance * networkname * added erigon_system file * fork struct taken out * added erigon block * getLogByHash for erigonImpl * gofmt * fixed lint * ops * gofmt * gofmt * added APIImple functions * fixed clique test * took out print * fixed state added balance * fixed README * fixed rpcDaemon README * fixed integration README * updated blockchain.go * lint * added bor back into blockchain.go * took out comment * lint * updated daemon * updated wtb * removed duplicate * removed VerifyHeaders * prevent use of wrong Transfer * fixed state_processor.go * fixed state_transition.go * fixed headers * returning err * error handling in bor read tx look up * put for txLookUp * dealing with error * lint * traces * more traces * fixed receipt in execution * getTrasanction receipt for bor or others * nil * lint * ops * deleted syscall * took out else * Merge branch 'devel * tests syscalls * changed borReceipt to receipt * reset header algos * arguments fix * took out prefixes * lint * erigon-named * borReceiptKey = blocknumber * reverts e3b60c2e159d03efcb855f7ab3da5a098dd60c33. * correct hashing tx * dont need it here * lint * added txlookup for bor * change to uint256 * outputs for isBor * wrapper * added isBor and isParlia * isBor * fixed BorTransfer * not readBody * correct prefix * added blockNum * added readStorageBody * readStorageBody * lint * got rid of unnecessary bor_receipt func * onlny if bor * use clone * append * writeToSlice * added isBor flag * fixed writeToSlice * normal sorting * lint * Reset erigon-snapshots * Move bor prefix into if Co-authored-by: Krishna Upadhyaya <krishnau1604@gmail.com> Co-authored-by: Manav Darji <manavdarji.india@gmail.com> Co-authored-by: Uttam Singh <uttamkhanduja@yahoo.in> Co-authored-by: Giulio Rebuffo <giulio.rebuffo@gmail.com> Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
135 lines
5.2 KiB
Go
135 lines
5.2 KiB
Go
package commands
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
|
|
"github.com/ledgerwatch/erigon/cmd/utils"
|
|
"github.com/ledgerwatch/erigon/common/paths"
|
|
"github.com/ledgerwatch/erigon/eth/ethconfig"
|
|
)
|
|
|
|
var (
|
|
chaindata string
|
|
databaseVerbosity int
|
|
referenceChaindata string
|
|
block, pruneTo, unwind uint64
|
|
unwindEvery uint64
|
|
batchSizeStr string
|
|
reset bool
|
|
bucket string
|
|
datadir, toChaindata string
|
|
migration string
|
|
integrityFast, integritySlow bool
|
|
file string
|
|
HeimdallURL string
|
|
txtrace bool // Whether to trace the execution (should only be used together eith `block`)
|
|
pruneFlag string
|
|
pruneH, pruneR, pruneT, pruneC uint64
|
|
pruneHBefore, pruneRBefore uint64
|
|
pruneTBefore, pruneCBefore uint64
|
|
experiments []string
|
|
chain string // Which chain to use (mainnet, ropsten, rinkeby, goerli, etc.)
|
|
enableSnapshot bool
|
|
)
|
|
|
|
func must(err error) {
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
func withMining(cmd *cobra.Command) {
|
|
cmd.Flags().Bool("mine", false, "Enable mining")
|
|
cmd.Flags().StringArray("miner.notify", nil, "Comma separated HTTP URL list to notify of new work packages")
|
|
cmd.Flags().Uint64("miner.gaslimit", ethconfig.Defaults.Miner.GasLimit, "Target gas limit for mined blocks")
|
|
cmd.Flags().Int64("miner.gasprice", ethconfig.Defaults.Miner.GasPrice.Int64(), "Target gas price for mined blocks")
|
|
cmd.Flags().String("miner.etherbase", "0", "Public address for block mining rewards (default = first account")
|
|
cmd.Flags().String("miner.extradata", "", "Block extra data set by the miner (default = client version)")
|
|
cmd.Flags().Duration("miner.recommit", ethconfig.Defaults.Miner.Recommit, "Time interval to recreate the block being mined")
|
|
cmd.Flags().Bool("miner.noverify", false, "Disable remote sealing verification")
|
|
}
|
|
|
|
func withFile(cmd *cobra.Command) {
|
|
cmd.Flags().StringVar(&file, "file", "", "path to file")
|
|
must(cmd.MarkFlagFilename("file"))
|
|
must(cmd.MarkFlagRequired("file"))
|
|
}
|
|
|
|
func withReferenceChaindata(cmd *cobra.Command) {
|
|
cmd.Flags().StringVar(&referenceChaindata, "chaindata.reference", "", "path to the 2nd (reference/etalon) db")
|
|
must(cmd.MarkFlagDirname("chaindata.reference"))
|
|
}
|
|
|
|
func withToChaindata(cmd *cobra.Command) {
|
|
cmd.Flags().StringVar(&toChaindata, "chaindata.to", "", "target chaindata")
|
|
must(cmd.MarkFlagDirname("chaindata.to"))
|
|
}
|
|
|
|
func withBlock(cmd *cobra.Command) {
|
|
cmd.Flags().Uint64Var(&block, "block", 0, "block test at this block")
|
|
}
|
|
|
|
func withUnwind(cmd *cobra.Command) {
|
|
cmd.Flags().Uint64Var(&unwind, "unwind", 0, "how much blocks unwind on each iteration")
|
|
}
|
|
|
|
func withPruneTo(cmd *cobra.Command) {
|
|
cmd.Flags().Uint64Var(&pruneTo, "prune.to", 0, "how much blocks unwind on each iteration")
|
|
}
|
|
|
|
func withUnwindEvery(cmd *cobra.Command) {
|
|
cmd.Flags().Uint64Var(&unwindEvery, "unwind.every", 0, "each iteration test will move forward `--unwind.every` blocks, then unwind `--unwind` blocks")
|
|
}
|
|
|
|
func withReset(cmd *cobra.Command) {
|
|
cmd.Flags().BoolVar(&reset, "reset", false, "reset given stage")
|
|
}
|
|
|
|
func withBucket(cmd *cobra.Command) {
|
|
cmd.Flags().StringVar(&bucket, "bucket", "", "reset given stage")
|
|
}
|
|
|
|
func withDatadir2(cmd *cobra.Command) {
|
|
cmd.Flags().String(utils.DataDirFlag.Name, paths.DefaultDataDir(), utils.DataDirFlag.Usage)
|
|
must(cmd.MarkFlagDirname(utils.DataDirFlag.Name))
|
|
must(cmd.MarkFlagRequired(utils.DataDirFlag.Name))
|
|
cmd.Flags().IntVar(&databaseVerbosity, "database.verbosity", 2, "Enabling internal db logs. Very high verbosity levels may require recompile db. Default: 2, means warning.")
|
|
cmd.Flags().BoolVar(&enableSnapshot, ethconfig.FlagSnapshot, false, "")
|
|
}
|
|
|
|
func withDatadir(cmd *cobra.Command) {
|
|
cmd.Flags().StringVar(&datadir, "datadir", paths.DefaultDataDir(), "data directory for temporary ELT files")
|
|
must(cmd.MarkFlagDirname("datadir"))
|
|
|
|
cmd.Flags().StringVar(&chaindata, "chaindata", "", "path to the db")
|
|
must(cmd.MarkFlagDirname("chaindata"))
|
|
|
|
cmd.Flags().IntVar(&databaseVerbosity, "database.verbosity", 2, "Enabling internal db logs. Very high verbosity levels may require recompile db. Default: 2, means warning")
|
|
cmd.Flags().BoolVar(&enableSnapshot, ethconfig.FlagSnapshot, false, "")
|
|
}
|
|
|
|
func withBatchSize(cmd *cobra.Command) {
|
|
cmd.Flags().StringVar(&batchSizeStr, "batchSize", "512M", "batch size for execution stage")
|
|
}
|
|
|
|
func withIntegrityChecks(cmd *cobra.Command) {
|
|
cmd.Flags().BoolVar(&integritySlow, "integrity.slow", false, "enable slow data-integrity checks")
|
|
cmd.Flags().BoolVar(&integrityFast, "integrity.fast", true, "enable fast data-integrity checks")
|
|
}
|
|
|
|
func withMigration(cmd *cobra.Command) {
|
|
cmd.Flags().StringVar(&migration, "migration", "", "action to apply to given migration")
|
|
}
|
|
|
|
func withTxTrace(cmd *cobra.Command) {
|
|
cmd.Flags().BoolVar(&txtrace, "txtrace", false, "enable tracing of transactions")
|
|
}
|
|
|
|
func withChain(cmd *cobra.Command) {
|
|
cmd.Flags().StringVar(&chain, "chain", "", "pick a chain to assume (mainnet, ropsten, etc.)")
|
|
}
|
|
|
|
func withHeimdall(cmd *cobra.Command) {
|
|
cmd.Flags().StringVar(&HeimdallURL, "bor.heimdall", "http://localhost:1317", "URL of Heimdall service")
|
|
}
|