From 5197aed7dbba2ac19d99221efe33fede82007f5d Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Wed, 3 Jun 2015 15:56:25 +0200 Subject: cmd/utils, eth: core.NewBlockProcessor no longer needs TxPool --- cmd/utils/flags.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'cmd/utils') diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index d319055b1..909d7815e 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -345,8 +345,7 @@ func MakeChain(ctx *cli.Context) (chain *core.ChainManager, blockDB, stateDB, ex eventMux := new(event.TypeMux) pow := ethash.New() chain = core.NewChainManager(blockDB, stateDB, pow, eventMux) - txpool := core.NewTxPool(eventMux, chain.State, chain.GasLimit) - proc := core.NewBlockProcessor(stateDB, extraDB, pow, txpool, chain, eventMux) + proc := core.NewBlockProcessor(stateDB, extraDB, pow, chain, eventMux) chain.SetProcessor(proc) return chain, blockDB, stateDB, extraDB } -- cgit v1.2.3 From d65b64c8846636d3e58c1857eaff149d2f82a283 Mon Sep 17 00:00:00 2001 From: Taylor Gerring Date: Sat, 6 Jun 2015 00:02:32 -0400 Subject: Allow export command to take first and last args --- cmd/utils/cmd.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'cmd/utils') diff --git a/cmd/utils/cmd.go b/cmd/utils/cmd.go index e5413973d..f7520a8e4 100644 --- a/cmd/utils/cmd.go +++ b/cmd/utils/cmd.go @@ -268,3 +268,18 @@ func ExportChain(chainmgr *core.ChainManager, fn string) error { glog.Infoln("Exported blockchain to", fn) return nil } + +func ExportAppendChain(chainmgr *core.ChainManager, fn string, first uint64, last uint64) error { + glog.Infoln("Exporting blockchain to", fn) + // TODO verify mode perms + fh, err := os.OpenFile(fn, os.O_CREATE|os.O_APPEND|os.O_WRONLY, os.ModePerm) + if err != nil { + return err + } + defer fh.Close() + if err := chainmgr.ExportN(fh, first, last); err != nil { + return err + } + glog.Infoln("Exported blockchain to", fn) + return nil +} -- cgit v1.2.3 From 6244b10a8f74d92addf977994e5a9c0e457229bb Mon Sep 17 00:00:00 2001 From: obscuren Date: Mon, 8 Jun 2015 12:12:13 +0200 Subject: core: settable genesis nonce You can set the nonce of the block with `--genesisnonce`. When the genesis nonce changes and it doesn't match with the first block in your database it will fail. A new `datadir` must be given if the nonce of the genesis block changes. --- cmd/utils/flags.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'cmd/utils') diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 909d7815e..ab7eaf023 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -93,6 +93,11 @@ var ( Usage: "Blockchain version (integer)", Value: core.BlockChainVersion, } + GenesisNonceFlag = cli.IntFlag{ + Name: "genesisnonce", + Usage: "Sets the genesis nonce", + Value: 42, + } IdentityFlag = cli.StringFlag{ Name: "identity", Usage: "Custom node name", @@ -294,6 +299,7 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config { Name: common.MakeName(clientID, version), DataDir: ctx.GlobalString(DataDirFlag.Name), ProtocolVersion: ctx.GlobalInt(ProtocolVersionFlag.Name), + GenesisNonce: ctx.GlobalInt(GenesisNonceFlag.Name), BlockChainVersion: ctx.GlobalInt(BlockchainVersionFlag.Name), SkipBcVersionCheck: false, NetworkId: ctx.GlobalInt(NetworkIdFlag.Name), @@ -344,7 +350,12 @@ func MakeChain(ctx *cli.Context) (chain *core.ChainManager, blockDB, stateDB, ex eventMux := new(event.TypeMux) pow := ethash.New() - chain = core.NewChainManager(blockDB, stateDB, pow, eventMux) + genesis := core.GenesisBlock(uint64(ctx.GlobalInt(GenesisNonceFlag.Name)), blockDB) + chain, err = core.NewChainManager(genesis, blockDB, stateDB, pow, eventMux) + if err != nil { + Fatalf("Could not start chainmanager: %v", err) + } + proc := core.NewBlockProcessor(stateDB, extraDB, pow, chain, eventMux) chain.SetProcessor(proc) return chain, blockDB, stateDB, extraDB -- cgit v1.2.3