From 6060e098c929792f455d7f580ed91e914d28cf3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Thu, 7 Jul 2016 16:04:34 +0300 Subject: [PATCH 1/9] cmd, core, eth, params: implement flags to control dao fork blocks --- cmd/geth/dao_test.go | 306 +++++++++++++++++++++++++++++++++++++++++++ cmd/geth/main.go | 9 +- cmd/geth/usage.go | 1 - cmd/utils/flags.go | 76 ++++++----- core/config.go | 4 +- eth/backend.go | 2 + params/util.go | 2 + 7 files changed, 354 insertions(+), 46 deletions(-) create mode 100644 cmd/geth/dao_test.go diff --git a/cmd/geth/dao_test.go b/cmd/geth/dao_test.go new file mode 100644 index 000000000..fd6831c15 --- /dev/null +++ b/cmd/geth/dao_test.go @@ -0,0 +1,306 @@ +// Copyright 2016 The go-ethereum Authors +// This file is part of go-ethereum. +// +// go-ethereum is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// go-ethereum is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with go-ethereum. If not, see . + +package main + +import ( + "io/ioutil" + "math/big" + "os" + "path/filepath" + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core" + "github.com/ethereum/go-ethereum/ethdb" + "github.com/ethereum/go-ethereum/params" +) + +var daoNoForkGenesis = `{ + "alloc" : {}, + "coinbase" : "0x0000000000000000000000000000000000000000", + "difficulty" : "0x20000", + "extraData" : "", + "gasLimit" : "0x2fefd8", + "nonce" : "0x0000000000000042", + "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "timestamp" : "0x00" +}` +var daoNoForkGenesisHash = common.HexToHash("5e1fc79cb4ffa4739177b5408045cd5d51c6cf766133f23f7cd72ee1f8d790e0") + +var daoProForkGenesis = `{ + "alloc" : {}, + "coinbase" : "0x0000000000000000000000000000000000000000", + "difficulty" : "0x20000", + "extraData" : "", + "gasLimit" : "0x2fefd8", + "nonce" : "0x0000000000000043", + "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "timestamp" : "0x00", + "config" : { + "daoForkBlock": 314 + } +}` +var daoProForkGenesisHash = common.HexToHash("c80f3c1c3d81ae6d8ea59edf35d3e4b723e4c8684ec71fdb6d4715e3f8add237") +var daoProForkBlock = big.NewInt(314) + +// Tests that creating a new node to with or without the DAO fork flag will correctly +// set the genesis block but with DAO support explicitly set or unset in the chain +// config in the database. +func TestDAOSupportMainnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, "", true, params.MainNetDAOForkBlock) +} +func TestDAOSupportTestnet(t *testing.T) { + testDAOForkBlockNewChain(t, true, "", true, params.TestNetDAOForkBlock) +} +func TestDAOSupportPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoProForkGenesis, false, daoProForkBlock) +} +func TestDAONoSupportMainnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, "", false, nil) +} +func TestDAONoSupportTestnet(t *testing.T) { + testDAOForkBlockNewChain(t, true, "", false, nil) +} +func TestDAONoSupportPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoNoForkGenesis, false, nil) +} + +func testDAOForkBlockNewChain(t *testing.T, testnet bool, genesis string, fork bool, expect *big.Int) { + // Create a temporary data directory to use and inspect later + datadir := tmpdir(t) + defer os.RemoveAll(datadir) + + // Start a Geth instance with the requested flags set and immediately terminate + if genesis != "" { + json := filepath.Join(datadir, "genesis.json") + if err := ioutil.WriteFile(json, []byte(genesis), 0600); err != nil { + t.Fatalf("failed to write genesis file: %v", err) + } + runGeth(t, "--datadir", datadir, "init", json).cmd.Wait() + } + execDAOGeth(t, datadir, testnet, fork, false) + + // Retrieve the DAO config flag from the database + path := filepath.Join(datadir, "chaindata") + if testnet { + path = filepath.Join(datadir, "testnet", "chaindata") + } + db, err := ethdb.NewLDBDatabase(path, 0, 0) + if err != nil { + t.Fatalf("failed to open test database: %v", err) + } + defer db.Close() + + genesisHash := common.HexToHash("0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3") + if testnet { + genesisHash = common.HexToHash("0x0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303") + } else if genesis == daoNoForkGenesis { + genesisHash = daoNoForkGenesisHash + } else if genesis == daoProForkGenesis { + genesisHash = daoProForkGenesisHash + } + config, err := core.GetChainConfig(db, genesisHash) + if err != nil { + t.Fatalf("failed to retrieve chain config: %v", err) + } + // Validate the DAO hard-fork block number against the expected value + if config.DAOForkBlock == nil { + if expect != nil { + t.Fatalf("dao hard-fork block mismatch: have nil, want %v", expect) + } + } else if config.DAOForkBlock.Cmp(expect) != 0 { + t.Fatalf("dao hard-fork block mismatch: have %v, want %v", config.DAOForkBlock, expect) + } +} + +// Tests that starting up an already existing node with various DAO fork override +// flags correctly changes the chain configs in the database. +func TestDAODefaultMainnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, "", false, false, false, false, nil) +} +func TestDAOStartSupportMainnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, "", false, true, false, false, params.MainNetDAOForkBlock) +} +func TestDAOContinueExplicitSupportMainnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, "", true, true, false, false, params.MainNetDAOForkBlock) +} +func TestDAOContinueImplicitSupportMainnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, "", true, false, false, false, params.MainNetDAOForkBlock) +} +func TestDAOSwitchSupportMainnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, "", false, true, true, false, params.MainNetDAOForkBlock) +} +func TestDAOStartOpposeMainnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, "", false, false, false, true, nil) +} +func TestDAOContinueExplicitOpposeMainnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, "", false, false, true, true, nil) +} +func TestDAOContinueImplicitOpposeMainnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, "", false, false, true, false, nil) +} +func TestDAOSwitchOpposeMainnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, "", true, false, false, true, nil) +} +func TestDAODefaultTestnet(t *testing.T) { + testDAOForkBlockOldChain(t, true, "", false, false, false, false, nil) +} +func TestDAOStartSupportTestnet(t *testing.T) { + testDAOForkBlockOldChain(t, true, "", false, true, false, false, params.TestNetDAOForkBlock) +} +func TestDAOContinueExplicitSupportTestnet(t *testing.T) { + testDAOForkBlockOldChain(t, true, "", true, true, false, false, params.TestNetDAOForkBlock) +} +func TestDAOContinueImplicitSupportTestnet(t *testing.T) { + testDAOForkBlockOldChain(t, true, "", true, false, false, false, params.TestNetDAOForkBlock) +} +func TestDAOSwitchSupportTestnet(t *testing.T) { + testDAOForkBlockOldChain(t, true, "", false, true, true, false, params.TestNetDAOForkBlock) +} +func TestDAOStartOpposeTestnet(t *testing.T) { + testDAOForkBlockOldChain(t, true, "", false, false, false, true, nil) +} +func TestDAOContinueExplicitOpposeTestnet(t *testing.T) { + testDAOForkBlockOldChain(t, true, "", false, false, true, true, nil) +} +func TestDAOContinueImplicitOpposeTestnet(t *testing.T) { + testDAOForkBlockOldChain(t, true, "", false, false, true, false, nil) +} +func TestDAOSwitchOpposeTestnet(t *testing.T) { + testDAOForkBlockOldChain(t, true, "", true, false, false, true, nil) +} +func TestDAODefaultPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, false, false, false, nil) +} +func TestDAOStartSupportConPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, true, false, false, params.MainNetDAOForkBlock) +} +func TestDAOContinueExplicitSupportConPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoNoForkGenesis, true, true, false, false, params.MainNetDAOForkBlock) +} +func TestDAOContinueImplicitSupportConPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoNoForkGenesis, true, false, false, false, params.MainNetDAOForkBlock) +} +func TestDAOSwitchSupportConPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, true, true, false, params.MainNetDAOForkBlock) +} +func TestDAOStartOpposeConPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, false, false, true, nil) +} +func TestDAOContinueExplicitOpposeConPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, false, true, true, nil) +} +func TestDAOContinueImplicitOpposeConPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, false, true, false, nil) +} +func TestDAOSwitchOpposeConPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoNoForkGenesis, true, false, false, true, nil) +} +func TestDAODefaultProPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, false, false, false, daoProForkBlock) +} +func TestDAOStartSupportProPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, true, false, false, daoProForkBlock) +} +func TestDAOContinueExplicitSupportProPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoProForkGenesis, true, true, false, false, daoProForkBlock) +} +func TestDAOContinueImplicitSupportProPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoProForkGenesis, true, false, false, false, daoProForkBlock) +} +func TestDAOSwitchSupportProPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, true, true, false, params.MainNetDAOForkBlock) +} +func TestDAOStartOpposeProPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, false, false, true, nil) +} +func TestDAOContinueExplicitOpposeProPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, false, true, true, nil) +} +func TestDAOContinueImplicitOpposeProPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, false, true, false, nil) +} +func TestDAOSwitchOpposeProPrivnet(t *testing.T) { + testDAOForkBlockOldChain(t, false, daoProForkGenesis, true, false, false, true, nil) +} + +func testDAOForkBlockOldChain(t *testing.T, testnet bool, genesis string, oldSupport, newSupport, oldOppose, newOppose bool, expect *big.Int) { + // Create a temporary data directory to use and inspect later + datadir := tmpdir(t) + defer os.RemoveAll(datadir) + + // Cycle two Geth instances, possibly changing fork support in between + if genesis != "" { + json := filepath.Join(datadir, "genesis.json") + if err := ioutil.WriteFile(json, []byte(genesis), 0600); err != nil { + t.Fatalf("failed to write genesis file: %v", err) + } + runGeth(t, "--datadir", datadir, "init", json).cmd.Wait() + } + execDAOGeth(t, datadir, testnet, oldSupport, oldOppose) + execDAOGeth(t, datadir, testnet, newSupport, newOppose) + + // Retrieve the DAO config flag from the database + path := filepath.Join(datadir, "chaindata") + if testnet { + path = filepath.Join(datadir, "testnet", "chaindata") + } + db, err := ethdb.NewLDBDatabase(path, 0, 0) + if err != nil { + t.Fatalf("failed to open test database: %v", err) + } + defer db.Close() + + genesisHash := common.HexToHash("0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3") + if testnet { + genesisHash = common.HexToHash("0x0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303") + } else if genesis == daoNoForkGenesis { + genesisHash = daoNoForkGenesisHash + } else if genesis == daoProForkGenesis { + genesisHash = daoProForkGenesisHash + } + config, err := core.GetChainConfig(db, genesisHash) + if err != nil { + t.Fatalf("failed to retrieve chain config: %v", err) + } + // Validate the DAO hard-fork block number against the expected value + if config.DAOForkBlock == nil { + if expect != nil { + t.Fatalf("dao hard-fork block mismatch: have nil, want %v", expect) + } + } else if config.DAOForkBlock.Cmp(expect) != 0 { + t.Fatalf("dao hard-fork block mismatch: have %v, want %v", config.DAOForkBlock, expect) + } +} + +// execDAOGeth starts a Geth instance with some DAO forks set and terminates. +func execDAOGeth(t *testing.T, datadir string, testnet bool, supportFork bool, opposeFork bool) { + args := []string{"--port", "0", "--maxpeers", "0", "--nodiscover", "--nat", "none", "--ipcdisable", "--datadir", datadir} + if testnet { + args = append(args, "--testnet") + } + if supportFork { + args = append(args, "--support-dao-fork") + } + if opposeFork { + args = append(args, "--oppose-dao-fork") + } + geth := runGeth(t, append(args, []string{"--exec", "2+2", "console"}...)...) + geth.cmd.Wait() +} diff --git a/cmd/geth/main.go b/cmd/geth/main.go index cb43f8769..5f1157b90 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -150,7 +150,6 @@ participating. utils.IdentityFlag, utils.UnlockedAccountFlag, utils.PasswordFileFlag, - utils.GenesisFileFlag, utils.BootnodesFlag, utils.DataDirFlag, utils.KeyStoreDirFlag, @@ -165,6 +164,8 @@ participating. utils.MaxPendingPeersFlag, utils.EtherbaseFlag, utils.GasPriceFlag, + utils.SupportDAOFork, + utils.OpposeDAOFork, utils.MinerThreadsFlag, utils.MiningEnabledFlag, utils.MiningGPUFlag, @@ -225,12 +226,6 @@ participating. eth.EnableBadBlockReporting = true utils.SetupNetwork(ctx) - - // Deprecation warning. - if ctx.GlobalIsSet(utils.GenesisFileFlag.Name) { - common.PrintDepricationWarning("--genesis is deprecated. Switch to use 'geth init /path/to/file'") - } - return nil } diff --git a/cmd/geth/usage.go b/cmd/geth/usage.go index e7ef9e2c7..eb897d2b5 100644 --- a/cmd/geth/usage.go +++ b/cmd/geth/usage.go @@ -68,7 +68,6 @@ var AppHelpFlagGroups = []flagGroup{ utils.OlympicFlag, utils.TestNetFlag, utils.DevModeFlag, - utils.GenesisFileFlag, utils.IdentityFlag, utils.FastSyncFlag, utils.LightKDFFlag, diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 38ba3a9ba..b95f5159c 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -126,10 +126,6 @@ var ( Name: "dev", Usage: "Developer mode: pre-configured private network with several debugging flags", } - GenesisFileFlag = cli.StringFlag{ - Name: "genesis", - Usage: "Insert/overwrite the genesis block (JSON format)", - } IdentityFlag = cli.StringFlag{ Name: "identity", Usage: "Custom node name", @@ -161,6 +157,15 @@ var ( Name: "lightkdf", Usage: "Reduce key-derivation RAM & CPU usage at some expense of KDF strength", } + // Fork settings + SupportDAOFork = cli.BoolFlag{ + Name: "support-dao-fork", + Usage: "Updates the chain rules to support the DAO hard-fork", + } + OpposeDAOFork = cli.BoolFlag{ + Name: "oppose-dao-fork", + Usage: "Updates the chain rules to oppose the DAO hard-fork", + } // Miner settings // TODO: refactor CPU vs GPU mining flags MiningEnabledFlag = cli.BoolFlag{ @@ -534,20 +539,6 @@ func MakeWSRpcHost(ctx *cli.Context) string { return ctx.GlobalString(WSListenAddrFlag.Name) } -// MakeGenesisBlock loads up a genesis block from an input file specified in the -// command line, or returns the empty string if none set. -func MakeGenesisBlock(ctx *cli.Context) string { - genesis := ctx.GlobalString(GenesisFileFlag.Name) - if genesis == "" { - return "" - } - data, err := ioutil.ReadFile(genesis) - if err != nil { - Fatalf("Failed to load custom genesis file: %v", err) - } - return string(data) -} - // MakeDatabaseHandles raises out the number of allowed file handles per process // for Geth and returns half of the allowance to assign to the database. func MakeDatabaseHandles() int { @@ -689,7 +680,6 @@ func MakeSystemNode(name, version string, relconf release.Config, extra []byte, ethConf := ð.Config{ ChainConfig: MustMakeChainConfig(ctx), - Genesis: MakeGenesisBlock(ctx), FastSync: ctx.GlobalBool(FastSyncFlag.Name), BlockChainVersion: ctx.GlobalInt(BlockchainVersionFlag.Name), DatabaseCache: ctx.GlobalInt(CacheFlag.Name), @@ -722,17 +712,13 @@ func MakeSystemNode(name, version string, relconf release.Config, extra []byte, if !ctx.GlobalIsSet(NetworkIdFlag.Name) { ethConf.NetworkId = 1 } - if !ctx.GlobalIsSet(GenesisFileFlag.Name) { - ethConf.Genesis = core.OlympicGenesisBlock() - } + ethConf.Genesis = core.OlympicGenesisBlock() case ctx.GlobalBool(TestNetFlag.Name): if !ctx.GlobalIsSet(NetworkIdFlag.Name) { ethConf.NetworkId = 2 } - if !ctx.GlobalIsSet(GenesisFileFlag.Name) { - ethConf.Genesis = core.TestNetGenesisBlock() - } + ethConf.Genesis = core.TestNetGenesisBlock() state.StartingNonce = 1048576 // (2**20) case ctx.GlobalBool(DevModeFlag.Name): @@ -747,9 +733,7 @@ func MakeSystemNode(name, version string, relconf release.Config, extra []byte, stackConf.ListenAddr = ":0" } // Override the Ethereum protocol configs - if !ctx.GlobalIsSet(GenesisFileFlag.Name) { - ethConf.Genesis = core.OlympicGenesisBlock() - } + ethConf.Genesis = core.OlympicGenesisBlock() if !ctx.GlobalIsSet(GasPriceFlag.Name) { ethConf.GasPrice = new(big.Int) } @@ -813,24 +797,44 @@ func MustMakeChainConfig(ctx *cli.Context) *core.ChainConfig { // MustMakeChainConfigFromDb reads the chain configuration from the given database. func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainConfig { - genesis := core.GetBlock(db, core.GetCanonicalHash(db, 0), 0) - - if genesis != nil { - // Existing genesis block, use stored config if available. + // If the chain is already initialized, use any existing chain configs + if genesis := core.GetBlock(db, core.GetCanonicalHash(db, 0), 0); genesis != nil { storedConfig, err := core.GetChainConfig(db, genesis.Hash()) if err == nil { + // Force override any existing configs if explicitly requested + switch { + case storedConfig.DAOForkBlock == nil && ctx.GlobalBool(SupportDAOFork.Name) && ctx.GlobalBool(TestNetFlag.Name): + storedConfig.DAOForkBlock = params.TestNetDAOForkBlock + case storedConfig.DAOForkBlock == nil && ctx.GlobalBool(SupportDAOFork.Name): + storedConfig.DAOForkBlock = params.MainNetDAOForkBlock + case ctx.GlobalBool(OpposeDAOFork.Name): + storedConfig.DAOForkBlock = nil + } return storedConfig } else if err != core.ChainConfigNotFoundErr { Fatalf("Could not make chain configuration: %v", err) } } - var homesteadBlockNo *big.Int + // If the chain is uninitialized nor no configs are present, create one + var homesteadBlock *big.Int if ctx.GlobalBool(TestNetFlag.Name) { - homesteadBlockNo = params.TestNetHomesteadBlock + homesteadBlock = params.TestNetHomesteadBlock } else { - homesteadBlockNo = params.MainNetHomesteadBlock + homesteadBlock = params.MainNetHomesteadBlock + } + var daoForkBlock *big.Int + switch { + case ctx.GlobalBool(SupportDAOFork.Name) && ctx.GlobalBool(TestNetFlag.Name): + daoForkBlock = params.TestNetDAOForkBlock + case ctx.GlobalBool(SupportDAOFork.Name): + daoForkBlock = params.MainNetDAOForkBlock + case ctx.GlobalBool(OpposeDAOFork.Name): + daoForkBlock = nil + } + return &core.ChainConfig{ + HomesteadBlock: homesteadBlock, + DAOForkBlock: daoForkBlock, } - return &core.ChainConfig{HomesteadBlock: homesteadBlockNo} } // MakeChainDatabase open an LevelDB using the flags passed to the client and will hard crash if it fails. diff --git a/core/config.go b/core/config.go index 81ca76aa3..d557ae5a4 100644 --- a/core/config.go +++ b/core/config.go @@ -31,7 +31,8 @@ var ChainConfigNotFoundErr = errors.New("ChainConfig not found") // general conf // that any network, identified by its genesis block, can have its own // set of configuration options. type ChainConfig struct { - HomesteadBlock *big.Int // homestead switch block + HomesteadBlock *big.Int `json:"homesteadBlock"` // homestead switch block (0 = already homestead) + DAOForkBlock *big.Int `json:"daoForkBlock"` // TheDAO hard-fork block (nil = no fork) VmConfig vm.Config `json:"-"` } @@ -41,6 +42,5 @@ func (c *ChainConfig) IsHomestead(num *big.Int) bool { if num == nil { return false } - return num.Cmp(c.HomesteadBlock) >= 0 } diff --git a/eth/backend.go b/eth/backend.go index 351cc2744..c8a9af6ee 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -205,6 +205,8 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) { if config.ChainConfig == nil { return nil, errors.New("missing chain config") } + core.WriteChainConfig(chainDb, genesis.Hash(), config.ChainConfig) + eth.chainConfig = config.ChainConfig eth.chainConfig.VmConfig = vm.Config{ EnableJit: config.EnableJit, diff --git a/params/util.go b/params/util.go index b37bc79b2..b76850852 100644 --- a/params/util.go +++ b/params/util.go @@ -21,4 +21,6 @@ import "math/big" var ( TestNetHomesteadBlock = big.NewInt(494000) // testnet homestead block MainNetHomesteadBlock = big.NewInt(1150000) // mainnet homestead block + TestNetDAOForkBlock = big.NewInt(8888888) // testnet dao hard-fork block + MainNetDAOForkBlock = big.NewInt(9999999) // mainnet dao hard-fork block ) From 9e56811a3773e225bedf6bf0003327ea1aaae040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Fri, 8 Jul 2016 11:43:36 +0300 Subject: [PATCH 2/9] core: gracefully handle missing homestead block config --- cmd/geth/genesis_test.go | 105 +++++++++++++++++++++++++++++++++++++++ core/config.go | 2 +- 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 cmd/geth/genesis_test.go diff --git a/cmd/geth/genesis_test.go b/cmd/geth/genesis_test.go new file mode 100644 index 000000000..7485d7d89 --- /dev/null +++ b/cmd/geth/genesis_test.go @@ -0,0 +1,105 @@ +// Copyright 2016 The go-ethereum Authors +// This file is part of go-ethereum. +// +// go-ethereum is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// go-ethereum is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with go-ethereum. If not, see . + +package main + +import ( + "io/ioutil" + "os" + "path/filepath" + "testing" +) + +var customGenesisTests = []struct { + genesis string + query string + result string +}{ + // Plain genesis file without anything extra + { + genesis: `{ + "alloc" : {}, + "coinbase" : "0x0000000000000000000000000000000000000000", + "difficulty" : "0x20000", + "extraData" : "", + "gasLimit" : "0x2fefd8", + "nonce" : "0x0000000000000042", + "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "timestamp" : "0x00" + }`, + query: "eth.getBlock(0).nonce", + result: "0x0000000000000042", + }, + // Genesis file with an empty chain configuration (ensure missing fields work) + { + genesis: `{ + "alloc" : {}, + "coinbase" : "0x0000000000000000000000000000000000000000", + "difficulty" : "0x20000", + "extraData" : "", + "gasLimit" : "0x2fefd8", + "nonce" : "0x0000000000000042", + "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "timestamp" : "0x00", + "config" : {} + }`, + query: "eth.getBlock(0).nonce", + result: "0x0000000000000042", + }, + // Genesis file with specific chain configurations + { + genesis: `{ + "alloc" : {}, + "coinbase" : "0x0000000000000000000000000000000000000000", + "difficulty" : "0x20000", + "extraData" : "", + "gasLimit" : "0x2fefd8", + "nonce" : "0x0000000000000042", + "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "timestamp" : "0x00", + "config" : { + "homesteadBlock" : 314, + }, + }`, + query: "eth.getBlock(0).nonce", + result: "0x0000000000000042", + }, +} + +// Tests that initializing Geth with a custom genesis block and chain definitions +// work properly. +func TestCustomGenesis(t *testing.T) { + for i, tt := range customGenesisTests { + // Create a temporary data directory to use and inspect later + datadir := tmpdir(t) + defer os.RemoveAll(datadir) + + // Initialize the data directory with the custom genesis block + json := filepath.Join(datadir, "genesis.json") + if err := ioutil.WriteFile(json, []byte(tt.genesis), 0600); err != nil { + t.Fatalf("test %d: failed to write genesis file: %v", i, err) + } + runGeth(t, "--datadir", datadir, "init", json).cmd.Wait() + + // Query the custom genesis block + geth := runGeth(t, "--datadir", datadir, "--maxpeers", "0", "--nodiscover", "--nat", "none", "--ipcdisable", "--exec", tt.query, "console") + geth.expectRegexp(tt.result) + geth.expectExit() + } +} diff --git a/core/config.go b/core/config.go index d557ae5a4..d04b00e9c 100644 --- a/core/config.go +++ b/core/config.go @@ -39,7 +39,7 @@ type ChainConfig struct { // IsHomestead returns whether num is either equal to the homestead block or greater. func (c *ChainConfig) IsHomestead(num *big.Int) bool { - if num == nil { + if c.HomesteadBlock == nil || num == nil { return false } return num.Cmp(c.HomesteadBlock) >= 0 From 1e24c2e4f428c85c2f83272af2696469cb8f5bed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Fri, 8 Jul 2016 13:00:37 +0300 Subject: [PATCH 3/9] cmd/geth, miner, params: special extradata for DAO fork start --- cmd/geth/genesis_test.go | 1 + miner/worker.go | 10 +++++++++- params/util.go | 17 ++++++++++++----- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/cmd/geth/genesis_test.go b/cmd/geth/genesis_test.go index 7485d7d89..43d678d89 100644 --- a/cmd/geth/genesis_test.go +++ b/cmd/geth/genesis_test.go @@ -75,6 +75,7 @@ var customGenesisTests = []struct { "timestamp" : "0x00", "config" : { "homesteadBlock" : 314, + "daoForkBlock" : 141 }, }`, query: "eth.getBlock(0).nonce", diff --git a/miner/worker.go b/miner/worker.go index 09cf6b6aa..7197a33ba 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -33,6 +33,7 @@ import ( "github.com/ethereum/go-ethereum/event" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/logger/glog" + "github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/pow" "gopkg.in/fatih/set.v0" ) @@ -468,7 +469,14 @@ func (self *worker) commitNewWork() { Extra: self.extra, Time: big.NewInt(tstamp), } - + // If we are doing a DAO hard-fork check whether to override the extra-data or not + if daoBlock := self.config.DAOForkBlock; daoBlock != nil { + // Check whether the block is among the fork extra-override range + limit := new(big.Int).Add(daoBlock, params.DAOForkExtraRange) + if daoBlock.Cmp(header.Number) <= 0 && header.Number.Cmp(limit) < 0 { + header.Extra = common.CopyBytes(params.DAOForkBlockExtra) + } + } previous := self.current // Could potentially happen if starting to mine in an odd state. err := self.makeCurrent(parent, header) diff --git a/params/util.go b/params/util.go index b76850852..a0c9a3199 100644 --- a/params/util.go +++ b/params/util.go @@ -16,11 +16,18 @@ package params -import "math/big" +import ( + "math/big" + + "github.com/ethereum/go-ethereum/common" +) var ( - TestNetHomesteadBlock = big.NewInt(494000) // testnet homestead block - MainNetHomesteadBlock = big.NewInt(1150000) // mainnet homestead block - TestNetDAOForkBlock = big.NewInt(8888888) // testnet dao hard-fork block - MainNetDAOForkBlock = big.NewInt(9999999) // mainnet dao hard-fork block + TestNetHomesteadBlock = big.NewInt(494000) // Testnet homestead block + MainNetHomesteadBlock = big.NewInt(1150000) // Mainnet homestead block + + TestNetDAOForkBlock = big.NewInt(8888888) // Testnet dao hard-fork block + MainNetDAOForkBlock = big.NewInt(9999999) // Mainnet dao hard-fork block + DAOForkBlockExtra = common.FromHex("0x64616f2d686172642d666f726b") // Block extradata to signel the fork with ("dao-hard-fork") + DAOForkExtraRange = big.NewInt(10) // Number of blocks to override the extradata (prevent no-fork attacks) ) From a87089fd2dc08a69a4a4f1ef93db9a2871d819a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Fri, 8 Jul 2016 18:48:17 +0300 Subject: [PATCH 4/9] cmd, core, miner: add extradata validation to consensus rules --- cmd/geth/dao_test.go | 294 +++++++++++++---------------------- cmd/geth/genesis_test.go | 3 +- cmd/utils/flags.go | 53 ++++--- core/block_validator.go | 21 +++ core/block_validator_test.go | 105 +++++++++++++ core/config.go | 5 +- miner/worker.go | 10 +- 7 files changed, 275 insertions(+), 216 deletions(-) diff --git a/cmd/geth/dao_test.go b/cmd/geth/dao_test.go index fd6831c15..bfa0c2a03 100644 --- a/cmd/geth/dao_test.go +++ b/cmd/geth/dao_test.go @@ -29,7 +29,8 @@ import ( "github.com/ethereum/go-ethereum/params" ) -var daoNoForkGenesis = `{ +// Genesis block for nodes which don't care about the DAO fork (i.e. not configured) +var daoOldGenesis = `{ "alloc" : {}, "coinbase" : "0x0000000000000000000000000000000000000000", "difficulty" : "0x20000", @@ -38,214 +39,140 @@ var daoNoForkGenesis = `{ "nonce" : "0x0000000000000042", "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", - "timestamp" : "0x00" + "timestamp" : "0x00", + "config" : {} }` -var daoNoForkGenesisHash = common.HexToHash("5e1fc79cb4ffa4739177b5408045cd5d51c6cf766133f23f7cd72ee1f8d790e0") -var daoProForkGenesis = `{ +// Genesis block for nodes which actively oppose the DAO fork +var daoNoForkGenesis = `{ "alloc" : {}, "coinbase" : "0x0000000000000000000000000000000000000000", "difficulty" : "0x20000", "extraData" : "", "gasLimit" : "0x2fefd8", - "nonce" : "0x0000000000000043", + "nonce" : "0x0000000000000042", "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00", "config" : { - "daoForkBlock": 314 + "daoForkBlock" : 314, + "daoForkSupport" : false } }` -var daoProForkGenesisHash = common.HexToHash("c80f3c1c3d81ae6d8ea59edf35d3e4b723e4c8684ec71fdb6d4715e3f8add237") -var daoProForkBlock = big.NewInt(314) - -// Tests that creating a new node to with or without the DAO fork flag will correctly -// set the genesis block but with DAO support explicitly set or unset in the chain -// config in the database. -func TestDAOSupportMainnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, "", true, params.MainNetDAOForkBlock) -} -func TestDAOSupportTestnet(t *testing.T) { - testDAOForkBlockNewChain(t, true, "", true, params.TestNetDAOForkBlock) -} -func TestDAOSupportPrivnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, daoProForkGenesis, false, daoProForkBlock) -} -func TestDAONoSupportMainnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, "", false, nil) -} -func TestDAONoSupportTestnet(t *testing.T) { - testDAOForkBlockNewChain(t, true, "", false, nil) -} -func TestDAONoSupportPrivnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, daoNoForkGenesis, false, nil) -} -func testDAOForkBlockNewChain(t *testing.T, testnet bool, genesis string, fork bool, expect *big.Int) { - // Create a temporary data directory to use and inspect later - datadir := tmpdir(t) - defer os.RemoveAll(datadir) - - // Start a Geth instance with the requested flags set and immediately terminate - if genesis != "" { - json := filepath.Join(datadir, "genesis.json") - if err := ioutil.WriteFile(json, []byte(genesis), 0600); err != nil { - t.Fatalf("failed to write genesis file: %v", err) - } - runGeth(t, "--datadir", datadir, "init", json).cmd.Wait() - } - execDAOGeth(t, datadir, testnet, fork, false) - - // Retrieve the DAO config flag from the database - path := filepath.Join(datadir, "chaindata") - if testnet { - path = filepath.Join(datadir, "testnet", "chaindata") - } - db, err := ethdb.NewLDBDatabase(path, 0, 0) - if err != nil { - t.Fatalf("failed to open test database: %v", err) +// Genesis block for nodes which actively support the DAO fork +var daoProForkGenesis = `{ + "alloc" : {}, + "coinbase" : "0x0000000000000000000000000000000000000000", + "difficulty" : "0x20000", + "extraData" : "", + "gasLimit" : "0x2fefd8", + "nonce" : "0x0000000000000042", + "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", + "timestamp" : "0x00", + "config" : { + "daoForkBlock" : 314, + "daoForkSupport" : true } - defer db.Close() +}` - genesisHash := common.HexToHash("0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3") - if testnet { - genesisHash = common.HexToHash("0x0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303") - } else if genesis == daoNoForkGenesis { - genesisHash = daoNoForkGenesisHash - } else if genesis == daoProForkGenesis { - genesisHash = daoProForkGenesisHash - } - config, err := core.GetChainConfig(db, genesisHash) - if err != nil { - t.Fatalf("failed to retrieve chain config: %v", err) - } - // Validate the DAO hard-fork block number against the expected value - if config.DAOForkBlock == nil { - if expect != nil { - t.Fatalf("dao hard-fork block mismatch: have nil, want %v", expect) - } - } else if config.DAOForkBlock.Cmp(expect) != 0 { - t.Fatalf("dao hard-fork block mismatch: have %v, want %v", config.DAOForkBlock, expect) - } -} +var daoGenesisHash = common.HexToHash("5e1fc79cb4ffa4739177b5408045cd5d51c6cf766133f23f7cd72ee1f8d790e0") +var daoGenesisForkBlock = big.NewInt(314) -// Tests that starting up an already existing node with various DAO fork override -// flags correctly changes the chain configs in the database. +// Tests that the DAO hard-fork number and the nodes support/opposition is correctly +// set in the database after various initialization procedures and invocations. func TestDAODefaultMainnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, "", false, false, false, false, nil) -} -func TestDAOStartSupportMainnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, "", false, true, false, false, params.MainNetDAOForkBlock) -} -func TestDAOContinueExplicitSupportMainnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, "", true, true, false, false, params.MainNetDAOForkBlock) -} -func TestDAOContinueImplicitSupportMainnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, "", true, false, false, false, params.MainNetDAOForkBlock) + testDAOForkBlockNewChain(t, false, "", [][2]bool{{false, false}}, params.MainNetDAOForkBlock, false) } -func TestDAOSwitchSupportMainnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, "", false, true, true, false, params.MainNetDAOForkBlock) -} -func TestDAOStartOpposeMainnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, "", false, false, false, true, nil) +func TestDAOSupportMainnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, "", [][2]bool{{true, false}}, params.MainNetDAOForkBlock, true) } -func TestDAOContinueExplicitOpposeMainnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, "", false, false, true, true, nil) +func TestDAOOpposeMainnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, "", [][2]bool{{false, true}}, params.MainNetDAOForkBlock, false) } -func TestDAOContinueImplicitOpposeMainnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, "", false, false, true, false, nil) +func TestDAOSwitchToSupportMainnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, "", [][2]bool{{false, true}, {true, false}}, params.MainNetDAOForkBlock, true) } -func TestDAOSwitchOpposeMainnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, "", true, false, false, true, nil) +func TestDAOSwitchToOpposeMainnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, "", [][2]bool{{true, false}, {false, true}}, params.MainNetDAOForkBlock, false) } func TestDAODefaultTestnet(t *testing.T) { - testDAOForkBlockOldChain(t, true, "", false, false, false, false, nil) -} -func TestDAOStartSupportTestnet(t *testing.T) { - testDAOForkBlockOldChain(t, true, "", false, true, false, false, params.TestNetDAOForkBlock) -} -func TestDAOContinueExplicitSupportTestnet(t *testing.T) { - testDAOForkBlockOldChain(t, true, "", true, true, false, false, params.TestNetDAOForkBlock) -} -func TestDAOContinueImplicitSupportTestnet(t *testing.T) { - testDAOForkBlockOldChain(t, true, "", true, false, false, false, params.TestNetDAOForkBlock) -} -func TestDAOSwitchSupportTestnet(t *testing.T) { - testDAOForkBlockOldChain(t, true, "", false, true, true, false, params.TestNetDAOForkBlock) + testDAOForkBlockNewChain(t, true, "", [][2]bool{{false, false}}, params.TestNetDAOForkBlock, false) } -func TestDAOStartOpposeTestnet(t *testing.T) { - testDAOForkBlockOldChain(t, true, "", false, false, false, true, nil) +func TestDAOSupportTestnet(t *testing.T) { + testDAOForkBlockNewChain(t, true, "", [][2]bool{{true, false}}, params.TestNetDAOForkBlock, true) } -func TestDAOContinueExplicitOpposeTestnet(t *testing.T) { - testDAOForkBlockOldChain(t, true, "", false, false, true, true, nil) +func TestDAOOpposeTestnet(t *testing.T) { + testDAOForkBlockNewChain(t, true, "", [][2]bool{{false, true}}, params.TestNetDAOForkBlock, false) } -func TestDAOContinueImplicitOpposeTestnet(t *testing.T) { - testDAOForkBlockOldChain(t, true, "", false, false, true, false, nil) +func TestDAOSwitchToSupportTestnet(t *testing.T) { + testDAOForkBlockNewChain(t, true, "", [][2]bool{{false, true}, {true, false}}, params.TestNetDAOForkBlock, true) } -func TestDAOSwitchOpposeTestnet(t *testing.T) { - testDAOForkBlockOldChain(t, true, "", true, false, false, true, nil) +func TestDAOSwitchToOpposeTestnet(t *testing.T) { + testDAOForkBlockNewChain(t, true, "", [][2]bool{{true, false}, {false, true}}, params.TestNetDAOForkBlock, false) } -func TestDAODefaultPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, false, false, false, nil) +func TestDAOInitOldPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{}, nil, false) } -func TestDAOStartSupportConPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, true, false, false, params.MainNetDAOForkBlock) +func TestDAODefaultOldPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, false}}, params.MainNetDAOForkBlock, false) } -func TestDAOContinueExplicitSupportConPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoNoForkGenesis, true, true, false, false, params.MainNetDAOForkBlock) +func TestDAOSupportOldPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{true, false}}, params.MainNetDAOForkBlock, true) } -func TestDAOContinueImplicitSupportConPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoNoForkGenesis, true, false, false, false, params.MainNetDAOForkBlock) +func TestDAOOpposeOldPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, true}}, params.MainNetDAOForkBlock, false) } -func TestDAOSwitchSupportConPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, true, true, false, params.MainNetDAOForkBlock) +func TestDAOSwitchToSupportOldPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, true}, {true, false}}, params.MainNetDAOForkBlock, true) } -func TestDAOStartOpposeConPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, false, false, true, nil) +func TestDAOSwitchToOpposeOldPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{true, false}, {false, true}}, params.MainNetDAOForkBlock, false) } -func TestDAOContinueExplicitOpposeConPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, false, true, true, nil) +func TestDAOInitNoForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{}, daoGenesisForkBlock, false) } -func TestDAOContinueImplicitOpposeConPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoNoForkGenesis, false, false, true, false, nil) +func TestDAODefaultNoForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{false, false}}, daoGenesisForkBlock, false) } -func TestDAOSwitchOpposeConPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoNoForkGenesis, true, false, false, true, nil) +func TestDAOSupportNoForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{true, false}}, daoGenesisForkBlock, true) } -func TestDAODefaultProPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, false, false, false, daoProForkBlock) +func TestDAOOpposeNoForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{false, true}}, daoGenesisForkBlock, false) } -func TestDAOStartSupportProPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, true, false, false, daoProForkBlock) +func TestDAOSwitchToSupportNoForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{false, true}, {true, false}}, daoGenesisForkBlock, true) } -func TestDAOContinueExplicitSupportProPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoProForkGenesis, true, true, false, false, daoProForkBlock) +func TestDAOSwitchToOpposeNoForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoNoForkGenesis, [][2]bool{{true, false}, {false, true}}, daoGenesisForkBlock, false) } -func TestDAOContinueImplicitSupportProPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoProForkGenesis, true, false, false, false, daoProForkBlock) +func TestDAOInitProForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{}, daoGenesisForkBlock, true) } -func TestDAOSwitchSupportProPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, true, true, false, params.MainNetDAOForkBlock) +func TestDAODefaultProForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{false, false}}, daoGenesisForkBlock, true) } -func TestDAOStartOpposeProPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, false, false, true, nil) +func TestDAOSupportProForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{true, false}}, daoGenesisForkBlock, true) } -func TestDAOContinueExplicitOpposeProPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, false, true, true, nil) +func TestDAOOpposeProForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{false, true}}, daoGenesisForkBlock, false) } -func TestDAOContinueImplicitOpposeProPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoProForkGenesis, false, false, true, false, nil) +func TestDAOSwitchToSupportProForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{false, true}, {true, false}}, daoGenesisForkBlock, true) } -func TestDAOSwitchOpposeProPrivnet(t *testing.T) { - testDAOForkBlockOldChain(t, false, daoProForkGenesis, true, false, false, true, nil) +func TestDAOSwitchToOpposeProForkPrivnet(t *testing.T) { + testDAOForkBlockNewChain(t, false, daoProForkGenesis, [][2]bool{{true, false}, {false, true}}, daoGenesisForkBlock, false) } -func testDAOForkBlockOldChain(t *testing.T, testnet bool, genesis string, oldSupport, newSupport, oldOppose, newOppose bool, expect *big.Int) { +func testDAOForkBlockNewChain(t *testing.T, testnet bool, genesis string, votes [][2]bool, expectBlock *big.Int, expectVote bool) { // Create a temporary data directory to use and inspect later datadir := tmpdir(t) defer os.RemoveAll(datadir) - // Cycle two Geth instances, possibly changing fork support in between + // Start a Geth instance with the requested flags set and immediately terminate if genesis != "" { json := filepath.Join(datadir, "genesis.json") if err := ioutil.WriteFile(json, []byte(genesis), 0600); err != nil { @@ -253,12 +180,23 @@ func testDAOForkBlockOldChain(t *testing.T, testnet bool, genesis string, oldSup } runGeth(t, "--datadir", datadir, "init", json).cmd.Wait() } - execDAOGeth(t, datadir, testnet, oldSupport, oldOppose) - execDAOGeth(t, datadir, testnet, newSupport, newOppose) - + for _, vote := range votes { + args := []string{"--port", "0", "--maxpeers", "0", "--nodiscover", "--nat", "none", "--ipcdisable", "--datadir", datadir} + if testnet { + args = append(args, "--testnet") + } + if vote[0] { + args = append(args, "--support-dao-fork") + } + if vote[1] { + args = append(args, "--oppose-dao-fork") + } + geth := runGeth(t, append(args, []string{"--exec", "2+2", "console"}...)...) + geth.cmd.Wait() + } // Retrieve the DAO config flag from the database path := filepath.Join(datadir, "chaindata") - if testnet { + if testnet && genesis == "" { path = filepath.Join(datadir, "testnet", "chaindata") } db, err := ethdb.NewLDBDatabase(path, 0, 0) @@ -270,10 +208,9 @@ func testDAOForkBlockOldChain(t *testing.T, testnet bool, genesis string, oldSup genesisHash := common.HexToHash("0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3") if testnet { genesisHash = common.HexToHash("0x0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303") - } else if genesis == daoNoForkGenesis { - genesisHash = daoNoForkGenesisHash - } else if genesis == daoProForkGenesis { - genesisHash = daoProForkGenesisHash + } + if genesis != "" { + genesisHash = daoGenesisHash } config, err := core.GetChainConfig(db, genesisHash) if err != nil { @@ -281,26 +218,15 @@ func testDAOForkBlockOldChain(t *testing.T, testnet bool, genesis string, oldSup } // Validate the DAO hard-fork block number against the expected value if config.DAOForkBlock == nil { - if expect != nil { - t.Fatalf("dao hard-fork block mismatch: have nil, want %v", expect) + if expectBlock != nil { + t.Errorf("dao hard-fork block mismatch: have nil, want %v", expectBlock) } - } else if config.DAOForkBlock.Cmp(expect) != 0 { - t.Fatalf("dao hard-fork block mismatch: have %v, want %v", config.DAOForkBlock, expect) - } -} - -// execDAOGeth starts a Geth instance with some DAO forks set and terminates. -func execDAOGeth(t *testing.T, datadir string, testnet bool, supportFork bool, opposeFork bool) { - args := []string{"--port", "0", "--maxpeers", "0", "--nodiscover", "--nat", "none", "--ipcdisable", "--datadir", datadir} - if testnet { - args = append(args, "--testnet") - } - if supportFork { - args = append(args, "--support-dao-fork") + } else if expectBlock == nil { + t.Errorf("dao hard-fork block mismatch: have %v, want nil", config.DAOForkBlock) + } else if config.DAOForkBlock.Cmp(expectBlock) != 0 { + t.Errorf("dao hard-fork block mismatch: have %v, want %v", config.DAOForkBlock, expectBlock) } - if opposeFork { - args = append(args, "--oppose-dao-fork") + if config.DAOForkSupport != expectVote { + t.Errorf("dao hard-fork support mismatch: have %v, want %v", config.DAOForkSupport, expectVote) } - geth := runGeth(t, append(args, []string{"--exec", "2+2", "console"}...)...) - geth.cmd.Wait() } diff --git a/cmd/geth/genesis_test.go b/cmd/geth/genesis_test.go index 43d678d89..4f8b1642e 100644 --- a/cmd/geth/genesis_test.go +++ b/cmd/geth/genesis_test.go @@ -75,7 +75,8 @@ var customGenesisTests = []struct { "timestamp" : "0x00", "config" : { "homesteadBlock" : 314, - "daoForkBlock" : 141 + "daoForkBlock" : 141, + "daoForkSupport" : true }, }`, query: "eth.getBlock(0).nonce", diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index b95f5159c..fae1647b3 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -798,43 +798,42 @@ func MustMakeChainConfig(ctx *cli.Context) *core.ChainConfig { // MustMakeChainConfigFromDb reads the chain configuration from the given database. func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainConfig { // If the chain is already initialized, use any existing chain configs + config := new(core.ChainConfig) + if genesis := core.GetBlock(db, core.GetCanonicalHash(db, 0), 0); genesis != nil { storedConfig, err := core.GetChainConfig(db, genesis.Hash()) - if err == nil { - // Force override any existing configs if explicitly requested - switch { - case storedConfig.DAOForkBlock == nil && ctx.GlobalBool(SupportDAOFork.Name) && ctx.GlobalBool(TestNetFlag.Name): - storedConfig.DAOForkBlock = params.TestNetDAOForkBlock - case storedConfig.DAOForkBlock == nil && ctx.GlobalBool(SupportDAOFork.Name): - storedConfig.DAOForkBlock = params.MainNetDAOForkBlock - case ctx.GlobalBool(OpposeDAOFork.Name): - storedConfig.DAOForkBlock = nil - } - return storedConfig - } else if err != core.ChainConfigNotFoundErr { + switch err { + case nil: + config = storedConfig + case core.ChainConfigNotFoundErr: + // No configs found, use empty, will populate below + default: Fatalf("Could not make chain configuration: %v", err) } } - // If the chain is uninitialized nor no configs are present, create one - var homesteadBlock *big.Int - if ctx.GlobalBool(TestNetFlag.Name) { - homesteadBlock = params.TestNetHomesteadBlock - } else { - homesteadBlock = params.MainNetHomesteadBlock + // Set any missing fields due to them being unset or system upgrade + if config.HomesteadBlock == nil { + if ctx.GlobalBool(TestNetFlag.Name) { + config.HomesteadBlock = new(big.Int).Set(params.TestNetHomesteadBlock) + } else { + config.HomesteadBlock = new(big.Int).Set(params.MainNetHomesteadBlock) + } } - var daoForkBlock *big.Int + if config.DAOForkBlock == nil { + if ctx.GlobalBool(TestNetFlag.Name) { + config.DAOForkBlock = new(big.Int).Set(params.TestNetDAOForkBlock) + } else { + config.DAOForkBlock = new(big.Int).Set(params.MainNetDAOForkBlock) + } + } + // Force override any existing configs if explicitly requested switch { - case ctx.GlobalBool(SupportDAOFork.Name) && ctx.GlobalBool(TestNetFlag.Name): - daoForkBlock = params.TestNetDAOForkBlock case ctx.GlobalBool(SupportDAOFork.Name): - daoForkBlock = params.MainNetDAOForkBlock + config.DAOForkSupport = true case ctx.GlobalBool(OpposeDAOFork.Name): - daoForkBlock = nil - } - return &core.ChainConfig{ - HomesteadBlock: homesteadBlock, - DAOForkBlock: daoForkBlock, + config.DAOForkSupport = false } + return config } // MakeChainDatabase open an LevelDB using the flags passed to the client and will hard crash if it fails. diff --git a/core/block_validator.go b/core/block_validator.go index c3f959324..73d581328 100644 --- a/core/block_validator.go +++ b/core/block_validator.go @@ -17,6 +17,7 @@ package core import ( + "bytes" "fmt" "math/big" "time" @@ -247,6 +248,26 @@ func ValidateHeader(config *ChainConfig, pow pow.PoW, header *types.Header, pare return &BlockNonceErr{header.Number, header.Hash(), header.Nonce.Uint64()} } } + // DAO hard-fork extension to the header validity: a) if the node is no-fork, + // do not accept blocks in the [fork, fork+10) range with the fork specific + // extra-data set; b) if the node is pro-fork, require blocks in the specific + // range to have the unique extra-data set. + if daoBlock := config.DAOForkBlock; daoBlock != nil { + // Check whether the block is among the fork extra-override range + limit := new(big.Int).Add(daoBlock, params.DAOForkExtraRange) + if daoBlock.Cmp(header.Number) <= 0 && header.Number.Cmp(limit) < 0 { + // Depending whether we support or oppose the fork, verrift the extra-data contents + if config.DAOForkSupport { + if bytes.Compare(header.Extra, params.DAOForkBlockExtra) != 0 { + return ValidationError("DAO pro-fork bad block extra-data: 0x%x", header.Extra) + } + } else { + if bytes.Compare(header.Extra, params.DAOForkBlockExtra) == 0 { + return ValidationError("DAO no-fork bad block extra-data: 0x%x", header.Extra) + } + } + } + } return nil } diff --git a/core/block_validator_test.go b/core/block_validator_test.go index c6daf9e7f..5320c3f8d 100644 --- a/core/block_validator_test.go +++ b/core/block_validator_test.go @@ -27,6 +27,7 @@ import ( "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/event" + "github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/pow/ezp" ) @@ -92,3 +93,107 @@ func TestPutReceipt(t *testing.T) { t.Error("expected to get 1 receipt, got none.") } } + +// Tests that DAO-fork enabled clients can properly filter out fork-commencing +// blocks based on their extradata fields. +func TestDAOForkRangeExtradata(t *testing.T) { + forkBlock := big.NewInt(32) + + // Generate a common prefix for both pro-forkers and non-forkers + db, _ := ethdb.NewMemDatabase() + genesis := WriteGenesisBlockForTesting(db) + prefix, _ := GenerateChain(genesis, db, int(forkBlock.Int64()-1), func(i int, gen *BlockGen) {}) + + // Create the concurrent, conflicting two nodes + proDb, _ := ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(proDb) + proBc, _ := NewBlockChain(proDb, &ChainConfig{HomesteadBlock: big.NewInt(0), DAOForkBlock: forkBlock, DAOForkSupport: true}, new(FakePow), new(event.TypeMux)) + + conDb, _ := ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(conDb) + conBc, _ := NewBlockChain(conDb, &ChainConfig{HomesteadBlock: big.NewInt(0), DAOForkBlock: forkBlock, DAOForkSupport: false}, new(FakePow), new(event.TypeMux)) + + if _, err := proBc.InsertChain(prefix); err != nil { + t.Fatalf("pro-fork: failed to import chain prefix: %v", err) + } + if _, err := conBc.InsertChain(prefix); err != nil { + t.Fatalf("con-fork: failed to import chain prefix: %v", err) + } + // Try to expand both pro-fork and non-fork chains iteratively with other camp's blocks + for i := int64(0); i < params.DAOForkExtraRange.Int64(); i++ { + // Create a pro-fork block, and try to feed into the no-fork chain + db, _ = ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(db) + bc, _ := NewBlockChain(db, &ChainConfig{HomesteadBlock: big.NewInt(0)}, new(FakePow), new(event.TypeMux)) + + blocks := conBc.GetBlocksFromHash(conBc.CurrentBlock().Hash(), int(conBc.CurrentBlock().NumberU64()+1)) + for j := 0; j < len(blocks)/2; j++ { + blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] + } + if _, err := bc.InsertChain(blocks); err != nil { + t.Fatalf("failed to import contra-fork chain for expansion: %v", err) + } + blocks, _ = GenerateChain(conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) { gen.SetExtra(params.DAOForkBlockExtra) }) + if _, err := conBc.InsertChain(blocks); err == nil { + t.Fatalf("contra-fork chain accepted pro-fork block: %v", blocks[0]) + } + // Create a proper no-fork block for the contra-forker + blocks, _ = GenerateChain(conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) + if _, err := conBc.InsertChain(blocks); err != nil { + t.Fatalf("contra-fork chain didn't accepted no-fork block: %v", err) + } + // Create a no-fork block, and try to feed into the pro-fork chain + db, _ = ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(db) + bc, _ = NewBlockChain(db, &ChainConfig{HomesteadBlock: big.NewInt(0)}, new(FakePow), new(event.TypeMux)) + + blocks = proBc.GetBlocksFromHash(proBc.CurrentBlock().Hash(), int(proBc.CurrentBlock().NumberU64()+1)) + for j := 0; j < len(blocks)/2; j++ { + blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] + } + if _, err := bc.InsertChain(blocks); err != nil { + t.Fatalf("failed to import pro-fork chain for expansion: %v", err) + } + blocks, _ = GenerateChain(proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) + if _, err := proBc.InsertChain(blocks); err == nil { + t.Fatalf("pro-fork chain accepted contra-fork block: %v", blocks[0]) + } + // Create a proper pro-fork block for the pro-forker + blocks, _ = GenerateChain(proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) { gen.SetExtra(params.DAOForkBlockExtra) }) + if _, err := proBc.InsertChain(blocks); err != nil { + t.Fatalf("pro-fork chain didn't accepted pro-fork block: %v", err) + } + } + // Verify that contra-forkers accept pro-fork extra-datas after forking finishes + db, _ = ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(db) + bc, _ := NewBlockChain(db, &ChainConfig{HomesteadBlock: big.NewInt(0)}, new(FakePow), new(event.TypeMux)) + + blocks := conBc.GetBlocksFromHash(conBc.CurrentBlock().Hash(), int(conBc.CurrentBlock().NumberU64()+1)) + for j := 0; j < len(blocks)/2; j++ { + blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] + } + if _, err := bc.InsertChain(blocks); err != nil { + t.Fatalf("failed to import contra-fork chain for expansion: %v", err) + } + blocks, _ = GenerateChain(conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) { gen.SetExtra(params.DAOForkBlockExtra) }) + if _, err := conBc.InsertChain(blocks); err != nil { + t.Fatalf("contra-fork chain didn't accept pro-fork block post-fork: %v", err) + } + // Verify that pro-forkers accept contra-fork extra-datas after forking finishes + db, _ = ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(db) + bc, _ = NewBlockChain(db, &ChainConfig{HomesteadBlock: big.NewInt(0)}, new(FakePow), new(event.TypeMux)) + + blocks = proBc.GetBlocksFromHash(proBc.CurrentBlock().Hash(), int(proBc.CurrentBlock().NumberU64()+1)) + for j := 0; j < len(blocks)/2; j++ { + blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] + } + if _, err := bc.InsertChain(blocks); err != nil { + t.Fatalf("failed to import pro-fork chain for expansion: %v", err) + } + blocks, _ = GenerateChain(proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) + if _, err := proBc.InsertChain(blocks); err != nil { + t.Fatalf("pro-fork chain didn't accept contra-fork block post-fork: %v", err) + } +} diff --git a/core/config.go b/core/config.go index d04b00e9c..c0d065a57 100644 --- a/core/config.go +++ b/core/config.go @@ -31,8 +31,9 @@ var ChainConfigNotFoundErr = errors.New("ChainConfig not found") // general conf // that any network, identified by its genesis block, can have its own // set of configuration options. type ChainConfig struct { - HomesteadBlock *big.Int `json:"homesteadBlock"` // homestead switch block (0 = already homestead) - DAOForkBlock *big.Int `json:"daoForkBlock"` // TheDAO hard-fork block (nil = no fork) + HomesteadBlock *big.Int `json:"homesteadBlock"` // Homestead switch block (nil = no fork, 0 = already homestead) + DAOForkBlock *big.Int `json:"daoForkBlock"` // TheDAO hard-fork switch block (nil = no fork) + DAOForkSupport bool `json:"daoForkSupport"` // Whether the nodes supports or opposes the DAO hard-fork VmConfig vm.Config `json:"-"` } diff --git a/miner/worker.go b/miner/worker.go index 7197a33ba..ba0085d52 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -17,6 +17,7 @@ package miner import ( + "bytes" "fmt" "math/big" "sync" @@ -469,12 +470,17 @@ func (self *worker) commitNewWork() { Extra: self.extra, Time: big.NewInt(tstamp), } - // If we are doing a DAO hard-fork check whether to override the extra-data or not + // If we are care about TheDAO hard-fork check whether to override the extra-data or not if daoBlock := self.config.DAOForkBlock; daoBlock != nil { // Check whether the block is among the fork extra-override range limit := new(big.Int).Add(daoBlock, params.DAOForkExtraRange) if daoBlock.Cmp(header.Number) <= 0 && header.Number.Cmp(limit) < 0 { - header.Extra = common.CopyBytes(params.DAOForkBlockExtra) + // Depending whether we support or oppose the fork, override differently + if self.config.DAOForkSupport { + header.Extra = common.CopyBytes(params.DAOForkBlockExtra) + } else if bytes.Compare(header.Extra, params.DAOForkBlockExtra) == 0 { + header.Extra = []byte{} // If miner opposes, don't let it use the reserved extra-data + } } } previous := self.current From 7f00e8c0331bf13739e749bab88bf9006ca02f96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Fri, 8 Jul 2016 20:59:11 +0300 Subject: [PATCH 5/9] core, eth: enforce network split post DAO hard-fork --- core/block_validator.go | 7 ++++ eth/handler.go | 58 ++++++++++++++++++++++++++++++-- eth/handler_test.go | 73 +++++++++++++++++++++++++++++++++++++++++ eth/peer.go | 10 +++--- 4 files changed, 141 insertions(+), 7 deletions(-) diff --git a/core/block_validator.go b/core/block_validator.go index 73d581328..3b597310e 100644 --- a/core/block_validator.go +++ b/core/block_validator.go @@ -248,6 +248,13 @@ func ValidateHeader(config *ChainConfig, pow pow.PoW, header *types.Header, pare return &BlockNonceErr{header.Number, header.Hash(), header.Nonce.Uint64()} } } + // If all checks passed, validate the extra-data field for hard forks + return ValidateHeaderExtraData(config, header) +} + +// ValidateHeaderExtraData validates the extra-data field of a block header to +// ensure it conforms to hard-fork rules. +func ValidateHeaderExtraData(config *ChainConfig, header *types.Header) error { // DAO hard-fork extension to the header validity: a) if the node is no-fork, // do not accept blocks in the [fork, fork+10) range with the fork specific // extra-data set; b) if the node is pro-fork, require blocks in the specific diff --git a/eth/handler.go b/eth/handler.go index 47a36cc0b..946d5930f 100644 --- a/eth/handler.go +++ b/eth/handler.go @@ -45,6 +45,10 @@ const ( estHeaderRlpSize = 500 // Approximate size of an RLP encoded block header ) +var ( + daoChallengeTimeout = 15 * time.Second // Time allowance for a node to reply to the DAO handshake challenge +) + // errIncompatibleConfig is returned if the requested protocols and configs are // not compatible (low protocol version restrictions and high requirements). var errIncompatibleConfig = errors.New("incompatible configuration") @@ -62,9 +66,10 @@ type ProtocolManager struct { fastSync uint32 // Flag whether fast sync is enabled (gets disabled if we already have blocks) synced uint32 // Flag whether we're considered synchronised (enables transaction processing) - txpool txPool - blockchain *core.BlockChain - chaindb ethdb.Database + txpool txPool + blockchain *core.BlockChain + chaindb ethdb.Database + chainconfig *core.ChainConfig downloader *downloader.Downloader fetcher *fetcher.Fetcher @@ -99,6 +104,7 @@ func NewProtocolManager(config *core.ChainConfig, fastSync bool, networkId int, txpool: txpool, blockchain: blockchain, chaindb: chaindb, + chainconfig: config, peers: newPeerSet(), newPeerCh: make(chan *peer), noMorePeers: make(chan struct{}), @@ -278,6 +284,18 @@ func (pm *ProtocolManager) handle(p *peer) error { // after this will be sent via broadcasts. pm.syncTransactions(p) + // If we're DAO hard-fork aware, validate any remote peer with regard to the hard-fork + if daoBlock := pm.chainconfig.DAOForkBlock; daoBlock != nil { + // Request the peer's DAO fork header for extra-data validation + if err := p.RequestHeadersByNumber(daoBlock.Uint64(), 1, 0, false); err != nil { + return err + } + // Start a timer to disconnect if the peer doesn't reply in time + p.forkDrop = time.AfterFunc(daoChallengeTimeout, func() { + glog.V(logger.Warn).Infof("%v: timed out DAO fork-check, dropping", p) + pm.removePeer(p.id) + }) + } // main loop. handle incoming messages. for { if err := pm.handleMsg(p); err != nil { @@ -481,9 +499,43 @@ func (pm *ProtocolManager) handleMsg(p *peer) error { if err := msg.Decode(&headers); err != nil { return errResp(ErrDecode, "msg %v: %v", msg, err) } + // If no headers were received, but we're expending a DAO fork check, maybe it's that + if len(headers) == 0 && p.forkDrop != nil { + // Possibly an empty reply to the fork header checks, sanity check TDs + verifyDAO := true + + // If we already have a DAO header, we can check the peer's TD against it. If + // the peer's ahead of this, it too must have a reply to the DAO check + if daoHeader := pm.blockchain.GetHeaderByNumber(pm.chainconfig.DAOForkBlock.Uint64()); daoHeader != nil { + if p.Td().Cmp(pm.blockchain.GetTd(daoHeader.Hash(), daoHeader.Number.Uint64())) >= 0 { + verifyDAO = false + } + } + // If we're seemingly on the same chain, disable the drop timer + if verifyDAO { + glog.V(logger.Info).Infof("%v: seems to be on the same side of the DAO fork", p) + p.forkDrop.Stop() + p.forkDrop = nil + return nil + } + } // Filter out any explicitly requested headers, deliver the rest to the downloader filter := len(headers) == 1 if filter { + // If it's a potential DAO fork check, validate against the rules + if p.forkDrop != nil && pm.chainconfig.DAOForkBlock.Cmp(headers[0].Number) == 0 { + // Disable the fork drop timer + p.forkDrop.Stop() + p.forkDrop = nil + + // Validate the header and either drop the peer or continue + if err := core.ValidateHeaderExtraData(pm.chainconfig, headers[0]); err != nil { + glog.V(logger.Info).Infof("%v: verified to be on the other side of the DAO fork, dropping", p) + return err + } + glog.V(logger.Info).Infof("%v: verified to be on the same side of the DAO fork", p) + } + // Irrelevant of the fork checks, send the header to the fetcher just in case headers = pm.fetcher.FilterHeaders(headers, time.Now()) } if len(headers) > 0 || !filter { diff --git a/eth/handler_test.go b/eth/handler_test.go index 8418c28b2..d5b1bf350 100644 --- a/eth/handler_test.go +++ b/eth/handler_test.go @@ -20,6 +20,7 @@ import ( "math/big" "math/rand" "testing" + "time" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core" @@ -28,6 +29,7 @@ import ( "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/eth/downloader" "github.com/ethereum/go-ethereum/ethdb" + "github.com/ethereum/go-ethereum/event" "github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/params" ) @@ -580,3 +582,74 @@ func testGetReceipt(t *testing.T, protocol int) { t.Errorf("receipts mismatch: %v", err) } } + +// Tests that post eth protocol handshake, DAO fork-enabled clients also execute +// a DAO "challenge" verifying each others' DAO fork headers to ensure they're on +// compatible chains. +func TestDAOChallengeNoVsNo(t *testing.T) { testDAOChallenge(t, false, false, false) } +func TestDAOChallengeNoVsPro(t *testing.T) { testDAOChallenge(t, false, true, false) } +func TestDAOChallengeProVsNo(t *testing.T) { testDAOChallenge(t, true, false, false) } +func TestDAOChallengeProVsPro(t *testing.T) { testDAOChallenge(t, true, true, false) } +func TestDAOChallengeNoVsTimeout(t *testing.T) { testDAOChallenge(t, false, false, true) } +func TestDAOChallengeProVsTimeout(t *testing.T) { testDAOChallenge(t, true, true, true) } + +func testDAOChallenge(t *testing.T, localForked, remoteForked bool, timeout bool) { + // Reduce the DAO handshake challenge timeout + if timeout { + defer func(old time.Duration) { daoChallengeTimeout = old }(daoChallengeTimeout) + daoChallengeTimeout = 500 * time.Millisecond + } + // Create a DAO aware protocol manager + var ( + evmux = new(event.TypeMux) + pow = new(core.FakePow) + db, _ = ethdb.NewMemDatabase() + genesis = core.WriteGenesisBlockForTesting(db) + config = &core.ChainConfig{DAOForkBlock: big.NewInt(1), DAOForkSupport: localForked} + blockchain, _ = core.NewBlockChain(db, config, pow, evmux) + ) + pm, err := NewProtocolManager(config, false, NetworkId, evmux, new(testTxPool), pow, blockchain, db) + if err != nil { + t.Fatalf("failed to start test protocol manager: %v", err) + } + pm.Start() + defer pm.Stop() + + // Connect a new peer and check that we receive the DAO challenge + peer, _ := newTestPeer("peer", eth63, pm, true) + defer peer.close() + + challenge := &getBlockHeadersData{ + Origin: hashOrNumber{Number: config.DAOForkBlock.Uint64()}, + Amount: 1, + Skip: 0, + Reverse: false, + } + if err := p2p.ExpectMsg(peer.app, GetBlockHeadersMsg, challenge); err != nil { + t.Fatalf("challenge mismatch: %v", err) + } + // Create a block to reply to the challenge if no timeout is simualted + if !timeout { + blocks, _ := core.GenerateChain(genesis, db, 1, func(i int, block *core.BlockGen) { + if remoteForked { + block.SetExtra(params.DAOForkBlockExtra) + } + }) + if err := p2p.Send(peer.app, BlockHeadersMsg, []*types.Header{blocks[0].Header()}); err != nil { + t.Fatalf("failed to answer challenge: %v", err) + } + } else { + // Otherwise wait until the test timeout passes + time.Sleep(daoChallengeTimeout + 500*time.Millisecond) + } + // Verify that depending on fork side, the remote peer is maintained or dropped + if localForked == remoteForked && !timeout { + if peers := pm.peers.Len(); peers != 1 { + t.Fatalf("peer count mismatch: have %d, want %d", peers, 1) + } + } else { + if peers := pm.peers.Len(); peers != 0 { + t.Fatalf("peer count mismatch: have %d, want %d", peers, 0) + } + } +} diff --git a/eth/peer.go b/eth/peer.go index 8eb41b0f9..b97825c69 100644 --- a/eth/peer.go +++ b/eth/peer.go @@ -59,10 +59,12 @@ type peer struct { *p2p.Peer rw p2p.MsgReadWriter - version int // Protocol version negotiated - head common.Hash - td *big.Int - lock sync.RWMutex + version int // Protocol version negotiated + forkDrop *time.Timer // Timed connection dropper if forks aren't validated in time + + head common.Hash + td *big.Int + lock sync.RWMutex knownTxs *set.Set // Set of transaction hashes known to be known by this peer knownBlocks *set.Set // Set of block hashes known to be known by this peer From 461cdb593b9e5bd9ae9ac35c68809a3a29290dcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Mon, 11 Jul 2016 13:55:11 +0300 Subject: [PATCH 6/9] core, params, tests: add DAO hard-fork balance moves --- cmd/ethtest/main.go | 4 +- core/state_processor.go | 23 +- miner/worker.go | 4 + params/dao_list.go | 108 + params/util.go | 9 +- tests/block_test.go | 67 +- tests/block_test_util.go | 16 +- .../TestNetwork/bcTheDaoTest.json | 1818 +++++++++++++++++ tests/util.go | 2 + tests/vm_test_util.go | 2 +- 10 files changed, 2011 insertions(+), 42 deletions(-) create mode 100644 params/dao_list.go create mode 100644 tests/files/BlockchainTests/TestNetwork/bcTheDaoTest.json diff --git a/cmd/ethtest/main.go b/cmd/ethtest/main.go index e0ad0a7ea..71465fb55 100644 --- a/cmd/ethtest/main.go +++ b/cmd/ethtest/main.go @@ -74,9 +74,9 @@ func runTestWithReader(test string, r io.Reader) error { var err error switch strings.ToLower(test) { case "bk", "block", "blocktest", "blockchaintest", "blocktests", "blockchaintests": - err = tests.RunBlockTestWithReader(params.MainNetHomesteadBlock, r, skipTests) + err = tests.RunBlockTestWithReader(params.MainNetHomesteadBlock, params.MainNetDAOForkBlock, r, skipTests) case "st", "state", "statetest", "statetests": - rs := tests.RuleSet{HomesteadBlock: params.MainNetHomesteadBlock} + rs := tests.RuleSet{HomesteadBlock: params.MainNetHomesteadBlock, DAOForkBlock: params.MainNetDAOForkBlock, DAOForkSupport: true} err = tests.RunStateTestWithReader(rs, r, skipTests) case "tx", "transactiontest", "transactiontests": err = tests.RunTransactionTestsWithReader(r, skipTests) diff --git a/core/state_processor.go b/core/state_processor.go index 95b3057bb..a9c2d1e18 100644 --- a/core/state_processor.go +++ b/core/state_processor.go @@ -25,6 +25,7 @@ import ( "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/logger/glog" + "github.com/ethereum/go-ethereum/params" ) var ( @@ -65,7 +66,11 @@ func (p *StateProcessor) Process(block *types.Block, statedb *state.StateDB, cfg allLogs vm.Logs gp = new(GasPool).AddGas(block.GasLimit()) ) - + // Mutate the statedb according to any hard-fork specs + if p.config.DAOForkSupport && p.config.DAOForkBlock != nil && p.config.DAOForkBlock.Cmp(block.Number()) == 0 { + ApplyDAOHardFork(statedb) + } + // Iterate over and process the individual transactions for i, tx := range block.Transactions() { statedb.StartRecord(tx.Hash(), block.Hash(), i) receipt, logs, _, err := ApplyTransaction(p.config, p.bc, gp, statedb, header, tx, totalUsedGas, cfg) @@ -129,3 +134,19 @@ func AccumulateRewards(statedb *state.StateDB, header *types.Header, uncles []*t } statedb.AddBalance(header.Coinbase, reward) } + +// ApplyDAOHardFork modifies the state database according to the DAO hard-fork +// rules, transferring all balances of a set of DAO accounts to a single refund +// contract. +func ApplyDAOHardFork(statedb *state.StateDB) { + // Retrieve the contract to refund balances into + refund := statedb.GetOrNewStateObject(params.DAORefundContract) + + // Move every DAO account and extra-balance account funds into the refund contract + for _, addr := range params.DAODrainList { + if account := statedb.GetStateObject(addr); account != nil { + refund.AddBalance(account.Balance()) + account.SetBalance(new(big.Int)) + } + } +} diff --git a/miner/worker.go b/miner/worker.go index ba0085d52..9118b0f8e 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -490,7 +490,11 @@ func (self *worker) commitNewWork() { glog.V(logger.Info).Infoln("Could not create new env for mining, retrying on next block.") return } + // Create the current work task and check any fork transitions needed work := self.current + if self.config.DAOForkSupport && self.config.DAOForkBlock != nil && self.config.DAOForkBlock.Cmp(header.Number) == 0 { + core.ApplyDAOHardFork(work.state) + } /* //approach 1 transactions := self.eth.TxPool().GetTransactions() diff --git a/params/dao_list.go b/params/dao_list.go new file mode 100644 index 000000000..7565ab333 --- /dev/null +++ b/params/dao_list.go @@ -0,0 +1,108 @@ +// Copyright 2016 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see . + +package params + +import ( + "encoding/json" + "fmt" + + "github.com/ethereum/go-ethereum/common" +) + +// DAODrainList is the list of accounts whose full balances will be moved into a +// refund contract at the beginning of the dao-fork block. +var DAODrainList []common.Address + +func init() { + // Parse the list of DAO accounts to drain + var list []map[string]string + if err := json.Unmarshal([]byte(daoDrainListJSON), &list); err != nil { + panic(fmt.Errorf("Failed to parse DAO drain list: %v", err)) + } + // Collect all the accounts that need draining + for _, dao := range list { + DAODrainList = append(DAODrainList, common.HexToAddress(dao["address"])) + DAODrainList = append(DAODrainList, common.HexToAddress(dao["extraBalanceAccount"])) + } +} + +// daoDrainListJSON is the JSON encoded list of accounts whose full balances will +// be moved into a refund contract at the beginning of the dao-fork block. +const daoDrainListJSON = ` +[ + { + "address":"0x304a554a310c7e546dfe434669c62820b7d83490", + "balance":"30328a3f333ac2fb5f509", + "extraBalance":"9184e72a000", + "extraBalanceAccount":"0x914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" + }, + { + "address":"0xfe24cdd8648121a43a7c86d289be4dd2951ed49f", + "balance":"ea0b1bdc78f500a43", + "extraBalance":"0", + "extraBalanceAccount":"0x17802f43a0137c506ba92291391a8a8f207f487d" + }, + { + "address":"0xb136707642a4ea12fb4bae820f03d2562ebff487", + "balance":"6050bdeb3354b5c98adc3", + "extraBalance":"0", + "extraBalanceAccount":"0xdbe9b615a3ae8709af8b93336ce9b477e4ac0940" + }, + { + "address":"0xf14c14075d6c4ed84b86798af0956deef67365b5", + "balance":"1d77844e94c25ba2", + "extraBalance":"0", + "extraBalanceAccount":"0xca544e5c4687d109611d0f8f928b53a25af72448" + }, + { + "address":"0xaeeb8ff27288bdabc0fa5ebb731b6f409507516c", + "balance":"2e93a72de4fc5ec0ed", + "extraBalance":"0", + "extraBalanceAccount":"0xcbb9d3703e651b0d496cdefb8b92c25aeb2171f7" + }, + { + "address":"0xaccc230e8a6e5be9160b8cdf2864dd2a001c28b6", + "balance":"14d0944eb3be947a8", + "extraBalance":"0", + "extraBalanceAccount":"0x2b3455ec7fedf16e646268bf88846bd7a2319bb2" + }, + { + "address":"0x4613f3bca5c44ea06337a9e439fbc6d42e501d0a", + "balance":"275eaa8345ced6523a8", + "extraBalance":"0", + "extraBalanceAccount":"0xd343b217de44030afaa275f54d31a9317c7f441e" + }, + { + "address":"0x84ef4b2357079cd7a7c69fd7a37cd0609a679106", + "balance":"4accfbf922fd046baa05", + "extraBalance":"0", + "extraBalanceAccount":"0xda2fef9e4a3230988ff17df2165440f37e8b1708" + }, + { + "address":"0xf4c64518ea10f995918a454158c6b61407ea345c", + "balance":"38d275b0ed7862ba4f13", + "extraBalance":"0", + "extraBalanceAccount":"0x7602b46df5390e432ef1c307d4f2c9ff6d65cc97" + }, + { + "address":"0xbb9bc244d798123fde783fcc1c72d3bb8c189413", + "balance":"1", + "extraBalance":"49097c66ae78c50e4d3c", + "extraBalanceAccount":"0x807640a13483f8ac783c557fcdf27be11ea4ac7a" + } +] +` diff --git a/params/util.go b/params/util.go index a0c9a3199..884f1f803 100644 --- a/params/util.go +++ b/params/util.go @@ -26,8 +26,9 @@ var ( TestNetHomesteadBlock = big.NewInt(494000) // Testnet homestead block MainNetHomesteadBlock = big.NewInt(1150000) // Mainnet homestead block - TestNetDAOForkBlock = big.NewInt(8888888) // Testnet dao hard-fork block - MainNetDAOForkBlock = big.NewInt(9999999) // Mainnet dao hard-fork block - DAOForkBlockExtra = common.FromHex("0x64616f2d686172642d666f726b") // Block extradata to signel the fork with ("dao-hard-fork") - DAOForkExtraRange = big.NewInt(10) // Number of blocks to override the extradata (prevent no-fork attacks) + TestNetDAOForkBlock = big.NewInt(8888888) // Testnet dao hard-fork block + MainNetDAOForkBlock = big.NewInt(9999999) // Mainnet dao hard-fork block + DAOForkBlockExtra = common.FromHex("0x64616f2d686172642d666f726b") // Block extradata to signel the fork with ("dao-hard-fork") + DAOForkExtraRange = big.NewInt(10) // Number of blocks to override the extradata (prevent no-fork attacks) + DAORefundContract = common.HexToAddress("0x0000000000000000000000000000000000000000") // Address of the refund contract to send DAO balances to ) diff --git a/tests/block_test.go b/tests/block_test.go index c258268db..9b2fedceb 100644 --- a/tests/block_test.go +++ b/tests/block_test.go @@ -20,66 +20,69 @@ import ( "math/big" "path/filepath" "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/params" ) func TestBcValidBlockTests(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcValidBlockTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcValidBlockTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcUncleHeaderValidityTests(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcUncleHeaderValiditiy.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcUncleHeaderValiditiy.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcUncleTests(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcUncleTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcUncleTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcForkUncleTests(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcForkUncle.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcForkUncle.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcInvalidHeaderTests(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcInvalidHeaderTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcInvalidHeaderTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcInvalidRLPTests(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcInvalidRLPTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcInvalidRLPTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcRPCAPITests(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcRPC_API_Test.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcRPC_API_Test.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcForkBlockTests(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcForkBlockTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcForkBlockTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcForkStress(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcForkStressTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcForkStressTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } @@ -89,21 +92,21 @@ func TestBcTotalDifficulty(t *testing.T) { // skip because these will fail due to selfish mining fix t.Skip() - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcTotalDifficultyTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcTotalDifficultyTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcWallet(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcWalletTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcWalletTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcGasPricer(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcGasPricerTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcGasPricerTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } @@ -111,7 +114,7 @@ func TestBcGasPricer(t *testing.T) { // TODO: iterate over files once we got more than a few func TestBcRandom(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "RandomTests/bl201507071825GO.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "RandomTests/bl201507071825GO.json"), BlockSkipTests) if err != nil { t.Fatal(err) } @@ -121,14 +124,14 @@ func TestBcMultiChain(t *testing.T) { // skip due to selfish mining t.Skip() - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcMultiChainTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcMultiChainTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestBcState(t *testing.T) { - err := RunBlockTest(big.NewInt(1000000), filepath.Join(blockTestDir, "bcStateTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(1000000), nil, filepath.Join(blockTestDir, "bcStateTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } @@ -136,77 +139,89 @@ func TestBcState(t *testing.T) { // Homestead tests func TestHomesteadBcValidBlockTests(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcValidBlockTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcValidBlockTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcUncleHeaderValidityTests(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcUncleHeaderValiditiy.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcUncleHeaderValiditiy.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcUncleTests(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcUncleTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcUncleTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcInvalidHeaderTests(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcInvalidHeaderTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcInvalidHeaderTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcRPCAPITests(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcRPC_API_Test.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcRPC_API_Test.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcForkStress(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcForkStressTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcForkStressTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcTotalDifficulty(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcTotalDifficultyTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcTotalDifficultyTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcWallet(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcWalletTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcWalletTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcGasPricer(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcGasPricerTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcGasPricerTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcMultiChain(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcMultiChainTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcMultiChainTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } } func TestHomesteadBcState(t *testing.T) { - err := RunBlockTest(big.NewInt(0), filepath.Join(blockTestDir, "Homestead", "bcStateTest.json"), BlockSkipTests) + err := RunBlockTest(big.NewInt(0), nil, filepath.Join(blockTestDir, "Homestead", "bcStateTest.json"), BlockSkipTests) + if err != nil { + t.Fatal(err) + } +} + +// DAO hard-fork tests +func TestDAOBcTheDao(t *testing.T) { + // Temporarilly override the hard-fork specs + defer func(old common.Address) { params.DAORefundContract = old }(params.DAORefundContract) + params.DAORefundContract = common.HexToAddress("0xabcabcabcabcabcabcabcabcabcabcabcabcabca") + + err := RunBlockTest(big.NewInt(5), big.NewInt(8), filepath.Join(blockTestDir, "TestNetwork", "bcTheDaoTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) } diff --git a/tests/block_test_util.go b/tests/block_test_util.go index d9a5eec08..7da15cebe 100644 --- a/tests/block_test_util.go +++ b/tests/block_test_util.go @@ -103,7 +103,7 @@ type btTransaction struct { Value string } -func RunBlockTestWithReader(homesteadBlock *big.Int, r io.Reader, skipTests []string) error { +func RunBlockTestWithReader(homesteadBlock, daoForkBlock *big.Int, r io.Reader, skipTests []string) error { btjs := make(map[string]*btJSON) if err := readJson(r, &btjs); err != nil { return err @@ -114,13 +114,13 @@ func RunBlockTestWithReader(homesteadBlock *big.Int, r io.Reader, skipTests []st return err } - if err := runBlockTests(homesteadBlock, bt, skipTests); err != nil { + if err := runBlockTests(homesteadBlock, daoForkBlock, bt, skipTests); err != nil { return err } return nil } -func RunBlockTest(homesteadBlock *big.Int, file string, skipTests []string) error { +func RunBlockTest(homesteadBlock, daoForkBlock *big.Int, file string, skipTests []string) error { btjs := make(map[string]*btJSON) if err := readJsonFile(file, &btjs); err != nil { return err @@ -130,13 +130,13 @@ func RunBlockTest(homesteadBlock *big.Int, file string, skipTests []string) erro if err != nil { return err } - if err := runBlockTests(homesteadBlock, bt, skipTests); err != nil { + if err := runBlockTests(homesteadBlock, daoForkBlock, bt, skipTests); err != nil { return err } return nil } -func runBlockTests(homesteadBlock *big.Int, bt map[string]*BlockTest, skipTests []string) error { +func runBlockTests(homesteadBlock, daoForkBlock *big.Int, bt map[string]*BlockTest, skipTests []string) error { skipTest := make(map[string]bool, len(skipTests)) for _, name := range skipTests { skipTest[name] = true @@ -148,7 +148,7 @@ func runBlockTests(homesteadBlock *big.Int, bt map[string]*BlockTest, skipTests continue } // test the block - if err := runBlockTest(homesteadBlock, test); err != nil { + if err := runBlockTest(homesteadBlock, daoForkBlock, test); err != nil { return fmt.Errorf("%s: %v", name, err) } glog.Infoln("Block test passed: ", name) @@ -157,7 +157,7 @@ func runBlockTests(homesteadBlock *big.Int, bt map[string]*BlockTest, skipTests return nil } -func runBlockTest(homesteadBlock *big.Int, test *BlockTest) error { +func runBlockTest(homesteadBlock, daoForkBlock *big.Int, test *BlockTest) error { // import pre accounts & construct test genesis block & state root db, _ := ethdb.NewMemDatabase() if _, err := test.InsertPreState(db); err != nil { @@ -169,7 +169,7 @@ func runBlockTest(homesteadBlock *big.Int, test *BlockTest) error { core.WriteCanonicalHash(db, test.Genesis.Hash(), test.Genesis.NumberU64()) core.WriteHeadBlockHash(db, test.Genesis.Hash()) evmux := new(event.TypeMux) - config := &core.ChainConfig{HomesteadBlock: homesteadBlock} + config := &core.ChainConfig{HomesteadBlock: homesteadBlock, DAOForkBlock: daoForkBlock, DAOForkSupport: true} chain, err := core.NewBlockChain(db, config, ethash.NewShared(), evmux) if err != nil { return err diff --git a/tests/files/BlockchainTests/TestNetwork/bcTheDaoTest.json b/tests/files/BlockchainTests/TestNetwork/bcTheDaoTest.json new file mode 100644 index 000000000..cb9652a7d --- /dev/null +++ b/tests/files/BlockchainTests/TestNetwork/bcTheDaoTest.json @@ -0,0 +1,1818 @@ +{ + "DaoTransactions" : { + "blocks" : [ + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020000", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "18da61d1b7f4c81d33a4646d1d1140b13ea28c8715f85e42cda0224915ea9e9c", + "mixHash" : "f470fa89e99f9f0e5a2f302c0dac085b006cb6372212e93764224e5d711b573d", + "nonce" : "2eddd7b66317fc69", + "number" : "0x01", + "parentHash" : "eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804c", + "receiptTrie" : "63e81aadc86aed2ebe147fd86db74d8fbe91a938af0521be549669246e607443", + "stateRoot" : "421450c5fcaa516f03635983f0c9d936574721033424eac5e6d71c8fa14b766f", + "timestamp" : "0x578362c8", + "transactionsTrie" : "ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "1", + "rlp" : "0xf9024cf901f9a0eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0421450c5fcaa516f03635983f0c9d936574721033424eac5e6d71c8fa14b766fa0ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179a063e81aadc86aed2ebe147fd86db74d8fbe91a938af0521be549669246e607443b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832fefba82520884578362c880a0f470fa89e99f9f0e5a2f302c0dac085b006cb6372212e93764224e5d711b573d882eddd7b66317fc69f84df84b8001827530800a801ca057cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9a05ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03ac0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0x57cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9", + "s" : "0x5ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03a", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020040", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "6ce6218f835e3e4868a94325f31b57777373ca768f933763badaaf4147cb027b", + "mixHash" : "6bf524f42685c9912d2907520db254352cc2f84428f354097d7b13ad27a88796", + "nonce" : "6713fb980f3c9f72", + "number" : "0x02", + "parentHash" : "18da61d1b7f4c81d33a4646d1d1140b13ea28c8715f85e42cda0224915ea9e9c", + "receiptTrie" : "b41287e7f7e5d2983862a73e54c86ec144ecf835096984770f6bf485188268b8", + "stateRoot" : "1e31d34b22a8d2fd9893bb58fa80e6ca4561320eed43776c295acca93721847c", + "timestamp" : "0x578362ce", + "transactionsTrie" : "76c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abf", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "2", + "rlp" : "0xf9024cf901f9a018da61d1b7f4c81d33a4646d1d1140b13ea28c8715f85e42cda0224915ea9e9ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a01e31d34b22a8d2fd9893bb58fa80e6ca4561320eed43776c295acca93721847ca076c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abfa0b41287e7f7e5d2983862a73e54c86ec144ecf835096984770f6bf485188268b8b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302004002832fefba82520884578362ce80a06bf524f42685c9912d2907520db254352cc2f84428f354097d7b13ad27a88796886713fb980f3c9f72f84df84b0101827530800a801ca0bb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1fa04bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x01", + "r" : "0xbb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1f", + "s" : "0x4bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020080", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "341aaea7ee0397c8e54effcd92e9f6e6aeda54828fa958a89a700df5b427047e", + "mixHash" : "76844249a296c9045e8c77e8c10b1794bf6b35fc1090d43b9ceacade45f57607", + "nonce" : "f6876f9244e81160", + "number" : "0x03", + "parentHash" : "6ce6218f835e3e4868a94325f31b57777373ca768f933763badaaf4147cb027b", + "receiptTrie" : "12f61177f6c2cebe14df5474c8b8c1f8f47f4ea8fff7f8b22b7aa8a4156581c8", + "stateRoot" : "587518607d6c98344439896e7f39111d76a8aac09b70d624e237da6fa29bbc44", + "timestamp" : "0x578362d0", + "transactionsTrie" : "3798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "3", + "rlp" : "0xf9024cf901f9a06ce6218f835e3e4868a94325f31b57777373ca768f933763badaaf4147cb027ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0587518607d6c98344439896e7f39111d76a8aac09b70d624e237da6fa29bbc44a03798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2ca012f61177f6c2cebe14df5474c8b8c1f8f47f4ea8fff7f8b22b7aa8a4156581c8b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302008003832fefba82520884578362d080a076844249a296c9045e8c77e8c10b1794bf6b35fc1090d43b9ceacade45f5760788f6876f9244e81160f84df84b0201827530800a801ca0f6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055a075b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5ededc0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x02", + "r" : "0xf6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055", + "s" : "0x75b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5eded", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0200c0", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "c0cdd54d1a098c97570019a6cf54f4bf5cb0fefb8ec9b2a3a81009535ff894b5", + "mixHash" : "6c0ca9fc980d1b4bbda5dd1ead2f8a73883cd1b3895ffba14489b9d58cfe46f4", + "nonce" : "66818a34832a70b9", + "number" : "0x04", + "parentHash" : "341aaea7ee0397c8e54effcd92e9f6e6aeda54828fa958a89a700df5b427047e", + "receiptTrie" : "4346f81bc8c58aa684049309decc863c93cd6cdc84c592b62bd1439eee3636ac", + "stateRoot" : "c8ba761363f3cb1958f01fd55b864bcba7f33324ba4f95e60fc9e48d9ba6777a", + "timestamp" : "0x578362d2", + "transactionsTrie" : "4cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "4", + "rlp" : "0xf9024cf901f9a0341aaea7ee0397c8e54effcd92e9f6e6aeda54828fa958a89a700df5b427047ea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c8ba761363f3cb1958f01fd55b864bcba7f33324ba4f95e60fc9e48d9ba6777aa04cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2ca04346f81bc8c58aa684049309decc863c93cd6cdc84c592b62bd1439eee3636acb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200c004832fefba82520884578362d280a06c0ca9fc980d1b4bbda5dd1ead2f8a73883cd1b3895ffba14489b9d58cfe46f48866818a34832a70b9f84df84b0301827530800a801ca0753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dca066deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x03", + "r" : "0x753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dc", + "s" : "0x66deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020100", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xcf08", + "hash" : "e6988968ae553d9afde49b0ff8c8f865e0ad5da5e40f31afb12a755289c99381", + "mixHash" : "418a41d8cb95ab177da1d5e32682f0206af88fe90a55601a35fb45ce3ee1d1a6", + "nonce" : "648f4d040cc945b5", + "number" : "0x05", + "parentHash" : "c0cdd54d1a098c97570019a6cf54f4bf5cb0fefb8ec9b2a3a81009535ff894b5", + "receiptTrie" : "49f411805d9b0ace02b56752bf40396c5505bb7ced5f174abf02a20b623982c0", + "stateRoot" : "8045027de50cc67c31daed085a6e72311e4f931606c6caa9f85bfc34009b3d00", + "timestamp" : "0x578362d5", + "transactionsTrie" : "165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cd", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "5", + "rlp" : "0xf9024cf901f9a0c0cdd54d1a098c97570019a6cf54f4bf5cb0fefb8ec9b2a3a81009535ff894b5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a08045027de50cc67c31daed085a6e72311e4f931606c6caa9f85bfc34009b3d00a0165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cda049f411805d9b0ace02b56752bf40396c5505bb7ced5f174abf02a20b623982c0b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302010005832fefba82cf0884578362d580a0418a41d8cb95ab177da1d5e32682f0206af88fe90a55601a35fb45ce3ee1d1a688648f4d040cc945b5f84df84b040182ea60800a801ba0cb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169a07445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x04", + "r" : "0xcb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169", + "s" : "0x7445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62", + "to" : "", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020140", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xcf08", + "hash" : "111c5c0a5b2f0743d6167baa6d31718fae8dcfd85eb51e788ab419444488f857", + "mixHash" : "cc03279986ee03546a0d0c0609bdfb76d830216c29b44b9008a7d5b8c7ffc317", + "nonce" : "c29ace8b96a6c660", + "number" : "0x06", + "parentHash" : "e6988968ae553d9afde49b0ff8c8f865e0ad5da5e40f31afb12a755289c99381", + "receiptTrie" : "5e40223bcc6a700b1d32c94ec5b7ed325345b400cf06913d4a1538d80dde375d", + "stateRoot" : "293f78bf5ea7fbe0c13c88d246c5d84bf917dbf39e35722ae601ea85543dee9d", + "timestamp" : "0x578362d7", + "transactionsTrie" : "ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51be", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "6", + "rlp" : "0xf9024cf901f9a0e6988968ae553d9afde49b0ff8c8f865e0ad5da5e40f31afb12a755289c99381a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0293f78bf5ea7fbe0c13c88d246c5d84bf917dbf39e35722ae601ea85543dee9da0ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51bea05e40223bcc6a700b1d32c94ec5b7ed325345b400cf06913d4a1538d80dde375db90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014006832fefba82cf0884578362d780a0cc03279986ee03546a0d0c0609bdfb76d830216c29b44b9008a7d5b8c7ffc31788c29ace8b96a6c660f84df84b050182ea60800a801ba04d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435a023640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237eec0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x05", + "r" : "0x4d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435", + "s" : "0x23640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237ee", + "to" : "", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020180", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xa042", + "hash" : "3b08badb7af69e5b04e06a1aafe6b1e26b9e59931f6703f96833a1e65ed061e4", + "mixHash" : "c43fd62737e2c341234fed01e5a75da2e41a0d0d5d71ed7f65a6d07343af82df", + "nonce" : "2510c815a38b31b7", + "number" : "0x07", + "parentHash" : "111c5c0a5b2f0743d6167baa6d31718fae8dcfd85eb51e788ab419444488f857", + "receiptTrie" : "e3beaaa91301cca4d98fc58b2aad310bd7bd147d4ff00f4fb5ce2b186a039f2d", + "stateRoot" : "219ec50b26a20c420f96b8905f669455145efef0233e52a39c2d338b52a60f8c", + "timestamp" : "0x578362d8", + "transactionsTrie" : "b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "7", + "rlp" : "0xf90260f901f9a0111c5c0a5b2f0743d6167baa6d31718fae8dcfd85eb51e788ab419444488f857a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0219ec50b26a20c420f96b8905f669455145efef0233e52a39c2d338b52a60f8ca0b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341ca0e3beaaa91301cca4d98fc58b2aad310bd7bd147d4ff00f4fb5ce2b186a039f2db90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018007832fefba82a04284578362d880a0c43fd62737e2c341234fed01e5a75da2e41a0d0d5d71ed7f65a6d07343af82df882510c815a38b31b7f861f85f060182ea609410000000000000000000000000000000000000070a801ba0bb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9a010ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81bc0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x06", + "r" : "0xbb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9", + "s" : "0x10ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81b", + "to" : "1000000000000000000000000000000000000007", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "8", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f070182ea609410000000000000000000000000000000000000080a801ba03bce709627e1c9340795f11cc866742a0b5ced2b7e2da53e0cfe6f5f1df0a77ea02df804cdb52edacc4e01d8632050101cf7de7b235d37c31b504010910ec8f1f6c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0201c0", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x65aa", + "hash" : "a8e7968fd01c207811352ab6fc86841574979a456617eb110ebd4e25b7415bcd", + "mixHash" : "d7379be76dc312d2b562cbc727089ac08a2100390056664d46b3e367e9fe43a7", + "nonce" : "796b5d001b1985d4", + "number" : "0x08", + "parentHash" : "3b08badb7af69e5b04e06a1aafe6b1e26b9e59931f6703f96833a1e65ed061e4", + "receiptTrie" : "cb09490c5315ec68e121f33138f04090fb2b4a22da3f87a28c8626ec65a405cb", + "stateRoot" : "25c76e2a0478ceeaaf17619cfa46b1907f676cebf43fa41c857f10b1b50c8884", + "timestamp" : "0x578362dc", + "transactionsTrie" : "2982eb44bedb5b2484b9606fe37f966942a2cce51f0705537f9040ef0614d54e", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "8", + "rlp" : "0xf9026df90206a03b08badb7af69e5b04e06a1aafe6b1e26b9e59931f6703f96833a1e65ed061e4a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a025c76e2a0478ceeaaf17619cfa46b1907f676cebf43fa41c857f10b1b50c8884a02982eb44bedb5b2484b9606fe37f966942a2cce51f0705537f9040ef0614d54ea0cb09490c5315ec68e121f33138f04090fb2b4a22da3f87a28c8626ec65a405cbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201c008832fefba8265aa84578362dc8d64616f2d686172642d666f726ba0d7379be76dc312d2b562cbc727089ac08a2100390056664d46b3e367e9fe43a788796b5d001b1985d4f861f85f070182ea609410000000000000000000000000000000000000080a801ba03bce709627e1c9340795f11cc866742a0b5ced2b7e2da53e0cfe6f5f1df0a77ea02df804cdb52edacc4e01d8632050101cf7de7b235d37c31b504010910ec8f1f6c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x07", + "r" : "0x3bce709627e1c9340795f11cc866742a0b5ced2b7e2da53e0cfe6f5f1df0a77e", + "s" : "0x2df804cdb52edacc4e01d8632050101cf7de7b235d37c31b504010910ec8f1f6", + "to" : "1000000000000000000000000000000000000008", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "9", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f080182ea6094100000000000000000000000000000000000000101801ba0af2bb21c6953c5c7bb966a9c09e43c52641e6e317ab738cd409a5fb9ef5e753fa010db71dc8b41e52ce746895f743c1cc1fe7ed32f17ff7935b610fcbccdc75720c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020200", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "174c3f191f8955da5a75246f43edcbc1fde1fb0b2824dd5ac6986692763cc328", + "mixHash" : "e9ea6f80af2746d73f07a040332d0f9ce5d643b1f28c8536f549f14a3b36a272", + "nonce" : "1046883c965b5d81", + "number" : "0x09", + "parentHash" : "a8e7968fd01c207811352ab6fc86841574979a456617eb110ebd4e25b7415bcd", + "receiptTrie" : "405be8d48a642e0536283f01acfb9868e4d921a1444005e8298cb83d00f82704", + "stateRoot" : "9082a0c78b99b419eed76e297c9367cd2613ac98684e211a10794599e1efd0b6", + "timestamp" : "0x578362e0", + "transactionsTrie" : "7dac38119a2beeb72d0f67b77bef9a4cbae22ca5c7151f1e737f9db1bf37b135", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "9", + "rlp" : "0xf9026df90206a0a8e7968fd01c207811352ab6fc86841574979a456617eb110ebd4e25b7415bcda01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a09082a0c78b99b419eed76e297c9367cd2613ac98684e211a10794599e1efd0b6a07dac38119a2beeb72d0f67b77bef9a4cbae22ca5c7151f1e737f9db1bf37b135a0405be8d48a642e0536283f01acfb9868e4d921a1444005e8298cb83d00f82704b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302020009832fefba82520884578362e08d64616f2d686172642d666f726ba0e9ea6f80af2746d73f07a040332d0f9ce5d643b1f28c8536f549f14a3b36a272881046883c965b5d81f861f85f080182ea6094100000000000000000000000000000000000000101801ba0af2bb21c6953c5c7bb966a9c09e43c52641e6e317ab738cd409a5fb9ef5e753fa010db71dc8b41e52ce746895f743c1cc1fe7ed32f17ff7935b610fcbccdc75720c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x08", + "r" : "0xaf2bb21c6953c5c7bb966a9c09e43c52641e6e317ab738cd409a5fb9ef5e753f", + "s" : "0x10db71dc8b41e52ce746895f743c1cc1fe7ed32f17ff7935b610fcbccdc75720", + "to" : "1000000000000000000000000000000000000001", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "10", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f090182ea6094100000000000000000000000000000000000000101801ca0c3d783e93561599d86cbf460e153b3cb37d90478a3c47bfc08bd29563c9d849fa0100e466f7a4c6af73a9030988c63ec88ccaba460fd6a1fb1adc30b61dbdd0857c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020240", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "872664b8cea7f2f8a92618e2c2f609ed8688424a211f9b51ede088523bd35fa3", + "mixHash" : "0f075e1fcf0d36cc5018bcb2f1ec03ad7cb85350fbfc3437695d8adbe0319055", + "nonce" : "fb63b58204ee99a1", + "number" : "0x0a", + "parentHash" : "174c3f191f8955da5a75246f43edcbc1fde1fb0b2824dd5ac6986692763cc328", + "receiptTrie" : "7816771f20df86ba51fe1b9b124be162607d9a74753fbcec73e7fd0e4b803fc8", + "stateRoot" : "14baa5da9e9e7b864d11a6ab7c75d49f3582ef61566bc06ac825894eab40dd47", + "timestamp" : "0x578362e5", + "transactionsTrie" : "771cef5982e1119f26a627bbeeadc21e350838157aad275b2f4a884a57e277da", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "10", + "rlp" : "0xf9026df90206a0174c3f191f8955da5a75246f43edcbc1fde1fb0b2824dd5ac6986692763cc328a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a014baa5da9e9e7b864d11a6ab7c75d49f3582ef61566bc06ac825894eab40dd47a0771cef5982e1119f26a627bbeeadc21e350838157aad275b2f4a884a57e277daa07816771f20df86ba51fe1b9b124be162607d9a74753fbcec73e7fd0e4b803fc8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202400a832fefba82520884578362e58d64616f2d686172642d666f726ba00f075e1fcf0d36cc5018bcb2f1ec03ad7cb85350fbfc3437695d8adbe031905588fb63b58204ee99a1f861f85f090182ea6094100000000000000000000000000000000000000101801ca0c3d783e93561599d86cbf460e153b3cb37d90478a3c47bfc08bd29563c9d849fa0100e466f7a4c6af73a9030988c63ec88ccaba460fd6a1fb1adc30b61dbdd0857c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x09", + "r" : "0xc3d783e93561599d86cbf460e153b3cb37d90478a3c47bfc08bd29563c9d849f", + "s" : "0x100e466f7a4c6af73a9030988c63ec88ccaba460fd6a1fb1adc30b61dbdd0857", + "to" : "1000000000000000000000000000000000000001", + "v" : "0x1c", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "11", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f0a0182ea6094100000000000000000000000000000000000000101801ca076766ba9925c43448e1ac5c05f7583e6d3a3366eb3dc95a3489ff363b449795ca059b8da33b7aea0d60059f5c1eabce26c1e23e32f31930bff3b49eb1e94cc62a0c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020280", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "ea29fb161cd0baa00b7ec957ffb4eec2c13f98dbdaa5cbb5352e6c315885c7d2", + "mixHash" : "f5e7f98d27237c0000ff5d35c1078056a01b07564d37768456d47bc2c97e7e3e", + "nonce" : "f4a8a19edb48f3bc", + "number" : "0x0b", + "parentHash" : "872664b8cea7f2f8a92618e2c2f609ed8688424a211f9b51ede088523bd35fa3", + "receiptTrie" : "76c1e3d0c78e8ddf32608b571a8bbcf6ec06ad6e4d832b1527be8bcdc9e8babc", + "stateRoot" : "745349a2480a86c28aa035ce47b40f8f5045efefac899c3ed9265103427043dd", + "timestamp" : "0x578362e9", + "transactionsTrie" : "10a81573cb14d5c2794e1b406e26b6d9612c888bbc98c453131bd9b06f61d7c9", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "11", + "rlp" : "0xf9026df90206a0872664b8cea7f2f8a92618e2c2f609ed8688424a211f9b51ede088523bd35fa3a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0745349a2480a86c28aa035ce47b40f8f5045efefac899c3ed9265103427043dda010a81573cb14d5c2794e1b406e26b6d9612c888bbc98c453131bd9b06f61d7c9a076c1e3d0c78e8ddf32608b571a8bbcf6ec06ad6e4d832b1527be8bcdc9e8babcb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202800b832fefba82520884578362e98d64616f2d686172642d666f726ba0f5e7f98d27237c0000ff5d35c1078056a01b07564d37768456d47bc2c97e7e3e88f4a8a19edb48f3bcf861f85f0a0182ea6094100000000000000000000000000000000000000101801ca076766ba9925c43448e1ac5c05f7583e6d3a3366eb3dc95a3489ff363b449795ca059b8da33b7aea0d60059f5c1eabce26c1e23e32f31930bff3b49eb1e94cc62a0c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x0a", + "r" : "0x76766ba9925c43448e1ac5c05f7583e6d3a3366eb3dc95a3489ff363b449795c", + "s" : "0x59b8da33b7aea0d60059f5c1eabce26c1e23e32f31930bff3b49eb1e94cc62a0", + "to" : "1000000000000000000000000000000000000001", + "v" : "0x1c", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "12", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f0b0182ea6094100000000000000000000000000000000000000101801ca085939abfa5d1d2dd8e1bde2655e44236d8e1940a075000301d6deab472ccd680a078d2ae659006c58f9ccc5af29955f7439e48b30b2efe64abdd001165364faa9ac0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0202c0", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "dd37603315dead14fc07c82fd274016e5853ed2b74c05df832bec2eeeded5d01", + "mixHash" : "5409bef91ea0fe9b28750db667aca7b42019e99806c64850d6baf74a527c39e9", + "nonce" : "8ad88fec4eaba1bd", + "number" : "0x0c", + "parentHash" : "ea29fb161cd0baa00b7ec957ffb4eec2c13f98dbdaa5cbb5352e6c315885c7d2", + "receiptTrie" : "7cced79fcdebd96670df83f4c13f71aa9cb3dbce19df27f7f6ff8b12fef91282", + "stateRoot" : "40ef6bb351314ea48ab6462f2cabcf96ee476cec1f4670919f90efb2a5956ab3", + "timestamp" : "0x578362ed", + "transactionsTrie" : "b7757adef51c8c3b9b0433d1a0db70fe5505e8db1848934da1c1d2c6aafc3f65", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "12", + "rlp" : "0xf9026df90206a0ea29fb161cd0baa00b7ec957ffb4eec2c13f98dbdaa5cbb5352e6c315885c7d2a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a040ef6bb351314ea48ab6462f2cabcf96ee476cec1f4670919f90efb2a5956ab3a0b7757adef51c8c3b9b0433d1a0db70fe5505e8db1848934da1c1d2c6aafc3f65a07cced79fcdebd96670df83f4c13f71aa9cb3dbce19df27f7f6ff8b12fef91282b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202c00c832fefba82520884578362ed8d64616f2d686172642d666f726ba05409bef91ea0fe9b28750db667aca7b42019e99806c64850d6baf74a527c39e9888ad88fec4eaba1bdf861f85f0b0182ea6094100000000000000000000000000000000000000101801ca085939abfa5d1d2dd8e1bde2655e44236d8e1940a075000301d6deab472ccd680a078d2ae659006c58f9ccc5af29955f7439e48b30b2efe64abdd001165364faa9ac0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x0b", + "r" : "0x85939abfa5d1d2dd8e1bde2655e44236d8e1940a075000301d6deab472ccd680", + "s" : "0x78d2ae659006c58f9ccc5af29955f7439e48b30b2efe64abdd001165364faa9a", + "to" : "1000000000000000000000000000000000000001", + "v" : "0x1c", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "13", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f0c0182ea6094100000000000000000000000000000000000000101801ca00bb5ae599741966cbd02d6080937bd1f247dfaa266e19891228a4fbfc0c85226a07a4f56371aa5b685bc10d64e180e24850ae18b0fcc675e7d187f877b8d9b1bf6c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020300", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "c481c38537eaa8cdc85f0ee37cc714b2016cdf16bfa238f2c2971be9ecfd6250", + "mixHash" : "0d93ec85a64803d79b7af732d1c343c0a686d699c7878761db0c119d3c7da9f9", + "nonce" : "5ba262dce70d6a1e", + "number" : "0x0d", + "parentHash" : "dd37603315dead14fc07c82fd274016e5853ed2b74c05df832bec2eeeded5d01", + "receiptTrie" : "27206e196468a999013a22f5ad0a2747cba1311e0398bb601fda5570045753b8", + "stateRoot" : "be645d0bc31a6df9f0df1ff766d651e5253eeaa750c9d6eea98349a4c2b26679", + "timestamp" : "0x578362f1", + "transactionsTrie" : "38b9ac6344a8e2cdd0c0b598f70f21997ab1b39d3ecb2f7a8c7af93e300e0398", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "13", + "rlp" : "0xf9026df90206a0dd37603315dead14fc07c82fd274016e5853ed2b74c05df832bec2eeeded5d01a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0be645d0bc31a6df9f0df1ff766d651e5253eeaa750c9d6eea98349a4c2b26679a038b9ac6344a8e2cdd0c0b598f70f21997ab1b39d3ecb2f7a8c7af93e300e0398a027206e196468a999013a22f5ad0a2747cba1311e0398bb601fda5570045753b8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830203000d832fefba82520884578362f18d64616f2d686172642d666f726ba00d93ec85a64803d79b7af732d1c343c0a686d699c7878761db0c119d3c7da9f9885ba262dce70d6a1ef861f85f0c0182ea6094100000000000000000000000000000000000000101801ca00bb5ae599741966cbd02d6080937bd1f247dfaa266e19891228a4fbfc0c85226a07a4f56371aa5b685bc10d64e180e24850ae18b0fcc675e7d187f877b8d9b1bf6c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x0c", + "r" : "0x0bb5ae599741966cbd02d6080937bd1f247dfaa266e19891228a4fbfc0c85226", + "s" : "0x7a4f56371aa5b685bc10d64e180e24850ae18b0fcc675e7d187f877b8d9b1bf6", + "to" : "1000000000000000000000000000000000000001", + "v" : "0x1c", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "14", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f0d0182ea6094100000000000000000000000000000000000000101801ba0db8f9cd690ad1f6481c09a5445a4185d4fcfdeed76f7ba403d303985c1abaa4ca01ed5f2e9fd9a021103acc910cbefcdaa82d2afd44205a8f681f0c17ebf2da192c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020340", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "b14471504858a942fbfd5df9cb31e47796a86ff02bb42e4aea45982b2f8af5c4", + "mixHash" : "e786f31b72887e787326f12aff5c5af35bd9e88ce28743117df384467687ab3d", + "nonce" : "4dd28afbb24464cc", + "number" : "0x0e", + "parentHash" : "c481c38537eaa8cdc85f0ee37cc714b2016cdf16bfa238f2c2971be9ecfd6250", + "receiptTrie" : "3219cbaae09e7a53589bfa9a65ef4dd7e37b8d631a65b3dfbcbba13bdc3cdb05", + "stateRoot" : "ffcc7e2a5c78d83c28d38494c8f432971d60fc23e8461c400880e59c9f22f2e6", + "timestamp" : "0x578362f6", + "transactionsTrie" : "4b6ff42fd8884c83615bf62830df849b18901c07615aafef9aaf16d33f807349", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "14", + "rlp" : "0xf9026df90206a0c481c38537eaa8cdc85f0ee37cc714b2016cdf16bfa238f2c2971be9ecfd6250a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0ffcc7e2a5c78d83c28d38494c8f432971d60fc23e8461c400880e59c9f22f2e6a04b6ff42fd8884c83615bf62830df849b18901c07615aafef9aaf16d33f807349a03219cbaae09e7a53589bfa9a65ef4dd7e37b8d631a65b3dfbcbba13bdc3cdb05b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830203400e832fefba82520884578362f68d64616f2d686172642d666f726ba0e786f31b72887e787326f12aff5c5af35bd9e88ce28743117df384467687ab3d884dd28afbb24464ccf861f85f0d0182ea6094100000000000000000000000000000000000000101801ba0db8f9cd690ad1f6481c09a5445a4185d4fcfdeed76f7ba403d303985c1abaa4ca01ed5f2e9fd9a021103acc910cbefcdaa82d2afd44205a8f681f0c17ebf2da192c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x0d", + "r" : "0xdb8f9cd690ad1f6481c09a5445a4185d4fcfdeed76f7ba403d303985c1abaa4c", + "s" : "0x1ed5f2e9fd9a021103acc910cbefcdaa82d2afd44205a8f681f0c17ebf2da192", + "to" : "1000000000000000000000000000000000000001", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "15", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f0e0182ea6094100000000000000000000000000000000000000101801ca0af8f37a08239d55138f8b92680c682d4118da357c79d6a6b148a6dcce4d961d1a057bf5b29fc32419091bd8e170fed46703b7a2640be0ca91d6903d75c932be160c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020380", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "9849305deb139e14edc8a2daf9c69ff4bde43c90d1a9fc4be74d60ca856de52c", + "mixHash" : "0b38e08a130828a9b42499a61955a1f05f29b3c54721c9000108681b24df1bbe", + "nonce" : "a903296b20afc6c1", + "number" : "0x0f", + "parentHash" : "b14471504858a942fbfd5df9cb31e47796a86ff02bb42e4aea45982b2f8af5c4", + "receiptTrie" : "3f8e538224b10251d17ea50eef083205f714f89dd10b1338df828c2fd14da074", + "stateRoot" : "da5a9eb135d2a19f28da52eda0fcff26d26326dac4c622d6b2f0d7a6873ab27c", + "timestamp" : "0x578362fb", + "transactionsTrie" : "ce025c4f49fea19fbb8b91252f03fd36d2ff6e9e8817c701452992098534abda", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "15", + "rlp" : "0xf9026df90206a0b14471504858a942fbfd5df9cb31e47796a86ff02bb42e4aea45982b2f8af5c4a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0da5a9eb135d2a19f28da52eda0fcff26d26326dac4c622d6b2f0d7a6873ab27ca0ce025c4f49fea19fbb8b91252f03fd36d2ff6e9e8817c701452992098534abdaa03f8e538224b10251d17ea50eef083205f714f89dd10b1338df828c2fd14da074b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830203800f832fefba82520884578362fb8d64616f2d686172642d666f726ba00b38e08a130828a9b42499a61955a1f05f29b3c54721c9000108681b24df1bbe88a903296b20afc6c1f861f85f0e0182ea6094100000000000000000000000000000000000000101801ca0af8f37a08239d55138f8b92680c682d4118da357c79d6a6b148a6dcce4d961d1a057bf5b29fc32419091bd8e170fed46703b7a2640be0ca91d6903d75c932be160c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x0e", + "r" : "0xaf8f37a08239d55138f8b92680c682d4118da357c79d6a6b148a6dcce4d961d1", + "s" : "0x57bf5b29fc32419091bd8e170fed46703b7a2640be0ca91d6903d75c932be160", + "to" : "1000000000000000000000000000000000000001", + "v" : "0x1c", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "16", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f0f0182ea6094100000000000000000000000000000000000000101801ba040a5467881266422758d59ae66fb3d2511f0131038b0e43abc397d01527fd61ea0172ed4b9c3cf917bf071cb6cc716c4f6754949ea94888d4bb9657eac98fd2c10c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0203c0", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "6d29b0a6632f26fa1e689965087a09c739771dc469b9c49bc744d6207c9e2fed", + "mixHash" : "7ab225e313b7f890caaf575528bb16189826c5a1c9589e7ad5635d123886b6a5", + "nonce" : "682109d020f5de8a", + "number" : "0x10", + "parentHash" : "9849305deb139e14edc8a2daf9c69ff4bde43c90d1a9fc4be74d60ca856de52c", + "receiptTrie" : "cb5e5d42756e48dfe3c93e5656cb7367090c1406ddb6a47f71058cb96de158f0", + "stateRoot" : "7d9e18f987e1e0f6244158d2c75dc881e28cdc3b54da6ad3d6743e630d11674f", + "timestamp" : "0x57836301", + "transactionsTrie" : "6f2130deb628c7742532339d5b5f1539f9579edcab16996b3b05836a6883073f", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "16", + "rlp" : "0xf9026df90206a09849305deb139e14edc8a2daf9c69ff4bde43c90d1a9fc4be74d60ca856de52ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a07d9e18f987e1e0f6244158d2c75dc881e28cdc3b54da6ad3d6743e630d11674fa06f2130deb628c7742532339d5b5f1539f9579edcab16996b3b05836a6883073fa0cb5e5d42756e48dfe3c93e5656cb7367090c1406ddb6a47f71058cb96de158f0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830203c010832fefba82520884578363018d64616f2d686172642d666f726ba07ab225e313b7f890caaf575528bb16189826c5a1c9589e7ad5635d123886b6a588682109d020f5de8af861f85f0f0182ea6094100000000000000000000000000000000000000101801ba040a5467881266422758d59ae66fb3d2511f0131038b0e43abc397d01527fd61ea0172ed4b9c3cf917bf071cb6cc716c4f6754949ea94888d4bb9657eac98fd2c10c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x0f", + "r" : "0x40a5467881266422758d59ae66fb3d2511f0131038b0e43abc397d01527fd61e", + "s" : "0x172ed4b9c3cf917bf071cb6cc716c4f6754949ea94888d4bb9657eac98fd2c10", + "to" : "1000000000000000000000000000000000000001", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "17", + "rlp" : "0xf9024af901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f861f85f100182ea6094100000000000000000000000000000000000000101801ba0d7933ba406ea332cdec2d673bbf5789c34a43224629c220bd0ac2c9d81c7b094a05e0a096cbe3bdc9047b18de6be4822165c669bddf712456567dc525547059ff8c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020400", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "f05375344257478b69eaf22bb6ee010daac8e37077c20946b2cd673e4caf4897", + "mixHash" : "5aca39367567bf655adcbed51353fda57286a67a4ad09d8a5e2be84522727744", + "nonce" : "e14722f02bf5d663", + "number" : "0x11", + "parentHash" : "6d29b0a6632f26fa1e689965087a09c739771dc469b9c49bc744d6207c9e2fed", + "receiptTrie" : "eea278a71391069b01fd9759bafca57b149bc9d6dc212bdddaa2f378e0ecfe95", + "stateRoot" : "c0f43306d07073f10d93dcf01bd8dada0eceedb213eed501801a13f2b205e333", + "timestamp" : "0x57836307", + "transactionsTrie" : "316f3430ee504cbaa58cec2ce451de2fc9e0f1e7f99b16b33f69ab3ca93130be", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "17", + "rlp" : "0xf9026df90206a06d29b0a6632f26fa1e689965087a09c739771dc469b9c49bc744d6207c9e2feda01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c0f43306d07073f10d93dcf01bd8dada0eceedb213eed501801a13f2b205e333a0316f3430ee504cbaa58cec2ce451de2fc9e0f1e7f99b16b33f69ab3ca93130bea0eea278a71391069b01fd9759bafca57b149bc9d6dc212bdddaa2f378e0ecfe95b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302040011832fefba82520884578363078d64616f2d686172642d666f726ba05aca39367567bf655adcbed51353fda57286a67a4ad09d8a5e2be8452272774488e14722f02bf5d663f861f85f100182ea6094100000000000000000000000000000000000000101801ba0d7933ba406ea332cdec2d673bbf5789c34a43224629c220bd0ac2c9d81c7b094a05e0a096cbe3bdc9047b18de6be4822165c669bddf712456567dc525547059ff8c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x10", + "r" : "0xd7933ba406ea332cdec2d673bbf5789c34a43224629c220bd0ac2c9d81c7b094", + "s" : "0x5e0a096cbe3bdc9047b18de6be4822165c669bddf712456567dc525547059ff8", + "to" : "1000000000000000000000000000000000000001", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x2fefd8", + "gasUsed" : "0x00", + "hash" : "eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804c", + "mixHash" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0102030405060708", + "number" : "0x00", + "parentHash" : "0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "4eda2e603f5b9ad6e92c0cba602372d0a0cd2e776a17b61a7a20225ffa7643d7", + "timestamp" : "0x54c98c81", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901fcf901f7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a04eda2e603f5b9ad6e92c0cba602372d0a0cd2e776a17b61a7a20225ffa7643d7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080832fefd8808454c98c8142a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", + "lastblockhash" : "f05375344257478b69eaf22bb6ee010daac8e37077c20946b2cd673e4caf4897", + "postState" : { + "0c243ebe6a031753dc0dd850acf422844a3efb76" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000001" : { + "balance" : "0x09", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0x0a", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x02540be400" + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x0a", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "248f0f0f33eadb89e9d87fd5c127f58567f3ffde" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "85c2f277588ea1e6901ed59e587bea222c575f87" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8888f1f195afa192cfee860698584c030f4c9db1" : { + "balance" : "0x049b9ca9a6943ace64", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b93fb43", + "code" : "0x", + "nonce" : "0x11", + "storage" : { + } + }, + "abcabcabcabcabcabcabcabcabcabcabcabcabca" : { + "balance" : "0x2c3cf12e40", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b1d37cf6180ceb738ca45b5005a2f418c02e204b" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec0e71ad0a90ffe1909d27dac207f7680abba42d" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "pre" : { + "1000000000000000000000000000000000000007" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x0f4240", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b9aca00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + } + }, + "DaoTransactions_EmptyTransaction" : { + "blocks" : [ + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020000", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "5b0edda940d3516661fb973d9e19d092b4a394dc4d87874bdcc5e98078213350", + "mixHash" : "a639b3eb62e9e9655578c1da80a0392f0193b7e2afec23f91b1d8436ca7deace", + "nonce" : "97fa42f0f9ee028e", + "number" : "0x01", + "parentHash" : "eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804c", + "receiptTrie" : "63e81aadc86aed2ebe147fd86db74d8fbe91a938af0521be549669246e607443", + "stateRoot" : "421450c5fcaa516f03635983f0c9d936574721033424eac5e6d71c8fa14b766f", + "timestamp" : "0x57836309", + "transactionsTrie" : "ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "1", + "rlp" : "0xf9024cf901f9a0eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0421450c5fcaa516f03635983f0c9d936574721033424eac5e6d71c8fa14b766fa0ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179a063e81aadc86aed2ebe147fd86db74d8fbe91a938af0521be549669246e607443b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832fefba825208845783630980a0a639b3eb62e9e9655578c1da80a0392f0193b7e2afec23f91b1d8436ca7deace8897fa42f0f9ee028ef84df84b8001827530800a801ca057cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9a05ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03ac0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0x57cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9", + "s" : "0x5ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03a", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020040", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "ae62864a01c26f47b77ac9235ad2dc1db5740c82a53e625f6becca64317b377b", + "mixHash" : "b17c97168dc8d478616303a2c09169dffdf757126db3db3c6df67d16f7677a63", + "nonce" : "d4170412ca50a625", + "number" : "0x02", + "parentHash" : "5b0edda940d3516661fb973d9e19d092b4a394dc4d87874bdcc5e98078213350", + "receiptTrie" : "b41287e7f7e5d2983862a73e54c86ec144ecf835096984770f6bf485188268b8", + "stateRoot" : "1e31d34b22a8d2fd9893bb58fa80e6ca4561320eed43776c295acca93721847c", + "timestamp" : "0x5783630c", + "transactionsTrie" : "76c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abf", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "2", + "rlp" : "0xf9024cf901f9a05b0edda940d3516661fb973d9e19d092b4a394dc4d87874bdcc5e98078213350a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a01e31d34b22a8d2fd9893bb58fa80e6ca4561320eed43776c295acca93721847ca076c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abfa0b41287e7f7e5d2983862a73e54c86ec144ecf835096984770f6bf485188268b8b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302004002832fefba825208845783630c80a0b17c97168dc8d478616303a2c09169dffdf757126db3db3c6df67d16f7677a6388d4170412ca50a625f84df84b0101827530800a801ca0bb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1fa04bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x01", + "r" : "0xbb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1f", + "s" : "0x4bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020080", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "44220b4a438fa769755e99320bebe37fc2e019c919fd741508b34d0ef9eb8445", + "mixHash" : "d2c22cf2fdcd7c91d4d4870dd9f36a6ff696440cd839b9e9bae1137596385710", + "nonce" : "18effd2ae4b7e5b8", + "number" : "0x03", + "parentHash" : "ae62864a01c26f47b77ac9235ad2dc1db5740c82a53e625f6becca64317b377b", + "receiptTrie" : "12f61177f6c2cebe14df5474c8b8c1f8f47f4ea8fff7f8b22b7aa8a4156581c8", + "stateRoot" : "587518607d6c98344439896e7f39111d76a8aac09b70d624e237da6fa29bbc44", + "timestamp" : "0x5783630d", + "transactionsTrie" : "3798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "3", + "rlp" : "0xf9024cf901f9a0ae62864a01c26f47b77ac9235ad2dc1db5740c82a53e625f6becca64317b377ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0587518607d6c98344439896e7f39111d76a8aac09b70d624e237da6fa29bbc44a03798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2ca012f61177f6c2cebe14df5474c8b8c1f8f47f4ea8fff7f8b22b7aa8a4156581c8b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302008003832fefba825208845783630d80a0d2c22cf2fdcd7c91d4d4870dd9f36a6ff696440cd839b9e9bae11375963857108818effd2ae4b7e5b8f84df84b0201827530800a801ca0f6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055a075b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5ededc0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x02", + "r" : "0xf6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055", + "s" : "0x75b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5eded", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0200c0", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "0aefb5c5a7ec080c970350d9583090b714d37bf95c0a6e2e02dbc1002a5b30b5", + "mixHash" : "023bed20cb52812ce526a57786b78fb62c51f5da5a3bf45ee96dd6e7eb448199", + "nonce" : "7c8f2986da78a3bd", + "number" : "0x04", + "parentHash" : "44220b4a438fa769755e99320bebe37fc2e019c919fd741508b34d0ef9eb8445", + "receiptTrie" : "4346f81bc8c58aa684049309decc863c93cd6cdc84c592b62bd1439eee3636ac", + "stateRoot" : "c8ba761363f3cb1958f01fd55b864bcba7f33324ba4f95e60fc9e48d9ba6777a", + "timestamp" : "0x57836310", + "transactionsTrie" : "4cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "4", + "rlp" : "0xf9024cf901f9a044220b4a438fa769755e99320bebe37fc2e019c919fd741508b34d0ef9eb8445a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c8ba761363f3cb1958f01fd55b864bcba7f33324ba4f95e60fc9e48d9ba6777aa04cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2ca04346f81bc8c58aa684049309decc863c93cd6cdc84c592b62bd1439eee3636acb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200c004832fefba825208845783631080a0023bed20cb52812ce526a57786b78fb62c51f5da5a3bf45ee96dd6e7eb448199887c8f2986da78a3bdf84df84b0301827530800a801ca0753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dca066deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x03", + "r" : "0x753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dc", + "s" : "0x66deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020100", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xcf08", + "hash" : "c1a27ab42a9d209533699cf0cb3f7d9387d748789c9e4b83861d6eca9d344c27", + "mixHash" : "70a51ab9792974a9cdc257e272b6893f45e710fd73403312d51184e529a82ec8", + "nonce" : "e3ef9bdbb00719d9", + "number" : "0x05", + "parentHash" : "0aefb5c5a7ec080c970350d9583090b714d37bf95c0a6e2e02dbc1002a5b30b5", + "receiptTrie" : "49f411805d9b0ace02b56752bf40396c5505bb7ced5f174abf02a20b623982c0", + "stateRoot" : "8045027de50cc67c31daed085a6e72311e4f931606c6caa9f85bfc34009b3d00", + "timestamp" : "0x57836312", + "transactionsTrie" : "165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cd", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "5", + "rlp" : "0xf9024cf901f9a00aefb5c5a7ec080c970350d9583090b714d37bf95c0a6e2e02dbc1002a5b30b5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a08045027de50cc67c31daed085a6e72311e4f931606c6caa9f85bfc34009b3d00a0165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cda049f411805d9b0ace02b56752bf40396c5505bb7ced5f174abf02a20b623982c0b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302010005832fefba82cf08845783631280a070a51ab9792974a9cdc257e272b6893f45e710fd73403312d51184e529a82ec888e3ef9bdbb00719d9f84df84b040182ea60800a801ba0cb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169a07445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x04", + "r" : "0xcb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169", + "s" : "0x7445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62", + "to" : "", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020140", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xcf08", + "hash" : "23ee03d1084a13984fe604e7ea070c6d907db16960a3835ef57d1baa16689d4f", + "mixHash" : "fac0b79165a4c5531f2f26a3d77a823e8853298fd9eb09436ab380323c3b1f9b", + "nonce" : "ce6bf09522313f40", + "number" : "0x06", + "parentHash" : "c1a27ab42a9d209533699cf0cb3f7d9387d748789c9e4b83861d6eca9d344c27", + "receiptTrie" : "5e40223bcc6a700b1d32c94ec5b7ed325345b400cf06913d4a1538d80dde375d", + "stateRoot" : "293f78bf5ea7fbe0c13c88d246c5d84bf917dbf39e35722ae601ea85543dee9d", + "timestamp" : "0x57836314", + "transactionsTrie" : "ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51be", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "6", + "rlp" : "0xf9024cf901f9a0c1a27ab42a9d209533699cf0cb3f7d9387d748789c9e4b83861d6eca9d344c27a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0293f78bf5ea7fbe0c13c88d246c5d84bf917dbf39e35722ae601ea85543dee9da0ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51bea05e40223bcc6a700b1d32c94ec5b7ed325345b400cf06913d4a1538d80dde375db90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014006832fefba82cf08845783631480a0fac0b79165a4c5531f2f26a3d77a823e8853298fd9eb09436ab380323c3b1f9b88ce6bf09522313f40f84df84b050182ea60800a801ba04d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435a023640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237eec0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x05", + "r" : "0x4d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435", + "s" : "0x23640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237ee", + "to" : "", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020180", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xa042", + "hash" : "60ffcb5008eaea340506bc43689d1b2a3f6be9963822e4d07ea3c3439a5c238a", + "mixHash" : "2deb7b956c9872f070ee6766097fb87f4faf05eafc58d75de0a8a66c1b2d6aac", + "nonce" : "0154f5718e21141d", + "number" : "0x07", + "parentHash" : "23ee03d1084a13984fe604e7ea070c6d907db16960a3835ef57d1baa16689d4f", + "receiptTrie" : "e3beaaa91301cca4d98fc58b2aad310bd7bd147d4ff00f4fb5ce2b186a039f2d", + "stateRoot" : "219ec50b26a20c420f96b8905f669455145efef0233e52a39c2d338b52a60f8c", + "timestamp" : "0x57836317", + "transactionsTrie" : "b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "7", + "rlp" : "0xf90260f901f9a023ee03d1084a13984fe604e7ea070c6d907db16960a3835ef57d1baa16689d4fa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0219ec50b26a20c420f96b8905f669455145efef0233e52a39c2d338b52a60f8ca0b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341ca0e3beaaa91301cca4d98fc58b2aad310bd7bd147d4ff00f4fb5ce2b186a039f2db90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018007832fefba82a042845783631780a02deb7b956c9872f070ee6766097fb87f4faf05eafc58d75de0a8a66c1b2d6aac880154f5718e21141df861f85f060182ea609410000000000000000000000000000000000000070a801ba0bb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9a010ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81bc0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x06", + "r" : "0xbb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9", + "s" : "0x10ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81b", + "to" : "1000000000000000000000000000000000000007", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "8", + "rlp" : "0xf901e8f901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80c0c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0201c0", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x00", + "hash" : "759a2064217e4e4a7b2d000b85db1b4a3c38f0d385a2d5fe3c1db59b2b542800", + "mixHash" : "1a03d073e18853b3cae2466c7b3bf0569ec2bee77dac157c9266bbbcd0e26bc4", + "nonce" : "e2b29b5ff2f88b23", + "number" : "0x08", + "parentHash" : "60ffcb5008eaea340506bc43689d1b2a3f6be9963822e4d07ea3c3439a5c238a", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "d8c26888f3be8b3caa592fa608b0a6c91e4d71a0657b11afebea18528f0ff44d", + "timestamp" : "0x5783631b", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "8", + "rlp" : "0xf90209f90204a060ffcb5008eaea340506bc43689d1b2a3f6be9963822e4d07ea3c3439a5c238aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0d8c26888f3be8b3caa592fa608b0a6c91e4d71a0657b11afebea18528f0ff44da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201c008832fefba80845783631b8d64616f2d686172642d666f726ba01a03d073e18853b3cae2466c7b3bf0569ec2bee77dac157c9266bbbcd0e26bc488e2b29b5ff2f88b23c0c0", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020200", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x65aa", + "hash" : "c4a01f3cc777a997d690a0c72dd799817cc2bc0cdc79f6c10d7367d3375eb9a3", + "mixHash" : "28a7e07f83e0624319e9221bf1cd71ee5e35b29c8570d1457ead8f2caf2f10d5", + "nonce" : "46bac1b638d711b4", + "number" : "0x09", + "parentHash" : "759a2064217e4e4a7b2d000b85db1b4a3c38f0d385a2d5fe3c1db59b2b542800", + "receiptTrie" : "ba60c4ab1b477e30a2befb448e466b1404264989fabb1eb870376381202aed52", + "stateRoot" : "b6776ae31aa5aeaf7ec2b8f644716df0cbcba8a9d22ca34e795c9461f81fd04f", + "timestamp" : "0x5783631d", + "transactionsTrie" : "964e2a482dc1856fff3b00f545aaf8720aeef70a3ffe86cebf05bbc2c34bf539", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "9", + "rlp" : "0xf9026df90206a0759a2064217e4e4a7b2d000b85db1b4a3c38f0d385a2d5fe3c1db59b2b542800a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0b6776ae31aa5aeaf7ec2b8f644716df0cbcba8a9d22ca34e795c9461f81fd04fa0964e2a482dc1856fff3b00f545aaf8720aeef70a3ffe86cebf05bbc2c34bf539a0ba60c4ab1b477e30a2befb448e466b1404264989fabb1eb870376381202aed52b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302020009832fefba8265aa845783631d8d64616f2d686172642d666f726ba028a7e07f83e0624319e9221bf1cd71ee5e35b29c8570d1457ead8f2caf2f10d58846bac1b638d711b4f861f85f070182ea6094100000000000000000000000000000000000000801801ba09e18981c45e9f6bb54e3f52cae58f2c3c00f2220a9f1c788d0ee3fc2394d4956a038207c17c10faae1fa83bff79770fa38134a19b6ca6f04059d7a307c05f67e6ac0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x07", + "r" : "0x9e18981c45e9f6bb54e3f52cae58f2c3c00f2220a9f1c788d0ee3fc2394d4956", + "s" : "0x38207c17c10faae1fa83bff79770fa38134a19b6ca6f04059d7a307c05f67e6a", + "to" : "1000000000000000000000000000000000000008", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x2fefd8", + "gasUsed" : "0x00", + "hash" : "eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804c", + "mixHash" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0102030405060708", + "number" : "0x00", + "parentHash" : "0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "4eda2e603f5b9ad6e92c0cba602372d0a0cd2e776a17b61a7a20225ffa7643d7", + "timestamp" : "0x54c98c81", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901fcf901f7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a04eda2e603f5b9ad6e92c0cba602372d0a0cd2e776a17b61a7a20225ffa7643d7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080832fefd8808454c98c8142a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", + "lastblockhash" : "c4a01f3cc777a997d690a0c72dd799817cc2bc0cdc79f6c10d7367d3375eb9a3", + "postState" : { + "0c243ebe6a031753dc0dd850acf422844a3efb76" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0x0a", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x02540be400" + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x01", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "248f0f0f33eadb89e9d87fd5c127f58567f3ffde" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "85c2f277588ea1e6901ed59e587bea222c575f87" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8888f1f195afa192cfee860698584c030f4c9db1" : { + "balance" : "0x0270801d946c97ec1c", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b96dd9d", + "code" : "0x", + "nonce" : "0x08", + "storage" : { + } + }, + "abcabcabcabcabcabcabcabcabcabcabcabcabca" : { + "balance" : "0x2c3cf12e40", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b1d37cf6180ceb738ca45b5005a2f418c02e204b" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec0e71ad0a90ffe1909d27dac207f7680abba42d" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "pre" : { + "1000000000000000000000000000000000000007" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x0f4240", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b9aca00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + } + } +} diff --git a/tests/util.go b/tests/util.go index 877e1acdb..8d1917d15 100644 --- a/tests/util.go +++ b/tests/util.go @@ -141,6 +141,8 @@ type VmTest struct { type RuleSet struct { HomesteadBlock *big.Int + DAOForkBlock *big.Int + DAOForkSupport bool } func (r RuleSet) IsHomestead(n *big.Int) bool { diff --git a/tests/vm_test_util.go b/tests/vm_test_util.go index 2f516951b..37f0af33c 100644 --- a/tests/vm_test_util.go +++ b/tests/vm_test_util.go @@ -241,7 +241,7 @@ func RunVm(state *state.StateDB, env, exec map[string]string) ([]byte, vm.Logs, caller := state.GetOrNewStateObject(from) - vmenv := NewEnvFromMap(RuleSet{params.MainNetHomesteadBlock}, state, env, exec) + vmenv := NewEnvFromMap(RuleSet{params.MainNetHomesteadBlock, params.MainNetDAOForkBlock, true}, state, env, exec) vmenv.vmTest = true vmenv.skipTransfer = true vmenv.initial = true From 3291235711082759cd7b70253c02150a80d57011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Thu, 14 Jul 2016 18:17:03 +0300 Subject: [PATCH 7/9] accounts, core, eth: pass chain config for chain maker to test DAO --- accounts/abi/bind/backends/simulated.go | 4 +- core/bench_test.go | 2 +- core/block_validator_test.go | 105 ------------------- core/blockchain_test.go | 16 +-- core/chain_makers.go | 28 ++++- core/chain_makers_test.go | 2 +- core/chain_pow_test.go | 6 +- core/dao_test.go | 132 ++++++++++++++++++++++++ core/database_util_test.go | 2 +- core/state_processor.go | 2 +- eth/backend_test.go | 2 +- eth/downloader/downloader_test.go | 2 +- eth/fetcher/fetcher_test.go | 2 +- eth/filters/filter_test.go | 4 +- eth/handler_test.go | 2 +- eth/helper_test.go | 2 +- 16 files changed, 181 insertions(+), 132 deletions(-) create mode 100644 core/dao_test.go diff --git a/accounts/abi/bind/backends/simulated.go b/accounts/abi/bind/backends/simulated.go index 9bce3f988..687a31bf1 100644 --- a/accounts/abi/bind/backends/simulated.go +++ b/accounts/abi/bind/backends/simulated.go @@ -73,7 +73,7 @@ func (b *SimulatedBackend) Commit() { // Rollback aborts all pending transactions, reverting to the last committed state. func (b *SimulatedBackend) Rollback() { - blocks, _ := core.GenerateChain(b.blockchain.CurrentBlock(), b.database, 1, func(int, *core.BlockGen) {}) + blocks, _ := core.GenerateChain(nil, b.blockchain.CurrentBlock(), b.database, 1, func(int, *core.BlockGen) {}) b.pendingBlock = blocks[0] b.pendingState, _ = state.New(b.pendingBlock.Root(), b.database) @@ -179,7 +179,7 @@ func (b *SimulatedBackend) EstimateGasLimit(ctx context.Context, sender common.A // SendTransaction implements ContractTransactor.SendTransaction, delegating the raw // transaction injection to the remote node. func (b *SimulatedBackend) SendTransaction(ctx context.Context, tx *types.Transaction) error { - blocks, _ := core.GenerateChain(b.blockchain.CurrentBlock(), b.database, 1, func(number int, block *core.BlockGen) { + blocks, _ := core.GenerateChain(nil, b.blockchain.CurrentBlock(), b.database, 1, func(number int, block *core.BlockGen) { for _, tx := range b.pendingBlock.Transactions() { block.AddTx(tx) } diff --git a/core/bench_test.go b/core/bench_test.go index c6029499a..344e7e3c5 100644 --- a/core/bench_test.go +++ b/core/bench_test.go @@ -163,7 +163,7 @@ func benchInsertChain(b *testing.B, disk bool, gen func(int, *BlockGen)) { // Generate a chain of b.N blocks using the supplied block // generator function. genesis := WriteGenesisBlockForTesting(db, GenesisAccount{benchRootAddr, benchRootFunds}) - chain, _ := GenerateChain(genesis, db, b.N, gen) + chain, _ := GenerateChain(nil, genesis, db, b.N, gen) // Time the insertion of the new chain. // State and blocks are stored in the same DB. diff --git a/core/block_validator_test.go b/core/block_validator_test.go index 5320c3f8d..c6daf9e7f 100644 --- a/core/block_validator_test.go +++ b/core/block_validator_test.go @@ -27,7 +27,6 @@ import ( "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/event" - "github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/pow/ezp" ) @@ -93,107 +92,3 @@ func TestPutReceipt(t *testing.T) { t.Error("expected to get 1 receipt, got none.") } } - -// Tests that DAO-fork enabled clients can properly filter out fork-commencing -// blocks based on their extradata fields. -func TestDAOForkRangeExtradata(t *testing.T) { - forkBlock := big.NewInt(32) - - // Generate a common prefix for both pro-forkers and non-forkers - db, _ := ethdb.NewMemDatabase() - genesis := WriteGenesisBlockForTesting(db) - prefix, _ := GenerateChain(genesis, db, int(forkBlock.Int64()-1), func(i int, gen *BlockGen) {}) - - // Create the concurrent, conflicting two nodes - proDb, _ := ethdb.NewMemDatabase() - WriteGenesisBlockForTesting(proDb) - proBc, _ := NewBlockChain(proDb, &ChainConfig{HomesteadBlock: big.NewInt(0), DAOForkBlock: forkBlock, DAOForkSupport: true}, new(FakePow), new(event.TypeMux)) - - conDb, _ := ethdb.NewMemDatabase() - WriteGenesisBlockForTesting(conDb) - conBc, _ := NewBlockChain(conDb, &ChainConfig{HomesteadBlock: big.NewInt(0), DAOForkBlock: forkBlock, DAOForkSupport: false}, new(FakePow), new(event.TypeMux)) - - if _, err := proBc.InsertChain(prefix); err != nil { - t.Fatalf("pro-fork: failed to import chain prefix: %v", err) - } - if _, err := conBc.InsertChain(prefix); err != nil { - t.Fatalf("con-fork: failed to import chain prefix: %v", err) - } - // Try to expand both pro-fork and non-fork chains iteratively with other camp's blocks - for i := int64(0); i < params.DAOForkExtraRange.Int64(); i++ { - // Create a pro-fork block, and try to feed into the no-fork chain - db, _ = ethdb.NewMemDatabase() - WriteGenesisBlockForTesting(db) - bc, _ := NewBlockChain(db, &ChainConfig{HomesteadBlock: big.NewInt(0)}, new(FakePow), new(event.TypeMux)) - - blocks := conBc.GetBlocksFromHash(conBc.CurrentBlock().Hash(), int(conBc.CurrentBlock().NumberU64()+1)) - for j := 0; j < len(blocks)/2; j++ { - blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] - } - if _, err := bc.InsertChain(blocks); err != nil { - t.Fatalf("failed to import contra-fork chain for expansion: %v", err) - } - blocks, _ = GenerateChain(conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) { gen.SetExtra(params.DAOForkBlockExtra) }) - if _, err := conBc.InsertChain(blocks); err == nil { - t.Fatalf("contra-fork chain accepted pro-fork block: %v", blocks[0]) - } - // Create a proper no-fork block for the contra-forker - blocks, _ = GenerateChain(conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) - if _, err := conBc.InsertChain(blocks); err != nil { - t.Fatalf("contra-fork chain didn't accepted no-fork block: %v", err) - } - // Create a no-fork block, and try to feed into the pro-fork chain - db, _ = ethdb.NewMemDatabase() - WriteGenesisBlockForTesting(db) - bc, _ = NewBlockChain(db, &ChainConfig{HomesteadBlock: big.NewInt(0)}, new(FakePow), new(event.TypeMux)) - - blocks = proBc.GetBlocksFromHash(proBc.CurrentBlock().Hash(), int(proBc.CurrentBlock().NumberU64()+1)) - for j := 0; j < len(blocks)/2; j++ { - blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] - } - if _, err := bc.InsertChain(blocks); err != nil { - t.Fatalf("failed to import pro-fork chain for expansion: %v", err) - } - blocks, _ = GenerateChain(proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) - if _, err := proBc.InsertChain(blocks); err == nil { - t.Fatalf("pro-fork chain accepted contra-fork block: %v", blocks[0]) - } - // Create a proper pro-fork block for the pro-forker - blocks, _ = GenerateChain(proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) { gen.SetExtra(params.DAOForkBlockExtra) }) - if _, err := proBc.InsertChain(blocks); err != nil { - t.Fatalf("pro-fork chain didn't accepted pro-fork block: %v", err) - } - } - // Verify that contra-forkers accept pro-fork extra-datas after forking finishes - db, _ = ethdb.NewMemDatabase() - WriteGenesisBlockForTesting(db) - bc, _ := NewBlockChain(db, &ChainConfig{HomesteadBlock: big.NewInt(0)}, new(FakePow), new(event.TypeMux)) - - blocks := conBc.GetBlocksFromHash(conBc.CurrentBlock().Hash(), int(conBc.CurrentBlock().NumberU64()+1)) - for j := 0; j < len(blocks)/2; j++ { - blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] - } - if _, err := bc.InsertChain(blocks); err != nil { - t.Fatalf("failed to import contra-fork chain for expansion: %v", err) - } - blocks, _ = GenerateChain(conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) { gen.SetExtra(params.DAOForkBlockExtra) }) - if _, err := conBc.InsertChain(blocks); err != nil { - t.Fatalf("contra-fork chain didn't accept pro-fork block post-fork: %v", err) - } - // Verify that pro-forkers accept contra-fork extra-datas after forking finishes - db, _ = ethdb.NewMemDatabase() - WriteGenesisBlockForTesting(db) - bc, _ = NewBlockChain(db, &ChainConfig{HomesteadBlock: big.NewInt(0)}, new(FakePow), new(event.TypeMux)) - - blocks = proBc.GetBlocksFromHash(proBc.CurrentBlock().Hash(), int(proBc.CurrentBlock().NumberU64()+1)) - for j := 0; j < len(blocks)/2; j++ { - blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] - } - if _, err := bc.InsertChain(blocks); err != nil { - t.Fatalf("failed to import pro-fork chain for expansion: %v", err) - } - blocks, _ = GenerateChain(proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) - if _, err := proBc.InsertChain(blocks); err != nil { - t.Fatalf("pro-fork chain didn't accept contra-fork block post-fork: %v", err) - } -} diff --git a/core/blockchain_test.go b/core/blockchain_test.go index a26fe4a1b..c3e4d352d 100644 --- a/core/blockchain_test.go +++ b/core/blockchain_test.go @@ -712,7 +712,7 @@ func TestFastVsFullChains(t *testing.T) { funds = big.NewInt(1000000000) genesis = GenesisBlockForTesting(gendb, address, funds) ) - blocks, receipts := GenerateChain(genesis, gendb, 1024, func(i int, block *BlockGen) { + blocks, receipts := GenerateChain(nil, genesis, gendb, 1024, func(i int, block *BlockGen) { block.SetCoinbase(common.Address{0x00}) // If the block number is multiple of 3, send a few bonus transactions to the miner @@ -795,7 +795,7 @@ func TestLightVsFastVsFullChainHeads(t *testing.T) { genesis = GenesisBlockForTesting(gendb, address, funds) ) height := uint64(1024) - blocks, receipts := GenerateChain(genesis, gendb, int(height), nil) + blocks, receipts := GenerateChain(nil, genesis, gendb, int(height), nil) // Configure a subchain to roll back remove := []common.Hash{} @@ -895,7 +895,7 @@ func TestChainTxReorgs(t *testing.T) { // - futureAdd: transaction added after the reorg has already finished var pastAdd, freshAdd, futureAdd *types.Transaction - chain, _ := GenerateChain(genesis, db, 3, func(i int, gen *BlockGen) { + chain, _ := GenerateChain(nil, genesis, db, 3, func(i int, gen *BlockGen) { switch i { case 0: pastDrop, _ = types.NewTransaction(gen.TxNonce(addr2), addr2, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(key2) @@ -920,7 +920,7 @@ func TestChainTxReorgs(t *testing.T) { } // overwrite the old chain - chain, _ = GenerateChain(genesis, db, 5, func(i int, gen *BlockGen) { + chain, _ = GenerateChain(nil, genesis, db, 5, func(i int, gen *BlockGen) { switch i { case 0: pastAdd, _ = types.NewTransaction(gen.TxNonce(addr3), addr3, big.NewInt(1000), params.TxGas, nil, nil).SignECDSA(key3) @@ -990,7 +990,7 @@ func TestLogReorgs(t *testing.T) { blockchain, _ := NewBlockChain(db, testChainConfig(), FakePow{}, evmux) subs := evmux.Subscribe(RemovedLogsEvent{}) - chain, _ := GenerateChain(genesis, db, 2, func(i int, gen *BlockGen) { + chain, _ := GenerateChain(nil, genesis, db, 2, func(i int, gen *BlockGen) { if i == 1 { tx, err := types.NewContractCreation(gen.TxNonce(addr1), new(big.Int), big.NewInt(1000000), new(big.Int), code).SignECDSA(key1) if err != nil { @@ -1003,7 +1003,7 @@ func TestLogReorgs(t *testing.T) { t.Fatalf("failed to insert chain: %v", err) } - chain, _ = GenerateChain(genesis, db, 3, func(i int, gen *BlockGen) {}) + chain, _ = GenerateChain(nil, genesis, db, 3, func(i int, gen *BlockGen) {}) if _, err := blockchain.InsertChain(chain); err != nil { t.Fatalf("failed to insert forked chain: %v", err) } @@ -1025,12 +1025,12 @@ func TestReorgSideEvent(t *testing.T) { evmux := &event.TypeMux{} blockchain, _ := NewBlockChain(db, testChainConfig(), FakePow{}, evmux) - chain, _ := GenerateChain(genesis, db, 3, func(i int, gen *BlockGen) {}) + chain, _ := GenerateChain(nil, genesis, db, 3, func(i int, gen *BlockGen) {}) if _, err := blockchain.InsertChain(chain); err != nil { t.Fatalf("failed to insert chain: %v", err) } - replacementBlocks, _ := GenerateChain(genesis, db, 4, func(i int, gen *BlockGen) { + replacementBlocks, _ := GenerateChain(nil, genesis, db, 4, func(i int, gen *BlockGen) { tx, err := types.NewContractCreation(gen.TxNonce(addr1), new(big.Int), big.NewInt(1000000), new(big.Int), nil).SignECDSA(key1) if i == 2 { gen.OffsetTime(-1) diff --git a/core/chain_makers.go b/core/chain_makers.go index ef0ac66d1..0b9a5f75d 100644 --- a/core/chain_makers.go +++ b/core/chain_makers.go @@ -26,6 +26,7 @@ import ( "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/event" + "github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/pow" ) @@ -35,7 +36,11 @@ import ( // MakeChainConfig returns a new ChainConfig with the ethereum default chain settings. func MakeChainConfig() *ChainConfig { - return &ChainConfig{HomesteadBlock: big.NewInt(0)} + return &ChainConfig{ + HomesteadBlock: big.NewInt(0), + DAOForkBlock: nil, + DAOForkSupport: true, + } } // FakePow is a non-validating proof of work implementation. @@ -173,10 +178,27 @@ func (b *BlockGen) OffsetTime(seconds int64) { // Blocks created by GenerateChain do not contain valid proof of work // values. Inserting them into BlockChain requires use of FakePow or // a similar non-validating proof of work implementation. -func GenerateChain(parent *types.Block, db ethdb.Database, n int, gen func(int, *BlockGen)) ([]*types.Block, []types.Receipts) { +func GenerateChain(config *ChainConfig, parent *types.Block, db ethdb.Database, n int, gen func(int, *BlockGen)) ([]*types.Block, []types.Receipts) { blocks, receipts := make(types.Blocks, n), make([]types.Receipts, n) genblock := func(i int, h *types.Header, statedb *state.StateDB) (*types.Block, types.Receipts) { b := &BlockGen{parent: parent, i: i, chain: blocks, header: h, statedb: statedb} + + // Mutate the state and block according to any hard-fork specs + if config == nil { + config = MakeChainConfig() + } + if daoBlock := config.DAOForkBlock; daoBlock != nil { + limit := new(big.Int).Add(daoBlock, params.DAOForkExtraRange) + if h.Number.Cmp(daoBlock) >= 0 && h.Number.Cmp(limit) < 0 { + if config.DAOForkSupport { + h.Extra = common.CopyBytes(params.DAOForkBlockExtra) + } + } + } + if config.DAOForkSupport && config.DAOForkBlock != nil && config.DAOForkBlock.Cmp(h.Number) == 0 { + ApplyDAOHardFork(statedb) + } + // Execute any user modifications to the block and finalize it if gen != nil { gen(i, b) } @@ -261,7 +283,7 @@ func makeHeaderChain(parent *types.Header, n int, db ethdb.Database, seed int) [ // makeBlockChain creates a deterministic chain of blocks rooted at parent. func makeBlockChain(parent *types.Block, n int, db ethdb.Database, seed int) []*types.Block { - blocks, _ := GenerateChain(parent, db, n, func(i int, b *BlockGen) { + blocks, _ := GenerateChain(nil, parent, db, n, func(i int, b *BlockGen) { b.SetCoinbase(common.Address{0: byte(seed), 19: byte(i)}) }) return blocks diff --git a/core/chain_makers_test.go b/core/chain_makers_test.go index 32c3efe8d..f52b09ad9 100644 --- a/core/chain_makers_test.go +++ b/core/chain_makers_test.go @@ -47,7 +47,7 @@ func ExampleGenerateChain() { // This call generates a chain of 5 blocks. The function runs for // each block and adds different features to gen based on the // block index. - chain, _ := GenerateChain(genesis, db, 5, func(i int, gen *BlockGen) { + chain, _ := GenerateChain(nil, genesis, db, 5, func(i int, gen *BlockGen) { switch i { case 0: // In block 1, addr1 sends addr2 some ether. diff --git a/core/chain_pow_test.go b/core/chain_pow_test.go index d2b0bd144..2e26c8211 100644 --- a/core/chain_pow_test.go +++ b/core/chain_pow_test.go @@ -60,7 +60,7 @@ func TestPowVerification(t *testing.T) { var ( testdb, _ = ethdb.NewMemDatabase() genesis = GenesisBlockForTesting(testdb, common.Address{}, new(big.Int)) - blocks, _ = GenerateChain(genesis, testdb, 8, nil) + blocks, _ = GenerateChain(nil, genesis, testdb, 8, nil) ) headers := make([]*types.Header, len(blocks)) for i, block := range blocks { @@ -115,7 +115,7 @@ func testPowConcurrentVerification(t *testing.T, threads int) { var ( testdb, _ = ethdb.NewMemDatabase() genesis = GenesisBlockForTesting(testdb, common.Address{}, new(big.Int)) - blocks, _ = GenerateChain(genesis, testdb, 8, nil) + blocks, _ = GenerateChain(nil, genesis, testdb, 8, nil) ) headers := make([]*types.Header, len(blocks)) for i, block := range blocks { @@ -186,7 +186,7 @@ func testPowConcurrentAbortion(t *testing.T, threads int) { var ( testdb, _ = ethdb.NewMemDatabase() genesis = GenesisBlockForTesting(testdb, common.Address{}, new(big.Int)) - blocks, _ = GenerateChain(genesis, testdb, 1024, nil) + blocks, _ = GenerateChain(nil, genesis, testdb, 1024, nil) ) headers := make([]*types.Header, len(blocks)) for i, block := range blocks { diff --git a/core/dao_test.go b/core/dao_test.go new file mode 100644 index 000000000..0830b1231 --- /dev/null +++ b/core/dao_test.go @@ -0,0 +1,132 @@ +// Copyright 2016 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see . + +package core + +import ( + "math/big" + "testing" + + "github.com/ethereum/go-ethereum/ethdb" + "github.com/ethereum/go-ethereum/event" + "github.com/ethereum/go-ethereum/params" +) + +// Tests that DAO-fork enabled clients can properly filter out fork-commencing +// blocks based on their extradata fields. +func TestDAOForkRangeExtradata(t *testing.T) { + forkBlock := big.NewInt(32) + + // Generate a common prefix for both pro-forkers and non-forkers + db, _ := ethdb.NewMemDatabase() + genesis := WriteGenesisBlockForTesting(db) + prefix, _ := GenerateChain(nil, genesis, db, int(forkBlock.Int64()-1), func(i int, gen *BlockGen) {}) + + // Create the concurrent, conflicting two nodes + proDb, _ := ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(proDb) + proConf := &ChainConfig{HomesteadBlock: big.NewInt(0), DAOForkBlock: forkBlock, DAOForkSupport: true} + proBc, _ := NewBlockChain(proDb, proConf, new(FakePow), new(event.TypeMux)) + + conDb, _ := ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(conDb) + conConf := &ChainConfig{HomesteadBlock: big.NewInt(0), DAOForkBlock: forkBlock, DAOForkSupport: false} + conBc, _ := NewBlockChain(conDb, conConf, new(FakePow), new(event.TypeMux)) + + if _, err := proBc.InsertChain(prefix); err != nil { + t.Fatalf("pro-fork: failed to import chain prefix: %v", err) + } + if _, err := conBc.InsertChain(prefix); err != nil { + t.Fatalf("con-fork: failed to import chain prefix: %v", err) + } + // Try to expand both pro-fork and non-fork chains iteratively with other camp's blocks + for i := int64(0); i < params.DAOForkExtraRange.Int64(); i++ { + // Create a pro-fork block, and try to feed into the no-fork chain + db, _ = ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(db) + bc, _ := NewBlockChain(db, conConf, new(FakePow), new(event.TypeMux)) + + blocks := conBc.GetBlocksFromHash(conBc.CurrentBlock().Hash(), int(conBc.CurrentBlock().NumberU64()+1)) + for j := 0; j < len(blocks)/2; j++ { + blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] + } + if _, err := bc.InsertChain(blocks); err != nil { + t.Fatalf("failed to import contra-fork chain for expansion: %v", err) + } + blocks, _ = GenerateChain(proConf, conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) + if _, err := conBc.InsertChain(blocks); err == nil { + t.Fatalf("contra-fork chain accepted pro-fork block: %v", blocks[0]) + } + // Create a proper no-fork block for the contra-forker + blocks, _ = GenerateChain(conConf, conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) + if _, err := conBc.InsertChain(blocks); err != nil { + t.Fatalf("contra-fork chain didn't accepted no-fork block: %v", err) + } + // Create a no-fork block, and try to feed into the pro-fork chain + db, _ = ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(db) + bc, _ = NewBlockChain(db, proConf, new(FakePow), new(event.TypeMux)) + + blocks = proBc.GetBlocksFromHash(proBc.CurrentBlock().Hash(), int(proBc.CurrentBlock().NumberU64()+1)) + for j := 0; j < len(blocks)/2; j++ { + blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] + } + if _, err := bc.InsertChain(blocks); err != nil { + t.Fatalf("failed to import pro-fork chain for expansion: %v", err) + } + blocks, _ = GenerateChain(conConf, proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) + if _, err := proBc.InsertChain(blocks); err == nil { + t.Fatalf("pro-fork chain accepted contra-fork block: %v", blocks[0]) + } + // Create a proper pro-fork block for the pro-forker + blocks, _ = GenerateChain(proConf, proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) + if _, err := proBc.InsertChain(blocks); err != nil { + t.Fatalf("pro-fork chain didn't accepted pro-fork block: %v", err) + } + } + // Verify that contra-forkers accept pro-fork extra-datas after forking finishes + db, _ = ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(db) + bc, _ := NewBlockChain(db, conConf, new(FakePow), new(event.TypeMux)) + + blocks := conBc.GetBlocksFromHash(conBc.CurrentBlock().Hash(), int(conBc.CurrentBlock().NumberU64()+1)) + for j := 0; j < len(blocks)/2; j++ { + blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] + } + if _, err := bc.InsertChain(blocks); err != nil { + t.Fatalf("failed to import contra-fork chain for expansion: %v", err) + } + blocks, _ = GenerateChain(proConf, conBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) + if _, err := conBc.InsertChain(blocks); err != nil { + t.Fatalf("contra-fork chain didn't accept pro-fork block post-fork: %v", err) + } + // Verify that pro-forkers accept contra-fork extra-datas after forking finishes + db, _ = ethdb.NewMemDatabase() + WriteGenesisBlockForTesting(db) + bc, _ = NewBlockChain(db, proConf, new(FakePow), new(event.TypeMux)) + + blocks = proBc.GetBlocksFromHash(proBc.CurrentBlock().Hash(), int(proBc.CurrentBlock().NumberU64()+1)) + for j := 0; j < len(blocks)/2; j++ { + blocks[j], blocks[len(blocks)-1-j] = blocks[len(blocks)-1-j], blocks[j] + } + if _, err := bc.InsertChain(blocks); err != nil { + t.Fatalf("failed to import pro-fork chain for expansion: %v", err) + } + blocks, _ = GenerateChain(conConf, proBc.CurrentBlock(), db, 1, func(i int, gen *BlockGen) {}) + if _, err := proBc.InsertChain(blocks); err != nil { + t.Fatalf("pro-fork chain didn't accept contra-fork block post-fork: %v", err) + } +} diff --git a/core/database_util_test.go b/core/database_util_test.go index 6c19f78c8..280270ac8 100644 --- a/core/database_util_test.go +++ b/core/database_util_test.go @@ -561,7 +561,7 @@ func TestMipmapChain(t *testing.T) { defer db.Close() genesis := WriteGenesisBlockForTesting(db, GenesisAccount{addr, big.NewInt(1000000)}) - chain, receipts := GenerateChain(genesis, db, 1010, func(i int, gen *BlockGen) { + chain, receipts := GenerateChain(nil, genesis, db, 1010, func(i int, gen *BlockGen) { var receipts types.Receipts switch i { case 1: diff --git a/core/state_processor.go b/core/state_processor.go index a9c2d1e18..6a418a62d 100644 --- a/core/state_processor.go +++ b/core/state_processor.go @@ -66,7 +66,7 @@ func (p *StateProcessor) Process(block *types.Block, statedb *state.StateDB, cfg allLogs vm.Logs gp = new(GasPool).AddGas(block.GasLimit()) ) - // Mutate the statedb according to any hard-fork specs + // Mutate the the block and state according to any hard-fork specs if p.config.DAOForkSupport && p.config.DAOForkBlock != nil && p.config.DAOForkBlock.Cmp(block.Number()) == 0 { ApplyDAOHardFork(statedb) } diff --git a/eth/backend_test.go b/eth/backend_test.go index cb94adbf0..105d71080 100644 --- a/eth/backend_test.go +++ b/eth/backend_test.go @@ -32,7 +32,7 @@ func TestMipmapUpgrade(t *testing.T) { addr := common.BytesToAddress([]byte("jeff")) genesis := core.WriteGenesisBlockForTesting(db) - chain, receipts := core.GenerateChain(genesis, db, 10, func(i int, gen *core.BlockGen) { + chain, receipts := core.GenerateChain(nil, genesis, db, 10, func(i int, gen *core.BlockGen) { var receipts types.Receipts switch i { case 1: diff --git a/eth/downloader/downloader_test.go b/eth/downloader/downloader_test.go index e9e051ded..fac6ef81c 100644 --- a/eth/downloader/downloader_test.go +++ b/eth/downloader/downloader_test.go @@ -55,7 +55,7 @@ func init() { // reassembly. func makeChain(n int, seed byte, parent *types.Block, parentReceipts types.Receipts, heavy bool) ([]common.Hash, map[common.Hash]*types.Header, map[common.Hash]*types.Block, map[common.Hash]types.Receipts) { // Generate the block chain - blocks, receipts := core.GenerateChain(parent, testdb, n, func(i int, block *core.BlockGen) { + blocks, receipts := core.GenerateChain(nil, parent, testdb, n, func(i int, block *core.BlockGen) { block.SetCoinbase(common.Address{seed}) // If a heavy chain is requested, delay blocks to raise difficulty diff --git a/eth/fetcher/fetcher_test.go b/eth/fetcher/fetcher_test.go index 2404c8cfa..6a32be14c 100644 --- a/eth/fetcher/fetcher_test.go +++ b/eth/fetcher/fetcher_test.go @@ -45,7 +45,7 @@ var ( // contains a transaction and every 5th an uncle to allow testing correct block // reassembly. func makeChain(n int, seed byte, parent *types.Block) ([]common.Hash, map[common.Hash]*types.Block) { - blocks, _ := core.GenerateChain(parent, testdb, n, func(i int, block *core.BlockGen) { + blocks, _ := core.GenerateChain(nil, parent, testdb, n, func(i int, block *core.BlockGen) { block.SetCoinbase(common.Address{seed}) // If the block number is multiple of 3, send a bonus transaction to the miner diff --git a/eth/filters/filter_test.go b/eth/filters/filter_test.go index a95adfce7..7b714f5d5 100644 --- a/eth/filters/filter_test.go +++ b/eth/filters/filter_test.go @@ -57,7 +57,7 @@ func BenchmarkMipmaps(b *testing.B) { defer db.Close() genesis := core.WriteGenesisBlockForTesting(db, core.GenesisAccount{Address: addr1, Balance: big.NewInt(1000000)}) - chain, receipts := core.GenerateChain(genesis, db, 100010, func(i int, gen *core.BlockGen) { + chain, receipts := core.GenerateChain(nil, genesis, db, 100010, func(i int, gen *core.BlockGen) { var receipts types.Receipts switch i { case 2403: @@ -133,7 +133,7 @@ func TestFilters(t *testing.T) { defer db.Close() genesis := core.WriteGenesisBlockForTesting(db, core.GenesisAccount{Address: addr, Balance: big.NewInt(1000000)}) - chain, receipts := core.GenerateChain(genesis, db, 1000, func(i int, gen *core.BlockGen) { + chain, receipts := core.GenerateChain(nil, genesis, db, 1000, func(i int, gen *core.BlockGen) { var receipts types.Receipts switch i { case 1: diff --git a/eth/handler_test.go b/eth/handler_test.go index d5b1bf350..60a642130 100644 --- a/eth/handler_test.go +++ b/eth/handler_test.go @@ -630,7 +630,7 @@ func testDAOChallenge(t *testing.T, localForked, remoteForked bool, timeout bool } // Create a block to reply to the challenge if no timeout is simualted if !timeout { - blocks, _ := core.GenerateChain(genesis, db, 1, func(i int, block *core.BlockGen) { + blocks, _ := core.GenerateChain(nil, genesis, db, 1, func(i int, block *core.BlockGen) { if remoteForked { block.SetExtra(params.DAOForkBlockExtra) } diff --git a/eth/helper_test.go b/eth/helper_test.go index dacb1593f..28ff69b17 100644 --- a/eth/helper_test.go +++ b/eth/helper_test.go @@ -56,7 +56,7 @@ func newTestProtocolManager(fastSync bool, blocks int, generator func(int, *core chainConfig = &core.ChainConfig{HomesteadBlock: big.NewInt(0)} // homestead set to 0 because of chain maker blockchain, _ = core.NewBlockChain(db, chainConfig, pow, evmux) ) - chain, _ := core.GenerateChain(genesis, db, blocks, generator) + chain, _ := core.GenerateChain(nil, genesis, db, blocks, generator) if _, err := blockchain.InsertChain(chain); err != nil { panic(err) } From 2c2e389b778b490fcaf14d9cc45a750647ca5c68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Thu, 14 Jul 2016 11:22:58 +0300 Subject: [PATCH 8/9] cmd, core, eth, miner, params, tests: finalize the DAO fork --- cmd/geth/dao_test.go | 6 +- cmd/utils/flags.go | 9 +- core/block_validator.go | 29 +- core/dao.go | 74 + core/state_processor.go | 17 - eth/handler.go | 8 +- miner/worker.go | 2 +- params/dao.go | 418 + params/dao_list.go | 108 - params/util.go | 12 +- tests/block_test.go | 7 - .../TestNetwork/bcTheDaoTest.json | 8073 +++++++++++++++-- 12 files changed, 7934 insertions(+), 829 deletions(-) create mode 100644 core/dao.go create mode 100644 params/dao.go delete mode 100644 params/dao_list.go diff --git a/cmd/geth/dao_test.go b/cmd/geth/dao_test.go index bfa0c2a03..7058fb385 100644 --- a/cmd/geth/dao_test.go +++ b/cmd/geth/dao_test.go @@ -83,7 +83,7 @@ var daoGenesisForkBlock = big.NewInt(314) // Tests that the DAO hard-fork number and the nodes support/opposition is correctly // set in the database after various initialization procedures and invocations. func TestDAODefaultMainnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, "", [][2]bool{{false, false}}, params.MainNetDAOForkBlock, false) + testDAOForkBlockNewChain(t, false, "", [][2]bool{{false, false}}, params.MainNetDAOForkBlock, true) } func TestDAOSupportMainnet(t *testing.T) { testDAOForkBlockNewChain(t, false, "", [][2]bool{{true, false}}, params.MainNetDAOForkBlock, true) @@ -98,7 +98,7 @@ func TestDAOSwitchToOpposeMainnet(t *testing.T) { testDAOForkBlockNewChain(t, false, "", [][2]bool{{true, false}, {false, true}}, params.MainNetDAOForkBlock, false) } func TestDAODefaultTestnet(t *testing.T) { - testDAOForkBlockNewChain(t, true, "", [][2]bool{{false, false}}, params.TestNetDAOForkBlock, false) + testDAOForkBlockNewChain(t, true, "", [][2]bool{{false, false}}, params.TestNetDAOForkBlock, true) } func TestDAOSupportTestnet(t *testing.T) { testDAOForkBlockNewChain(t, true, "", [][2]bool{{true, false}}, params.TestNetDAOForkBlock, true) @@ -116,7 +116,7 @@ func TestDAOInitOldPrivnet(t *testing.T) { testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{}, nil, false) } func TestDAODefaultOldPrivnet(t *testing.T) { - testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, false}}, params.MainNetDAOForkBlock, false) + testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{false, false}}, params.MainNetDAOForkBlock, true) } func TestDAOSupportOldPrivnet(t *testing.T) { testDAOForkBlockNewChain(t, false, daoOldGenesis, [][2]bool{{true, false}}, params.MainNetDAOForkBlock, true) diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index fae1647b3..7b5915a05 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -814,17 +814,18 @@ func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainC // Set any missing fields due to them being unset or system upgrade if config.HomesteadBlock == nil { if ctx.GlobalBool(TestNetFlag.Name) { - config.HomesteadBlock = new(big.Int).Set(params.TestNetHomesteadBlock) + config.HomesteadBlock = params.TestNetHomesteadBlock } else { - config.HomesteadBlock = new(big.Int).Set(params.MainNetHomesteadBlock) + config.HomesteadBlock = params.MainNetHomesteadBlock } } if config.DAOForkBlock == nil { if ctx.GlobalBool(TestNetFlag.Name) { - config.DAOForkBlock = new(big.Int).Set(params.TestNetDAOForkBlock) + config.DAOForkBlock = params.TestNetDAOForkBlock } else { - config.DAOForkBlock = new(big.Int).Set(params.MainNetDAOForkBlock) + config.DAOForkBlock = params.MainNetDAOForkBlock } + config.DAOForkSupport = true } // Force override any existing configs if explicitly requested switch { diff --git a/core/block_validator.go b/core/block_validator.go index 3b597310e..e5bc6178b 100644 --- a/core/block_validator.go +++ b/core/block_validator.go @@ -17,7 +17,6 @@ package core import ( - "bytes" "fmt" "math/big" "time" @@ -249,33 +248,7 @@ func ValidateHeader(config *ChainConfig, pow pow.PoW, header *types.Header, pare } } // If all checks passed, validate the extra-data field for hard forks - return ValidateHeaderExtraData(config, header) -} - -// ValidateHeaderExtraData validates the extra-data field of a block header to -// ensure it conforms to hard-fork rules. -func ValidateHeaderExtraData(config *ChainConfig, header *types.Header) error { - // DAO hard-fork extension to the header validity: a) if the node is no-fork, - // do not accept blocks in the [fork, fork+10) range with the fork specific - // extra-data set; b) if the node is pro-fork, require blocks in the specific - // range to have the unique extra-data set. - if daoBlock := config.DAOForkBlock; daoBlock != nil { - // Check whether the block is among the fork extra-override range - limit := new(big.Int).Add(daoBlock, params.DAOForkExtraRange) - if daoBlock.Cmp(header.Number) <= 0 && header.Number.Cmp(limit) < 0 { - // Depending whether we support or oppose the fork, verrift the extra-data contents - if config.DAOForkSupport { - if bytes.Compare(header.Extra, params.DAOForkBlockExtra) != 0 { - return ValidationError("DAO pro-fork bad block extra-data: 0x%x", header.Extra) - } - } else { - if bytes.Compare(header.Extra, params.DAOForkBlockExtra) == 0 { - return ValidationError("DAO no-fork bad block extra-data: 0x%x", header.Extra) - } - } - } - } - return nil + return ValidateDAOHeaderExtraData(config, header) } // CalcDifficulty is the difficulty adjustment algorithm. It returns diff --git a/core/dao.go b/core/dao.go new file mode 100644 index 000000000..e315c9884 --- /dev/null +++ b/core/dao.go @@ -0,0 +1,74 @@ +// Copyright 2016 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see . + +package core + +import ( + "bytes" + "math/big" + + "github.com/ethereum/go-ethereum/core/state" + "github.com/ethereum/go-ethereum/core/types" + "github.com/ethereum/go-ethereum/params" +) + +// ValidateDAOHeaderExtraData validates the extra-data field of a block header to +// ensure it conforms to DAO hard-fork rules. +// +// DAO hard-fork extension to the header validity: +// a) if the node is no-fork, do not accept blocks in the [fork, fork+10) range +// with the fork specific extra-data set +// b) if the node is pro-fork, require blocks in the specific range to have the +// unique extra-data set. +func ValidateDAOHeaderExtraData(config *ChainConfig, header *types.Header) error { + // Short circuit validation if the node doesn't care about the DAO fork + if config.DAOForkBlock == nil { + return nil + } + // Make sure the block is within the fork's modified extra-data range + limit := new(big.Int).Add(config.DAOForkBlock, params.DAOForkExtraRange) + if header.Number.Cmp(config.DAOForkBlock) < 0 || header.Number.Cmp(limit) >= 0 { + return nil + } + // Depending whether we support or oppose the fork, validate the extra-data contents + if config.DAOForkSupport { + if bytes.Compare(header.Extra, params.DAOForkBlockExtra) != 0 { + return ValidationError("DAO pro-fork bad block extra-data: 0x%x", header.Extra) + } + } else { + if bytes.Compare(header.Extra, params.DAOForkBlockExtra) == 0 { + return ValidationError("DAO no-fork bad block extra-data: 0x%x", header.Extra) + } + } + // All ok, header has the same extra-data we expect + return nil +} + +// ApplyDAOHardFork modifies the state database according to the DAO hard-fork +// rules, transferring all balances of a set of DAO accounts to a single refund +// contract. +func ApplyDAOHardFork(statedb *state.StateDB) { + // Retrieve the contract to refund balances into + refund := statedb.GetOrNewStateObject(params.DAORefundContract) + + // Move every DAO account and extra-balance account funds into the refund contract + for _, addr := range params.DAODrainList { + if account := statedb.GetStateObject(addr); account != nil { + refund.AddBalance(account.Balance()) + account.SetBalance(new(big.Int)) + } + } +} diff --git a/core/state_processor.go b/core/state_processor.go index 6a418a62d..fd8e9762e 100644 --- a/core/state_processor.go +++ b/core/state_processor.go @@ -25,7 +25,6 @@ import ( "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/logger/glog" - "github.com/ethereum/go-ethereum/params" ) var ( @@ -134,19 +133,3 @@ func AccumulateRewards(statedb *state.StateDB, header *types.Header, uncles []*t } statedb.AddBalance(header.Coinbase, reward) } - -// ApplyDAOHardFork modifies the state database according to the DAO hard-fork -// rules, transferring all balances of a set of DAO accounts to a single refund -// contract. -func ApplyDAOHardFork(statedb *state.StateDB) { - // Retrieve the contract to refund balances into - refund := statedb.GetOrNewStateObject(params.DAORefundContract) - - // Move every DAO account and extra-balance account funds into the refund contract - for _, addr := range params.DAODrainList { - if account := statedb.GetStateObject(addr); account != nil { - refund.AddBalance(account.Balance()) - account.SetBalance(new(big.Int)) - } - } -} diff --git a/eth/handler.go b/eth/handler.go index 946d5930f..01550e6c2 100644 --- a/eth/handler.go +++ b/eth/handler.go @@ -513,7 +513,7 @@ func (pm *ProtocolManager) handleMsg(p *peer) error { } // If we're seemingly on the same chain, disable the drop timer if verifyDAO { - glog.V(logger.Info).Infof("%v: seems to be on the same side of the DAO fork", p) + glog.V(logger.Debug).Infof("%v: seems to be on the same side of the DAO fork", p) p.forkDrop.Stop() p.forkDrop = nil return nil @@ -529,11 +529,11 @@ func (pm *ProtocolManager) handleMsg(p *peer) error { p.forkDrop = nil // Validate the header and either drop the peer or continue - if err := core.ValidateHeaderExtraData(pm.chainconfig, headers[0]); err != nil { - glog.V(logger.Info).Infof("%v: verified to be on the other side of the DAO fork, dropping", p) + if err := core.ValidateDAOHeaderExtraData(pm.chainconfig, headers[0]); err != nil { + glog.V(logger.Debug).Infof("%v: verified to be on the other side of the DAO fork, dropping", p) return err } - glog.V(logger.Info).Infof("%v: verified to be on the same side of the DAO fork", p) + glog.V(logger.Debug).Infof("%v: verified to be on the same side of the DAO fork", p) } // Irrelevant of the fork checks, send the header to the fetcher just in case headers = pm.fetcher.FilterHeaders(headers, time.Now()) diff --git a/miner/worker.go b/miner/worker.go index 9118b0f8e..dfda6d898 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -474,7 +474,7 @@ func (self *worker) commitNewWork() { if daoBlock := self.config.DAOForkBlock; daoBlock != nil { // Check whether the block is among the fork extra-override range limit := new(big.Int).Add(daoBlock, params.DAOForkExtraRange) - if daoBlock.Cmp(header.Number) <= 0 && header.Number.Cmp(limit) < 0 { + if header.Number.Cmp(daoBlock) >= 0 && header.Number.Cmp(limit) < 0 { // Depending whether we support or oppose the fork, override differently if self.config.DAOForkSupport { header.Extra = common.CopyBytes(params.DAOForkBlockExtra) diff --git a/params/dao.go b/params/dao.go new file mode 100644 index 000000000..3e2a68cc9 --- /dev/null +++ b/params/dao.go @@ -0,0 +1,418 @@ +// Copyright 2016 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see . + +package params + +import ( + "encoding/json" + "fmt" + "math/big" + + "github.com/ethereum/go-ethereum/common" +) + +// TestNetDAOForkBlock is the block number where the DAO hard-fork commences on +// the Ethereum test network. It's enforced nil since it was decided not to do a +// testnet transition. +var TestNetDAOForkBlock *big.Int + +// MainNetDAOForkBlock is the block number where the DAO hard-fork commences on +// the Ethereum main network. +var MainNetDAOForkBlock = big.NewInt(1920000) + +// DAOForkBlockExtra is the block header extra-data field to set for the DAO fork +// point and a number of consecutive blocks to allow fast/light syncers to correctly +// pick the side they want ("dao-hard-fork"). +var DAOForkBlockExtra = common.FromHex("0x64616f2d686172642d666f726b") + +// DAOForkExtraRange is the number of consecutive blocks from the DAO fork point +// to override the extra-data in to prevent no-fork attacks. +var DAOForkExtraRange = big.NewInt(10) + +// DAORefundContract is the address of the refund contract to send DAO balances to. +var DAORefundContract = common.HexToAddress("0xbf4ed7b27f1d666546e30d74d50d173d20bca754") + +// DAODrainList is the list of accounts whose full balances will be moved into a +// refund contract at the beginning of the dao-fork block. +var DAODrainList []common.Address + +func init() { + // Parse the list of DAO accounts to drain + var list []map[string]string + if err := json.Unmarshal([]byte(daoDrainListJSON), &list); err != nil { + panic(fmt.Errorf("Failed to parse DAO drain list: %v", err)) + } + // Collect all the accounts that need draining + for _, dao := range list { + DAODrainList = append(DAODrainList, common.HexToAddress(dao["address"])) + DAODrainList = append(DAODrainList, common.HexToAddress(dao["extraBalanceAccount"])) + } +} + +// daoDrainListJSON is the JSON encoded list of accounts whose full balances will +// be moved into a refund contract at the beginning of the dao-fork block. +const daoDrainListJSON = ` +[ + { + "address":"0xd4fe7bc31cedb7bfb8a345f31e668033056b2728", + "balance":"186cc8bfaefb7be", + "extraBalance":"0", + "extraBalanceAccount":"0xb3fb0e5aba0e20e5c49d252dfd30e102b171a425" + }, + { + "address":"0x2c19c7f9ae8b751e37aeb2d93a699722395ae18f", + "balance":"b14e8feab1ff435", + "extraBalance":"0", + "extraBalanceAccount":"0xecd135fa4f61a655311e86238c92adcd779555d2" + }, + { + "address":"0x1975bd06d486162d5dc297798dfc41edd5d160a7", + "balance":"359d26614cb5070c77", + "extraBalance":"0", + "extraBalanceAccount":"0xa3acf3a1e16b1d7c315e23510fdd7847b48234f6" + }, + { + "address":"0x319f70bab6845585f412ec7724b744fec6095c85", + "balance":"6e075cd846d2cb1d42", + "extraBalance":"13d34fd41b545b81", + "extraBalanceAccount":"0x06706dd3f2c9abf0a21ddcc6941d9b86f0596936" + }, + { + "address":"0x5c8536898fbb74fc7445814902fd08422eac56d0", + "balance":"b1e5593558008fd78", + "extraBalance":"0", + "extraBalanceAccount":"0x6966ab0d485353095148a2155858910e0965b6f9" + }, + { + "address":"0x779543a0491a837ca36ce8c635d6154e3c4911a6", + "balance":"392eaa20d1aad59a4c", + "extraBalance":"426938826a96c9", + "extraBalanceAccount":"0x2a5ed960395e2a49b1c758cef4aa15213cfd874c" + }, + { + "address":"0x5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5", + "balance":"2875d22b29793d4ba7", + "extraBalance":"0", + "extraBalanceAccount":"0x9c50426be05db97f5d64fc54bf89eff947f0a321" + }, + { + "address":"0x200450f06520bdd6c527622a273333384d870efb", + "balance":"43c341d9f96954c049", + "extraBalance":"0", + "extraBalanceAccount":"0xbe8539bfe837b67d1282b2b1d61c3f723966f049" + }, + { + "address":"0x6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb", + "balance":"75251057154d70fa816", + "extraBalance":"0", + "extraBalanceAccount":"0xf1385fb24aad0cd7432824085e42aff90886fef5" + }, + { + "address":"0xd1ac8b1ef1b69ff51d1d401a476e7e612414f091", + "balance":"392409769296cf67f36", + "extraBalance":"0", + "extraBalanceAccount":"0x8163e7fb499e90f8544ea62bbf80d21cd26d9efd" + }, + { + "address":"0x51e0ddd9998364a2eb38588679f0d2c42653e4a6", + "balance":"8ac72eccbf4e8083", + "extraBalance":"0", + "extraBalanceAccount":"0x627a0a960c079c21c34f7612d5d230e01b4ad4c7" + }, + { + "address":"0xf0b1aa0eb660754448a7937c022e30aa692fe0c5", + "balance":"82289c3bb3e8c98799", + "extraBalance":"0", + "extraBalanceAccount":"0x24c4d950dfd4dd1902bbed3508144a54542bba94" + }, + { + "address":"0x9f27daea7aca0aa0446220b98d028715e3bc803d", + "balance":"56bc29049ebed40fd", + "extraBalance":"0", + "extraBalanceAccount":"0xa5dc5acd6a7968a4554d89d65e59b7fd3bff0f90" + }, + { + "address":"0xd9aef3a1e38a39c16b31d1ace71bca8ef58d315b", + "balance":"56bc7d3ff79110524", + "extraBalance":"0", + "extraBalanceAccount":"0x63ed5a272de2f6d968408b4acb9024f4cc208ebf" + }, + { + "address":"0x6f6704e5a10332af6672e50b3d9754dc460dfa4d", + "balance":"23b651bd48cbc70cc", + "extraBalance":"0", + "extraBalanceAccount":"0x77ca7b50b6cd7e2f3fa008e24ab793fd56cb15f6" + }, + { + "address":"0x492ea3bb0f3315521c31f273e565b868fc090f17", + "balance":"13ea6d4fee651dd7c9", + "extraBalance":"0", + "extraBalanceAccount":"0x0ff30d6de14a8224aa97b78aea5388d1c51c1f00" + }, + { + "address":"0x9ea779f907f0b315b364b0cfc39a0fde5b02a416", + "balance":"35ac471a3836ae7de5a", + "extraBalance":"0", + "extraBalanceAccount":"0xceaeb481747ca6c540a000c1f3641f8cef161fa7" + }, + { + "address":"0xcc34673c6c40e791051898567a1222daf90be287", + "balance":"d529c0b76b7aa0", + "extraBalance":"0", + "extraBalanceAccount":"0x579a80d909f346fbfb1189493f521d7f48d52238" + }, + { + "address":"0xe308bd1ac5fda103967359b2712dd89deffb7973", + "balance":"5cd9e7df3a8e5cdd3", + "extraBalance":"0", + "extraBalanceAccount":"0x4cb31628079fb14e4bc3cd5e30c2f7489b00960c" + }, + { + "address":"0xac1ecab32727358dba8962a0f3b261731aad9723", + "balance":"2c8442fe35363313b93", + "extraBalance":"0", + "extraBalanceAccount":"0x4fd6ace747f06ece9c49699c7cabc62d02211f75" + }, + { + "address":"0x440c59b325d2997a134c2c7c60a8c61611212bad", + "balance":"e77583a3958130e53", + "extraBalance":"0", + "extraBalanceAccount":"0x4486a3d68fac6967006d7a517b889fd3f98c102b" + }, + { + "address":"0x9c15b54878ba618f494b38f0ae7443db6af648ba", + "balance":"1f0b6ade348ca998", + "extraBalance":"0", + "extraBalanceAccount":"0x27b137a85656544b1ccb5a0f2e561a5703c6a68f" + }, + { + "address":"0x21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241", + "balance":"61725880736659", + "extraBalance":"0", + "extraBalanceAccount":"0x23b75c2f6791eef49c69684db4c6c1f93bf49a50" + }, + { + "address":"0x1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b", + "balance":"42948d8dc7ddbc22d", + "extraBalance":"0", + "extraBalanceAccount":"0xb9637156d330c0d605a791f1c31ba5890582fe1c" + }, + { + "address":"0x6131c42fa982e56929107413a9d526fd99405560", + "balance":"7306683851d1eafbfa", + "extraBalance":"0", + "extraBalanceAccount":"0x1591fc0f688c81fbeb17f5426a162a7024d430c2" + }, + { + "address":"0x542a9515200d14b68e934e9830d91645a980dd7a", + "balance":"2a8457d0d8432e21d0c", + "extraBalance":"0", + "extraBalanceAccount":"0xc4bbd073882dd2add2424cf47d35213405b01324" + }, + { + "address":"0x782495b7b3355efb2833d56ecb34dc22ad7dfcc4", + "balance":"d8d7391feaeaa8cdb", + "extraBalance":"0", + "extraBalanceAccount":"0x58b95c9a9d5d26825e70a82b6adb139d3fd829eb" + }, + { + "address":"0x3ba4d81db016dc2890c81f3acec2454bff5aada5", + "balance":"1", + "extraBalance":"0", + "extraBalanceAccount":"0xb52042c8ca3f8aa246fa79c3feaa3d959347c0ab" + }, + { + "address":"0xe4ae1efdfc53b73893af49113d8694a057b9c0d1", + "balance":"456397665fa74041", + "extraBalance":"0", + "extraBalanceAccount":"0x3c02a7bc0391e86d91b7d144e61c2c01a25a79c5" + }, + { + "address":"0x0737a6b837f97f46ebade41b9bc3e1c509c85c53", + "balance":"6324dcb7126ecbef", + "extraBalance":"0", + "extraBalanceAccount":"0x97f43a37f595ab5dd318fb46e7a155eae057317a" + }, + { + "address":"0x52c5317c848ba20c7504cb2c8052abd1fde29d03", + "balance":"6c3419b0705c01cd0d", + "extraBalance":"0", + "extraBalanceAccount":"0x4863226780fe7c0356454236d3b1c8792785748d" + }, + { + "address":"0x5d2b2e6fcbe3b11d26b525e085ff818dae332479", + "balance":"456397665fa74041", + "extraBalance":"0", + "extraBalanceAccount":"0x5f9f3392e9f62f63b8eac0beb55541fc8627f42c" + }, + { + "address":"0x057b56736d32b86616a10f619859c6cd6f59092a", + "balance":"232c025bb44b46", + "extraBalance":"0", + "extraBalanceAccount":"0x9aa008f65de0b923a2a4f02012ad034a5e2e2192" + }, + { + "address":"0x304a554a310c7e546dfe434669c62820b7d83490", + "balance":"3034f5ca7d45e17df199b", + "extraBalance":"f7d15162c44e97b6e", + "extraBalanceAccount":"0x914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" + }, + { + "address":"0x4deb0033bb26bc534b197e61d19e0733e5679784", + "balance":"4417e96ed796591e09", + "extraBalance":"0", + "extraBalanceAccount":"0x07f5c1e1bc2c93e0402f23341973a0e043f7bf8a" + }, + { + "address":"0x35a051a0010aba705c9008d7a7eff6fb88f6ea7b", + "balance":"d3ff7771412bbcc9", + "extraBalance":"0", + "extraBalanceAccount":"0x4fa802324e929786dbda3b8820dc7834e9134a2a" + }, + { + "address":"0x9da397b9e80755301a3b32173283a91c0ef6c87e", + "balance":"32ae324c233816b4c2", + "extraBalance":"0", + "extraBalanceAccount":"0x8d9edb3054ce5c5774a420ac37ebae0ac02343c6" + }, + { + "address":"0x0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9", + "balance":"1e530695b705f037c6", + "extraBalance":"0", + "extraBalanceAccount":"0x5dc28b15dffed94048d73806ce4b7a4612a1d48f" + }, + { + "address":"0xbcf899e6c7d9d5a215ab1e3444c86806fa854c76", + "balance":"68013bad5b4b1133fc5", + "extraBalance":"0", + "extraBalanceAccount":"0x12e626b0eebfe86a56d633b9864e389b45dcb260" + }, + { + "address":"0xa2f1ccba9395d7fcb155bba8bc92db9bafaeade7", + "balance":"456397665fa74041", + "extraBalance":"0", + "extraBalanceAccount":"0xec8e57756626fdc07c63ad2eafbd28d08e7b0ca5" + }, + { + "address":"0xd164b088bd9108b60d0ca3751da4bceb207b0782", + "balance":"3635ce47fabaaa336e", + "extraBalance":"0", + "extraBalanceAccount":"0x6231b6d0d5e77fe001c2a460bd9584fee60d409b" + }, + { + "address":"0x1cba23d343a983e9b5cfd19496b9a9701ada385f", + "balance":"f3abd9906c170a", + "extraBalance":"0", + "extraBalanceAccount":"0xa82f360a8d3455c5c41366975bde739c37bfeb8a" + }, + { + "address":"0x9fcd2deaff372a39cc679d5c5e4de7bafb0b1339", + "balance":"4c6679d9d9b95a4e08", + "extraBalance":"0", + "extraBalanceAccount":"0x005f5cee7a43331d5a3d3eec71305925a62f34b6" + }, + { + "address":"0x0e0da70933f4c7849fc0d203f5d1d43b9ae4532d", + "balance":"40f622936475de31849", + "extraBalance":"671e1bbabded39754", + "extraBalanceAccount":"0xd131637d5275fd1a68a3200f4ad25c71a2a9522e" + }, + { + "address":"0xbc07118b9ac290e4622f5e77a0853539789effbe", + "balance":"1316ccfa4a35db5e58f", + "extraBalance":"0", + "extraBalanceAccount":"0x47e7aa56d6bdf3f36be34619660de61275420af8" + }, + { + "address":"0xacd87e28b0c9d1254e868b81cba4cc20d9a32225", + "balance":"b3ad6bb72000bab9f", + "extraBalance":"0", + "extraBalanceAccount":"0xadf80daec7ba8dcf15392f1ac611fff65d94f880" + }, + { + "address":"0x5524c55fb03cf21f549444ccbecb664d0acad706", + "balance":"16f2da372a5c8a70967", + "extraBalance":"0", + "extraBalanceAccount":"0x40b803a9abce16f50f36a77ba41180eb90023925" + }, + { + "address":"0xfe24cdd8648121a43a7c86d289be4dd2951ed49f", + "balance":"ea0b1bdc78f500a43", + "extraBalance":"0", + "extraBalanceAccount":"0x17802f43a0137c506ba92291391a8a8f207f487d" + }, + { + "address":"0x253488078a4edf4d6f42f113d1e62836a942cf1a", + "balance":"3060e3aed135cc80", + "extraBalance":"0", + "extraBalanceAccount":"0x86af3e9626fce1957c82e88cbf04ddf3a2ed7915" + }, + { + "address":"0xb136707642a4ea12fb4bae820f03d2562ebff487", + "balance":"6050bdeb3354b5c98adc3", + "extraBalance":"0", + "extraBalanceAccount":"0xdbe9b615a3ae8709af8b93336ce9b477e4ac0940" + }, + { + "address":"0xf14c14075d6c4ed84b86798af0956deef67365b5", + "balance":"1d77844e94c25ba2", + "extraBalance":"0", + "extraBalanceAccount":"0xca544e5c4687d109611d0f8f928b53a25af72448" + }, + { + "address":"0xaeeb8ff27288bdabc0fa5ebb731b6f409507516c", + "balance":"2e93a72de4fc5ec0ed", + "extraBalance":"0", + "extraBalanceAccount":"0xcbb9d3703e651b0d496cdefb8b92c25aeb2171f7" + }, + { + "address":"0x6d87578288b6cb5549d5076a207456a1f6a63dc0", + "balance":"1afd340799e48c18", + "extraBalance":"0", + "extraBalanceAccount":"0xb2c6f0dfbb716ac562e2d85d6cb2f8d5ee87603e" + }, + { + "address":"0xaccc230e8a6e5be9160b8cdf2864dd2a001c28b6", + "balance":"14d0944eb3be947a8", + "extraBalance":"0", + "extraBalanceAccount":"0x2b3455ec7fedf16e646268bf88846bd7a2319bb2" + }, + { + "address":"0x4613f3bca5c44ea06337a9e439fbc6d42e501d0a", + "balance":"6202b236a200e365eba", + "extraBalance":"11979be9020f03ec4ec", + "extraBalanceAccount":"0xd343b217de44030afaa275f54d31a9317c7f441e" + }, + { + "address":"0x84ef4b2357079cd7a7c69fd7a37cd0609a679106", + "balance":"7ed634ebbba531901e07", + "extraBalance":"f9c5eff28cb08720c85", + "extraBalanceAccount":"0xda2fef9e4a3230988ff17df2165440f37e8b1708" + }, + { + "address":"0xf4c64518ea10f995918a454158c6b61407ea345c", + "balance":"39152e15508a96ff894a", + "extraBalance":"14041ca908bcc185c8", + "extraBalanceAccount":"0x7602b46df5390e432ef1c307d4f2c9ff6d65cc97" + }, + { + "address":"0xbb9bc244d798123fde783fcc1c72d3bb8c189413", + "balance":"1", + "extraBalance":"5553ebc", + "extraBalanceAccount":"0x807640a13483f8ac783c557fcdf27be11ea4ac7a" + } +] +` diff --git a/params/dao_list.go b/params/dao_list.go deleted file mode 100644 index 7565ab333..000000000 --- a/params/dao_list.go +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2016 The go-ethereum Authors -// This file is part of the go-ethereum library. -// -// The go-ethereum library is free software: you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// The go-ethereum library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with the go-ethereum library. If not, see . - -package params - -import ( - "encoding/json" - "fmt" - - "github.com/ethereum/go-ethereum/common" -) - -// DAODrainList is the list of accounts whose full balances will be moved into a -// refund contract at the beginning of the dao-fork block. -var DAODrainList []common.Address - -func init() { - // Parse the list of DAO accounts to drain - var list []map[string]string - if err := json.Unmarshal([]byte(daoDrainListJSON), &list); err != nil { - panic(fmt.Errorf("Failed to parse DAO drain list: %v", err)) - } - // Collect all the accounts that need draining - for _, dao := range list { - DAODrainList = append(DAODrainList, common.HexToAddress(dao["address"])) - DAODrainList = append(DAODrainList, common.HexToAddress(dao["extraBalanceAccount"])) - } -} - -// daoDrainListJSON is the JSON encoded list of accounts whose full balances will -// be moved into a refund contract at the beginning of the dao-fork block. -const daoDrainListJSON = ` -[ - { - "address":"0x304a554a310c7e546dfe434669c62820b7d83490", - "balance":"30328a3f333ac2fb5f509", - "extraBalance":"9184e72a000", - "extraBalanceAccount":"0x914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" - }, - { - "address":"0xfe24cdd8648121a43a7c86d289be4dd2951ed49f", - "balance":"ea0b1bdc78f500a43", - "extraBalance":"0", - "extraBalanceAccount":"0x17802f43a0137c506ba92291391a8a8f207f487d" - }, - { - "address":"0xb136707642a4ea12fb4bae820f03d2562ebff487", - "balance":"6050bdeb3354b5c98adc3", - "extraBalance":"0", - "extraBalanceAccount":"0xdbe9b615a3ae8709af8b93336ce9b477e4ac0940" - }, - { - "address":"0xf14c14075d6c4ed84b86798af0956deef67365b5", - "balance":"1d77844e94c25ba2", - "extraBalance":"0", - "extraBalanceAccount":"0xca544e5c4687d109611d0f8f928b53a25af72448" - }, - { - "address":"0xaeeb8ff27288bdabc0fa5ebb731b6f409507516c", - "balance":"2e93a72de4fc5ec0ed", - "extraBalance":"0", - "extraBalanceAccount":"0xcbb9d3703e651b0d496cdefb8b92c25aeb2171f7" - }, - { - "address":"0xaccc230e8a6e5be9160b8cdf2864dd2a001c28b6", - "balance":"14d0944eb3be947a8", - "extraBalance":"0", - "extraBalanceAccount":"0x2b3455ec7fedf16e646268bf88846bd7a2319bb2" - }, - { - "address":"0x4613f3bca5c44ea06337a9e439fbc6d42e501d0a", - "balance":"275eaa8345ced6523a8", - "extraBalance":"0", - "extraBalanceAccount":"0xd343b217de44030afaa275f54d31a9317c7f441e" - }, - { - "address":"0x84ef4b2357079cd7a7c69fd7a37cd0609a679106", - "balance":"4accfbf922fd046baa05", - "extraBalance":"0", - "extraBalanceAccount":"0xda2fef9e4a3230988ff17df2165440f37e8b1708" - }, - { - "address":"0xf4c64518ea10f995918a454158c6b61407ea345c", - "balance":"38d275b0ed7862ba4f13", - "extraBalance":"0", - "extraBalanceAccount":"0x7602b46df5390e432ef1c307d4f2c9ff6d65cc97" - }, - { - "address":"0xbb9bc244d798123fde783fcc1c72d3bb8c189413", - "balance":"1", - "extraBalance":"49097c66ae78c50e4d3c", - "extraBalanceAccount":"0x807640a13483f8ac783c557fcdf27be11ea4ac7a" - } -] -` diff --git a/params/util.go b/params/util.go index 884f1f803..9d1fa54e6 100644 --- a/params/util.go +++ b/params/util.go @@ -16,19 +16,9 @@ package params -import ( - "math/big" - - "github.com/ethereum/go-ethereum/common" -) +import "math/big" var ( TestNetHomesteadBlock = big.NewInt(494000) // Testnet homestead block MainNetHomesteadBlock = big.NewInt(1150000) // Mainnet homestead block - - TestNetDAOForkBlock = big.NewInt(8888888) // Testnet dao hard-fork block - MainNetDAOForkBlock = big.NewInt(9999999) // Mainnet dao hard-fork block - DAOForkBlockExtra = common.FromHex("0x64616f2d686172642d666f726b") // Block extradata to signel the fork with ("dao-hard-fork") - DAOForkExtraRange = big.NewInt(10) // Number of blocks to override the extradata (prevent no-fork attacks) - DAORefundContract = common.HexToAddress("0x0000000000000000000000000000000000000000") // Address of the refund contract to send DAO balances to ) diff --git a/tests/block_test.go b/tests/block_test.go index 9b2fedceb..448f2bd76 100644 --- a/tests/block_test.go +++ b/tests/block_test.go @@ -20,9 +20,6 @@ import ( "math/big" "path/filepath" "testing" - - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/params" ) func TestBcValidBlockTests(t *testing.T) { @@ -217,10 +214,6 @@ func TestHomesteadBcState(t *testing.T) { // DAO hard-fork tests func TestDAOBcTheDao(t *testing.T) { - // Temporarilly override the hard-fork specs - defer func(old common.Address) { params.DAORefundContract = old }(params.DAORefundContract) - params.DAORefundContract = common.HexToAddress("0xabcabcabcabcabcabcabcabcabcabcabcabcabca") - err := RunBlockTest(big.NewInt(5), big.NewInt(8), filepath.Join(blockTestDir, "TestNetwork", "bcTheDaoTest.json"), BlockSkipTests) if err != nil { t.Fatal(err) diff --git a/tests/files/BlockchainTests/TestNetwork/bcTheDaoTest.json b/tests/files/BlockchainTests/TestNetwork/bcTheDaoTest.json index cb9652a7d..ad01b82d1 100644 --- a/tests/files/BlockchainTests/TestNetwork/bcTheDaoTest.json +++ b/tests/files/BlockchainTests/TestNetwork/bcTheDaoTest.json @@ -9,19 +9,19 @@ "extraData" : "0x", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "18da61d1b7f4c81d33a4646d1d1140b13ea28c8715f85e42cda0224915ea9e9c", - "mixHash" : "f470fa89e99f9f0e5a2f302c0dac085b006cb6372212e93764224e5d711b573d", - "nonce" : "2eddd7b66317fc69", + "hash" : "0bf4b15cb25eccec0a0706fc625c525be7da876bd7a8bf60baa8d9e1bce126d3", + "mixHash" : "22ffe16d1d516b8d15428b2347fe62901a12fa4977945b1ae8ced773c27e6755", + "nonce" : "f51d5dc330f2df67", "number" : "0x01", - "parentHash" : "eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804c", - "receiptTrie" : "63e81aadc86aed2ebe147fd86db74d8fbe91a938af0521be549669246e607443", - "stateRoot" : "421450c5fcaa516f03635983f0c9d936574721033424eac5e6d71c8fa14b766f", - "timestamp" : "0x578362c8", + "parentHash" : "cad74b3b4723472b370737ffaf503f6f746bcae45bd5a39d767c5647afa5bb09", + "receiptTrie" : "37aee413d1d4f1335720ed1ee882bac4b2d41c8072453b23445020c951682054", + "stateRoot" : "d3f60d7c23e6d3e8eeaa691dd6d54b653e9d33ce579ed821a1e408c1e89cf01a", + "timestamp" : "0x5788dc1d", "transactionsTrie" : "ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "1", - "rlp" : "0xf9024cf901f9a0eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0421450c5fcaa516f03635983f0c9d936574721033424eac5e6d71c8fa14b766fa0ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179a063e81aadc86aed2ebe147fd86db74d8fbe91a938af0521be549669246e607443b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832fefba82520884578362c880a0f470fa89e99f9f0e5a2f302c0dac085b006cb6372212e93764224e5d711b573d882eddd7b66317fc69f84df84b8001827530800a801ca057cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9a05ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03ac0", + "rlp" : "0xf9024cf901f9a0cad74b3b4723472b370737ffaf503f6f746bcae45bd5a39d767c5647afa5bb09a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0d3f60d7c23e6d3e8eeaa691dd6d54b653e9d33ce579ed821a1e408c1e89cf01aa0ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179a037aee413d1d4f1335720ed1ee882bac4b2d41c8072453b23445020c951682054b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832fefba825208845788dc1d80a022ffe16d1d516b8d15428b2347fe62901a12fa4977945b1ae8ced773c27e675588f51d5dc330f2df67f84df84b8001827530800a801ca057cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9a05ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03ac0", "transactions" : [ { "data" : "0x", @@ -46,19 +46,19 @@ "extraData" : "0x", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "6ce6218f835e3e4868a94325f31b57777373ca768f933763badaaf4147cb027b", - "mixHash" : "6bf524f42685c9912d2907520db254352cc2f84428f354097d7b13ad27a88796", - "nonce" : "6713fb980f3c9f72", + "hash" : "ce3ecad2a028ecd1d70c3c4683c1f74d8c521dfdc7cde9bb3857e1740e914402", + "mixHash" : "07d75cbc66143f80cb0b7ed64d88ff9789d1cb72f7701cbc8b5d4a3940610058", + "nonce" : "82a2b2eb85f7ad3c", "number" : "0x02", - "parentHash" : "18da61d1b7f4c81d33a4646d1d1140b13ea28c8715f85e42cda0224915ea9e9c", - "receiptTrie" : "b41287e7f7e5d2983862a73e54c86ec144ecf835096984770f6bf485188268b8", - "stateRoot" : "1e31d34b22a8d2fd9893bb58fa80e6ca4561320eed43776c295acca93721847c", - "timestamp" : "0x578362ce", + "parentHash" : "0bf4b15cb25eccec0a0706fc625c525be7da876bd7a8bf60baa8d9e1bce126d3", + "receiptTrie" : "9a62bdf5dbcf4d27f17a31d5506d3249c5a6ca549787b1902ba01584bb33cf64", + "stateRoot" : "c97eb33ff96a24bd16aaa76040aff370a690e6e52f0172eba3a436d7c867a988", + "timestamp" : "0x5788dc28", "transactionsTrie" : "76c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abf", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "2", - "rlp" : "0xf9024cf901f9a018da61d1b7f4c81d33a4646d1d1140b13ea28c8715f85e42cda0224915ea9e9ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a01e31d34b22a8d2fd9893bb58fa80e6ca4561320eed43776c295acca93721847ca076c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abfa0b41287e7f7e5d2983862a73e54c86ec144ecf835096984770f6bf485188268b8b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302004002832fefba82520884578362ce80a06bf524f42685c9912d2907520db254352cc2f84428f354097d7b13ad27a88796886713fb980f3c9f72f84df84b0101827530800a801ca0bb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1fa04bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05c0", + "rlp" : "0xf9024cf901f9a00bf4b15cb25eccec0a0706fc625c525be7da876bd7a8bf60baa8d9e1bce126d3a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c97eb33ff96a24bd16aaa76040aff370a690e6e52f0172eba3a436d7c867a988a076c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abfa09a62bdf5dbcf4d27f17a31d5506d3249c5a6ca549787b1902ba01584bb33cf64b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302004002832fefba825208845788dc2880a007d75cbc66143f80cb0b7ed64d88ff9789d1cb72f7701cbc8b5d4a39406100588882a2b2eb85f7ad3cf84df84b0101827530800a801ca0bb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1fa04bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05c0", "transactions" : [ { "data" : "0x", @@ -83,19 +83,19 @@ "extraData" : "0x", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "341aaea7ee0397c8e54effcd92e9f6e6aeda54828fa958a89a700df5b427047e", - "mixHash" : "76844249a296c9045e8c77e8c10b1794bf6b35fc1090d43b9ceacade45f57607", - "nonce" : "f6876f9244e81160", + "hash" : "3c6ffdf610c30eab3de8cb9ee5ca2218659c998f5996b971016031464dba78c7", + "mixHash" : "3df8b7976e1892e74ef5d6cf859b1436d89454800d7bca1f9d3bbde6cf828d9f", + "nonce" : "159e3b259feea379", "number" : "0x03", - "parentHash" : "6ce6218f835e3e4868a94325f31b57777373ca768f933763badaaf4147cb027b", - "receiptTrie" : "12f61177f6c2cebe14df5474c8b8c1f8f47f4ea8fff7f8b22b7aa8a4156581c8", - "stateRoot" : "587518607d6c98344439896e7f39111d76a8aac09b70d624e237da6fa29bbc44", - "timestamp" : "0x578362d0", + "parentHash" : "ce3ecad2a028ecd1d70c3c4683c1f74d8c521dfdc7cde9bb3857e1740e914402", + "receiptTrie" : "b9ca869c5641896a8e22fe74b4225c6a43cbc3303b24d13e0af94517180c8097", + "stateRoot" : "9cb74b15edd72a2075b114d9154f4bbdf784054658912024747ea9423e0d2af8", + "timestamp" : "0x5788dc2a", "transactionsTrie" : "3798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2c", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "3", - "rlp" : "0xf9024cf901f9a06ce6218f835e3e4868a94325f31b57777373ca768f933763badaaf4147cb027ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0587518607d6c98344439896e7f39111d76a8aac09b70d624e237da6fa29bbc44a03798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2ca012f61177f6c2cebe14df5474c8b8c1f8f47f4ea8fff7f8b22b7aa8a4156581c8b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302008003832fefba82520884578362d080a076844249a296c9045e8c77e8c10b1794bf6b35fc1090d43b9ceacade45f5760788f6876f9244e81160f84df84b0201827530800a801ca0f6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055a075b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5ededc0", + "rlp" : "0xf9024cf901f9a0ce3ecad2a028ecd1d70c3c4683c1f74d8c521dfdc7cde9bb3857e1740e914402a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a09cb74b15edd72a2075b114d9154f4bbdf784054658912024747ea9423e0d2af8a03798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2ca0b9ca869c5641896a8e22fe74b4225c6a43cbc3303b24d13e0af94517180c8097b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302008003832fefba825208845788dc2a80a03df8b7976e1892e74ef5d6cf859b1436d89454800d7bca1f9d3bbde6cf828d9f88159e3b259feea379f84df84b0201827530800a801ca0f6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055a075b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5ededc0", "transactions" : [ { "data" : "0x", @@ -120,19 +120,19 @@ "extraData" : "0x", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "c0cdd54d1a098c97570019a6cf54f4bf5cb0fefb8ec9b2a3a81009535ff894b5", - "mixHash" : "6c0ca9fc980d1b4bbda5dd1ead2f8a73883cd1b3895ffba14489b9d58cfe46f4", - "nonce" : "66818a34832a70b9", + "hash" : "9f33c42c79dd227e07cd7333ec5beabfa4f628abb778f94073e7dcf623c4f6c9", + "mixHash" : "d88ae9006c4143fd0de18950ef90ebe42037502c338eac1154ce21d45375b287", + "nonce" : "8647150d7bfbe0cd", "number" : "0x04", - "parentHash" : "341aaea7ee0397c8e54effcd92e9f6e6aeda54828fa958a89a700df5b427047e", - "receiptTrie" : "4346f81bc8c58aa684049309decc863c93cd6cdc84c592b62bd1439eee3636ac", - "stateRoot" : "c8ba761363f3cb1958f01fd55b864bcba7f33324ba4f95e60fc9e48d9ba6777a", - "timestamp" : "0x578362d2", + "parentHash" : "3c6ffdf610c30eab3de8cb9ee5ca2218659c998f5996b971016031464dba78c7", + "receiptTrie" : "d69ea0fac668bb7ece043f8e6ac833c5d10a7d5bf08ebfe40a8dc1721a3aa4fd", + "stateRoot" : "aeaa38b30cbc02db5cd17a91e9212346cd839fafcb1fc06126cf64b5b782b877", + "timestamp" : "0x5788dc31", "transactionsTrie" : "4cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2c", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "4", - "rlp" : "0xf9024cf901f9a0341aaea7ee0397c8e54effcd92e9f6e6aeda54828fa958a89a700df5b427047ea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c8ba761363f3cb1958f01fd55b864bcba7f33324ba4f95e60fc9e48d9ba6777aa04cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2ca04346f81bc8c58aa684049309decc863c93cd6cdc84c592b62bd1439eee3636acb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200c004832fefba82520884578362d280a06c0ca9fc980d1b4bbda5dd1ead2f8a73883cd1b3895ffba14489b9d58cfe46f48866818a34832a70b9f84df84b0301827530800a801ca0753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dca066deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0c0", + "rlp" : "0xf9024cf901f9a03c6ffdf610c30eab3de8cb9ee5ca2218659c998f5996b971016031464dba78c7a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0aeaa38b30cbc02db5cd17a91e9212346cd839fafcb1fc06126cf64b5b782b877a04cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2ca0d69ea0fac668bb7ece043f8e6ac833c5d10a7d5bf08ebfe40a8dc1721a3aa4fdb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200c004832fefba825208845788dc3180a0d88ae9006c4143fd0de18950ef90ebe42037502c338eac1154ce21d45375b287888647150d7bfbe0cdf84df84b0301827530800a801ca0753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dca066deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0c0", "transactions" : [ { "data" : "0x", @@ -157,19 +157,19 @@ "extraData" : "0x", "gasLimit" : "0x2fefba", "gasUsed" : "0xcf08", - "hash" : "e6988968ae553d9afde49b0ff8c8f865e0ad5da5e40f31afb12a755289c99381", - "mixHash" : "418a41d8cb95ab177da1d5e32682f0206af88fe90a55601a35fb45ce3ee1d1a6", - "nonce" : "648f4d040cc945b5", + "hash" : "341d9eae5bd8696e5e8c4e445cd36ff60a85d9c43ef94df01fbef0ec2ff7125f", + "mixHash" : "ec72429dc3f952b9c7bb2ad9f5b23f8cd23015bdf9cee1258c817a15da6b4a8a", + "nonce" : "a21bef974871f679", "number" : "0x05", - "parentHash" : "c0cdd54d1a098c97570019a6cf54f4bf5cb0fefb8ec9b2a3a81009535ff894b5", - "receiptTrie" : "49f411805d9b0ace02b56752bf40396c5505bb7ced5f174abf02a20b623982c0", - "stateRoot" : "8045027de50cc67c31daed085a6e72311e4f931606c6caa9f85bfc34009b3d00", - "timestamp" : "0x578362d5", + "parentHash" : "9f33c42c79dd227e07cd7333ec5beabfa4f628abb778f94073e7dcf623c4f6c9", + "receiptTrie" : "d7f28f5ba69ca1893569465903e8d942153c57912f7d1f6b3e33088e8ad17fee", + "stateRoot" : "f54737efdead0a75d49cc6ceaedf75fd4aacf933e8f361a9a9c0a1647bcf6ab5", + "timestamp" : "0x5788dc34", "transactionsTrie" : "165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cd", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "5", - "rlp" : "0xf9024cf901f9a0c0cdd54d1a098c97570019a6cf54f4bf5cb0fefb8ec9b2a3a81009535ff894b5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a08045027de50cc67c31daed085a6e72311e4f931606c6caa9f85bfc34009b3d00a0165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cda049f411805d9b0ace02b56752bf40396c5505bb7ced5f174abf02a20b623982c0b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302010005832fefba82cf0884578362d580a0418a41d8cb95ab177da1d5e32682f0206af88fe90a55601a35fb45ce3ee1d1a688648f4d040cc945b5f84df84b040182ea60800a801ba0cb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169a07445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62c0", + "rlp" : "0xf9024cf901f9a09f33c42c79dd227e07cd7333ec5beabfa4f628abb778f94073e7dcf623c4f6c9a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0f54737efdead0a75d49cc6ceaedf75fd4aacf933e8f361a9a9c0a1647bcf6ab5a0165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cda0d7f28f5ba69ca1893569465903e8d942153c57912f7d1f6b3e33088e8ad17feeb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302010005832fefba82cf08845788dc3480a0ec72429dc3f952b9c7bb2ad9f5b23f8cd23015bdf9cee1258c817a15da6b4a8a88a21bef974871f679f84df84b040182ea60800a801ba0cb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169a07445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62c0", "transactions" : [ { "data" : "0x", @@ -194,19 +194,19 @@ "extraData" : "0x", "gasLimit" : "0x2fefba", "gasUsed" : "0xcf08", - "hash" : "111c5c0a5b2f0743d6167baa6d31718fae8dcfd85eb51e788ab419444488f857", - "mixHash" : "cc03279986ee03546a0d0c0609bdfb76d830216c29b44b9008a7d5b8c7ffc317", - "nonce" : "c29ace8b96a6c660", + "hash" : "bef208f4cf5571b952ab436a84a60934d96a81c4453aa1cd80c79d6fd61242dc", + "mixHash" : "ec1e3b01a1cbae6c8aa72dbefa7711c041a55c8e293a8c70653f604fa892eb3a", + "nonce" : "0580f086c036719d", "number" : "0x06", - "parentHash" : "e6988968ae553d9afde49b0ff8c8f865e0ad5da5e40f31afb12a755289c99381", - "receiptTrie" : "5e40223bcc6a700b1d32c94ec5b7ed325345b400cf06913d4a1538d80dde375d", - "stateRoot" : "293f78bf5ea7fbe0c13c88d246c5d84bf917dbf39e35722ae601ea85543dee9d", - "timestamp" : "0x578362d7", + "parentHash" : "341d9eae5bd8696e5e8c4e445cd36ff60a85d9c43ef94df01fbef0ec2ff7125f", + "receiptTrie" : "975eeeb6e46fc2d858080444f0536a1f3a688638fdf0bcbc1958dedc5eda4405", + "stateRoot" : "05ecd1a706137ddc9359328005f80a4ca233a4dc443748b04275e3ef6faed174", + "timestamp" : "0x5788dc38", "transactionsTrie" : "ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51be", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "6", - "rlp" : "0xf9024cf901f9a0e6988968ae553d9afde49b0ff8c8f865e0ad5da5e40f31afb12a755289c99381a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0293f78bf5ea7fbe0c13c88d246c5d84bf917dbf39e35722ae601ea85543dee9da0ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51bea05e40223bcc6a700b1d32c94ec5b7ed325345b400cf06913d4a1538d80dde375db90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014006832fefba82cf0884578362d780a0cc03279986ee03546a0d0c0609bdfb76d830216c29b44b9008a7d5b8c7ffc31788c29ace8b96a6c660f84df84b050182ea60800a801ba04d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435a023640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237eec0", + "rlp" : "0xf9024cf901f9a0341d9eae5bd8696e5e8c4e445cd36ff60a85d9c43ef94df01fbef0ec2ff7125fa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a005ecd1a706137ddc9359328005f80a4ca233a4dc443748b04275e3ef6faed174a0ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51bea0975eeeb6e46fc2d858080444f0536a1f3a688638fdf0bcbc1958dedc5eda4405b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014006832fefba82cf08845788dc3880a0ec1e3b01a1cbae6c8aa72dbefa7711c041a55c8e293a8c70653f604fa892eb3a880580f086c036719df84df84b050182ea60800a801ba04d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435a023640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237eec0", "transactions" : [ { "data" : "0x", @@ -231,19 +231,19 @@ "extraData" : "0x", "gasLimit" : "0x2fefba", "gasUsed" : "0xa042", - "hash" : "3b08badb7af69e5b04e06a1aafe6b1e26b9e59931f6703f96833a1e65ed061e4", - "mixHash" : "c43fd62737e2c341234fed01e5a75da2e41a0d0d5d71ed7f65a6d07343af82df", - "nonce" : "2510c815a38b31b7", + "hash" : "9c835a5982dbd3e45af50a688075f16b3661a330c87af0f8019ca65329ca7636", + "mixHash" : "3943078bb0754d40ec78d9809de292aa2ec6bf5bad40d85d8da01276752db5ae", + "nonce" : "37f3decdc9a7e0bd", "number" : "0x07", - "parentHash" : "111c5c0a5b2f0743d6167baa6d31718fae8dcfd85eb51e788ab419444488f857", - "receiptTrie" : "e3beaaa91301cca4d98fc58b2aad310bd7bd147d4ff00f4fb5ce2b186a039f2d", - "stateRoot" : "219ec50b26a20c420f96b8905f669455145efef0233e52a39c2d338b52a60f8c", - "timestamp" : "0x578362d8", + "parentHash" : "bef208f4cf5571b952ab436a84a60934d96a81c4453aa1cd80c79d6fd61242dc", + "receiptTrie" : "aec104fc55d9aa0c1767af2dcf73c512f650f24bf89b9b78eb236d70a2de848f", + "stateRoot" : "40d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029", + "timestamp" : "0x5788dc3c", "transactionsTrie" : "b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341c", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "7", - "rlp" : "0xf90260f901f9a0111c5c0a5b2f0743d6167baa6d31718fae8dcfd85eb51e788ab419444488f857a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0219ec50b26a20c420f96b8905f669455145efef0233e52a39c2d338b52a60f8ca0b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341ca0e3beaaa91301cca4d98fc58b2aad310bd7bd147d4ff00f4fb5ce2b186a039f2db90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018007832fefba82a04284578362d880a0c43fd62737e2c341234fed01e5a75da2e41a0d0d5d71ed7f65a6d07343af82df882510c815a38b31b7f861f85f060182ea609410000000000000000000000000000000000000070a801ba0bb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9a010ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81bc0", + "rlp" : "0xf90260f901f9a0bef208f4cf5571b952ab436a84a60934d96a81c4453aa1cd80c79d6fd61242dca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a040d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029a0b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341ca0aec104fc55d9aa0c1767af2dcf73c512f650f24bf89b9b78eb236d70a2de848fb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018007832fefba82a042845788dc3c80a03943078bb0754d40ec78d9809de292aa2ec6bf5bad40d85d8da01276752db5ae8837f3decdc9a7e0bdf861f85f060182ea609410000000000000000000000000000000000000070a801ba0bb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9a010ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81bc0", "transactions" : [ { "data" : "0x", @@ -268,23 +268,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x0201c0", + "difficulty" : "0x020180", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x65aa", - "hash" : "a8e7968fd01c207811352ab6fc86841574979a456617eb110ebd4e25b7415bcd", - "mixHash" : "d7379be76dc312d2b562cbc727089ac08a2100390056664d46b3e367e9fe43a7", - "nonce" : "796b5d001b1985d4", + "hash" : "37197cab54e89c31d93dfa050c38c916efe2e8a5849b43b245305ecc450eea70", + "mixHash" : "1eb50717ca7b4c633ba350969235157017427af1f807946adcc61098ca98e596", + "nonce" : "81e6b44c39618f34", "number" : "0x08", - "parentHash" : "3b08badb7af69e5b04e06a1aafe6b1e26b9e59931f6703f96833a1e65ed061e4", - "receiptTrie" : "cb09490c5315ec68e121f33138f04090fb2b4a22da3f87a28c8626ec65a405cb", - "stateRoot" : "25c76e2a0478ceeaaf17619cfa46b1907f676cebf43fa41c857f10b1b50c8884", - "timestamp" : "0x578362dc", + "parentHash" : "9c835a5982dbd3e45af50a688075f16b3661a330c87af0f8019ca65329ca7636", + "receiptTrie" : "2df25a52fb0817ad3948868d59d50cab8f7f780fc5e3939b4c9140936d7bb187", + "stateRoot" : "8565b6c0a57e2566bb768c6c67aaad77794da4e1589966ee51bd0370a9db3d1c", + "timestamp" : "0x5788dc46", "transactionsTrie" : "2982eb44bedb5b2484b9606fe37f966942a2cce51f0705537f9040ef0614d54e", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "8", - "rlp" : "0xf9026df90206a03b08badb7af69e5b04e06a1aafe6b1e26b9e59931f6703f96833a1e65ed061e4a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a025c76e2a0478ceeaaf17619cfa46b1907f676cebf43fa41c857f10b1b50c8884a02982eb44bedb5b2484b9606fe37f966942a2cce51f0705537f9040ef0614d54ea0cb09490c5315ec68e121f33138f04090fb2b4a22da3f87a28c8626ec65a405cbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201c008832fefba8265aa84578362dc8d64616f2d686172642d666f726ba0d7379be76dc312d2b562cbc727089ac08a2100390056664d46b3e367e9fe43a788796b5d001b1985d4f861f85f070182ea609410000000000000000000000000000000000000080a801ba03bce709627e1c9340795f11cc866742a0b5ced2b7e2da53e0cfe6f5f1df0a77ea02df804cdb52edacc4e01d8632050101cf7de7b235d37c31b504010910ec8f1f6c0", + "rlp" : "0xf9026df90206a09c835a5982dbd3e45af50a688075f16b3661a330c87af0f8019ca65329ca7636a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a08565b6c0a57e2566bb768c6c67aaad77794da4e1589966ee51bd0370a9db3d1ca02982eb44bedb5b2484b9606fe37f966942a2cce51f0705537f9040ef0614d54ea02df25a52fb0817ad3948868d59d50cab8f7f780fc5e3939b4c9140936d7bb187b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018008832fefba8265aa845788dc468d64616f2d686172642d666f726ba01eb50717ca7b4c633ba350969235157017427af1f807946adcc61098ca98e5968881e6b44c39618f34f861f85f070182ea609410000000000000000000000000000000000000080a801ba03bce709627e1c9340795f11cc866742a0b5ced2b7e2da53e0cfe6f5f1df0a77ea02df804cdb52edacc4e01d8632050101cf7de7b235d37c31b504010910ec8f1f6c0", "transactions" : [ { "data" : "0x", @@ -309,23 +309,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020200", + "difficulty" : "0x020180", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "174c3f191f8955da5a75246f43edcbc1fde1fb0b2824dd5ac6986692763cc328", - "mixHash" : "e9ea6f80af2746d73f07a040332d0f9ce5d643b1f28c8536f549f14a3b36a272", - "nonce" : "1046883c965b5d81", + "hash" : "fcc08674a7d7b521954d2545f7d09c02ebee682ce9a2e408aa094ff254c8b772", + "mixHash" : "188325449fab4b060f142fad86dd35c5b9a5d09e4b3cb0da9855818c832de7ac", + "nonce" : "d4c9a029ed38257b", "number" : "0x09", - "parentHash" : "a8e7968fd01c207811352ab6fc86841574979a456617eb110ebd4e25b7415bcd", - "receiptTrie" : "405be8d48a642e0536283f01acfb9868e4d921a1444005e8298cb83d00f82704", - "stateRoot" : "9082a0c78b99b419eed76e297c9367cd2613ac98684e211a10794599e1efd0b6", - "timestamp" : "0x578362e0", + "parentHash" : "37197cab54e89c31d93dfa050c38c916efe2e8a5849b43b245305ecc450eea70", + "receiptTrie" : "06ba5b9bbbcf94865cd9b522c4de701287f0fcb197fc2a19e54aa23d0fb20218", + "stateRoot" : "0eef10cd08a0a4a20df81757eeb4114a0db434c8d41e6cc35e8cf9d8c22d81c7", + "timestamp" : "0x5788dc51", "transactionsTrie" : "7dac38119a2beeb72d0f67b77bef9a4cbae22ca5c7151f1e737f9db1bf37b135", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "9", - "rlp" : "0xf9026df90206a0a8e7968fd01c207811352ab6fc86841574979a456617eb110ebd4e25b7415bcda01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a09082a0c78b99b419eed76e297c9367cd2613ac98684e211a10794599e1efd0b6a07dac38119a2beeb72d0f67b77bef9a4cbae22ca5c7151f1e737f9db1bf37b135a0405be8d48a642e0536283f01acfb9868e4d921a1444005e8298cb83d00f82704b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302020009832fefba82520884578362e08d64616f2d686172642d666f726ba0e9ea6f80af2746d73f07a040332d0f9ce5d643b1f28c8536f549f14a3b36a272881046883c965b5d81f861f85f080182ea6094100000000000000000000000000000000000000101801ba0af2bb21c6953c5c7bb966a9c09e43c52641e6e317ab738cd409a5fb9ef5e753fa010db71dc8b41e52ce746895f743c1cc1fe7ed32f17ff7935b610fcbccdc75720c0", + "rlp" : "0xf9026df90206a037197cab54e89c31d93dfa050c38c916efe2e8a5849b43b245305ecc450eea70a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a00eef10cd08a0a4a20df81757eeb4114a0db434c8d41e6cc35e8cf9d8c22d81c7a07dac38119a2beeb72d0f67b77bef9a4cbae22ca5c7151f1e737f9db1bf37b135a006ba5b9bbbcf94865cd9b522c4de701287f0fcb197fc2a19e54aa23d0fb20218b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018009832fefba825208845788dc518d64616f2d686172642d666f726ba0188325449fab4b060f142fad86dd35c5b9a5d09e4b3cb0da9855818c832de7ac88d4c9a029ed38257bf861f85f080182ea6094100000000000000000000000000000000000000101801ba0af2bb21c6953c5c7bb966a9c09e43c52641e6e317ab738cd409a5fb9ef5e753fa010db71dc8b41e52ce746895f743c1cc1fe7ed32f17ff7935b610fcbccdc75720c0", "transactions" : [ { "data" : "0x", @@ -350,23 +350,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020240", + "difficulty" : "0x020180", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "872664b8cea7f2f8a92618e2c2f609ed8688424a211f9b51ede088523bd35fa3", - "mixHash" : "0f075e1fcf0d36cc5018bcb2f1ec03ad7cb85350fbfc3437695d8adbe0319055", - "nonce" : "fb63b58204ee99a1", + "hash" : "5f58b34c4108e44ab7bfbfe9c70b5b86097cdff8b21ae7a990d8ed0c31a04634", + "mixHash" : "fd36229270002f66be02e74dcc3088b324a862e9c2797bf551a064441eb41553", + "nonce" : "0c81358b772e61d1", "number" : "0x0a", - "parentHash" : "174c3f191f8955da5a75246f43edcbc1fde1fb0b2824dd5ac6986692763cc328", - "receiptTrie" : "7816771f20df86ba51fe1b9b124be162607d9a74753fbcec73e7fd0e4b803fc8", - "stateRoot" : "14baa5da9e9e7b864d11a6ab7c75d49f3582ef61566bc06ac825894eab40dd47", - "timestamp" : "0x578362e5", + "parentHash" : "fcc08674a7d7b521954d2545f7d09c02ebee682ce9a2e408aa094ff254c8b772", + "receiptTrie" : "2f00350472bd9d8d635a091a20bac638d9c6bcb1d6b5c81736a0d1ca5fee93be", + "stateRoot" : "96859e95e173eef8004bb592b19cefd71ff683ef0900de4bba7bfe44b96fab3b", + "timestamp" : "0x5788dc5b", "transactionsTrie" : "771cef5982e1119f26a627bbeeadc21e350838157aad275b2f4a884a57e277da", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "10", - "rlp" : "0xf9026df90206a0174c3f191f8955da5a75246f43edcbc1fde1fb0b2824dd5ac6986692763cc328a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a014baa5da9e9e7b864d11a6ab7c75d49f3582ef61566bc06ac825894eab40dd47a0771cef5982e1119f26a627bbeeadc21e350838157aad275b2f4a884a57e277daa07816771f20df86ba51fe1b9b124be162607d9a74753fbcec73e7fd0e4b803fc8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202400a832fefba82520884578362e58d64616f2d686172642d666f726ba00f075e1fcf0d36cc5018bcb2f1ec03ad7cb85350fbfc3437695d8adbe031905588fb63b58204ee99a1f861f85f090182ea6094100000000000000000000000000000000000000101801ca0c3d783e93561599d86cbf460e153b3cb37d90478a3c47bfc08bd29563c9d849fa0100e466f7a4c6af73a9030988c63ec88ccaba460fd6a1fb1adc30b61dbdd0857c0", + "rlp" : "0xf9026df90206a0fcc08674a7d7b521954d2545f7d09c02ebee682ce9a2e408aa094ff254c8b772a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a096859e95e173eef8004bb592b19cefd71ff683ef0900de4bba7bfe44b96fab3ba0771cef5982e1119f26a627bbeeadc21e350838157aad275b2f4a884a57e277daa02f00350472bd9d8d635a091a20bac638d9c6bcb1d6b5c81736a0d1ca5fee93beb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201800a832fefba825208845788dc5b8d64616f2d686172642d666f726ba0fd36229270002f66be02e74dcc3088b324a862e9c2797bf551a064441eb41553880c81358b772e61d1f861f85f090182ea6094100000000000000000000000000000000000000101801ca0c3d783e93561599d86cbf460e153b3cb37d90478a3c47bfc08bd29563c9d849fa0100e466f7a4c6af73a9030988c63ec88ccaba460fd6a1fb1adc30b61dbdd0857c0", "transactions" : [ { "data" : "0x", @@ -391,23 +391,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020280", + "difficulty" : "0x0201c0", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "ea29fb161cd0baa00b7ec957ffb4eec2c13f98dbdaa5cbb5352e6c315885c7d2", - "mixHash" : "f5e7f98d27237c0000ff5d35c1078056a01b07564d37768456d47bc2c97e7e3e", - "nonce" : "f4a8a19edb48f3bc", + "hash" : "851a805fb871ff549a759409ed3b909ec2e3abbca7c4df259a473489c346ba43", + "mixHash" : "89999ed1fac8370a082cb0a364de948d6cf9db298d40c3632936cbe9efe7d58e", + "nonce" : "8ce8d22f2893653c", "number" : "0x0b", - "parentHash" : "872664b8cea7f2f8a92618e2c2f609ed8688424a211f9b51ede088523bd35fa3", - "receiptTrie" : "76c1e3d0c78e8ddf32608b571a8bbcf6ec06ad6e4d832b1527be8bcdc9e8babc", - "stateRoot" : "745349a2480a86c28aa035ce47b40f8f5045efefac899c3ed9265103427043dd", - "timestamp" : "0x578362e9", + "parentHash" : "5f58b34c4108e44ab7bfbfe9c70b5b86097cdff8b21ae7a990d8ed0c31a04634", + "receiptTrie" : "324f8d9eb5892134e0d375c7a4826bbd28ba0f6e73b9b64bbb595e410387ddc3", + "stateRoot" : "56bf73c2776f59118fdb82e8b01dc88c3cbb1e2ded3c1d7ef17c4603c500346d", + "timestamp" : "0x5788dc63", "transactionsTrie" : "10a81573cb14d5c2794e1b406e26b6d9612c888bbc98c453131bd9b06f61d7c9", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "11", - "rlp" : "0xf9026df90206a0872664b8cea7f2f8a92618e2c2f609ed8688424a211f9b51ede088523bd35fa3a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0745349a2480a86c28aa035ce47b40f8f5045efefac899c3ed9265103427043dda010a81573cb14d5c2794e1b406e26b6d9612c888bbc98c453131bd9b06f61d7c9a076c1e3d0c78e8ddf32608b571a8bbcf6ec06ad6e4d832b1527be8bcdc9e8babcb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202800b832fefba82520884578362e98d64616f2d686172642d666f726ba0f5e7f98d27237c0000ff5d35c1078056a01b07564d37768456d47bc2c97e7e3e88f4a8a19edb48f3bcf861f85f0a0182ea6094100000000000000000000000000000000000000101801ca076766ba9925c43448e1ac5c05f7583e6d3a3366eb3dc95a3489ff363b449795ca059b8da33b7aea0d60059f5c1eabce26c1e23e32f31930bff3b49eb1e94cc62a0c0", + "rlp" : "0xf9026df90206a05f58b34c4108e44ab7bfbfe9c70b5b86097cdff8b21ae7a990d8ed0c31a04634a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a056bf73c2776f59118fdb82e8b01dc88c3cbb1e2ded3c1d7ef17c4603c500346da010a81573cb14d5c2794e1b406e26b6d9612c888bbc98c453131bd9b06f61d7c9a0324f8d9eb5892134e0d375c7a4826bbd28ba0f6e73b9b64bbb595e410387ddc3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201c00b832fefba825208845788dc638d64616f2d686172642d666f726ba089999ed1fac8370a082cb0a364de948d6cf9db298d40c3632936cbe9efe7d58e888ce8d22f2893653cf861f85f0a0182ea6094100000000000000000000000000000000000000101801ca076766ba9925c43448e1ac5c05f7583e6d3a3366eb3dc95a3489ff363b449795ca059b8da33b7aea0d60059f5c1eabce26c1e23e32f31930bff3b49eb1e94cc62a0c0", "transactions" : [ { "data" : "0x", @@ -432,23 +432,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x0202c0", + "difficulty" : "0x020200", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "dd37603315dead14fc07c82fd274016e5853ed2b74c05df832bec2eeeded5d01", - "mixHash" : "5409bef91ea0fe9b28750db667aca7b42019e99806c64850d6baf74a527c39e9", - "nonce" : "8ad88fec4eaba1bd", + "hash" : "d2248eb423eb10de5f570b455f4ada1d53e59b254be9c74a011952412652f96a", + "mixHash" : "6adfeb8c142a16fe8a4ca09d37997694a3d3a55b3cf93ba063cbca9e68e91b79", + "nonce" : "8319bcd74da15bc7", "number" : "0x0c", - "parentHash" : "ea29fb161cd0baa00b7ec957ffb4eec2c13f98dbdaa5cbb5352e6c315885c7d2", - "receiptTrie" : "7cced79fcdebd96670df83f4c13f71aa9cb3dbce19df27f7f6ff8b12fef91282", - "stateRoot" : "40ef6bb351314ea48ab6462f2cabcf96ee476cec1f4670919f90efb2a5956ab3", - "timestamp" : "0x578362ed", + "parentHash" : "851a805fb871ff549a759409ed3b909ec2e3abbca7c4df259a473489c346ba43", + "receiptTrie" : "e150d54f9f244d65a2d906bbb8b0fe9f218119c8b0e00906846ac5cbdab800d1", + "stateRoot" : "c545bccf90c734ea9de210666693ada930bbcdbb0cefcde9a57848dc363e8397", + "timestamp" : "0x5788dc6b", "transactionsTrie" : "b7757adef51c8c3b9b0433d1a0db70fe5505e8db1848934da1c1d2c6aafc3f65", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "12", - "rlp" : "0xf9026df90206a0ea29fb161cd0baa00b7ec957ffb4eec2c13f98dbdaa5cbb5352e6c315885c7d2a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a040ef6bb351314ea48ab6462f2cabcf96ee476cec1f4670919f90efb2a5956ab3a0b7757adef51c8c3b9b0433d1a0db70fe5505e8db1848934da1c1d2c6aafc3f65a07cced79fcdebd96670df83f4c13f71aa9cb3dbce19df27f7f6ff8b12fef91282b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202c00c832fefba82520884578362ed8d64616f2d686172642d666f726ba05409bef91ea0fe9b28750db667aca7b42019e99806c64850d6baf74a527c39e9888ad88fec4eaba1bdf861f85f0b0182ea6094100000000000000000000000000000000000000101801ca085939abfa5d1d2dd8e1bde2655e44236d8e1940a075000301d6deab472ccd680a078d2ae659006c58f9ccc5af29955f7439e48b30b2efe64abdd001165364faa9ac0", + "rlp" : "0xf9026df90206a0851a805fb871ff549a759409ed3b909ec2e3abbca7c4df259a473489c346ba43a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c545bccf90c734ea9de210666693ada930bbcdbb0cefcde9a57848dc363e8397a0b7757adef51c8c3b9b0433d1a0db70fe5505e8db1848934da1c1d2c6aafc3f65a0e150d54f9f244d65a2d906bbb8b0fe9f218119c8b0e00906846ac5cbdab800d1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202000c832fefba825208845788dc6b8d64616f2d686172642d666f726ba06adfeb8c142a16fe8a4ca09d37997694a3d3a55b3cf93ba063cbca9e68e91b79888319bcd74da15bc7f861f85f0b0182ea6094100000000000000000000000000000000000000101801ca085939abfa5d1d2dd8e1bde2655e44236d8e1940a075000301d6deab472ccd680a078d2ae659006c58f9ccc5af29955f7439e48b30b2efe64abdd001165364faa9ac0", "transactions" : [ { "data" : "0x", @@ -473,23 +473,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020300", + "difficulty" : "0x020200", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "c481c38537eaa8cdc85f0ee37cc714b2016cdf16bfa238f2c2971be9ecfd6250", - "mixHash" : "0d93ec85a64803d79b7af732d1c343c0a686d699c7878761db0c119d3c7da9f9", - "nonce" : "5ba262dce70d6a1e", + "hash" : "746b52c52853e38f8b42e10bb36c6325094bd7c49ff77f0e04dd383dfde4b3e5", + "mixHash" : "0e925fa65c46cb3527b304c1a699ba9b9244e58715b3c0be8d30f78fbbf91bb7", + "nonce" : "c43118c563e4752c", "number" : "0x0d", - "parentHash" : "dd37603315dead14fc07c82fd274016e5853ed2b74c05df832bec2eeeded5d01", - "receiptTrie" : "27206e196468a999013a22f5ad0a2747cba1311e0398bb601fda5570045753b8", - "stateRoot" : "be645d0bc31a6df9f0df1ff766d651e5253eeaa750c9d6eea98349a4c2b26679", - "timestamp" : "0x578362f1", + "parentHash" : "d2248eb423eb10de5f570b455f4ada1d53e59b254be9c74a011952412652f96a", + "receiptTrie" : "f5e02249f25bfb35d3338fc0b9407ba4a2da198ad27050ee5fe76f434163f789", + "stateRoot" : "0d62f6b628aa29c160a6c6c5462b2395d55fc8699251ef44dd6f7bfb78096359", + "timestamp" : "0x5788dc76", "transactionsTrie" : "38b9ac6344a8e2cdd0c0b598f70f21997ab1b39d3ecb2f7a8c7af93e300e0398", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "13", - "rlp" : "0xf9026df90206a0dd37603315dead14fc07c82fd274016e5853ed2b74c05df832bec2eeeded5d01a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0be645d0bc31a6df9f0df1ff766d651e5253eeaa750c9d6eea98349a4c2b26679a038b9ac6344a8e2cdd0c0b598f70f21997ab1b39d3ecb2f7a8c7af93e300e0398a027206e196468a999013a22f5ad0a2747cba1311e0398bb601fda5570045753b8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830203000d832fefba82520884578362f18d64616f2d686172642d666f726ba00d93ec85a64803d79b7af732d1c343c0a686d699c7878761db0c119d3c7da9f9885ba262dce70d6a1ef861f85f0c0182ea6094100000000000000000000000000000000000000101801ca00bb5ae599741966cbd02d6080937bd1f247dfaa266e19891228a4fbfc0c85226a07a4f56371aa5b685bc10d64e180e24850ae18b0fcc675e7d187f877b8d9b1bf6c0", + "rlp" : "0xf9026df90206a0d2248eb423eb10de5f570b455f4ada1d53e59b254be9c74a011952412652f96aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a00d62f6b628aa29c160a6c6c5462b2395d55fc8699251ef44dd6f7bfb78096359a038b9ac6344a8e2cdd0c0b598f70f21997ab1b39d3ecb2f7a8c7af93e300e0398a0f5e02249f25bfb35d3338fc0b9407ba4a2da198ad27050ee5fe76f434163f789b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202000d832fefba825208845788dc768d64616f2d686172642d666f726ba00e925fa65c46cb3527b304c1a699ba9b9244e58715b3c0be8d30f78fbbf91bb788c43118c563e4752cf861f85f0c0182ea6094100000000000000000000000000000000000000101801ca00bb5ae599741966cbd02d6080937bd1f247dfaa266e19891228a4fbfc0c85226a07a4f56371aa5b685bc10d64e180e24850ae18b0fcc675e7d187f877b8d9b1bf6c0", "transactions" : [ { "data" : "0x", @@ -514,23 +514,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020340", + "difficulty" : "0x020200", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "b14471504858a942fbfd5df9cb31e47796a86ff02bb42e4aea45982b2f8af5c4", - "mixHash" : "e786f31b72887e787326f12aff5c5af35bd9e88ce28743117df384467687ab3d", - "nonce" : "4dd28afbb24464cc", + "hash" : "19831eb58833d70ba74fc813e112201365ac4f4cdd33026d06df377dfae52498", + "mixHash" : "5e7e6fe4790cf6518a643d5351f35fd6b8f6a62b281bb5074138851bac66eb13", + "nonce" : "be71f6cdf480c4a2", "number" : "0x0e", - "parentHash" : "c481c38537eaa8cdc85f0ee37cc714b2016cdf16bfa238f2c2971be9ecfd6250", - "receiptTrie" : "3219cbaae09e7a53589bfa9a65ef4dd7e37b8d631a65b3dfbcbba13bdc3cdb05", - "stateRoot" : "ffcc7e2a5c78d83c28d38494c8f432971d60fc23e8461c400880e59c9f22f2e6", - "timestamp" : "0x578362f6", + "parentHash" : "746b52c52853e38f8b42e10bb36c6325094bd7c49ff77f0e04dd383dfde4b3e5", + "receiptTrie" : "308cbfc04d0a5d4821a96fec27ea00f2e278886545add9ed961c28015970ec5c", + "stateRoot" : "159a6f365d9aa0930979cb60b9d04cd3c72b50c2f830aa27d610f8c014a600b1", + "timestamp" : "0x5788dc80", "transactionsTrie" : "4b6ff42fd8884c83615bf62830df849b18901c07615aafef9aaf16d33f807349", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "14", - "rlp" : "0xf9026df90206a0c481c38537eaa8cdc85f0ee37cc714b2016cdf16bfa238f2c2971be9ecfd6250a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0ffcc7e2a5c78d83c28d38494c8f432971d60fc23e8461c400880e59c9f22f2e6a04b6ff42fd8884c83615bf62830df849b18901c07615aafef9aaf16d33f807349a03219cbaae09e7a53589bfa9a65ef4dd7e37b8d631a65b3dfbcbba13bdc3cdb05b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830203400e832fefba82520884578362f68d64616f2d686172642d666f726ba0e786f31b72887e787326f12aff5c5af35bd9e88ce28743117df384467687ab3d884dd28afbb24464ccf861f85f0d0182ea6094100000000000000000000000000000000000000101801ba0db8f9cd690ad1f6481c09a5445a4185d4fcfdeed76f7ba403d303985c1abaa4ca01ed5f2e9fd9a021103acc910cbefcdaa82d2afd44205a8f681f0c17ebf2da192c0", + "rlp" : "0xf9026df90206a0746b52c52853e38f8b42e10bb36c6325094bd7c49ff77f0e04dd383dfde4b3e5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0159a6f365d9aa0930979cb60b9d04cd3c72b50c2f830aa27d610f8c014a600b1a04b6ff42fd8884c83615bf62830df849b18901c07615aafef9aaf16d33f807349a0308cbfc04d0a5d4821a96fec27ea00f2e278886545add9ed961c28015970ec5cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202000e832fefba825208845788dc808d64616f2d686172642d666f726ba05e7e6fe4790cf6518a643d5351f35fd6b8f6a62b281bb5074138851bac66eb1388be71f6cdf480c4a2f861f85f0d0182ea6094100000000000000000000000000000000000000101801ba0db8f9cd690ad1f6481c09a5445a4185d4fcfdeed76f7ba403d303985c1abaa4ca01ed5f2e9fd9a021103acc910cbefcdaa82d2afd44205a8f681f0c17ebf2da192c0", "transactions" : [ { "data" : "0x", @@ -555,23 +555,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020380", + "difficulty" : "0x020200", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "9849305deb139e14edc8a2daf9c69ff4bde43c90d1a9fc4be74d60ca856de52c", - "mixHash" : "0b38e08a130828a9b42499a61955a1f05f29b3c54721c9000108681b24df1bbe", - "nonce" : "a903296b20afc6c1", + "hash" : "53337dbe188bd181ba13c0b12333b3560b21969c17f4ca2ce73b327d32a1bd17", + "mixHash" : "1203fe51e0609473cbc778ac000373a21d3e4b4b620e869e58281e98b9d46ffe", + "nonce" : "ab0199bac390816d", "number" : "0x0f", - "parentHash" : "b14471504858a942fbfd5df9cb31e47796a86ff02bb42e4aea45982b2f8af5c4", - "receiptTrie" : "3f8e538224b10251d17ea50eef083205f714f89dd10b1338df828c2fd14da074", - "stateRoot" : "da5a9eb135d2a19f28da52eda0fcff26d26326dac4c622d6b2f0d7a6873ab27c", - "timestamp" : "0x578362fb", + "parentHash" : "19831eb58833d70ba74fc813e112201365ac4f4cdd33026d06df377dfae52498", + "receiptTrie" : "3ceb3d74ba79019e8aac7a6a4de23c5584109dfcff70ed61c160e24ab46bcd3d", + "stateRoot" : "d2f5a74b3962d04c2124d780ffa38fc2181e1b09eabb7f4bf5a172a18f75d4d7", + "timestamp" : "0x5788dc8e", "transactionsTrie" : "ce025c4f49fea19fbb8b91252f03fd36d2ff6e9e8817c701452992098534abda", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "15", - "rlp" : "0xf9026df90206a0b14471504858a942fbfd5df9cb31e47796a86ff02bb42e4aea45982b2f8af5c4a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0da5a9eb135d2a19f28da52eda0fcff26d26326dac4c622d6b2f0d7a6873ab27ca0ce025c4f49fea19fbb8b91252f03fd36d2ff6e9e8817c701452992098534abdaa03f8e538224b10251d17ea50eef083205f714f89dd10b1338df828c2fd14da074b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830203800f832fefba82520884578362fb8d64616f2d686172642d666f726ba00b38e08a130828a9b42499a61955a1f05f29b3c54721c9000108681b24df1bbe88a903296b20afc6c1f861f85f0e0182ea6094100000000000000000000000000000000000000101801ca0af8f37a08239d55138f8b92680c682d4118da357c79d6a6b148a6dcce4d961d1a057bf5b29fc32419091bd8e170fed46703b7a2640be0ca91d6903d75c932be160c0", + "rlp" : "0xf9026df90206a019831eb58833d70ba74fc813e112201365ac4f4cdd33026d06df377dfae52498a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0d2f5a74b3962d04c2124d780ffa38fc2181e1b09eabb7f4bf5a172a18f75d4d7a0ce025c4f49fea19fbb8b91252f03fd36d2ff6e9e8817c701452992098534abdaa03ceb3d74ba79019e8aac7a6a4de23c5584109dfcff70ed61c160e24ab46bcd3db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830202000f832fefba825208845788dc8e8d64616f2d686172642d666f726ba01203fe51e0609473cbc778ac000373a21d3e4b4b620e869e58281e98b9d46ffe88ab0199bac390816df861f85f0e0182ea6094100000000000000000000000000000000000000101801ca0af8f37a08239d55138f8b92680c682d4118da357c79d6a6b148a6dcce4d961d1a057bf5b29fc32419091bd8e170fed46703b7a2640be0ca91d6903d75c932be160c0", "transactions" : [ { "data" : "0x", @@ -596,23 +596,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x0203c0", + "difficulty" : "0x020240", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "6d29b0a6632f26fa1e689965087a09c739771dc469b9c49bc744d6207c9e2fed", - "mixHash" : "7ab225e313b7f890caaf575528bb16189826c5a1c9589e7ad5635d123886b6a5", - "nonce" : "682109d020f5de8a", + "hash" : "6b1d0b868bd5920d3edc2d9073a3c9fc4c9dc7656a51e2ebe89ac5fb2f0e90b3", + "mixHash" : "29a4eb947f50b1296aa46d5393e59f002aa01c34a9e7bed6f1fd40e66362e1e2", + "nonce" : "98376d65695940d3", "number" : "0x10", - "parentHash" : "9849305deb139e14edc8a2daf9c69ff4bde43c90d1a9fc4be74d60ca856de52c", - "receiptTrie" : "cb5e5d42756e48dfe3c93e5656cb7367090c1406ddb6a47f71058cb96de158f0", - "stateRoot" : "7d9e18f987e1e0f6244158d2c75dc881e28cdc3b54da6ad3d6743e630d11674f", - "timestamp" : "0x57836301", + "parentHash" : "53337dbe188bd181ba13c0b12333b3560b21969c17f4ca2ce73b327d32a1bd17", + "receiptTrie" : "1139851ae488ee33e16c5ef766d36d924d6c4ead16eb1996a92856a5640e938e", + "stateRoot" : "c57fab6567df96712cd7031f96a3073f6f1706e637d91ed15fcefd308b024b86", + "timestamp" : "0x5788dc97", "transactionsTrie" : "6f2130deb628c7742532339d5b5f1539f9579edcab16996b3b05836a6883073f", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "16", - "rlp" : "0xf9026df90206a09849305deb139e14edc8a2daf9c69ff4bde43c90d1a9fc4be74d60ca856de52ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a07d9e18f987e1e0f6244158d2c75dc881e28cdc3b54da6ad3d6743e630d11674fa06f2130deb628c7742532339d5b5f1539f9579edcab16996b3b05836a6883073fa0cb5e5d42756e48dfe3c93e5656cb7367090c1406ddb6a47f71058cb96de158f0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830203c010832fefba82520884578363018d64616f2d686172642d666f726ba07ab225e313b7f890caaf575528bb16189826c5a1c9589e7ad5635d123886b6a588682109d020f5de8af861f85f0f0182ea6094100000000000000000000000000000000000000101801ba040a5467881266422758d59ae66fb3d2511f0131038b0e43abc397d01527fd61ea0172ed4b9c3cf917bf071cb6cc716c4f6754949ea94888d4bb9657eac98fd2c10c0", + "rlp" : "0xf9026df90206a053337dbe188bd181ba13c0b12333b3560b21969c17f4ca2ce73b327d32a1bd17a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c57fab6567df96712cd7031f96a3073f6f1706e637d91ed15fcefd308b024b86a06f2130deb628c7742532339d5b5f1539f9579edcab16996b3b05836a6883073fa01139851ae488ee33e16c5ef766d36d924d6c4ead16eb1996a92856a5640e938eb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302024010832fefba825208845788dc978d64616f2d686172642d666f726ba029a4eb947f50b1296aa46d5393e59f002aa01c34a9e7bed6f1fd40e66362e1e28898376d65695940d3f861f85f0f0182ea6094100000000000000000000000000000000000000101801ba040a5467881266422758d59ae66fb3d2511f0131038b0e43abc397d01527fd61ea0172ed4b9c3cf917bf071cb6cc716c4f6754949ea94888d4bb9657eac98fd2c10c0", "transactions" : [ { "data" : "0x", @@ -637,23 +637,23 @@ "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020400", + "difficulty" : "0x020240", "extraData" : "0x64616f2d686172642d666f726b", "gasLimit" : "0x2fefba", "gasUsed" : "0x5208", - "hash" : "f05375344257478b69eaf22bb6ee010daac8e37077c20946b2cd673e4caf4897", - "mixHash" : "5aca39367567bf655adcbed51353fda57286a67a4ad09d8a5e2be84522727744", - "nonce" : "e14722f02bf5d663", + "hash" : "7cda04f38d4a31d51370d4d8cc763b3d15e53eb4fe76575a2a87a22f5c53a5cf", + "mixHash" : "38824245bf0d625f30f725a2daa9245035240449cbe011358328fc36066a7d91", + "nonce" : "16893c7414215a57", "number" : "0x11", - "parentHash" : "6d29b0a6632f26fa1e689965087a09c739771dc469b9c49bc744d6207c9e2fed", - "receiptTrie" : "eea278a71391069b01fd9759bafca57b149bc9d6dc212bdddaa2f378e0ecfe95", - "stateRoot" : "c0f43306d07073f10d93dcf01bd8dada0eceedb213eed501801a13f2b205e333", - "timestamp" : "0x57836307", + "parentHash" : "6b1d0b868bd5920d3edc2d9073a3c9fc4c9dc7656a51e2ebe89ac5fb2f0e90b3", + "receiptTrie" : "f71904ef163e1bb258f38fba942af54f6f2947ded4702309ff60fb2a70291dc8", + "stateRoot" : "719b70fcc0d130db91c3ec672245c08728fb3636d3e5068de03b1eacb5dec827", + "timestamp" : "0x5788dca1", "transactionsTrie" : "316f3430ee504cbaa58cec2ce451de2fc9e0f1e7f99b16b33f69ab3ca93130be", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, "blocknumber" : "17", - "rlp" : "0xf9026df90206a06d29b0a6632f26fa1e689965087a09c739771dc469b9c49bc744d6207c9e2feda01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c0f43306d07073f10d93dcf01bd8dada0eceedb213eed501801a13f2b205e333a0316f3430ee504cbaa58cec2ce451de2fc9e0f1e7f99b16b33f69ab3ca93130bea0eea278a71391069b01fd9759bafca57b149bc9d6dc212bdddaa2f378e0ecfe95b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302040011832fefba82520884578363078d64616f2d686172642d666f726ba05aca39367567bf655adcbed51353fda57286a67a4ad09d8a5e2be8452272774488e14722f02bf5d663f861f85f100182ea6094100000000000000000000000000000000000000101801ba0d7933ba406ea332cdec2d673bbf5789c34a43224629c220bd0ac2c9d81c7b094a05e0a096cbe3bdc9047b18de6be4822165c669bddf712456567dc525547059ff8c0", + "rlp" : "0xf9026df90206a06b1d0b868bd5920d3edc2d9073a3c9fc4c9dc7656a51e2ebe89ac5fb2f0e90b3a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0719b70fcc0d130db91c3ec672245c08728fb3636d3e5068de03b1eacb5dec827a0316f3430ee504cbaa58cec2ce451de2fc9e0f1e7f99b16b33f69ab3ca93130bea0f71904ef163e1bb258f38fba942af54f6f2947ded4702309ff60fb2a70291dc8b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302024011832fefba825208845788dca18d64616f2d686172642d666f726ba038824245bf0d625f30f725a2daa9245035240449cbe011358328fc36066a7d918816893c7414215a57f861f85f100182ea6094100000000000000000000000000000000000000101801ba0d7933ba406ea332cdec2d673bbf5789c34a43224629c220bd0ac2c9d81c7b094a05e0a096cbe3bdc9047b18de6be4822165c669bddf712456567dc525547059ff8c0", "transactions" : [ { "data" : "0x", @@ -678,20 +678,62 @@ "extraData" : "0x42", "gasLimit" : "0x2fefd8", "gasUsed" : "0x00", - "hash" : "eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804c", + "hash" : "cad74b3b4723472b370737ffaf503f6f746bcae45bd5a39d767c5647afa5bb09", "mixHash" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "nonce" : "0102030405060708", "number" : "0x00", "parentHash" : "0000000000000000000000000000000000000000000000000000000000000000", "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "stateRoot" : "4eda2e603f5b9ad6e92c0cba602372d0a0cd2e776a17b61a7a20225ffa7643d7", + "stateRoot" : "6bff69e94b94f30e1b69f86d3e09712edfb583ac73a46a522345e1965ca9c66d", "timestamp" : "0x54c98c81", "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, - "genesisRLP" : "0xf901fcf901f7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a04eda2e603f5b9ad6e92c0cba602372d0a0cd2e776a17b61a7a20225ffa7643d7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080832fefd8808454c98c8142a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", - "lastblockhash" : "f05375344257478b69eaf22bb6ee010daac8e37077c20946b2cd673e4caf4897", + "genesisRLP" : "0xf901fcf901f7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a06bff69e94b94f30e1b69f86d3e09712edfb583ac73a46a522345e1965ca9c66da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080832fefd8808454c98c8142a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", + "lastblockhash" : "7cda04f38d4a31d51370d4d8cc763b3d15e53eb4fe76575a2a87a22f5c53a5cf", "postState" : { + "005f5cee7a43331d5a3d3eec71305925a62f34b6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "057b56736d32b86616a10f619859c6cd6f59092a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "06706dd3f2c9abf0a21ddcc6941d9b86f0596936" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0737a6b837f97f46ebade41b9bc3e1c509c85c53" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "07f5c1e1bc2c93e0402f23341973a0e043f7bf8a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "0c243ebe6a031753dc0dd850acf422844a3efb76" : { "balance" : "0x0a", "code" : "0x", @@ -699,6 +741,20 @@ "storage" : { } }, + "0e0da70933f4c7849fc0d203f5d1d43b9ae4532d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0ff30d6de14a8224aa97b78aea5388d1c51c1f00" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "1000000000000000000000000000000000000001" : { "balance" : "0x09", "code" : "0x", @@ -721,6 +777,20 @@ "storage" : { } }, + "12e626b0eebfe86a56d633b9864e389b45dcb260" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1591fc0f688c81fbeb17f5426a162a7024d430c2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "17802f43a0137c506ba92291391a8a8f207f487d" : { "balance" : "0x00", "code" : "0x", @@ -728,6 +798,48 @@ "storage" : { } }, + "1975bd06d486162d5dc297798dfc41edd5d160a7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1cba23d343a983e9b5cfd19496b9a9701ada385f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "200450f06520bdd6c527622a273333384d870efb" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "23b75c2f6791eef49c69684db4c6c1f93bf49a50" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "248f0f0f33eadb89e9d87fd5c127f58567f3ffde" : { "balance" : "0x0a", "code" : "0x", @@ -735,6 +847,34 @@ "storage" : { } }, + "24c4d950dfd4dd1902bbed3508144a54542bba94" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "253488078a4edf4d6f42f113d1e62836a942cf1a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "27b137a85656544b1ccb5a0f2e561a5703c6a68f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2a5ed960395e2a49b1c758cef4aa15213cfd874c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { "balance" : "0x00", "code" : "0x", @@ -742,994 +882,7488 @@ "storage" : { } }, - "304a554a310c7e546dfe434669c62820b7d83490" : { + "2c19c7f9ae8b751e37aeb2d93a699722395ae18f" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "304a554a310c7e546dfe434669c62820b7d83490" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "balance" : "0x0a", + "319f70bab6845585f412ec7724b744fec6095c85" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "35a051a0010aba705c9008d7a7eff6fb88f6ea7b" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "3ba4d81db016dc2890c81f3acec2454bff5aada5" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "3c02a7bc0391e86d91b7d144e61c2c01a25a79c5" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "85c2f277588ea1e6901ed59e587bea222c575f87" : { - "balance" : "0x0a", + "40b803a9abce16f50f36a77ba41180eb90023925" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "8888f1f195afa192cfee860698584c030f4c9db1" : { - "balance" : "0x049b9ca9a6943ace64", + "440c59b325d2997a134c2c7c60a8c61611212bad" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "4486a3d68fac6967006d7a517b889fd3f98c102b" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x3b93fb43", + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x00", "code" : "0x", - "nonce" : "0x11", + "nonce" : "0x00", "storage" : { } }, - "abcabcabcabcabcabcabcabcabcabcabcabcabca" : { - "balance" : "0x2c3cf12e40", + "47e7aa56d6bdf3f36be34619660de61275420af8" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "4863226780fe7c0356454236d3b1c8792785748d" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "492ea3bb0f3315521c31f273e565b868fc090f17" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "4cb31628079fb14e4bc3cd5e30c2f7489b00960c" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "b1d37cf6180ceb738ca45b5005a2f418c02e204b" : { - "balance" : "0x0a", + "4deb0033bb26bc534b197e61d19e0733e5679784" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "4fa802324e929786dbda3b8820dc7834e9134a2a" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "4fd6ace747f06ece9c49699c7cabc62d02211f75" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "51e0ddd9998364a2eb38588679f0d2c42653e4a6" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "d343b217de44030afaa275f54d31a9317c7f441e" : { + "52c5317c848ba20c7504cb2c8052abd1fde29d03" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "542a9515200d14b68e934e9830d91645a980dd7a" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "5524c55fb03cf21f549444ccbecb664d0acad706" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "ec0e71ad0a90ffe1909d27dac207f7680abba42d" : { - "balance" : "0x0a", + "579a80d909f346fbfb1189493f521d7f48d52238" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "58b95c9a9d5d26825e70a82b6adb139d3fd829eb" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "f4c64518ea10f995918a454158c6b61407ea345c" : { + "5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "5c8536898fbb74fc7445814902fd08422eac56d0" : { "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } - } - }, - "pre" : { - "1000000000000000000000000000000000000007" : { + }, + "5d2b2e6fcbe3b11d26b525e085ff818dae332479" : { "balance" : "0x00", - "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000008" : { + "5dc28b15dffed94048d73806ce4b7a4612a1d48f" : { "balance" : "0x00", - "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "17802f43a0137c506ba92291391a8a8f207f487d" : { - "balance" : "0x02540be400", + "5f9f3392e9f62f63b8eac0beb55541fc8627f42c" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { - "balance" : "0x02540be400", + "6131c42fa982e56929107413a9d526fd99405560" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "304a554a310c7e546dfe434669c62820b7d83490" : { - "balance" : "0x0f4240", + "6231b6d0d5e77fe001c2a460bd9584fee60d409b" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { - "balance" : "0x02540be400", + "627a0a960c079c21c34f7612d5d230e01b4ad4c7" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { - "balance" : "0x02540be400", + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "balance" : "0x0a", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { - "balance" : "0x02540be400", + "63ed5a272de2f6d968408b4acb9024f4cc208ebf" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { - "balance" : "0x02540be400", + "6966ab0d485353095148a2155858910e0965b6f9" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { - "balance" : "0x02540be400", + "6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x3b9aca00", + "6d87578288b6cb5549d5076a207456a1f6a63dc0" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { - "balance" : "0x02540be400", + "6f6704e5a10332af6672e50b3d9754dc460dfa4d" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { - "balance" : "0x02540be400", + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "b136707642a4ea12fb4bae820f03d2562ebff487" : { - "balance" : "0x02540be400", + "779543a0491a837ca36ce8c635d6154e3c4911a6" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { - "balance" : "0x02540be400", + "77ca7b50b6cd7e2f3fa008e24ab793fd56cb15f6" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "ca544e5c4687d109611d0f8f928b53a25af72448" : { - "balance" : "0x02540be400", + "782495b7b3355efb2833d56ecb34dc22ad7dfcc4" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { - "balance" : "0x02540be400", + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "d343b217de44030afaa275f54d31a9317c7f441e" : { - "balance" : "0x02540be400", + "8163e7fb499e90f8544ea62bbf80d21cd26d9efd" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "da2fef9e4a3230988ff17df2165440f37e8b1708" : { - "balance" : "0x02540be400", + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { - "balance" : "0x02540be400", + "85c2f277588ea1e6901ed59e587bea222c575f87" : { + "balance" : "0x0a", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "f14c14075d6c4ed84b86798af0956deef67365b5" : { - "balance" : "0x02540be400", + "86af3e9626fce1957c82e88cbf04ddf3a2ed7915" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "f4c64518ea10f995918a454158c6b61407ea345c" : { - "balance" : "0x02540be400", + "8888f1f195afa192cfee860698584c030f4c9db1" : { + "balance" : "0x049b9ca9a6943ace64", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { - "balance" : "0x02540be400", + "8d9edb3054ce5c5774a420ac37ebae0ac02343c6" : { + "balance" : "0x00", "code" : "0x", "nonce" : "0x00", "storage" : { } - } - } - }, - "DaoTransactions_EmptyTransaction" : { + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "97f43a37f595ab5dd318fb46e7a155eae057317a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9aa008f65de0b923a2a4f02012ad034a5e2e2192" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c15b54878ba618f494b38f0ae7443db6af648ba" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c50426be05db97f5d64fc54bf89eff947f0a321" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9da397b9e80755301a3b32173283a91c0ef6c87e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9ea779f907f0b315b364b0cfc39a0fde5b02a416" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9f27daea7aca0aa0446220b98d028715e3bc803d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9fcd2deaff372a39cc679d5c5e4de7bafb0b1339" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a2f1ccba9395d7fcb155bba8bc92db9bafaeade7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a3acf3a1e16b1d7c315e23510fdd7847b48234f6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a5dc5acd6a7968a4554d89d65e59b7fd3bff0f90" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a82f360a8d3455c5c41366975bde739c37bfeb8a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b93fb43", + "code" : "0x", + "nonce" : "0x11", + "storage" : { + } + }, + "ac1ecab32727358dba8962a0f3b261731aad9723" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "acd87e28b0c9d1254e868b81cba4cc20d9a32225" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "adf80daec7ba8dcf15392f1ac611fff65d94f880" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b1d37cf6180ceb738ca45b5005a2f418c02e204b" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b2c6f0dfbb716ac562e2d85d6cb2f8d5ee87603e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b3fb0e5aba0e20e5c49d252dfd30e102b171a425" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b52042c8ca3f8aa246fa79c3feaa3d959347c0ab" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b9637156d330c0d605a791f1c31ba5890582fe1c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bc07118b9ac290e4622f5e77a0853539789effbe" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bcf899e6c7d9d5a215ab1e3444c86806fa854c76" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "be8539bfe837b67d1282b2b1d61c3f723966f049" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bf4ed7b27f1d666546e30d74d50d173d20bca754" : { + "balance" : "0x010bc166ae40", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "c4bbd073882dd2add2424cf47d35213405b01324" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cc34673c6c40e791051898567a1222daf90be287" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ceaeb481747ca6c540a000c1f3641f8cef161fa7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d131637d5275fd1a68a3200f4ad25c71a2a9522e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d164b088bd9108b60d0ca3751da4bceb207b0782" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d1ac8b1ef1b69ff51d1d401a476e7e612414f091" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d4fe7bc31cedb7bfb8a345f31e668033056b2728" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d9aef3a1e38a39c16b31d1ace71bca8ef58d315b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e308bd1ac5fda103967359b2712dd89deffb7973" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e4ae1efdfc53b73893af49113d8694a057b9c0d1" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec0e71ad0a90ffe1909d27dac207f7680abba42d" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec8e57756626fdc07c63ad2eafbd28d08e7b0ca5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ecd135fa4f61a655311e86238c92adcd779555d2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f0b1aa0eb660754448a7937c022e30aa692fe0c5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f1385fb24aad0cd7432824085e42aff90886fef5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "pre" : { + "005f5cee7a43331d5a3d3eec71305925a62f34b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "057b56736d32b86616a10f619859c6cd6f59092a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "06706dd3f2c9abf0a21ddcc6941d9b86f0596936" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0737a6b837f97f46ebade41b9bc3e1c509c85c53" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "07f5c1e1bc2c93e0402f23341973a0e043f7bf8a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0e0da70933f4c7849fc0d203f5d1d43b9ae4532d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0ff30d6de14a8224aa97b78aea5388d1c51c1f00" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "12e626b0eebfe86a56d633b9864e389b45dcb260" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1591fc0f688c81fbeb17f5426a162a7024d430c2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1975bd06d486162d5dc297798dfc41edd5d160a7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1cba23d343a983e9b5cfd19496b9a9701ada385f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "200450f06520bdd6c527622a273333384d870efb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "23b75c2f6791eef49c69684db4c6c1f93bf49a50" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "24c4d950dfd4dd1902bbed3508144a54542bba94" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "253488078a4edf4d6f42f113d1e62836a942cf1a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "27b137a85656544b1ccb5a0f2e561a5703c6a68f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2a5ed960395e2a49b1c758cef4aa15213cfd874c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2c19c7f9ae8b751e37aeb2d93a699722395ae18f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "319f70bab6845585f412ec7724b744fec6095c85" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "35a051a0010aba705c9008d7a7eff6fb88f6ea7b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3ba4d81db016dc2890c81f3acec2454bff5aada5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3c02a7bc0391e86d91b7d144e61c2c01a25a79c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "40b803a9abce16f50f36a77ba41180eb90023925" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "440c59b325d2997a134c2c7c60a8c61611212bad" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4486a3d68fac6967006d7a517b889fd3f98c102b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "47e7aa56d6bdf3f36be34619660de61275420af8" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4863226780fe7c0356454236d3b1c8792785748d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "492ea3bb0f3315521c31f273e565b868fc090f17" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4cb31628079fb14e4bc3cd5e30c2f7489b00960c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4deb0033bb26bc534b197e61d19e0733e5679784" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fa802324e929786dbda3b8820dc7834e9134a2a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fd6ace747f06ece9c49699c7cabc62d02211f75" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "51e0ddd9998364a2eb38588679f0d2c42653e4a6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "52c5317c848ba20c7504cb2c8052abd1fde29d03" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "542a9515200d14b68e934e9830d91645a980dd7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5524c55fb03cf21f549444ccbecb664d0acad706" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "579a80d909f346fbfb1189493f521d7f48d52238" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "58b95c9a9d5d26825e70a82b6adb139d3fd829eb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c8536898fbb74fc7445814902fd08422eac56d0" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5d2b2e6fcbe3b11d26b525e085ff818dae332479" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5dc28b15dffed94048d73806ce4b7a4612a1d48f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5f9f3392e9f62f63b8eac0beb55541fc8627f42c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6131c42fa982e56929107413a9d526fd99405560" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6231b6d0d5e77fe001c2a460bd9584fee60d409b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "627a0a960c079c21c34f7612d5d230e01b4ad4c7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "63ed5a272de2f6d968408b4acb9024f4cc208ebf" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6966ab0d485353095148a2155858910e0965b6f9" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6d87578288b6cb5549d5076a207456a1f6a63dc0" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6f6704e5a10332af6672e50b3d9754dc460dfa4d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "779543a0491a837ca36ce8c635d6154e3c4911a6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "77ca7b50b6cd7e2f3fa008e24ab793fd56cb15f6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "782495b7b3355efb2833d56ecb34dc22ad7dfcc4" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8163e7fb499e90f8544ea62bbf80d21cd26d9efd" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "86af3e9626fce1957c82e88cbf04ddf3a2ed7915" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8d9edb3054ce5c5774a420ac37ebae0ac02343c6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "97f43a37f595ab5dd318fb46e7a155eae057317a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9aa008f65de0b923a2a4f02012ad034a5e2e2192" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c15b54878ba618f494b38f0ae7443db6af648ba" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c50426be05db97f5d64fc54bf89eff947f0a321" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9da397b9e80755301a3b32173283a91c0ef6c87e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9ea779f907f0b315b364b0cfc39a0fde5b02a416" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9f27daea7aca0aa0446220b98d028715e3bc803d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9fcd2deaff372a39cc679d5c5e4de7bafb0b1339" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a2f1ccba9395d7fcb155bba8bc92db9bafaeade7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a3acf3a1e16b1d7c315e23510fdd7847b48234f6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a5dc5acd6a7968a4554d89d65e59b7fd3bff0f90" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a82f360a8d3455c5c41366975bde739c37bfeb8a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b9aca00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ac1ecab32727358dba8962a0f3b261731aad9723" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "acd87e28b0c9d1254e868b81cba4cc20d9a32225" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "adf80daec7ba8dcf15392f1ac611fff65d94f880" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b2c6f0dfbb716ac562e2d85d6cb2f8d5ee87603e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b3fb0e5aba0e20e5c49d252dfd30e102b171a425" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b52042c8ca3f8aa246fa79c3feaa3d959347c0ab" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b9637156d330c0d605a791f1c31ba5890582fe1c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bc07118b9ac290e4622f5e77a0853539789effbe" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bcf899e6c7d9d5a215ab1e3444c86806fa854c76" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "be8539bfe837b67d1282b2b1d61c3f723966f049" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "c4bbd073882dd2add2424cf47d35213405b01324" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cc34673c6c40e791051898567a1222daf90be287" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ceaeb481747ca6c540a000c1f3641f8cef161fa7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d131637d5275fd1a68a3200f4ad25c71a2a9522e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d164b088bd9108b60d0ca3751da4bceb207b0782" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d1ac8b1ef1b69ff51d1d401a476e7e612414f091" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d4fe7bc31cedb7bfb8a345f31e668033056b2728" : { + "balance" : "0x0f4240", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d9aef3a1e38a39c16b31d1ace71bca8ef58d315b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e308bd1ac5fda103967359b2712dd89deffb7973" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e4ae1efdfc53b73893af49113d8694a057b9c0d1" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec8e57756626fdc07c63ad2eafbd28d08e7b0ca5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ecd135fa4f61a655311e86238c92adcd779555d2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f0b1aa0eb660754448a7937c022e30aa692fe0c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f1385fb24aad0cd7432824085e42aff90886fef5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + } + }, + "DaoTransactions_EmptyTransactionAndForkBlocksAhead" : { + "blocks" : [ + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020000", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "2d909e451e1b958a488fd067628526a424c0bc3fbb0afe78998e92f6ef92c880", + "mixHash" : "02c435f7b9734da7aa6db2217ba1a4522f3465a99006cbd44942272fc793e5c7", + "nonce" : "c94ecb5430e81c0c", + "number" : "0x01", + "parentHash" : "cad74b3b4723472b370737ffaf503f6f746bcae45bd5a39d767c5647afa5bb09", + "receiptTrie" : "37aee413d1d4f1335720ed1ee882bac4b2d41c8072453b23445020c951682054", + "stateRoot" : "d3f60d7c23e6d3e8eeaa691dd6d54b653e9d33ce579ed821a1e408c1e89cf01a", + "timestamp" : "0x5788dca6", + "transactionsTrie" : "ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "1", + "rlp" : "0xf9024cf901f9a0cad74b3b4723472b370737ffaf503f6f746bcae45bd5a39d767c5647afa5bb09a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0d3f60d7c23e6d3e8eeaa691dd6d54b653e9d33ce579ed821a1e408c1e89cf01aa0ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179a037aee413d1d4f1335720ed1ee882bac4b2d41c8072453b23445020c951682054b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832fefba825208845788dca680a002c435f7b9734da7aa6db2217ba1a4522f3465a99006cbd44942272fc793e5c788c94ecb5430e81c0cf84df84b8001827530800a801ca057cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9a05ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03ac0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0x57cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9", + "s" : "0x5ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03a", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020040", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "59d2678d1e13c27405ca21d6cc09303c52422c3eb5b9233f0431260e4314a8ff", + "mixHash" : "43d612b9569a9a1e1fcefc3fdff9ee4b15d6844c1b912925c15e852bc2eee47a", + "nonce" : "bc6be4c140452074", + "number" : "0x02", + "parentHash" : "2d909e451e1b958a488fd067628526a424c0bc3fbb0afe78998e92f6ef92c880", + "receiptTrie" : "9a62bdf5dbcf4d27f17a31d5506d3249c5a6ca549787b1902ba01584bb33cf64", + "stateRoot" : "c97eb33ff96a24bd16aaa76040aff370a690e6e52f0172eba3a436d7c867a988", + "timestamp" : "0x5788dcac", + "transactionsTrie" : "76c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abf", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "2", + "rlp" : "0xf9024cf901f9a02d909e451e1b958a488fd067628526a424c0bc3fbb0afe78998e92f6ef92c880a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c97eb33ff96a24bd16aaa76040aff370a690e6e52f0172eba3a436d7c867a988a076c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abfa09a62bdf5dbcf4d27f17a31d5506d3249c5a6ca549787b1902ba01584bb33cf64b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302004002832fefba825208845788dcac80a043d612b9569a9a1e1fcefc3fdff9ee4b15d6844c1b912925c15e852bc2eee47a88bc6be4c140452074f84df84b0101827530800a801ca0bb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1fa04bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x01", + "r" : "0xbb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1f", + "s" : "0x4bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020080", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "7051d31496dd62effea9d15df0bfa702853ccbe9febbcbaac756fe10c48afa31", + "mixHash" : "1267559086eed7764a14877cbc3ef681f1e8b6948d15f06babe3e99004fbe948", + "nonce" : "4806557d56b8ca98", + "number" : "0x03", + "parentHash" : "59d2678d1e13c27405ca21d6cc09303c52422c3eb5b9233f0431260e4314a8ff", + "receiptTrie" : "b9ca869c5641896a8e22fe74b4225c6a43cbc3303b24d13e0af94517180c8097", + "stateRoot" : "9cb74b15edd72a2075b114d9154f4bbdf784054658912024747ea9423e0d2af8", + "timestamp" : "0x5788dcb4", + "transactionsTrie" : "3798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "3", + "rlp" : "0xf9024cf901f9a059d2678d1e13c27405ca21d6cc09303c52422c3eb5b9233f0431260e4314a8ffa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a09cb74b15edd72a2075b114d9154f4bbdf784054658912024747ea9423e0d2af8a03798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2ca0b9ca869c5641896a8e22fe74b4225c6a43cbc3303b24d13e0af94517180c8097b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302008003832fefba825208845788dcb480a01267559086eed7764a14877cbc3ef681f1e8b6948d15f06babe3e99004fbe948884806557d56b8ca98f84df84b0201827530800a801ca0f6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055a075b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5ededc0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x02", + "r" : "0xf6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055", + "s" : "0x75b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5eded", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0200c0", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "2d861373e66c78d1d5eaa5833386489938365e7cb368a8666c5fbc215cbce406", + "mixHash" : "db2e0f7741e497b519d547dc38ef0531db80fd5410884545dfdaeb694dc57de1", + "nonce" : "fb70478bc0ec196f", + "number" : "0x04", + "parentHash" : "7051d31496dd62effea9d15df0bfa702853ccbe9febbcbaac756fe10c48afa31", + "receiptTrie" : "d69ea0fac668bb7ece043f8e6ac833c5d10a7d5bf08ebfe40a8dc1721a3aa4fd", + "stateRoot" : "aeaa38b30cbc02db5cd17a91e9212346cd839fafcb1fc06126cf64b5b782b877", + "timestamp" : "0x5788dcb6", + "transactionsTrie" : "4cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "4", + "rlp" : "0xf9024cf901f9a07051d31496dd62effea9d15df0bfa702853ccbe9febbcbaac756fe10c48afa31a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0aeaa38b30cbc02db5cd17a91e9212346cd839fafcb1fc06126cf64b5b782b877a04cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2ca0d69ea0fac668bb7ece043f8e6ac833c5d10a7d5bf08ebfe40a8dc1721a3aa4fdb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200c004832fefba825208845788dcb680a0db2e0f7741e497b519d547dc38ef0531db80fd5410884545dfdaeb694dc57de188fb70478bc0ec196ff84df84b0301827530800a801ca0753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dca066deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x03", + "r" : "0x753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dc", + "s" : "0x66deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020100", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xcf08", + "hash" : "5d08215124863936106a33d44911139e90b5727af7dd7e00f641e69b3651a6f7", + "mixHash" : "936c648b4f2d8097f8f38341961112d5002d725a43c916895af6478db2320dee", + "nonce" : "93aebe2f5096c2f0", + "number" : "0x05", + "parentHash" : "2d861373e66c78d1d5eaa5833386489938365e7cb368a8666c5fbc215cbce406", + "receiptTrie" : "d7f28f5ba69ca1893569465903e8d942153c57912f7d1f6b3e33088e8ad17fee", + "stateRoot" : "f54737efdead0a75d49cc6ceaedf75fd4aacf933e8f361a9a9c0a1647bcf6ab5", + "timestamp" : "0x5788dcbb", + "transactionsTrie" : "165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cd", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "5", + "rlp" : "0xf9024cf901f9a02d861373e66c78d1d5eaa5833386489938365e7cb368a8666c5fbc215cbce406a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0f54737efdead0a75d49cc6ceaedf75fd4aacf933e8f361a9a9c0a1647bcf6ab5a0165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cda0d7f28f5ba69ca1893569465903e8d942153c57912f7d1f6b3e33088e8ad17feeb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302010005832fefba82cf08845788dcbb80a0936c648b4f2d8097f8f38341961112d5002d725a43c916895af6478db2320dee8893aebe2f5096c2f0f84df84b040182ea60800a801ba0cb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169a07445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x04", + "r" : "0xcb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169", + "s" : "0x7445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62", + "to" : "", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020140", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xcf08", + "hash" : "acbdff199573486fb95c161701899d39b1c185b3d0b47f84e6dfeb523460b23d", + "mixHash" : "68b8605bad23304f622a5c84c7f3fa3b4552147c025ef7c4ccfc6eba9249f73a", + "nonce" : "a7abc8bf394b64c6", + "number" : "0x06", + "parentHash" : "5d08215124863936106a33d44911139e90b5727af7dd7e00f641e69b3651a6f7", + "receiptTrie" : "975eeeb6e46fc2d858080444f0536a1f3a688638fdf0bcbc1958dedc5eda4405", + "stateRoot" : "05ecd1a706137ddc9359328005f80a4ca233a4dc443748b04275e3ef6faed174", + "timestamp" : "0x5788dcbe", + "transactionsTrie" : "ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51be", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "6", + "rlp" : "0xf9024cf901f9a05d08215124863936106a33d44911139e90b5727af7dd7e00f641e69b3651a6f7a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a005ecd1a706137ddc9359328005f80a4ca233a4dc443748b04275e3ef6faed174a0ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51bea0975eeeb6e46fc2d858080444f0536a1f3a688638fdf0bcbc1958dedc5eda4405b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014006832fefba82cf08845788dcbe80a068b8605bad23304f622a5c84c7f3fa3b4552147c025ef7c4ccfc6eba9249f73a88a7abc8bf394b64c6f84df84b050182ea60800a801ba04d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435a023640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237eec0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x05", + "r" : "0x4d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435", + "s" : "0x23640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237ee", + "to" : "", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020180", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xa042", + "hash" : "f49bb56fe54a6b9b5f680fabdda650282ed775dfd61f680b1aa22ae7981ad0f3", + "mixHash" : "fa179ecc633681c23745afc1b9302c33b34713054722cc90fcafa66c4626af9b", + "nonce" : "da2c320a8cf4466b", + "number" : "0x07", + "parentHash" : "acbdff199573486fb95c161701899d39b1c185b3d0b47f84e6dfeb523460b23d", + "receiptTrie" : "aec104fc55d9aa0c1767af2dcf73c512f650f24bf89b9b78eb236d70a2de848f", + "stateRoot" : "40d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029", + "timestamp" : "0x5788dcc4", + "transactionsTrie" : "b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "7", + "rlp" : "0xf90260f901f9a0acbdff199573486fb95c161701899d39b1c185b3d0b47f84e6dfeb523460b23da01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a040d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029a0b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341ca0aec104fc55d9aa0c1767af2dcf73c512f650f24bf89b9b78eb236d70a2de848fb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018007832fefba82a042845788dcc480a0fa179ecc633681c23745afc1b9302c33b34713054722cc90fcafa66c4626af9b88da2c320a8cf4466bf861f85f060182ea609410000000000000000000000000000000000000070a801ba0bb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9a010ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81bc0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x06", + "r" : "0xbb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9", + "s" : "0x10ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81b", + "to" : "1000000000000000000000000000000000000007", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "8", + "rlp" : "0xf901e8f901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80c0c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0201c0", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x00", + "hash" : "f72712a3cc7a529b9f546210021b6656869b4b7a087ae7edd46813b3d16d6f33", + "mixHash" : "ce2560cb248158e7d6dc7b91b9c9bfe33ec595e0b8c28949295fd0f3825fb3c5", + "nonce" : "e1456cf26b175da3", + "number" : "0x08", + "parentHash" : "f49bb56fe54a6b9b5f680fabdda650282ed775dfd61f680b1aa22ae7981ad0f3", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "c98502a5a62b5f861b5b8a73b1bdcf94045f2929024e5cc9d8af8e3989c388e1", + "timestamp" : "0x5788dccd", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "8", + "rlp" : "0xf90209f90204a0f49bb56fe54a6b9b5f680fabdda650282ed775dfd61f680b1aa22ae7981ad0f3a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c98502a5a62b5f861b5b8a73b1bdcf94045f2929024e5cc9d8af8e3989c388e1a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201c008832fefba80845788dccd8d64616f2d686172642d666f726ba0ce2560cb248158e7d6dc7b91b9c9bfe33ec595e0b8c28949295fd0f3825fb3c588e1456cf26b175da3c0c0", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020200", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x65aa", + "hash" : "f413ffd0487431795bb6ddc294a5d1bf3521ec030306c2753d16fad0faa7a75a", + "mixHash" : "0d26e09d369ab5b1fc31616bc6d88eecf0c34f548c5491a508c3ae31dbebb301", + "nonce" : "584a1e99e55da8aa", + "number" : "0x09", + "parentHash" : "f72712a3cc7a529b9f546210021b6656869b4b7a087ae7edd46813b3d16d6f33", + "receiptTrie" : "495e1248e1c24cb86cd27272086718c404d4b87531e03fa943ff149511a0faa6", + "stateRoot" : "deb10c3f01687b15e4c3af95f7d12cf003e80af3196bc77a80fafa75b527c31d", + "timestamp" : "0x5788dcd3", + "transactionsTrie" : "964e2a482dc1856fff3b00f545aaf8720aeef70a3ffe86cebf05bbc2c34bf539", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "9", + "rlp" : "0xf9026df90206a0f72712a3cc7a529b9f546210021b6656869b4b7a087ae7edd46813b3d16d6f33a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0deb10c3f01687b15e4c3af95f7d12cf003e80af3196bc77a80fafa75b527c31da0964e2a482dc1856fff3b00f545aaf8720aeef70a3ffe86cebf05bbc2c34bf539a0495e1248e1c24cb86cd27272086718c404d4b87531e03fa943ff149511a0faa6b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302020009832fefba8265aa845788dcd38d64616f2d686172642d666f726ba00d26e09d369ab5b1fc31616bc6d88eecf0c34f548c5491a508c3ae31dbebb30188584a1e99e55da8aaf861f85f070182ea6094100000000000000000000000000000000000000801801ba09e18981c45e9f6bb54e3f52cae58f2c3c00f2220a9f1c788d0ee3fc2394d4956a038207c17c10faae1fa83bff79770fa38134a19b6ca6f04059d7a307c05f67e6ac0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x07", + "r" : "0x9e18981c45e9f6bb54e3f52cae58f2c3c00f2220a9f1c788d0ee3fc2394d4956", + "s" : "0x38207c17c10faae1fa83bff79770fa38134a19b6ca6f04059d7a307c05f67e6a", + "to" : "1000000000000000000000000000000000000008", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "10", + "rlp" : "0xf90236f901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f84df84b080182ea608001801ba066a8a933ff9208ecb2334a7edcf0592751d68e5e9cf155814238cd3072a7d38ba02cd8720983a8172b1304aad194d3f2ea3daeaf5c51bc3dc983d8218448f063bdc0" + }, + { + "blocknumber" : "11", + "rlp" : "0xf90236f901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80f84df84b090182ea608001801ba08c41aab2b35a0c8c82f88076fe817d2c3a261e6bbab3c270f2d5f6c8ba077f2ea04861726cfb49b87296466ab8cf0790d7790e7e371168dc7e960361bc3479e985c0" + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x2fefd8", + "gasUsed" : "0x00", + "hash" : "cad74b3b4723472b370737ffaf503f6f746bcae45bd5a39d767c5647afa5bb09", + "mixHash" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0102030405060708", + "number" : "0x00", + "parentHash" : "0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "6bff69e94b94f30e1b69f86d3e09712edfb583ac73a46a522345e1965ca9c66d", + "timestamp" : "0x54c98c81", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901fcf901f7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a06bff69e94b94f30e1b69f86d3e09712edfb583ac73a46a522345e1965ca9c66da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080832fefd8808454c98c8142a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", + "lastblockhash" : "f413ffd0487431795bb6ddc294a5d1bf3521ec030306c2753d16fad0faa7a75a", + "postState" : { + "005f5cee7a43331d5a3d3eec71305925a62f34b6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "057b56736d32b86616a10f619859c6cd6f59092a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "06706dd3f2c9abf0a21ddcc6941d9b86f0596936" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0737a6b837f97f46ebade41b9bc3e1c509c85c53" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "07f5c1e1bc2c93e0402f23341973a0e043f7bf8a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0c243ebe6a031753dc0dd850acf422844a3efb76" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0e0da70933f4c7849fc0d203f5d1d43b9ae4532d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0ff30d6de14a8224aa97b78aea5388d1c51c1f00" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0x0a", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x02540be400" + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x01", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "12e626b0eebfe86a56d633b9864e389b45dcb260" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1591fc0f688c81fbeb17f5426a162a7024d430c2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1975bd06d486162d5dc297798dfc41edd5d160a7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1cba23d343a983e9b5cfd19496b9a9701ada385f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "200450f06520bdd6c527622a273333384d870efb" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "23b75c2f6791eef49c69684db4c6c1f93bf49a50" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "248f0f0f33eadb89e9d87fd5c127f58567f3ffde" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "24c4d950dfd4dd1902bbed3508144a54542bba94" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "253488078a4edf4d6f42f113d1e62836a942cf1a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "27b137a85656544b1ccb5a0f2e561a5703c6a68f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2a5ed960395e2a49b1c758cef4aa15213cfd874c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2c19c7f9ae8b751e37aeb2d93a699722395ae18f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "319f70bab6845585f412ec7724b744fec6095c85" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "35a051a0010aba705c9008d7a7eff6fb88f6ea7b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3ba4d81db016dc2890c81f3acec2454bff5aada5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3c02a7bc0391e86d91b7d144e61c2c01a25a79c5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "40b803a9abce16f50f36a77ba41180eb90023925" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "440c59b325d2997a134c2c7c60a8c61611212bad" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4486a3d68fac6967006d7a517b889fd3f98c102b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "47e7aa56d6bdf3f36be34619660de61275420af8" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4863226780fe7c0356454236d3b1c8792785748d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "492ea3bb0f3315521c31f273e565b868fc090f17" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4cb31628079fb14e4bc3cd5e30c2f7489b00960c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4deb0033bb26bc534b197e61d19e0733e5679784" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fa802324e929786dbda3b8820dc7834e9134a2a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fd6ace747f06ece9c49699c7cabc62d02211f75" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "51e0ddd9998364a2eb38588679f0d2c42653e4a6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "52c5317c848ba20c7504cb2c8052abd1fde29d03" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "542a9515200d14b68e934e9830d91645a980dd7a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5524c55fb03cf21f549444ccbecb664d0acad706" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "579a80d909f346fbfb1189493f521d7f48d52238" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "58b95c9a9d5d26825e70a82b6adb139d3fd829eb" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c8536898fbb74fc7445814902fd08422eac56d0" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5d2b2e6fcbe3b11d26b525e085ff818dae332479" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5dc28b15dffed94048d73806ce4b7a4612a1d48f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5f9f3392e9f62f63b8eac0beb55541fc8627f42c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6131c42fa982e56929107413a9d526fd99405560" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6231b6d0d5e77fe001c2a460bd9584fee60d409b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "627a0a960c079c21c34f7612d5d230e01b4ad4c7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "63ed5a272de2f6d968408b4acb9024f4cc208ebf" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6966ab0d485353095148a2155858910e0965b6f9" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6d87578288b6cb5549d5076a207456a1f6a63dc0" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6f6704e5a10332af6672e50b3d9754dc460dfa4d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "779543a0491a837ca36ce8c635d6154e3c4911a6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "77ca7b50b6cd7e2f3fa008e24ab793fd56cb15f6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "782495b7b3355efb2833d56ecb34dc22ad7dfcc4" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8163e7fb499e90f8544ea62bbf80d21cd26d9efd" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "85c2f277588ea1e6901ed59e587bea222c575f87" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "86af3e9626fce1957c82e88cbf04ddf3a2ed7915" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8888f1f195afa192cfee860698584c030f4c9db1" : { + "balance" : "0x0270801d946c97ec1c", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8d9edb3054ce5c5774a420ac37ebae0ac02343c6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "97f43a37f595ab5dd318fb46e7a155eae057317a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9aa008f65de0b923a2a4f02012ad034a5e2e2192" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c15b54878ba618f494b38f0ae7443db6af648ba" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c50426be05db97f5d64fc54bf89eff947f0a321" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9da397b9e80755301a3b32173283a91c0ef6c87e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9ea779f907f0b315b364b0cfc39a0fde5b02a416" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9f27daea7aca0aa0446220b98d028715e3bc803d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9fcd2deaff372a39cc679d5c5e4de7bafb0b1339" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a2f1ccba9395d7fcb155bba8bc92db9bafaeade7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a3acf3a1e16b1d7c315e23510fdd7847b48234f6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a5dc5acd6a7968a4554d89d65e59b7fd3bff0f90" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a82f360a8d3455c5c41366975bde739c37bfeb8a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b96dd9d", + "code" : "0x", + "nonce" : "0x08", + "storage" : { + } + }, + "ac1ecab32727358dba8962a0f3b261731aad9723" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "acd87e28b0c9d1254e868b81cba4cc20d9a32225" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "adf80daec7ba8dcf15392f1ac611fff65d94f880" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b1d37cf6180ceb738ca45b5005a2f418c02e204b" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b2c6f0dfbb716ac562e2d85d6cb2f8d5ee87603e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b3fb0e5aba0e20e5c49d252dfd30e102b171a425" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b52042c8ca3f8aa246fa79c3feaa3d959347c0ab" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b9637156d330c0d605a791f1c31ba5890582fe1c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bc07118b9ac290e4622f5e77a0853539789effbe" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bcf899e6c7d9d5a215ab1e3444c86806fa854c76" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "be8539bfe837b67d1282b2b1d61c3f723966f049" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bf4ed7b27f1d666546e30d74d50d173d20bca754" : { + "balance" : "0x010bc166ae40", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "c4bbd073882dd2add2424cf47d35213405b01324" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cc34673c6c40e791051898567a1222daf90be287" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ceaeb481747ca6c540a000c1f3641f8cef161fa7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d131637d5275fd1a68a3200f4ad25c71a2a9522e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d164b088bd9108b60d0ca3751da4bceb207b0782" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d1ac8b1ef1b69ff51d1d401a476e7e612414f091" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d4fe7bc31cedb7bfb8a345f31e668033056b2728" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d9aef3a1e38a39c16b31d1ace71bca8ef58d315b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e308bd1ac5fda103967359b2712dd89deffb7973" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e4ae1efdfc53b73893af49113d8694a057b9c0d1" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec0e71ad0a90ffe1909d27dac207f7680abba42d" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec8e57756626fdc07c63ad2eafbd28d08e7b0ca5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ecd135fa4f61a655311e86238c92adcd779555d2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f0b1aa0eb660754448a7937c022e30aa692fe0c5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f1385fb24aad0cd7432824085e42aff90886fef5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "pre" : { + "005f5cee7a43331d5a3d3eec71305925a62f34b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "057b56736d32b86616a10f619859c6cd6f59092a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "06706dd3f2c9abf0a21ddcc6941d9b86f0596936" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0737a6b837f97f46ebade41b9bc3e1c509c85c53" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "07f5c1e1bc2c93e0402f23341973a0e043f7bf8a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0e0da70933f4c7849fc0d203f5d1d43b9ae4532d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0ff30d6de14a8224aa97b78aea5388d1c51c1f00" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "12e626b0eebfe86a56d633b9864e389b45dcb260" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1591fc0f688c81fbeb17f5426a162a7024d430c2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1975bd06d486162d5dc297798dfc41edd5d160a7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1cba23d343a983e9b5cfd19496b9a9701ada385f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "200450f06520bdd6c527622a273333384d870efb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "23b75c2f6791eef49c69684db4c6c1f93bf49a50" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "24c4d950dfd4dd1902bbed3508144a54542bba94" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "253488078a4edf4d6f42f113d1e62836a942cf1a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "27b137a85656544b1ccb5a0f2e561a5703c6a68f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2a5ed960395e2a49b1c758cef4aa15213cfd874c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2c19c7f9ae8b751e37aeb2d93a699722395ae18f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "319f70bab6845585f412ec7724b744fec6095c85" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "35a051a0010aba705c9008d7a7eff6fb88f6ea7b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3ba4d81db016dc2890c81f3acec2454bff5aada5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3c02a7bc0391e86d91b7d144e61c2c01a25a79c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "40b803a9abce16f50f36a77ba41180eb90023925" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "440c59b325d2997a134c2c7c60a8c61611212bad" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4486a3d68fac6967006d7a517b889fd3f98c102b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "47e7aa56d6bdf3f36be34619660de61275420af8" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4863226780fe7c0356454236d3b1c8792785748d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "492ea3bb0f3315521c31f273e565b868fc090f17" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4cb31628079fb14e4bc3cd5e30c2f7489b00960c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4deb0033bb26bc534b197e61d19e0733e5679784" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fa802324e929786dbda3b8820dc7834e9134a2a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fd6ace747f06ece9c49699c7cabc62d02211f75" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "51e0ddd9998364a2eb38588679f0d2c42653e4a6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "52c5317c848ba20c7504cb2c8052abd1fde29d03" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "542a9515200d14b68e934e9830d91645a980dd7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5524c55fb03cf21f549444ccbecb664d0acad706" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "579a80d909f346fbfb1189493f521d7f48d52238" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "58b95c9a9d5d26825e70a82b6adb139d3fd829eb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c8536898fbb74fc7445814902fd08422eac56d0" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5d2b2e6fcbe3b11d26b525e085ff818dae332479" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5dc28b15dffed94048d73806ce4b7a4612a1d48f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5f9f3392e9f62f63b8eac0beb55541fc8627f42c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6131c42fa982e56929107413a9d526fd99405560" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6231b6d0d5e77fe001c2a460bd9584fee60d409b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "627a0a960c079c21c34f7612d5d230e01b4ad4c7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "63ed5a272de2f6d968408b4acb9024f4cc208ebf" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6966ab0d485353095148a2155858910e0965b6f9" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6d87578288b6cb5549d5076a207456a1f6a63dc0" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6f6704e5a10332af6672e50b3d9754dc460dfa4d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "779543a0491a837ca36ce8c635d6154e3c4911a6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "77ca7b50b6cd7e2f3fa008e24ab793fd56cb15f6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "782495b7b3355efb2833d56ecb34dc22ad7dfcc4" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8163e7fb499e90f8544ea62bbf80d21cd26d9efd" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "86af3e9626fce1957c82e88cbf04ddf3a2ed7915" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8d9edb3054ce5c5774a420ac37ebae0ac02343c6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "97f43a37f595ab5dd318fb46e7a155eae057317a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9aa008f65de0b923a2a4f02012ad034a5e2e2192" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c15b54878ba618f494b38f0ae7443db6af648ba" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c50426be05db97f5d64fc54bf89eff947f0a321" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9da397b9e80755301a3b32173283a91c0ef6c87e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9ea779f907f0b315b364b0cfc39a0fde5b02a416" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9f27daea7aca0aa0446220b98d028715e3bc803d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9fcd2deaff372a39cc679d5c5e4de7bafb0b1339" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a2f1ccba9395d7fcb155bba8bc92db9bafaeade7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a3acf3a1e16b1d7c315e23510fdd7847b48234f6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a5dc5acd6a7968a4554d89d65e59b7fd3bff0f90" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a82f360a8d3455c5c41366975bde739c37bfeb8a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b9aca00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ac1ecab32727358dba8962a0f3b261731aad9723" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "acd87e28b0c9d1254e868b81cba4cc20d9a32225" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "adf80daec7ba8dcf15392f1ac611fff65d94f880" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b2c6f0dfbb716ac562e2d85d6cb2f8d5ee87603e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b3fb0e5aba0e20e5c49d252dfd30e102b171a425" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b52042c8ca3f8aa246fa79c3feaa3d959347c0ab" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b9637156d330c0d605a791f1c31ba5890582fe1c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bc07118b9ac290e4622f5e77a0853539789effbe" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bcf899e6c7d9d5a215ab1e3444c86806fa854c76" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "be8539bfe837b67d1282b2b1d61c3f723966f049" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "c4bbd073882dd2add2424cf47d35213405b01324" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cc34673c6c40e791051898567a1222daf90be287" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ceaeb481747ca6c540a000c1f3641f8cef161fa7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d131637d5275fd1a68a3200f4ad25c71a2a9522e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d164b088bd9108b60d0ca3751da4bceb207b0782" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d1ac8b1ef1b69ff51d1d401a476e7e612414f091" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d4fe7bc31cedb7bfb8a345f31e668033056b2728" : { + "balance" : "0x0f4240", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d9aef3a1e38a39c16b31d1ace71bca8ef58d315b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e308bd1ac5fda103967359b2712dd89deffb7973" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e4ae1efdfc53b73893af49113d8694a057b9c0d1" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec8e57756626fdc07c63ad2eafbd28d08e7b0ca5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ecd135fa4f61a655311e86238c92adcd779555d2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f0b1aa0eb660754448a7937c022e30aa692fe0c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f1385fb24aad0cd7432824085e42aff90886fef5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + } + }, + "DaoTransactions_UncleExtradata" : { + "blocks" : [ + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020000", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "6a6235d2937cb55dd1bb0c84f64943011c6b9aa655ecf949d0f3677d3df37fe9", + "mixHash" : "dc5b0e1a8b5e111a45474596139eceef6e3ef2c96226dacf6e282262a7e69d5a", + "nonce" : "09e6701cc7e04da7", + "number" : "0x01", + "parentHash" : "cad74b3b4723472b370737ffaf503f6f746bcae45bd5a39d767c5647afa5bb09", + "receiptTrie" : "37aee413d1d4f1335720ed1ee882bac4b2d41c8072453b23445020c951682054", + "stateRoot" : "d3f60d7c23e6d3e8eeaa691dd6d54b653e9d33ce579ed821a1e408c1e89cf01a", + "timestamp" : "0x5788dce1", + "transactionsTrie" : "ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "1", + "rlp" : "0xf9024cf901f9a0cad74b3b4723472b370737ffaf503f6f746bcae45bd5a39d767c5647afa5bb09a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0d3f60d7c23e6d3e8eeaa691dd6d54b653e9d33ce579ed821a1e408c1e89cf01aa0ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179a037aee413d1d4f1335720ed1ee882bac4b2d41c8072453b23445020c951682054b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832fefba825208845788dce180a0dc5b0e1a8b5e111a45474596139eceef6e3ef2c96226dacf6e282262a7e69d5a8809e6701cc7e04da7f84df84b8001827530800a801ca057cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9a05ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03ac0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x00", + "r" : "0x57cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9", + "s" : "0x5ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03a", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020040", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "d79fd92f80a0745c29abc6e28578aeb8f063f2dec88c246e241b5dd5bdb8ba7d", + "mixHash" : "c39d82b340083da577ef2f0299521ecdf7062575dad75cb15566b77869493a4e", + "nonce" : "a0344ef0a4622d51", + "number" : "0x02", + "parentHash" : "6a6235d2937cb55dd1bb0c84f64943011c6b9aa655ecf949d0f3677d3df37fe9", + "receiptTrie" : "9a62bdf5dbcf4d27f17a31d5506d3249c5a6ca549787b1902ba01584bb33cf64", + "stateRoot" : "c97eb33ff96a24bd16aaa76040aff370a690e6e52f0172eba3a436d7c867a988", + "timestamp" : "0x5788dce9", + "transactionsTrie" : "76c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abf", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "2", + "rlp" : "0xf9024cf901f9a06a6235d2937cb55dd1bb0c84f64943011c6b9aa655ecf949d0f3677d3df37fe9a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c97eb33ff96a24bd16aaa76040aff370a690e6e52f0172eba3a436d7c867a988a076c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abfa09a62bdf5dbcf4d27f17a31d5506d3249c5a6ca549787b1902ba01584bb33cf64b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302004002832fefba825208845788dce980a0c39d82b340083da577ef2f0299521ecdf7062575dad75cb15566b77869493a4e88a0344ef0a4622d51f84df84b0101827530800a801ca0bb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1fa04bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x01", + "r" : "0xbb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1f", + "s" : "0x4bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020080", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "a067ecb45dd483817f54e229556952f8eb6ffa57a88b29e989c0e3ea9f21d3fb", + "mixHash" : "2bbcca39f731d951481da431940b17549721062c1d213c6b6f49099030ad5767", + "nonce" : "94eaf9f574478fe4", + "number" : "0x03", + "parentHash" : "d79fd92f80a0745c29abc6e28578aeb8f063f2dec88c246e241b5dd5bdb8ba7d", + "receiptTrie" : "b9ca869c5641896a8e22fe74b4225c6a43cbc3303b24d13e0af94517180c8097", + "stateRoot" : "9cb74b15edd72a2075b114d9154f4bbdf784054658912024747ea9423e0d2af8", + "timestamp" : "0x5788dcec", + "transactionsTrie" : "3798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "3", + "rlp" : "0xf9024cf901f9a0d79fd92f80a0745c29abc6e28578aeb8f063f2dec88c246e241b5dd5bdb8ba7da01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a09cb74b15edd72a2075b114d9154f4bbdf784054658912024747ea9423e0d2af8a03798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2ca0b9ca869c5641896a8e22fe74b4225c6a43cbc3303b24d13e0af94517180c8097b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302008003832fefba825208845788dcec80a02bbcca39f731d951481da431940b17549721062c1d213c6b6f49099030ad57678894eaf9f574478fe4f84df84b0201827530800a801ca0f6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055a075b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5ededc0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x02", + "r" : "0xf6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055", + "s" : "0x75b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5eded", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0200c0", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "f0b1b300b01ca901967fd47745e84afaf28c2d15f863da355e5791b94a911107", + "mixHash" : "28e1a30ba4c89a6b1a5ff007226250b3091b4bb930ce6b83a07c8e835c83f52d", + "nonce" : "54210a32ae9561fd", + "number" : "0x04", + "parentHash" : "a067ecb45dd483817f54e229556952f8eb6ffa57a88b29e989c0e3ea9f21d3fb", + "receiptTrie" : "d69ea0fac668bb7ece043f8e6ac833c5d10a7d5bf08ebfe40a8dc1721a3aa4fd", + "stateRoot" : "aeaa38b30cbc02db5cd17a91e9212346cd839fafcb1fc06126cf64b5b782b877", + "timestamp" : "0x5788dcf0", + "transactionsTrie" : "4cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "4", + "rlp" : "0xf9024cf901f9a0a067ecb45dd483817f54e229556952f8eb6ffa57a88b29e989c0e3ea9f21d3fba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0aeaa38b30cbc02db5cd17a91e9212346cd839fafcb1fc06126cf64b5b782b877a04cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2ca0d69ea0fac668bb7ece043f8e6ac833c5d10a7d5bf08ebfe40a8dc1721a3aa4fdb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200c004832fefba825208845788dcf080a028e1a30ba4c89a6b1a5ff007226250b3091b4bb930ce6b83a07c8e835c83f52d8854210a32ae9561fdf84df84b0301827530800a801ca0753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dca066deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0x7530", + "gasPrice" : "0x01", + "nonce" : "0x03", + "r" : "0x753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dc", + "s" : "0x66deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0", + "to" : "", + "v" : "0x1c", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020100", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xcf08", + "hash" : "48c11a9d9affbcd36782770bc512f0fdc5b31dbef334fc6dea2ce6f6a6d1741a", + "mixHash" : "b3c1ccf41831ee494eab1190c9f69a9d671031114342821bc327a30cf3d74bf2", + "nonce" : "395f46219e639a8a", + "number" : "0x05", + "parentHash" : "f0b1b300b01ca901967fd47745e84afaf28c2d15f863da355e5791b94a911107", + "receiptTrie" : "d7f28f5ba69ca1893569465903e8d942153c57912f7d1f6b3e33088e8ad17fee", + "stateRoot" : "f54737efdead0a75d49cc6ceaedf75fd4aacf933e8f361a9a9c0a1647bcf6ab5", + "timestamp" : "0x5788dcf4", + "transactionsTrie" : "165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cd", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "5", + "rlp" : "0xf9024cf901f9a0f0b1b300b01ca901967fd47745e84afaf28c2d15f863da355e5791b94a911107a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0f54737efdead0a75d49cc6ceaedf75fd4aacf933e8f361a9a9c0a1647bcf6ab5a0165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cda0d7f28f5ba69ca1893569465903e8d942153c57912f7d1f6b3e33088e8ad17feeb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302010005832fefba82cf08845788dcf480a0b3c1ccf41831ee494eab1190c9f69a9d671031114342821bc327a30cf3d74bf288395f46219e639a8af84df84b040182ea60800a801ba0cb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169a07445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62c0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x04", + "r" : "0xcb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169", + "s" : "0x7445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62", + "to" : "", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020140", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xcf08", + "hash" : "5fc71cd93151a07d5c8e223178a472dfadf85c7c0d601c461bb2412ad90008cf", + "mixHash" : "8cf9efd45d62f0c5e539295f5c88f2d41a449fa31413a4ac2fa0b679f41cdd46", + "nonce" : "76c3a1561e24c932", + "number" : "0x06", + "parentHash" : "48c11a9d9affbcd36782770bc512f0fdc5b31dbef334fc6dea2ce6f6a6d1741a", + "receiptTrie" : "975eeeb6e46fc2d858080444f0536a1f3a688638fdf0bcbc1958dedc5eda4405", + "stateRoot" : "05ecd1a706137ddc9359328005f80a4ca233a4dc443748b04275e3ef6faed174", + "timestamp" : "0x5788dcf7", + "transactionsTrie" : "ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51be", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "6", + "rlp" : "0xf9024cf901f9a048c11a9d9affbcd36782770bc512f0fdc5b31dbef334fc6dea2ce6f6a6d1741aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a005ecd1a706137ddc9359328005f80a4ca233a4dc443748b04275e3ef6faed174a0ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51bea0975eeeb6e46fc2d858080444f0536a1f3a688638fdf0bcbc1958dedc5eda4405b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014006832fefba82cf08845788dcf780a08cf9efd45d62f0c5e539295f5c88f2d41a449fa31413a4ac2fa0b679f41cdd468876c3a1561e24c932f84df84b050182ea60800a801ba04d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435a023640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237eec0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x05", + "r" : "0x4d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435", + "s" : "0x23640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237ee", + "to" : "", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020180", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0xa042", + "hash" : "faf53d9cbf0bb0503e4313936019eb34a342b75770f6c2d92412d1fe38a99265", + "mixHash" : "f117fd70e501a76776c5dd7c227a2ae6d28aa5a4422b9ce31fdd3d57d411c6b3", + "nonce" : "33b7682fbfa5a723", + "number" : "0x07", + "parentHash" : "5fc71cd93151a07d5c8e223178a472dfadf85c7c0d601c461bb2412ad90008cf", + "receiptTrie" : "aec104fc55d9aa0c1767af2dcf73c512f650f24bf89b9b78eb236d70a2de848f", + "stateRoot" : "40d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029", + "timestamp" : "0x5788dcfc", + "transactionsTrie" : "b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341c", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "7", + "rlp" : "0xf90260f901f9a05fc71cd93151a07d5c8e223178a472dfadf85c7c0d601c461bb2412ad90008cfa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a040d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029a0b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341ca0aec104fc55d9aa0c1767af2dcf73c512f650f24bf89b9b78eb236d70a2de848fb90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018007832fefba82a042845788dcfc80a0f117fd70e501a76776c5dd7c227a2ae6d28aa5a4422b9ce31fdd3d57d411c6b38833b7682fbfa5a723f861f85f060182ea609410000000000000000000000000000000000000070a801ba0bb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9a010ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81bc0", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x06", + "r" : "0xbb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9", + "s" : "0x10ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81b", + "to" : "1000000000000000000000000000000000000007", + "v" : "0x1b", + "value" : "0x0a" + } + ], + "uncleHeaders" : [ + ] + }, + { + "blocknumber" : "8", + "rlp" : "0xf901e8f901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80c0c0" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0201c0", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x00", + "hash" : "0101dba7ec26e5cbe190ca00a34ce4b6f7ead20b0e77ebc8db7ea02eb4d56322", + "mixHash" : "90da7c2e5e892d3ca197843e4d70c4c1b4db9b437f6911c7dc0cb2e9b5ce5be0", + "nonce" : "51dac304188a318e", + "number" : "0x08", + "parentHash" : "faf53d9cbf0bb0503e4313936019eb34a342b75770f6c2d92412d1fe38a99265", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "2c4f51b520aa26de8db4dc7d8d70eb0bbf8ce35afc6d61ed09881869d2feaa78", + "timestamp" : "0x5788dd05", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "bea28d341a7519c623e60a8f6eb59c216e918b839e87eb3004af1896aea29397" + }, + "blocknumber" : "8", + "rlp" : "0xf90405f90204a0faf53d9cbf0bb0503e4313936019eb34a342b75770f6c2d92412d1fe38a99265a0bea28d341a7519c623e60a8f6eb59c216e918b839e87eb3004af1896aea29397948888f1f195afa192cfee860698584c030f4c9db1a02c4f51b520aa26de8db4dc7d8d70eb0bbf8ce35afc6d61ed09881869d2feaa78a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201c008832fefba80845788dd058d64616f2d686172642d666f726ba090da7c2e5e892d3ca197843e4d70c4c1b4db9b437f6911c7dc0cb2e9b5ce5be08851dac304188a318ec0f901faf901f7a05fc71cd93151a07d5c8e223178a472dfadf85c7c0d601c461bb2412ad90008cfa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a005ecd1a706137ddc9359328005f80a4ca233a4dc443748b04275e3ef6faed174a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014007832fefba80845788dd0480a0afe4af48fc8d02068f2f45db556679093e0bff8e468f09bb9cc85565eb4917db88b0ae44f2f84decfb", + "transactions" : [ + ], + "uncleHeaders" : [ + { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0000000000000000000000000000000000000000", + "difficulty" : "0x020140", + "extraData" : "0x", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x00", + "hash" : "e4dd13214af7bbb7505256ae793b3ab744b9c055a296e31460ff7e8bc5854730", + "mixHash" : "afe4af48fc8d02068f2f45db556679093e0bff8e468f09bb9cc85565eb4917db", + "nonce" : "b0ae44f2f84decfb", + "number" : "0x07", + "parentHash" : "5fc71cd93151a07d5c8e223178a472dfadf85c7c0d601c461bb2412ad90008cf", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "05ecd1a706137ddc9359328005f80a4ca233a4dc443748b04275e3ef6faed174", + "timestamp" : "0x5788dd04", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + } + ] + }, + { + "blocknumber" : "9", + "rlp" : "0xf90670f90206a00101dba7ec26e5cbe190ca00a34ce4b6f7ead20b0e77ebc8db7ea02eb4d56322a0e51c2b710360bb753022b0c98232a56129062b29e1c0821d3370f09f9fd41a45948888f1f195afa192cfee860698584c030f4c9db1a0f57f69858375f69a698ad907ede7a2475a95cce18e5f17b612a3e3083c5106ada0964e2a482dc1856fff3b00f545aaf8720aeef70a3ffe86cebf05bbc2c34bf539a05691b60b35567c06fd15723f333ee23a85b059e2a63e05b1bf0dd6a61d10b7d4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201c009832fefba8265aa845788dd188d64616f2d686172642d666f726ba0da8d1ebb0584e85f5eedc7d7468eb7884f13698a02ddc85e880dfc193ca7b3d3887bb80ac0706f11e9f861f85f070182ea6094100000000000000000000000000000000000000801801ba09e18981c45e9f6bb54e3f52cae58f2c3c00f2220a9f1c788d0ee3fc2394d4956a038207c17c10faae1fa83bff79770fa38134a19b6ca6f04059d7a307c05f67e6af90401f90204a0faf53d9cbf0bb0503e4313936019eb34a342b75770f6c2d92412d1fe38a99265a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a040d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018008832fefba80845788dd0c8d64616f2d686172642d666f726ba0ded20d0e31e931d74374026b4b931f0510b1c0b02fb3f76312195b8b74ad83938806b256afd30a542ff901f7a0faf53d9cbf0bb0503e4313936019eb34a342b75770f6c2d92412d1fe38a99265a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a040d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014008832fefba80845788dd1180a05c67667031b65a3d1520ab7fd79fd1dcc53b608155235f19ce92b2104bf7d51a887a3058ce3363d576" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020180", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x65aa", + "hash" : "47fbd76ebee44e255941f76197c8ea50697e4b5d2f07477575ad1b1b2d4f0467", + "mixHash" : "fcb6b3c42755d3c943c7b97da78fe729cc791d53631f140f3c2466ad06098282", + "nonce" : "f4e5de74b2c0afd3", + "number" : "0x09", + "parentHash" : "0101dba7ec26e5cbe190ca00a34ce4b6f7ead20b0e77ebc8db7ea02eb4d56322", + "receiptTrie" : "5691b60b35567c06fd15723f333ee23a85b059e2a63e05b1bf0dd6a61d10b7d4", + "stateRoot" : "f57f69858375f69a698ad907ede7a2475a95cce18e5f17b612a3e3083c5106ad", + "timestamp" : "0x5788dd1f", + "transactionsTrie" : "964e2a482dc1856fff3b00f545aaf8720aeef70a3ffe86cebf05bbc2c34bf539", + "uncleHash" : "c2c05564ceaf59f1a73e832e24ac60cf96e3cc220e0479ebaf09f12977707461" + }, + "blocknumber" : "9", + "rlp" : "0xf90476f90206a00101dba7ec26e5cbe190ca00a34ce4b6f7ead20b0e77ebc8db7ea02eb4d56322a0c2c05564ceaf59f1a73e832e24ac60cf96e3cc220e0479ebaf09f12977707461948888f1f195afa192cfee860698584c030f4c9db1a0f57f69858375f69a698ad907ede7a2475a95cce18e5f17b612a3e3083c5106ada0964e2a482dc1856fff3b00f545aaf8720aeef70a3ffe86cebf05bbc2c34bf539a05691b60b35567c06fd15723f333ee23a85b059e2a63e05b1bf0dd6a61d10b7d4b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018009832fefba8265aa845788dd1f8d64616f2d686172642d666f726ba0fcb6b3c42755d3c943c7b97da78fe729cc791d53631f140f3c2466ad0609828288f4e5de74b2c0afd3f861f85f070182ea6094100000000000000000000000000000000000000801801ba09e18981c45e9f6bb54e3f52cae58f2c3c00f2220a9f1c788d0ee3fc2394d4956a038207c17c10faae1fa83bff79770fa38134a19b6ca6f04059d7a307c05f67e6af90207f90204a0faf53d9cbf0bb0503e4313936019eb34a342b75770f6c2d92412d1fe38a99265a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a040d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302010008832fefba80845788dd1d8d64616f2d686172642d666f726ba03ced26fe3256e9f8287b52861a5582a4b551fd0b7f3a65411cb86f141ece54598895fa805c6deebdfd", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x07", + "r" : "0x9e18981c45e9f6bb54e3f52cae58f2c3c00f2220a9f1c788d0ee3fc2394d4956", + "s" : "0x38207c17c10faae1fa83bff79770fa38134a19b6ca6f04059d7a307c05f67e6a", + "to" : "1000000000000000000000000000000000000008", + "v" : "0x1b", + "value" : "0x01" + } + ], + "uncleHeaders" : [ + { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0000000000000000000000000000000000000000", + "difficulty" : "0x020100", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x00", + "hash" : "7c8dd6f59379615cff1a7edbb0a9060d824d86d19ec8447c1b580ca6859e6c05", + "mixHash" : "3ced26fe3256e9f8287b52861a5582a4b551fd0b7f3a65411cb86f141ece5459", + "nonce" : "95fa805c6deebdfd", + "number" : "0x08", + "parentHash" : "faf53d9cbf0bb0503e4313936019eb34a342b75770f6c2d92412d1fe38a99265", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "40d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029", + "timestamp" : "0x5788dd1d", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + } + ] + }, + { + "blocknumber" : "10", + "rlp" : "0xf90455f90206a047fbd76ebee44e255941f76197c8ea50697e4b5d2f07477575ad1b1b2d4f0467a09669b09c1fca3cae0e8a34eca70a63fbc62c36715074e8b75cc649da0a149396948888f1f195afa192cfee860698584c030f4c9db1a0a536759560008986d9adbb774618686a1a7cf849a2c08c5f6a047e9a3de66945a0f49ed12e4a98811e40b2cd24a470e3ff48ab6c1887d36fa68f79440321685d00a0f07f905c4fcfce60993e277c6ccd5bf0eacae30e71b10fa765fd98b046ada645b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201c00a832fefba82cf08845788dd258d64616f2d686172642d666f726ba0340f8760a46bbb41fc96589bc68ff07cf828b32e8a32fbc3fe6f373973472dd288fb347ffe902d0bb1f84df84b080182ea608001801ba066a8a933ff9208ecb2334a7edcf0592751d68e5e9cf155814238cd3072a7d38ba02cd8720983a8172b1304aad194d3f2ea3daeaf5c51bc3dc983d8218448f063bdf901faf901f7a00101dba7ec26e5cbe190ca00a34ce4b6f7ead20b0e77ebc8db7ea02eb4d56322a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a02c4f51b520aa26de8db4dc7d8d70eb0bbf8ce35afc6d61ed09881869d2feaa78a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014009832fefba80845788dd2380a0eeea53c657dbbb61a2e239cef19464574829fd2284728bf311e1c94230a118b9886f043bd4378b18cd" + }, + { + "blocknumber" : "11", + "rlp" : "0xf905fff90204a047fbd76ebee44e255941f76197c8ea50697e4b5d2f07477575ad1b1b2d4f0467a02332e0883af77a9c57cd2f1dbd55f7c2b6a7b3a0946ebb94e9d29a7d6559428d948888f1f195afa192cfee860698584c030f4c9db1a09e8229dc7d51defa7f3d18c110cb776f2807f6a244dfe9775a5ecbbaa2d97527a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201800a832fefba80845788dd2d8d64616f2d686172642d666f726ba0413905ed55d67309eb11a9d2a12b786f94b7c0e70d79ffa08d9cdce8efaa34cb8852cdc9bfdccf22cac0f903f4f901f7a00101dba7ec26e5cbe190ca00a34ce4b6f7ead20b0e77ebc8db7ea02eb4d56322a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a02c4f51b520aa26de8db4dc7d8d70eb0bbf8ce35afc6d61ed09881869d2feaa78a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014009832fefba80845788dd2980a0ec71a16d14838a637784d4f25a4641b290ef1ad4f726d59b659709e38a690f7a88dc1dbd1bb6d69415f901f7a047fbd76ebee44e255941f76197c8ea50697e4b5d2f07477575ad1b1b2d4f0467a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0f57f69858375f69a698ad907ede7a2475a95cce18e5f17b612a3e3083c5106ada056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201800a832fefba80845788dd2a80a0d611411c515295dfe7b7b60021f8542f99e82959d67d00d8ea830a10fdb700d28863bbcc6e20f60707" + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020140", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x5208", + "hash" : "ca32dc51f04be8d5858f1565794edafc5b558c66aabbd5b468fdd9e5f2b0dde2", + "mixHash" : "4c8184afdf266ded8ba03efefb9b383f124af8a420d4b0623724e76c16362309", + "nonce" : "df8d645fe80a1c5f", + "number" : "0x0a", + "parentHash" : "47fbd76ebee44e255941f76197c8ea50697e4b5d2f07477575ad1b1b2d4f0467", + "receiptTrie" : "e3e8a54108fb9689ac6f724e4f0189db4bb7df7ca6f343f939195449e94c54a8", + "stateRoot" : "c1673db25cd7b78891984f84cb2d44a435b87c0408f9faac1b0771f3221034c9", + "timestamp" : "0x5788dd37", + "transactionsTrie" : "916147a0805a950d8cc91ea336b3b7237474ac724029dc99f96b07eef085e4d7", + "uncleHash" : "5c1818947711e59c2039312ff6f53c67abf9c4bdc9aa558ade6acd0fb82d4c68" + }, + "blocknumber" : "10", + "rlp" : "0xf9067df90206a047fbd76ebee44e255941f76197c8ea50697e4b5d2f07477575ad1b1b2d4f0467a05c1818947711e59c2039312ff6f53c67abf9c4bdc9aa558ade6acd0fb82d4c68948888f1f195afa192cfee860698584c030f4c9db1a0c1673db25cd7b78891984f84cb2d44a435b87c0408f9faac1b0771f3221034c9a0916147a0805a950d8cc91ea336b3b7237474ac724029dc99f96b07eef085e4d7a0e3e8a54108fb9689ac6f724e4f0189db4bb7df7ca6f343f939195449e94c54a8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201400a832fefba825208845788dd378d64616f2d686172642d666f726ba04c8184afdf266ded8ba03efefb9b383f124af8a420d4b0623724e76c1636230988df8d645fe80a1c5ff861f85f080182ea609410000000000000000000000000000000000000106f801ba047acd0e2edbc13fbfed74b1b5e6f5afaae464ff6662fc15fc76cf16f6821a72da02e989a61feb7751d802ec9ec12d30a6c419a65c8ba6acd96857a73c18b6a5564f9040ef90204a0faf53d9cbf0bb0503e4313936019eb34a342b75770f6c2d92412d1fe38a99265a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a040d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302008008832fefba80845788dd338d64616f2d686172642d666f726ba0b4857ee254e0403f258dc214738b57bf08690794e4c438012eb18c507fa2ae9588e806cb4705dd9c46f90204a00101dba7ec26e5cbe190ca00a34ce4b6f7ead20b0e77ebc8db7ea02eb4d56322a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a02c4f51b520aa26de8db4dc7d8d70eb0bbf8ce35afc6d61ed09881869d2feaa78a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302010009832fefba80845788dd338d64616f2d686172642d666f726ba006254cab91d3348cf91a9db6ea7f1f94943b6647a3b1ac2be6f1d0f2773bf0e088edc8d858b2798c52", + "transactions" : [ + { + "data" : "0x", + "gasLimit" : "0xea60", + "gasPrice" : "0x01", + "nonce" : "0x08", + "r" : "0x47acd0e2edbc13fbfed74b1b5e6f5afaae464ff6662fc15fc76cf16f6821a72d", + "s" : "0x2e989a61feb7751d802ec9ec12d30a6c419a65c8ba6acd96857a73c18b6a5564", + "to" : "1000000000000000000000000000000000000010", + "v" : "0x1b", + "value" : "0x6f" + } + ], + "uncleHeaders" : [ + { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0000000000000000000000000000000000000000", + "difficulty" : "0x020080", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x00", + "hash" : "12fc96f2e58a510584d8e01a02b2834c293945bba1e1f2fc48b539d345febe90", + "mixHash" : "b4857ee254e0403f258dc214738b57bf08690794e4c438012eb18c507fa2ae95", + "nonce" : "e806cb4705dd9c46", + "number" : "0x08", + "parentHash" : "faf53d9cbf0bb0503e4313936019eb34a342b75770f6c2d92412d1fe38a99265", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "40d119003a07ed2dece2e87393e1affed584f81ee4c8c262e27984b10356a029", + "timestamp" : "0x5788dd33", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "0000000000000000000000000000000000000000", + "difficulty" : "0x020100", + "extraData" : "0x64616f2d686172642d666f726b", + "gasLimit" : "0x2fefba", + "gasUsed" : "0x00", + "hash" : "f1ae04879bd8627a69a274c283ed05a38a985bae61d9cf553f4b9453c1d5a601", + "mixHash" : "06254cab91d3348cf91a9db6ea7f1f94943b6647a3b1ac2be6f1d0f2773bf0e0", + "nonce" : "edc8d858b2798c52", + "number" : "0x09", + "parentHash" : "0101dba7ec26e5cbe190ca00a34ce4b6f7ead20b0e77ebc8db7ea02eb4d56322", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "2c4f51b520aa26de8db4dc7d8d70eb0bbf8ce35afc6d61ed09881869d2feaa78", + "timestamp" : "0x5788dd33", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + } + ] + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x2fefd8", + "gasUsed" : "0x00", + "hash" : "cad74b3b4723472b370737ffaf503f6f746bcae45bd5a39d767c5647afa5bb09", + "mixHash" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0102030405060708", + "number" : "0x00", + "parentHash" : "0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "6bff69e94b94f30e1b69f86d3e09712edfb583ac73a46a522345e1965ca9c66d", + "timestamp" : "0x54c98c81", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901fcf901f7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a06bff69e94b94f30e1b69f86d3e09712edfb583ac73a46a522345e1965ca9c66da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080832fefd8808454c98c8142a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", + "lastblockhash" : "ca32dc51f04be8d5858f1565794edafc5b558c66aabbd5b468fdd9e5f2b0dde2", + "postState" : { + "0000000000000000000000000000000000000000" : { + "balance" : "0xea300b17a8b78000", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "005f5cee7a43331d5a3d3eec71305925a62f34b6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "057b56736d32b86616a10f619859c6cd6f59092a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "06706dd3f2c9abf0a21ddcc6941d9b86f0596936" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0737a6b837f97f46ebade41b9bc3e1c509c85c53" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "07f5c1e1bc2c93e0402f23341973a0e043f7bf8a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0c243ebe6a031753dc0dd850acf422844a3efb76" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0e0da70933f4c7849fc0d203f5d1d43b9ae4532d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0ff30d6de14a8224aa97b78aea5388d1c51c1f00" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0x0a", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x02540be400" + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x01", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000010" : { + "balance" : "0x6f", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "12e626b0eebfe86a56d633b9864e389b45dcb260" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1591fc0f688c81fbeb17f5426a162a7024d430c2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1975bd06d486162d5dc297798dfc41edd5d160a7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1cba23d343a983e9b5cfd19496b9a9701ada385f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "200450f06520bdd6c527622a273333384d870efb" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "23b75c2f6791eef49c69684db4c6c1f93bf49a50" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "248f0f0f33eadb89e9d87fd5c127f58567f3ffde" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "24c4d950dfd4dd1902bbed3508144a54542bba94" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "253488078a4edf4d6f42f113d1e62836a942cf1a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "27b137a85656544b1ccb5a0f2e561a5703c6a68f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2a5ed960395e2a49b1c758cef4aa15213cfd874c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2c19c7f9ae8b751e37aeb2d93a699722395ae18f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "319f70bab6845585f412ec7724b744fec6095c85" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "35a051a0010aba705c9008d7a7eff6fb88f6ea7b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3ba4d81db016dc2890c81f3acec2454bff5aada5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3c02a7bc0391e86d91b7d144e61c2c01a25a79c5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "40b803a9abce16f50f36a77ba41180eb90023925" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "440c59b325d2997a134c2c7c60a8c61611212bad" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4486a3d68fac6967006d7a517b889fd3f98c102b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "47e7aa56d6bdf3f36be34619660de61275420af8" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4863226780fe7c0356454236d3b1c8792785748d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "492ea3bb0f3315521c31f273e565b868fc090f17" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4cb31628079fb14e4bc3cd5e30c2f7489b00960c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4deb0033bb26bc534b197e61d19e0733e5679784" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fa802324e929786dbda3b8820dc7834e9134a2a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fd6ace747f06ece9c49699c7cabc62d02211f75" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "51e0ddd9998364a2eb38588679f0d2c42653e4a6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "52c5317c848ba20c7504cb2c8052abd1fde29d03" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "542a9515200d14b68e934e9830d91645a980dd7a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5524c55fb03cf21f549444ccbecb664d0acad706" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "579a80d909f346fbfb1189493f521d7f48d52238" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "58b95c9a9d5d26825e70a82b6adb139d3fd829eb" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c8536898fbb74fc7445814902fd08422eac56d0" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5d2b2e6fcbe3b11d26b525e085ff818dae332479" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5dc28b15dffed94048d73806ce4b7a4612a1d48f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5f9f3392e9f62f63b8eac0beb55541fc8627f42c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6131c42fa982e56929107413a9d526fd99405560" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6231b6d0d5e77fe001c2a460bd9584fee60d409b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "627a0a960c079c21c34f7612d5d230e01b4ad4c7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "63ed5a272de2f6d968408b4acb9024f4cc208ebf" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6966ab0d485353095148a2155858910e0965b6f9" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6d87578288b6cb5549d5076a207456a1f6a63dc0" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6f6704e5a10332af6672e50b3d9754dc460dfa4d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "779543a0491a837ca36ce8c635d6154e3c4911a6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "77ca7b50b6cd7e2f3fa008e24ab793fd56cb15f6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "782495b7b3355efb2833d56ecb34dc22ad7dfcc4" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8163e7fb499e90f8544ea62bbf80d21cd26d9efd" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "85c2f277588ea1e6901ed59e587bea222c575f87" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "86af3e9626fce1957c82e88cbf04ddf3a2ed7915" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8888f1f195afa192cfee860698584c030f4c9db1" : { + "balance" : "0x02be902146fa2abe24", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8d9edb3054ce5c5774a420ac37ebae0ac02343c6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "97f43a37f595ab5dd318fb46e7a155eae057317a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9aa008f65de0b923a2a4f02012ad034a5e2e2192" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c15b54878ba618f494b38f0ae7443db6af648ba" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c50426be05db97f5d64fc54bf89eff947f0a321" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9da397b9e80755301a3b32173283a91c0ef6c87e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9ea779f907f0b315b364b0cfc39a0fde5b02a416" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9f27daea7aca0aa0446220b98d028715e3bc803d" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9fcd2deaff372a39cc679d5c5e4de7bafb0b1339" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a2f1ccba9395d7fcb155bba8bc92db9bafaeade7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a3acf3a1e16b1d7c315e23510fdd7847b48234f6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a5dc5acd6a7968a4554d89d65e59b7fd3bff0f90" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a82f360a8d3455c5c41366975bde739c37bfeb8a" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b968b26", + "code" : "0x", + "nonce" : "0x09", + "storage" : { + } + }, + "ac1ecab32727358dba8962a0f3b261731aad9723" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "acd87e28b0c9d1254e868b81cba4cc20d9a32225" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "adf80daec7ba8dcf15392f1ac611fff65d94f880" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b1d37cf6180ceb738ca45b5005a2f418c02e204b" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b2c6f0dfbb716ac562e2d85d6cb2f8d5ee87603e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b3fb0e5aba0e20e5c49d252dfd30e102b171a425" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b52042c8ca3f8aa246fa79c3feaa3d959347c0ab" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b9637156d330c0d605a791f1c31ba5890582fe1c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bc07118b9ac290e4622f5e77a0853539789effbe" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bcf899e6c7d9d5a215ab1e3444c86806fa854c76" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "be8539bfe837b67d1282b2b1d61c3f723966f049" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bf4ed7b27f1d666546e30d74d50d173d20bca754" : { + "balance" : "0x010bc166ae40", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "c4bbd073882dd2add2424cf47d35213405b01324" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cc34673c6c40e791051898567a1222daf90be287" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ceaeb481747ca6c540a000c1f3641f8cef161fa7" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d131637d5275fd1a68a3200f4ad25c71a2a9522e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d164b088bd9108b60d0ca3751da4bceb207b0782" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d1ac8b1ef1b69ff51d1d401a476e7e612414f091" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d4fe7bc31cedb7bfb8a345f31e668033056b2728" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d9aef3a1e38a39c16b31d1ace71bca8ef58d315b" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e308bd1ac5fda103967359b2712dd89deffb7973" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e4ae1efdfc53b73893af49113d8694a057b9c0d1" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec0e71ad0a90ffe1909d27dac207f7680abba42d" : { + "balance" : "0x0a", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec8e57756626fdc07c63ad2eafbd28d08e7b0ca5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ecd135fa4f61a655311e86238c92adcd779555d2" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f0b1aa0eb660754448a7937c022e30aa692fe0c5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f1385fb24aad0cd7432824085e42aff90886fef5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "pre" : { + "005f5cee7a43331d5a3d3eec71305925a62f34b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "057b56736d32b86616a10f619859c6cd6f59092a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "06706dd3f2c9abf0a21ddcc6941d9b86f0596936" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0737a6b837f97f46ebade41b9bc3e1c509c85c53" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "07f5c1e1bc2c93e0402f23341973a0e043f7bf8a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0e0da70933f4c7849fc0d203f5d1d43b9ae4532d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0ff30d6de14a8224aa97b78aea5388d1c51c1f00" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000008" : { + "balance" : "0x00", + "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "nonce" : "0x00", + "storage" : { + } + }, + "12e626b0eebfe86a56d633b9864e389b45dcb260" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1591fc0f688c81fbeb17f5426a162a7024d430c2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1975bd06d486162d5dc297798dfc41edd5d160a7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1cba23d343a983e9b5cfd19496b9a9701ada385f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "200450f06520bdd6c527622a273333384d870efb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "23b75c2f6791eef49c69684db4c6c1f93bf49a50" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "24c4d950dfd4dd1902bbed3508144a54542bba94" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "253488078a4edf4d6f42f113d1e62836a942cf1a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "27b137a85656544b1ccb5a0f2e561a5703c6a68f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2a5ed960395e2a49b1c758cef4aa15213cfd874c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2c19c7f9ae8b751e37aeb2d93a699722395ae18f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "319f70bab6845585f412ec7724b744fec6095c85" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "35a051a0010aba705c9008d7a7eff6fb88f6ea7b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3ba4d81db016dc2890c81f3acec2454bff5aada5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3c02a7bc0391e86d91b7d144e61c2c01a25a79c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "40b803a9abce16f50f36a77ba41180eb90023925" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "440c59b325d2997a134c2c7c60a8c61611212bad" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4486a3d68fac6967006d7a517b889fd3f98c102b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "47e7aa56d6bdf3f36be34619660de61275420af8" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4863226780fe7c0356454236d3b1c8792785748d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "492ea3bb0f3315521c31f273e565b868fc090f17" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4cb31628079fb14e4bc3cd5e30c2f7489b00960c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4deb0033bb26bc534b197e61d19e0733e5679784" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fa802324e929786dbda3b8820dc7834e9134a2a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fd6ace747f06ece9c49699c7cabc62d02211f75" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "51e0ddd9998364a2eb38588679f0d2c42653e4a6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "52c5317c848ba20c7504cb2c8052abd1fde29d03" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "542a9515200d14b68e934e9830d91645a980dd7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5524c55fb03cf21f549444ccbecb664d0acad706" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "579a80d909f346fbfb1189493f521d7f48d52238" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "58b95c9a9d5d26825e70a82b6adb139d3fd829eb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c8536898fbb74fc7445814902fd08422eac56d0" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5d2b2e6fcbe3b11d26b525e085ff818dae332479" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5dc28b15dffed94048d73806ce4b7a4612a1d48f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5f9f3392e9f62f63b8eac0beb55541fc8627f42c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6131c42fa982e56929107413a9d526fd99405560" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6231b6d0d5e77fe001c2a460bd9584fee60d409b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "627a0a960c079c21c34f7612d5d230e01b4ad4c7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "63ed5a272de2f6d968408b4acb9024f4cc208ebf" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6966ab0d485353095148a2155858910e0965b6f9" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6d87578288b6cb5549d5076a207456a1f6a63dc0" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6f6704e5a10332af6672e50b3d9754dc460dfa4d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "779543a0491a837ca36ce8c635d6154e3c4911a6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "77ca7b50b6cd7e2f3fa008e24ab793fd56cb15f6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "782495b7b3355efb2833d56ecb34dc22ad7dfcc4" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8163e7fb499e90f8544ea62bbf80d21cd26d9efd" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "86af3e9626fce1957c82e88cbf04ddf3a2ed7915" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8d9edb3054ce5c5774a420ac37ebae0ac02343c6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "97f43a37f595ab5dd318fb46e7a155eae057317a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9aa008f65de0b923a2a4f02012ad034a5e2e2192" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c15b54878ba618f494b38f0ae7443db6af648ba" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c50426be05db97f5d64fc54bf89eff947f0a321" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9da397b9e80755301a3b32173283a91c0ef6c87e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9ea779f907f0b315b364b0cfc39a0fde5b02a416" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9f27daea7aca0aa0446220b98d028715e3bc803d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9fcd2deaff372a39cc679d5c5e4de7bafb0b1339" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a2f1ccba9395d7fcb155bba8bc92db9bafaeade7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a3acf3a1e16b1d7c315e23510fdd7847b48234f6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a5dc5acd6a7968a4554d89d65e59b7fd3bff0f90" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a82f360a8d3455c5c41366975bde739c37bfeb8a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x3b9aca00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ac1ecab32727358dba8962a0f3b261731aad9723" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "acd87e28b0c9d1254e868b81cba4cc20d9a32225" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "adf80daec7ba8dcf15392f1ac611fff65d94f880" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b2c6f0dfbb716ac562e2d85d6cb2f8d5ee87603e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b3fb0e5aba0e20e5c49d252dfd30e102b171a425" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b52042c8ca3f8aa246fa79c3feaa3d959347c0ab" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b9637156d330c0d605a791f1c31ba5890582fe1c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bc07118b9ac290e4622f5e77a0853539789effbe" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bcf899e6c7d9d5a215ab1e3444c86806fa854c76" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "be8539bfe837b67d1282b2b1d61c3f723966f049" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "c4bbd073882dd2add2424cf47d35213405b01324" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cc34673c6c40e791051898567a1222daf90be287" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ceaeb481747ca6c540a000c1f3641f8cef161fa7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d131637d5275fd1a68a3200f4ad25c71a2a9522e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d164b088bd9108b60d0ca3751da4bceb207b0782" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d1ac8b1ef1b69ff51d1d401a476e7e612414f091" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d4fe7bc31cedb7bfb8a345f31e668033056b2728" : { + "balance" : "0x0f4240", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d9aef3a1e38a39c16b31d1ace71bca8ef58d315b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e308bd1ac5fda103967359b2712dd89deffb7973" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e4ae1efdfc53b73893af49113d8694a057b9c0d1" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec8e57756626fdc07c63ad2eafbd28d08e7b0ca5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ecd135fa4f61a655311e86238c92adcd779555d2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f0b1aa0eb660754448a7937c022e30aa692fe0c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f1385fb24aad0cd7432824085e42aff90886fef5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + } + }, + "DaoTransactions_XBlockm1" : { "blocks" : [ { "blockHeader" : { "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020000", + "difficulty" : "0x020000", + "extraData" : "0x", + "gasLimit" : "0x12b501f5", + "gasUsed" : "0x00", + "hash" : "7f8d325fa7077dffa1aef268597e0fa735306bb937866e3eb73bfcb11eaeb65b", + "mixHash" : "a41acffbfc68c63efb5df04aaa733d9d6a28826dc367a8a2770bc02486219532", + "nonce" : "14742b9b68fab457", + "number" : "0x01", + "parentHash" : "76de3875ca93859a55779bf4c963c58dda6eed39cb34c9f8d1360580f299b16a", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "17d99e7cdc3d010789109a0d1733004627c114253436be8b343b74dc8bc77dc4", + "timestamp" : "0x5788dd3f", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "1", + "rlp" : "0xf901fdf901f8a076de3875ca93859a55779bf4c963c58dda6eed39cb34c9f8d1360580f299b16aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a017d99e7cdc3d010789109a0d1733004627c114253436be8b343b74dc8bc77dc4a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020000018412b501f580845788dd3f80a0a41acffbfc68c63efb5df04aaa733d9d6a28826dc367a8a2770bc024862195328814742b9b68fab457c0c0", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020040", + "extraData" : "0x", + "gasLimit" : "0x12b054b6", + "gasUsed" : "0x00", + "hash" : "b41308b0a12c1b1a06208b827d9dd659619d47b163b9b8c1b1feedbaad7a64af", + "mixHash" : "e56494277ca75cf1ec6060f31d34b45d76e7a133363acdffc1f512a0528a710b", + "nonce" : "ee6d9193ba857f47", + "number" : "0x02", + "parentHash" : "7f8d325fa7077dffa1aef268597e0fa735306bb937866e3eb73bfcb11eaeb65b", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "a639bc369df2e6dcdb261e53927d3129e7e727054063bdb15fd31b8dfad3e67d", + "timestamp" : "0x5788dd46", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "2", + "rlp" : "0xf901fdf901f8a07f8d325fa7077dffa1aef268597e0fa735306bb937866e3eb73bfcb11eaeb65ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0a639bc369df2e6dcdb261e53927d3129e7e727054063bdb15fd31b8dfad3e67da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020040028412b054b680845788dd4680a0e56494277ca75cf1ec6060f31d34b45d76e7a133363acdffc1f512a0528a710b88ee6d9193ba857f47c0c0", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020080", + "extraData" : "0x", + "gasLimit" : "0x12aba8a2", + "gasUsed" : "0x00", + "hash" : "21b654accfe3e0120ee79787bfc95a6f454f66ea5002ba0f0c84f7c2a6aa28ee", + "mixHash" : "b27d43fead80c5cc7c05c6345638d52e8a88e6da13b675a279afffa9aaa90ecb", + "nonce" : "08f46890e77a57a1", + "number" : "0x03", + "parentHash" : "b41308b0a12c1b1a06208b827d9dd659619d47b163b9b8c1b1feedbaad7a64af", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "8cf3da7258f9aa5c4deb300f6fce33a5fb374b363b64ebbd6a05a71ceaf62268", + "timestamp" : "0x5788dd4a", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "3", + "rlp" : "0xf901fdf901f8a0b41308b0a12c1b1a06208b827d9dd659619d47b163b9b8c1b1feedbaad7a64afa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a08cf3da7258f9aa5c4deb300f6fce33a5fb374b363b64ebbd6a05a71ceaf62268a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020080038412aba8a280845788dd4a80a0b27d43fead80c5cc7c05c6345638d52e8a88e6da13b675a279afffa9aaa90ecb8808f46890e77a57a1c0c0", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x0200c0", + "extraData" : "0x", + "gasLimit" : "0x12a6fdb9", + "gasUsed" : "0x00", + "hash" : "5473f8af2b586839c3298a36272c7753f57618fc65093a8af7ac4b6f6ea6e8ce", + "mixHash" : "81a197fb4cbcc54d7924aaa10c039113a4fe9b39aa6caebd4cb678c2c323630d", + "nonce" : "274ccd17ac4b439a", + "number" : "0x04", + "parentHash" : "21b654accfe3e0120ee79787bfc95a6f454f66ea5002ba0f0c84f7c2a6aa28ee", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "f9b0c98fed434c398e22415e46d50b0e928c2dc247c328cb0528ea94728eee3f", + "timestamp" : "0x5788dd50", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "4", + "rlp" : "0xf901fdf901f8a021b654accfe3e0120ee79787bfc95a6f454f66ea5002ba0f0c84f7c2a6aa28eea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0f9b0c98fed434c398e22415e46d50b0e928c2dc247c328cb0528ea94728eee3fa056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200c0048412a6fdb980845788dd5080a081a197fb4cbcc54d7924aaa10c039113a4fe9b39aa6caebd4cb678c2c323630d88274ccd17ac4b439ac0c0", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020100", + "extraData" : "0x", + "gasLimit" : "0x12a253fb", + "gasUsed" : "0x00", + "hash" : "31865cc304691e510efdb76576c2b2294545bfcb406aae97337b762ca8ceb91a", + "mixHash" : "01dc5f253639977a6f67487657287d5997ff5bd061e0aa12409a3db38c6c5e4b", + "nonce" : "c645fb05954a417d", + "number" : "0x05", + "parentHash" : "5473f8af2b586839c3298a36272c7753f57618fc65093a8af7ac4b6f6ea6e8ce", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "27d25b8ec2fe581a790cf37c4c2be363799f12c8ebd70d6b703f30f676de6cd2", + "timestamp" : "0x5788dd54", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "5", + "rlp" : "0xf901fdf901f8a05473f8af2b586839c3298a36272c7753f57618fc65093a8af7ac4b6f6ea6e8cea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a027d25b8ec2fe581a790cf37c4c2be363799f12c8ebd70d6b703f30f676de6cd2a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020100058412a253fb80845788dd5480a001dc5f253639977a6f67487657287d5997ff5bd061e0aa12409a3db38c6c5e4b88c645fb05954a417dc0c0", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020140", "extraData" : "0x", - "gasLimit" : "0x2fefba", + "gasLimit" : "0x129dab68", + "gasUsed" : "0x00", + "hash" : "f4dfacab1c75d769193ff4b46190ab4e758528bcad44e0723347f705de171142", + "mixHash" : "bdd40a39ba235400737c0587dc140a1dc02f51f1f7a716e4ba52a7723b614657", + "nonce" : "dc09580bc9ac6c81", + "number" : "0x06", + "parentHash" : "31865cc304691e510efdb76576c2b2294545bfcb406aae97337b762ca8ceb91a", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "186b7bee2b8ab05978991904147c7b4b58bd498e3c8a9932210f057ea7e38c62", + "timestamp" : "0x5788dd5a", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "blocknumber" : "6", + "rlp" : "0xf901fdf901f8a031865cc304691e510efdb76576c2b2294545bfcb406aae97337b762ca8ceb91aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0186b7bee2b8ab05978991904147c7b4b58bd498e3c8a9932210f057ea7e38c62a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201400684129dab6880845788dd5a80a0bdd40a39ba235400737c0587dc140a1dc02f51f1f7a716e4ba52a7723b61465788dc09580bc9ac6c81c0c0", + "transactions" : [ + ], + "uncleHeaders" : [ + ] + }, + { + "blockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020180", + "extraData" : "0x", + "gasLimit" : "0x129903ff", "gasUsed" : "0x5208", - "hash" : "5b0edda940d3516661fb973d9e19d092b4a394dc4d87874bdcc5e98078213350", - "mixHash" : "a639b3eb62e9e9655578c1da80a0392f0193b7e2afec23f91b1d8436ca7deace", - "nonce" : "97fa42f0f9ee028e", - "number" : "0x01", - "parentHash" : "eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804c", - "receiptTrie" : "63e81aadc86aed2ebe147fd86db74d8fbe91a938af0521be549669246e607443", - "stateRoot" : "421450c5fcaa516f03635983f0c9d936574721033424eac5e6d71c8fa14b766f", - "timestamp" : "0x57836309", - "transactionsTrie" : "ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179", + "hash" : "b4fd754ea31355af44d104be9c93c4ff5c69e3de6692b84234bbffa2a8935762", + "mixHash" : "8b3b3daa6fef89706df93df25cd7160359b3029eb183dc0d03279db3e1d668fe", + "nonce" : "b8bc0f59998aca79", + "number" : "0x07", + "parentHash" : "f4dfacab1c75d769193ff4b46190ab4e758528bcad44e0723347f705de171142", + "receiptTrie" : "8494555e17e5455b9b7c734c4e6dd720a575f04e741302abecbb610896e1bdb4", + "stateRoot" : "6d5aa4970c1810949e15062da2fd638123b2b1cab467a18381676cc7dfbcb331", + "timestamp" : "0x5788dd60", + "transactionsTrie" : "2067f9535b492e7070dd88a15bd979eff4f2d03814c8514cdd8cb1b7715c6d6b", "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" }, - "blocknumber" : "1", - "rlp" : "0xf9024cf901f9a0eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804ca01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0421450c5fcaa516f03635983f0c9d936574721033424eac5e6d71c8fa14b766fa0ac81275d7a81a720240146377982939179218535bfcfa9469c8bdd3e264ef179a063e81aadc86aed2ebe147fd86db74d8fbe91a938af0521be549669246e607443b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000001832fefba825208845783630980a0a639b3eb62e9e9655578c1da80a0392f0193b7e2afec23f91b1d8436ca7deace8897fa42f0f9ee028ef84df84b8001827530800a801ca057cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9a05ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03ac0", + "blocknumber" : "7", + "rlp" : "0xf90261f901faa0f4dfacab1c75d769193ff4b46190ab4e758528bcad44e0723347f705de171142a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a06d5aa4970c1810949e15062da2fd638123b2b1cab467a18381676cc7dfbcb331a02067f9535b492e7070dd88a15bd979eff4f2d03814c8514cdd8cb1b7715c6d6ba08494555e17e5455b9b7c734c4e6dd720a575f04e741302abecbb610896e1bdb4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201800784129903ff825208845788dd6080a08b3b3daa6fef89706df93df25cd7160359b3029eb183dc0d03279db3e1d668fe88b8bc0f59998aca79f861f85f800182ea6094100000000000000000000000000000000000000780801ba065741e61c886da761be2693206b25ef48db266aeb92b120137496d3c3b4a7429a05c16257cbbcd7f1076ca12277fe0f029835c2e5fe36796f1bf2d7b0edeca79afc0", "transactions" : [ { "data" : "0x", - "gasLimit" : "0x7530", + "gasLimit" : "0xea60", "gasPrice" : "0x01", "nonce" : "0x00", - "r" : "0x57cb46c0b702929c4fd4127b2370f28a7aeeaa65509699e58eedf7692090a0a9", - "s" : "0x5ba7c83d99be6a9bca0c81947023ba3b5f2162516d82d0757bf8004f3e9bc03a", - "to" : "", - "v" : "0x1c", - "value" : "0x0a" + "r" : "0x65741e61c886da761be2693206b25ef48db266aeb92b120137496d3c3b4a7429", + "s" : "0x5c16257cbbcd7f1076ca12277fe0f029835c2e5fe36796f1bf2d7b0edeca79af", + "to" : "1000000000000000000000000000000000000007", + "v" : "0x1b", + "value" : "0x00" } ], "uncleHeaders" : [ ] + } + ], + "genesisBlockHeader" : { + "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", + "difficulty" : "0x020000", + "extraData" : "0x42", + "gasLimit" : "0x12b9b060", + "gasUsed" : "0x00", + "hash" : "76de3875ca93859a55779bf4c963c58dda6eed39cb34c9f8d1360580f299b16a", + "mixHash" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "nonce" : "0102030405060708", + "number" : "0x00", + "parentHash" : "0000000000000000000000000000000000000000000000000000000000000000", + "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "stateRoot" : "42b6c06dc02697e651f409032cfda2b524b81e1d12443b75648b2bedcbca4865", + "timestamp" : "0x54c98c81", + "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", + "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" + }, + "genesisRLP" : "0xf901fdf901f8a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a042b6c06dc02697e651f409032cfda2b524b81e1d12443b75648b2bedcbca4865a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083020000808412b9b060808454c98c8142a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", + "lastblockhash" : "b4fd754ea31355af44d104be9c93c4ff5c69e3de6692b84234bbffa2a8935762", + "postState" : { + "005f5cee7a43331d5a3d3eec71305925a62f34b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "057b56736d32b86616a10f619859c6cd6f59092a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "06706dd3f2c9abf0a21ddcc6941d9b86f0596936" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0737a6b837f97f46ebade41b9bc3e1c509c85c53" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "07f5c1e1bc2c93e0402f23341973a0e043f7bf8a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0e0da70933f4c7849fc0d203f5d1d43b9ae4532d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0ff30d6de14a8224aa97b78aea5388d1c51c1f00" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1000000000000000000000000000000000000007" : { + "balance" : "0x00", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "12e626b0eebfe86a56d633b9864e389b45dcb260" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1591fc0f688c81fbeb17f5426a162a7024d430c2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1975bd06d486162d5dc297798dfc41edd5d160a7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1cba23d343a983e9b5cfd19496b9a9701ada385f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "200450f06520bdd6c527622a273333384d870efb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "23b75c2f6791eef49c69684db4c6c1f93bf49a50" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "24c4d950dfd4dd1902bbed3508144a54542bba94" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "253488078a4edf4d6f42f113d1e62836a942cf1a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "27b137a85656544b1ccb5a0f2e561a5703c6a68f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2a5ed960395e2a49b1c758cef4aa15213cfd874c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2c19c7f9ae8b751e37aeb2d93a699722395ae18f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "319f70bab6845585f412ec7724b744fec6095c85" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "35a051a0010aba705c9008d7a7eff6fb88f6ea7b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3ba4d81db016dc2890c81f3acec2454bff5aada5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3c02a7bc0391e86d91b7d144e61c2c01a25a79c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "40b803a9abce16f50f36a77ba41180eb90023925" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "440c59b325d2997a134c2c7c60a8c61611212bad" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4486a3d68fac6967006d7a517b889fd3f98c102b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "47e7aa56d6bdf3f36be34619660de61275420af8" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4863226780fe7c0356454236d3b1c8792785748d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "492ea3bb0f3315521c31f273e565b868fc090f17" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4cb31628079fb14e4bc3cd5e30c2f7489b00960c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4deb0033bb26bc534b197e61d19e0733e5679784" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fa802324e929786dbda3b8820dc7834e9134a2a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4fd6ace747f06ece9c49699c7cabc62d02211f75" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "51e0ddd9998364a2eb38588679f0d2c42653e4a6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "52c5317c848ba20c7504cb2c8052abd1fde29d03" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "542a9515200d14b68e934e9830d91645a980dd7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5524c55fb03cf21f549444ccbecb664d0acad706" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "579a80d909f346fbfb1189493f521d7f48d52238" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "58b95c9a9d5d26825e70a82b6adb139d3fd829eb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5c8536898fbb74fc7445814902fd08422eac56d0" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5d2b2e6fcbe3b11d26b525e085ff818dae332479" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5dc28b15dffed94048d73806ce4b7a4612a1d48f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5f9f3392e9f62f63b8eac0beb55541fc8627f42c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6131c42fa982e56929107413a9d526fd99405560" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6231b6d0d5e77fe001c2a460bd9584fee60d409b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "627a0a960c079c21c34f7612d5d230e01b4ad4c7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "63ed5a272de2f6d968408b4acb9024f4cc208ebf" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6966ab0d485353095148a2155858910e0965b6f9" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6d87578288b6cb5549d5076a207456a1f6a63dc0" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "6f6704e5a10332af6672e50b3d9754dc460dfa4d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "779543a0491a837ca36ce8c635d6154e3c4911a6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "77ca7b50b6cd7e2f3fa008e24ab793fd56cb15f6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "782495b7b3355efb2833d56ecb34dc22ad7dfcc4" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8163e7fb499e90f8544ea62bbf80d21cd26d9efd" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "86af3e9626fce1957c82e88cbf04ddf3a2ed7915" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8888f1f195afa192cfee860698584c030f4c9db1" : { + "balance" : "0x01e5b8fa8fe2ac5208", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "8d9edb3054ce5c5774a420ac37ebae0ac02343c6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "97f43a37f595ab5dd318fb46e7a155eae057317a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9aa008f65de0b923a2a4f02012ad034a5e2e2192" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c15b54878ba618f494b38f0ae7443db6af648ba" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9c50426be05db97f5d64fc54bf89eff947f0a321" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9da397b9e80755301a3b32173283a91c0ef6c87e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9ea779f907f0b315b364b0cfc39a0fde5b02a416" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9f27daea7aca0aa0446220b98d028715e3bc803d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "9fcd2deaff372a39cc679d5c5e4de7bafb0b1339" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a2f1ccba9395d7fcb155bba8bc92db9bafaeade7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a3acf3a1e16b1d7c315e23510fdd7847b48234f6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a5dc5acd6a7968a4554d89d65e59b7fd3bff0f90" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a82f360a8d3455c5c41366975bde739c37bfeb8a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a4bdf8", + "code" : "0x", + "nonce" : "0x01", + "storage" : { + } + }, + "ac1ecab32727358dba8962a0f3b261731aad9723" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "acd87e28b0c9d1254e868b81cba4cc20d9a32225" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "adf80daec7ba8dcf15392f1ac611fff65d94f880" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b136707642a4ea12fb4bae820f03d2562ebff487" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b2c6f0dfbb716ac562e2d85d6cb2f8d5ee87603e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b3fb0e5aba0e20e5c49d252dfd30e102b171a425" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b52042c8ca3f8aa246fa79c3feaa3d959347c0ab" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b9637156d330c0d605a791f1c31ba5890582fe1c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bc07118b9ac290e4622f5e77a0853539789effbe" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bcf899e6c7d9d5a215ab1e3444c86806fa854c76" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "be8539bfe837b67d1282b2b1d61c3f723966f049" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "c4bbd073882dd2add2424cf47d35213405b01324" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ca544e5c4687d109611d0f8f928b53a25af72448" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "cc34673c6c40e791051898567a1222daf90be287" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ceaeb481747ca6c540a000c1f3641f8cef161fa7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d131637d5275fd1a68a3200f4ad25c71a2a9522e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d164b088bd9108b60d0ca3751da4bceb207b0782" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d1ac8b1ef1b69ff51d1d401a476e7e612414f091" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d343b217de44030afaa275f54d31a9317c7f441e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d4fe7bc31cedb7bfb8a345f31e668033056b2728" : { + "balance" : "0x0f4240", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d9aef3a1e38a39c16b31d1ace71bca8ef58d315b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "da2fef9e4a3230988ff17df2165440f37e8b1708" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e308bd1ac5fda103967359b2712dd89deffb7973" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e4ae1efdfc53b73893af49113d8694a057b9c0d1" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec8e57756626fdc07c63ad2eafbd28d08e7b0ca5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ecd135fa4f61a655311e86238c92adcd779555d2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f0b1aa0eb660754448a7937c022e30aa692fe0c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f1385fb24aad0cd7432824085e42aff90886fef5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } }, - { - "blockHeader" : { - "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020040", - "extraData" : "0x", - "gasLimit" : "0x2fefba", - "gasUsed" : "0x5208", - "hash" : "ae62864a01c26f47b77ac9235ad2dc1db5740c82a53e625f6becca64317b377b", - "mixHash" : "b17c97168dc8d478616303a2c09169dffdf757126db3db3c6df67d16f7677a63", - "nonce" : "d4170412ca50a625", - "number" : "0x02", - "parentHash" : "5b0edda940d3516661fb973d9e19d092b4a394dc4d87874bdcc5e98078213350", - "receiptTrie" : "b41287e7f7e5d2983862a73e54c86ec144ecf835096984770f6bf485188268b8", - "stateRoot" : "1e31d34b22a8d2fd9893bb58fa80e6ca4561320eed43776c295acca93721847c", - "timestamp" : "0x5783630c", - "transactionsTrie" : "76c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abf", - "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "blocknumber" : "2", - "rlp" : "0xf9024cf901f9a05b0edda940d3516661fb973d9e19d092b4a394dc4d87874bdcc5e98078213350a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a01e31d34b22a8d2fd9893bb58fa80e6ca4561320eed43776c295acca93721847ca076c7a0ce7644661f276c76fb9a82eaee879d0642cf4ed244fc10afc02c646abfa0b41287e7f7e5d2983862a73e54c86ec144ecf835096984770f6bf485188268b8b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302004002832fefba825208845783630c80a0b17c97168dc8d478616303a2c09169dffdf757126db3db3c6df67d16f7677a6388d4170412ca50a625f84df84b0101827530800a801ca0bb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1fa04bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05c0", - "transactions" : [ - { - "data" : "0x", - "gasLimit" : "0x7530", - "gasPrice" : "0x01", - "nonce" : "0x01", - "r" : "0xbb6e3cf3f281af13ef1393d7052b03cab367079a9eb71aa829ec72b231a60e1f", - "s" : "0x4bcfe1da53f26bb95806d38e9f42fef262aaaf5191e16ec473a695c8978a0b05", - "to" : "", - "v" : "0x1c", - "value" : "0x0a" - } - ], - "uncleHeaders" : [ - ] + "f14c14075d6c4ed84b86798af0956deef67365b5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f4c64518ea10f995918a454158c6b61407ea345c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + } + }, + "pre" : { + "005f5cee7a43331d5a3d3eec71305925a62f34b6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0101f3be8ebb4bbd39a2e3b9a3639d4259832fd9" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "057b56736d32b86616a10f619859c6cd6f59092a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "06706dd3f2c9abf0a21ddcc6941d9b86f0596936" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0737a6b837f97f46ebade41b9bc3e1c509c85c53" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "07f5c1e1bc2c93e0402f23341973a0e043f7bf8a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0e0da70933f4c7849fc0d203f5d1d43b9ae4532d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "0ff30d6de14a8224aa97b78aea5388d1c51c1f00" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "12e626b0eebfe86a56d633b9864e389b45dcb260" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1591fc0f688c81fbeb17f5426a162a7024d430c2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "17802f43a0137c506ba92291391a8a8f207f487d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1975bd06d486162d5dc297798dfc41edd5d160a7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1ca6abd14d30affe533b24d7a21bff4c2d5e1f3b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "1cba23d343a983e9b5cfd19496b9a9701ada385f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "200450f06520bdd6c527622a273333384d870efb" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "21c7fdb9ed8d291d79ffd82eb2c4356ec0d81241" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "23b75c2f6791eef49c69684db4c6c1f93bf49a50" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "24c4d950dfd4dd1902bbed3508144a54542bba94" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "253488078a4edf4d6f42f113d1e62836a942cf1a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "27b137a85656544b1ccb5a0f2e561a5703c6a68f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2a5ed960395e2a49b1c758cef4aa15213cfd874c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "2c19c7f9ae8b751e37aeb2d93a699722395ae18f" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "304a554a310c7e546dfe434669c62820b7d83490" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "319f70bab6845585f412ec7724b744fec6095c85" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "35a051a0010aba705c9008d7a7eff6fb88f6ea7b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3ba4d81db016dc2890c81f3acec2454bff5aada5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "3c02a7bc0391e86d91b7d144e61c2c01a25a79c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "40b803a9abce16f50f36a77ba41180eb90023925" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "440c59b325d2997a134c2c7c60a8c61611212bad" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4486a3d68fac6967006d7a517b889fd3f98c102b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "47e7aa56d6bdf3f36be34619660de61275420af8" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "4863226780fe7c0356454236d3b1c8792785748d" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } }, - { - "blockHeader" : { - "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020080", - "extraData" : "0x", - "gasLimit" : "0x2fefba", - "gasUsed" : "0x5208", - "hash" : "44220b4a438fa769755e99320bebe37fc2e019c919fd741508b34d0ef9eb8445", - "mixHash" : "d2c22cf2fdcd7c91d4d4870dd9f36a6ff696440cd839b9e9bae1137596385710", - "nonce" : "18effd2ae4b7e5b8", - "number" : "0x03", - "parentHash" : "ae62864a01c26f47b77ac9235ad2dc1db5740c82a53e625f6becca64317b377b", - "receiptTrie" : "12f61177f6c2cebe14df5474c8b8c1f8f47f4ea8fff7f8b22b7aa8a4156581c8", - "stateRoot" : "587518607d6c98344439896e7f39111d76a8aac09b70d624e237da6fa29bbc44", - "timestamp" : "0x5783630d", - "transactionsTrie" : "3798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2c", - "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "blocknumber" : "3", - "rlp" : "0xf9024cf901f9a0ae62864a01c26f47b77ac9235ad2dc1db5740c82a53e625f6becca64317b377ba01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0587518607d6c98344439896e7f39111d76a8aac09b70d624e237da6fa29bbc44a03798aa164b61e27b93484c76a5f319bd93c808dc78ef31cf8b93f4e1b248ca2ca012f61177f6c2cebe14df5474c8b8c1f8f47f4ea8fff7f8b22b7aa8a4156581c8b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302008003832fefba825208845783630d80a0d2c22cf2fdcd7c91d4d4870dd9f36a6ff696440cd839b9e9bae11375963857108818effd2ae4b7e5b8f84df84b0201827530800a801ca0f6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055a075b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5ededc0", - "transactions" : [ - { - "data" : "0x", - "gasLimit" : "0x7530", - "gasPrice" : "0x01", - "nonce" : "0x02", - "r" : "0xf6d884cae1f86bdff1281e95e416089c544a4a5578a75d5e8ad76118e341b055", - "s" : "0x75b7d88985ed5acd61f30c9f9570c6c33bb92f3ad1a32b86a0747817fbc5eded", - "to" : "", - "v" : "0x1c", - "value" : "0x0a" - } - ], - "uncleHeaders" : [ - ] + "492ea3bb0f3315521c31f273e565b868fc090f17" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } }, - { - "blockHeader" : { - "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x0200c0", - "extraData" : "0x", - "gasLimit" : "0x2fefba", - "gasUsed" : "0x5208", - "hash" : "0aefb5c5a7ec080c970350d9583090b714d37bf95c0a6e2e02dbc1002a5b30b5", - "mixHash" : "023bed20cb52812ce526a57786b78fb62c51f5da5a3bf45ee96dd6e7eb448199", - "nonce" : "7c8f2986da78a3bd", - "number" : "0x04", - "parentHash" : "44220b4a438fa769755e99320bebe37fc2e019c919fd741508b34d0ef9eb8445", - "receiptTrie" : "4346f81bc8c58aa684049309decc863c93cd6cdc84c592b62bd1439eee3636ac", - "stateRoot" : "c8ba761363f3cb1958f01fd55b864bcba7f33324ba4f95e60fc9e48d9ba6777a", - "timestamp" : "0x57836310", - "transactionsTrie" : "4cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2c", - "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "blocknumber" : "4", - "rlp" : "0xf9024cf901f9a044220b4a438fa769755e99320bebe37fc2e019c919fd741508b34d0ef9eb8445a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0c8ba761363f3cb1958f01fd55b864bcba7f33324ba4f95e60fc9e48d9ba6777aa04cc1b34b3a9d29bf69842a54e1c48bc97afc433883f66d2c59287f118c9c3c2ca04346f81bc8c58aa684049309decc863c93cd6cdc84c592b62bd1439eee3636acb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830200c004832fefba825208845783631080a0023bed20cb52812ce526a57786b78fb62c51f5da5a3bf45ee96dd6e7eb448199887c8f2986da78a3bdf84df84b0301827530800a801ca0753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dca066deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0c0", - "transactions" : [ - { - "data" : "0x", - "gasLimit" : "0x7530", - "gasPrice" : "0x01", - "nonce" : "0x03", - "r" : "0x753ee5d896db8d87fe850e7935418587277cd9c010dfaaf7dd09b0a2e73785dc", - "s" : "0x66deb3c241d532c7b880ae7a9a311ee7a92ef1c5e4e2bf3307990a2881bc13b0", - "to" : "", - "v" : "0x1c", - "value" : "0x0a" - } - ], - "uncleHeaders" : [ - ] + "4cb31628079fb14e4bc3cd5e30c2f7489b00960c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } }, - { - "blockHeader" : { - "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020100", - "extraData" : "0x", - "gasLimit" : "0x2fefba", - "gasUsed" : "0xcf08", - "hash" : "c1a27ab42a9d209533699cf0cb3f7d9387d748789c9e4b83861d6eca9d344c27", - "mixHash" : "70a51ab9792974a9cdc257e272b6893f45e710fd73403312d51184e529a82ec8", - "nonce" : "e3ef9bdbb00719d9", - "number" : "0x05", - "parentHash" : "0aefb5c5a7ec080c970350d9583090b714d37bf95c0a6e2e02dbc1002a5b30b5", - "receiptTrie" : "49f411805d9b0ace02b56752bf40396c5505bb7ced5f174abf02a20b623982c0", - "stateRoot" : "8045027de50cc67c31daed085a6e72311e4f931606c6caa9f85bfc34009b3d00", - "timestamp" : "0x57836312", - "transactionsTrie" : "165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cd", - "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "blocknumber" : "5", - "rlp" : "0xf9024cf901f9a00aefb5c5a7ec080c970350d9583090b714d37bf95c0a6e2e02dbc1002a5b30b5a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a08045027de50cc67c31daed085a6e72311e4f931606c6caa9f85bfc34009b3d00a0165af780d27795ebc80c27759d3d949a9c4b05d35fcc7e9d3da8be357f5340cda049f411805d9b0ace02b56752bf40396c5505bb7ced5f174abf02a20b623982c0b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302010005832fefba82cf08845783631280a070a51ab9792974a9cdc257e272b6893f45e710fd73403312d51184e529a82ec888e3ef9bdbb00719d9f84df84b040182ea60800a801ba0cb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169a07445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62c0", - "transactions" : [ - { - "data" : "0x", - "gasLimit" : "0xea60", - "gasPrice" : "0x01", - "nonce" : "0x04", - "r" : "0xcb1400f01459519ac3dc0426c6d7f95641dc6a7b8008069c9dfbe4f94b167169", - "s" : "0x7445362aadae8c25e4f0b494ad553bfc652bf34fb2ed0ccbf9a6b089c2b09f62", - "to" : "", - "v" : "0x1b", - "value" : "0x0a" - } - ], - "uncleHeaders" : [ - ] + "4deb0033bb26bc534b197e61d19e0733e5679784" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } }, - { - "blockHeader" : { - "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020140", - "extraData" : "0x", - "gasLimit" : "0x2fefba", - "gasUsed" : "0xcf08", - "hash" : "23ee03d1084a13984fe604e7ea070c6d907db16960a3835ef57d1baa16689d4f", - "mixHash" : "fac0b79165a4c5531f2f26a3d77a823e8853298fd9eb09436ab380323c3b1f9b", - "nonce" : "ce6bf09522313f40", - "number" : "0x06", - "parentHash" : "c1a27ab42a9d209533699cf0cb3f7d9387d748789c9e4b83861d6eca9d344c27", - "receiptTrie" : "5e40223bcc6a700b1d32c94ec5b7ed325345b400cf06913d4a1538d80dde375d", - "stateRoot" : "293f78bf5ea7fbe0c13c88d246c5d84bf917dbf39e35722ae601ea85543dee9d", - "timestamp" : "0x57836314", - "transactionsTrie" : "ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51be", - "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "blocknumber" : "6", - "rlp" : "0xf9024cf901f9a0c1a27ab42a9d209533699cf0cb3f7d9387d748789c9e4b83861d6eca9d344c27a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0293f78bf5ea7fbe0c13c88d246c5d84bf917dbf39e35722ae601ea85543dee9da0ef009c3c274a522a6e2ca98232fffff747bdfab79189be3e2b5e5dc54e2a51bea05e40223bcc6a700b1d32c94ec5b7ed325345b400cf06913d4a1538d80dde375db90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302014006832fefba82cf08845783631480a0fac0b79165a4c5531f2f26a3d77a823e8853298fd9eb09436ab380323c3b1f9b88ce6bf09522313f40f84df84b050182ea60800a801ba04d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435a023640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237eec0", - "transactions" : [ - { - "data" : "0x", - "gasLimit" : "0xea60", - "gasPrice" : "0x01", - "nonce" : "0x05", - "r" : "0x4d147b172eb81fdb11a21826eabad091084f6e9613d340b5897872843efa6435", - "s" : "0x23640d906f65fd156b92d518068263d99d94dc88c3e0950fd7633fb0d4d237ee", - "to" : "", - "v" : "0x1b", - "value" : "0x0a" - } - ], - "uncleHeaders" : [ - ] + "4fa802324e929786dbda3b8820dc7834e9134a2a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } }, - { - "blockHeader" : { - "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020180", - "extraData" : "0x", - "gasLimit" : "0x2fefba", - "gasUsed" : "0xa042", - "hash" : "60ffcb5008eaea340506bc43689d1b2a3f6be9963822e4d07ea3c3439a5c238a", - "mixHash" : "2deb7b956c9872f070ee6766097fb87f4faf05eafc58d75de0a8a66c1b2d6aac", - "nonce" : "0154f5718e21141d", - "number" : "0x07", - "parentHash" : "23ee03d1084a13984fe604e7ea070c6d907db16960a3835ef57d1baa16689d4f", - "receiptTrie" : "e3beaaa91301cca4d98fc58b2aad310bd7bd147d4ff00f4fb5ce2b186a039f2d", - "stateRoot" : "219ec50b26a20c420f96b8905f669455145efef0233e52a39c2d338b52a60f8c", - "timestamp" : "0x57836317", - "transactionsTrie" : "b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341c", - "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "blocknumber" : "7", - "rlp" : "0xf90260f901f9a023ee03d1084a13984fe604e7ea070c6d907db16960a3835ef57d1baa16689d4fa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0219ec50b26a20c420f96b8905f669455145efef0233e52a39c2d338b52a60f8ca0b2d17fa171d19df4e817ffb15f38526d125a42b7879cd712584b130dc8ad341ca0e3beaaa91301cca4d98fc58b2aad310bd7bd147d4ff00f4fb5ce2b186a039f2db90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302018007832fefba82a042845783631780a02deb7b956c9872f070ee6766097fb87f4faf05eafc58d75de0a8a66c1b2d6aac880154f5718e21141df861f85f060182ea609410000000000000000000000000000000000000070a801ba0bb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9a010ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81bc0", - "transactions" : [ - { - "data" : "0x", - "gasLimit" : "0xea60", - "gasPrice" : "0x01", - "nonce" : "0x06", - "r" : "0xbb8523d4c53ed16b355d0a2dba02154d23a5480449dc3894be40ef95511d2fe9", - "s" : "0x10ad725c2df4979b7a071b3fa9b6b719223f0167d68b98f213e8611f84d4d81b", - "to" : "1000000000000000000000000000000000000007", - "v" : "0x1b", - "value" : "0x0a" - } - ], - "uncleHeaders" : [ - ] + "4fd6ace747f06ece9c49699c7cabc62d02211f75" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } }, - { - "blocknumber" : "8", - "rlp" : "0xf901e8f901e3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000940000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080808080a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80c0c0" + "51e0ddd9998364a2eb38588679f0d2c42653e4a6" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } }, - { - "blockHeader" : { - "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x0201c0", - "extraData" : "0x64616f2d686172642d666f726b", - "gasLimit" : "0x2fefba", - "gasUsed" : "0x00", - "hash" : "759a2064217e4e4a7b2d000b85db1b4a3c38f0d385a2d5fe3c1db59b2b542800", - "mixHash" : "1a03d073e18853b3cae2466c7b3bf0569ec2bee77dac157c9266bbbcd0e26bc4", - "nonce" : "e2b29b5ff2f88b23", - "number" : "0x08", - "parentHash" : "60ffcb5008eaea340506bc43689d1b2a3f6be9963822e4d07ea3c3439a5c238a", - "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "stateRoot" : "d8c26888f3be8b3caa592fa608b0a6c91e4d71a0657b11afebea18528f0ff44d", - "timestamp" : "0x5783631b", - "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "blocknumber" : "8", - "rlp" : "0xf90209f90204a060ffcb5008eaea340506bc43689d1b2a3f6be9963822e4d07ea3c3439a5c238aa01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0d8c26888f3be8b3caa592fa608b0a6c91e4d71a0657b11afebea18528f0ff44da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000830201c008832fefba80845783631b8d64616f2d686172642d666f726ba01a03d073e18853b3cae2466c7b3bf0569ec2bee77dac157c9266bbbcd0e26bc488e2b29b5ff2f88b23c0c0", - "transactions" : [ - ], - "uncleHeaders" : [ - ] + "52c5317c848ba20c7504cb2c8052abd1fde29d03" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } }, - { - "blockHeader" : { - "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020200", - "extraData" : "0x64616f2d686172642d666f726b", - "gasLimit" : "0x2fefba", - "gasUsed" : "0x65aa", - "hash" : "c4a01f3cc777a997d690a0c72dd799817cc2bc0cdc79f6c10d7367d3375eb9a3", - "mixHash" : "28a7e07f83e0624319e9221bf1cd71ee5e35b29c8570d1457ead8f2caf2f10d5", - "nonce" : "46bac1b638d711b4", - "number" : "0x09", - "parentHash" : "759a2064217e4e4a7b2d000b85db1b4a3c38f0d385a2d5fe3c1db59b2b542800", - "receiptTrie" : "ba60c4ab1b477e30a2befb448e466b1404264989fabb1eb870376381202aed52", - "stateRoot" : "b6776ae31aa5aeaf7ec2b8f644716df0cbcba8a9d22ca34e795c9461f81fd04f", - "timestamp" : "0x5783631d", - "transactionsTrie" : "964e2a482dc1856fff3b00f545aaf8720aeef70a3ffe86cebf05bbc2c34bf539", - "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "blocknumber" : "9", - "rlp" : "0xf9026df90206a0759a2064217e4e4a7b2d000b85db1b4a3c38f0d385a2d5fe3c1db59b2b542800a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a0b6776ae31aa5aeaf7ec2b8f644716df0cbcba8a9d22ca34e795c9461f81fd04fa0964e2a482dc1856fff3b00f545aaf8720aeef70a3ffe86cebf05bbc2c34bf539a0ba60c4ab1b477e30a2befb448e466b1404264989fabb1eb870376381202aed52b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302020009832fefba8265aa845783631d8d64616f2d686172642d666f726ba028a7e07f83e0624319e9221bf1cd71ee5e35b29c8570d1457ead8f2caf2f10d58846bac1b638d711b4f861f85f070182ea6094100000000000000000000000000000000000000801801ba09e18981c45e9f6bb54e3f52cae58f2c3c00f2220a9f1c788d0ee3fc2394d4956a038207c17c10faae1fa83bff79770fa38134a19b6ca6f04059d7a307c05f67e6ac0", - "transactions" : [ - { - "data" : "0x", - "gasLimit" : "0xea60", - "gasPrice" : "0x01", - "nonce" : "0x07", - "r" : "0x9e18981c45e9f6bb54e3f52cae58f2c3c00f2220a9f1c788d0ee3fc2394d4956", - "s" : "0x38207c17c10faae1fa83bff79770fa38134a19b6ca6f04059d7a307c05f67e6a", - "to" : "1000000000000000000000000000000000000008", - "v" : "0x1b", - "value" : "0x01" - } - ], - "uncleHeaders" : [ - ] - } - ], - "genesisBlockHeader" : { - "bloom" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "coinbase" : "8888f1f195afa192cfee860698584c030f4c9db1", - "difficulty" : "0x020000", - "extraData" : "0x42", - "gasLimit" : "0x2fefd8", - "gasUsed" : "0x00", - "hash" : "eb310def4877fc94c3945bdabd9ba6bbafff1c74944b2bd74a4ac01f0868804c", - "mixHash" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "nonce" : "0102030405060708", - "number" : "0x00", - "parentHash" : "0000000000000000000000000000000000000000000000000000000000000000", - "receiptTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "stateRoot" : "4eda2e603f5b9ad6e92c0cba602372d0a0cd2e776a17b61a7a20225ffa7643d7", - "timestamp" : "0x54c98c81", - "transactionsTrie" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", - "uncleHash" : "1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347" - }, - "genesisRLP" : "0xf901fcf901f7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948888f1f195afa192cfee860698584c030f4c9db1a04eda2e603f5b9ad6e92c0cba602372d0a0cd2e776a17b61a7a20225ffa7643d7a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008302000080832fefd8808454c98c8142a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421880102030405060708c0c0", - "lastblockhash" : "c4a01f3cc777a997d690a0c72dd799817cc2bc0cdc79f6c10d7367d3375eb9a3", - "postState" : { - "0c243ebe6a031753dc0dd850acf422844a3efb76" : { - "balance" : "0x0a", + "542a9515200d14b68e934e9830d91645a980dd7a" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "5524c55fb03cf21f549444ccbecb664d0acad706" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000007" : { - "balance" : "0x0a", - "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "579a80d909f346fbfb1189493f521d7f48d52238" : { + "balance" : "0x02540be400", + "code" : "0x", "nonce" : "0x00", "storage" : { - "0x00" : "0x02540be400" } }, - "1000000000000000000000000000000000000008" : { - "balance" : "0x01", - "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "58b95c9a9d5d26825e70a82b6adb139d3fd829eb" : { + "balance" : "0x02540be400", + "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "17802f43a0137c506ba92291391a8a8f207f487d" : { - "balance" : "0x00", + "5c6e67ccd5849c0d29219c4f95f1a7a93b3f5dc5" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "248f0f0f33eadb89e9d87fd5c127f58567f3ffde" : { - "balance" : "0x0a", + "5c8536898fbb74fc7445814902fd08422eac56d0" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { - "balance" : "0x00", + "5d2b2e6fcbe3b11d26b525e085ff818dae332479" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "304a554a310c7e546dfe434669c62820b7d83490" : { - "balance" : "0x00", + "5dc28b15dffed94048d73806ce4b7a4612a1d48f" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { - "balance" : "0x00", + "5f9f3392e9f62f63b8eac0beb55541fc8627f42c" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : { - "balance" : "0x0a", + "6131c42fa982e56929107413a9d526fd99405560" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { - "balance" : "0x00", + "6231b6d0d5e77fe001c2a460bd9584fee60d409b" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { - "balance" : "0x00", + "627a0a960c079c21c34f7612d5d230e01b4ad4c7" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { - "balance" : "0x00", + "63ed5a272de2f6d968408b4acb9024f4cc208ebf" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "85c2f277588ea1e6901ed59e587bea222c575f87" : { - "balance" : "0x0a", + "6966ab0d485353095148a2155858910e0965b6f9" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "8888f1f195afa192cfee860698584c030f4c9db1" : { - "balance" : "0x0270801d946c97ec1c", + "6b0c4d41ba9ab8d8cfb5d379c69a612f2ced8ecb" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { - "balance" : "0x00", + "6d87578288b6cb5549d5076a207456a1f6a63dc0" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x3b96dd9d", + "6f6704e5a10332af6672e50b3d9754dc460dfa4d" : { + "balance" : "0x02540be400", "code" : "0x", - "nonce" : "0x08", + "nonce" : "0x00", "storage" : { } }, - "abcabcabcabcabcabcabcabcabcabcabcabcabca" : { - "balance" : "0x2c3cf12e40", + "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { - "balance" : "0x00", + "779543a0491a837ca36ce8c635d6154e3c4911a6" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "aeeb8ff27288bdabc0fa5ebb731b6f409507516c" : { - "balance" : "0x00", + "77ca7b50b6cd7e2f3fa008e24ab793fd56cb15f6" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "b136707642a4ea12fb4bae820f03d2562ebff487" : { - "balance" : "0x00", + "782495b7b3355efb2833d56ecb34dc22ad7dfcc4" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "b1d37cf6180ceb738ca45b5005a2f418c02e204b" : { - "balance" : "0x0a", + "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { - "balance" : "0x00", + "8163e7fb499e90f8544ea62bbf80d21cd26d9efd" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "ca544e5c4687d109611d0f8f928b53a25af72448" : { - "balance" : "0x00", + "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "cbb9d3703e651b0d496cdefb8b92c25aeb2171f7" : { - "balance" : "0x00", + "86af3e9626fce1957c82e88cbf04ddf3a2ed7915" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "d343b217de44030afaa275f54d31a9317c7f441e" : { - "balance" : "0x00", + "8d9edb3054ce5c5774a420ac37ebae0ac02343c6" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "da2fef9e4a3230988ff17df2165440f37e8b1708" : { - "balance" : "0x00", + "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "dbe9b615a3ae8709af8b93336ce9b477e4ac0940" : { - "balance" : "0x00", + "97f43a37f595ab5dd318fb46e7a155eae057317a" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "ec0e71ad0a90ffe1909d27dac207f7680abba42d" : { - "balance" : "0x0a", + "9aa008f65de0b923a2a4f02012ad034a5e2e2192" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "f14c14075d6c4ed84b86798af0956deef67365b5" : { - "balance" : "0x00", + "9c15b54878ba618f494b38f0ae7443db6af648ba" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "f4c64518ea10f995918a454158c6b61407ea345c" : { - "balance" : "0x00", + "9c50426be05db97f5d64fc54bf89eff947f0a321" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "fe24cdd8648121a43a7c86d289be4dd2951ed49f" : { - "balance" : "0x00", + "9da397b9e80755301a3b32173283a91c0ef6c87e" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } - } - }, - "pre" : { - "1000000000000000000000000000000000000007" : { - "balance" : "0x00", - "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + }, + "9ea779f907f0b315b364b0cfc39a0fde5b02a416" : { + "balance" : "0x02540be400", + "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "1000000000000000000000000000000000000008" : { - "balance" : "0x00", - "code" : "0x73807640a13483f8ac783c557fcdf27be11ea4ac7a31600055", + "9f27daea7aca0aa0446220b98d028715e3bc803d" : { + "balance" : "0x02540be400", + "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "17802f43a0137c506ba92291391a8a8f207f487d" : { + "9fcd2deaff372a39cc679d5c5e4de7bafb0b1339" : { "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "2b3455ec7fedf16e646268bf88846bd7a2319bb2" : { + "a2f1ccba9395d7fcb155bba8bc92db9bafaeade7" : { "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "304a554a310c7e546dfe434669c62820b7d83490" : { - "balance" : "0x0f4240", + "a3acf3a1e16b1d7c315e23510fdd7847b48234f6" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "4613f3bca5c44ea06337a9e439fbc6d42e501d0a" : { + "a5dc5acd6a7968a4554d89d65e59b7fd3bff0f90" : { "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "7602b46df5390e432ef1c307d4f2c9ff6d65cc97" : { + "a82f360a8d3455c5c41366975bde739c37bfeb8a" : { "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "807640a13483f8ac783c557fcdf27be11ea4ac7a" : { - "balance" : "0x02540be400", + "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0xe8d4a51000", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "84ef4b2357079cd7a7c69fd7a37cd0609a679106" : { + "ac1ecab32727358dba8962a0f3b261731aad9723" : { "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "914d1b8b43e92723e64fd0a06f5bdb8dd9b10c79" : { + "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { - "balance" : "0x3b9aca00", + "acd87e28b0c9d1254e868b81cba4cc20d9a32225" : { + "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", "storage" : { } }, - "accc230e8a6e5be9160b8cdf2864dd2a001c28b6" : { + "adf80daec7ba8dcf15392f1ac611fff65d94f880" : { "balance" : "0x02540be400", "code" : "0x", "nonce" : "0x00", @@ -1750,6 +8384,34 @@ "storage" : { } }, + "b2c6f0dfbb716ac562e2d85d6cb2f8d5ee87603e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b3fb0e5aba0e20e5c49d252dfd30e102b171a425" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b52042c8ca3f8aa246fa79c3feaa3d959347c0ab" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "b9637156d330c0d605a791f1c31ba5890582fe1c" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "bb9bc244d798123fde783fcc1c72d3bb8c189413" : { "balance" : "0x02540be400", "code" : "0x", @@ -1757,6 +8419,34 @@ "storage" : { } }, + "bc07118b9ac290e4622f5e77a0853539789effbe" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "bcf899e6c7d9d5a215ab1e3444c86806fa854c76" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "be8539bfe837b67d1282b2b1d61c3f723966f049" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "c4bbd073882dd2add2424cf47d35213405b01324" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "ca544e5c4687d109611d0f8f928b53a25af72448" : { "balance" : "0x02540be400", "code" : "0x", @@ -1771,6 +8461,41 @@ "storage" : { } }, + "cc34673c6c40e791051898567a1222daf90be287" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ceaeb481747ca6c540a000c1f3641f8cef161fa7" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d131637d5275fd1a68a3200f4ad25c71a2a9522e" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d164b088bd9108b60d0ca3751da4bceb207b0782" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d1ac8b1ef1b69ff51d1d401a476e7e612414f091" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "d343b217de44030afaa275f54d31a9317c7f441e" : { "balance" : "0x02540be400", "code" : "0x", @@ -1778,6 +8503,20 @@ "storage" : { } }, + "d4fe7bc31cedb7bfb8a345f31e668033056b2728" : { + "balance" : "0x0f4240", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "d9aef3a1e38a39c16b31d1ace71bca8ef58d315b" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "da2fef9e4a3230988ff17df2165440f37e8b1708" : { "balance" : "0x02540be400", "code" : "0x", @@ -1792,6 +8531,48 @@ "storage" : { } }, + "e308bd1ac5fda103967359b2712dd89deffb7973" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "e4ae1efdfc53b73893af49113d8694a057b9c0d1" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ec8e57756626fdc07c63ad2eafbd28d08e7b0ca5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "ecd135fa4f61a655311e86238c92adcd779555d2" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f0b1aa0eb660754448a7937c022e30aa692fe0c5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, + "f1385fb24aad0cd7432824085e42aff90886fef5" : { + "balance" : "0x02540be400", + "code" : "0x", + "nonce" : "0x00", + "storage" : { + } + }, "f14c14075d6c4ed84b86798af0956deef67365b5" : { "balance" : "0x02540be400", "code" : "0x", From 993b41216092fa6dc20d3755afe322cd1376b398 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Sat, 16 Jul 2016 12:14:20 +0300 Subject: [PATCH 9/9] cmd/utils, eth: display the user's current fork, minor text tweak --- cmd/utils/flags.go | 20 +++++++++++++++++++- eth/handler_test.go | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 7b5915a05..de379f84f 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -800,7 +800,8 @@ func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainC // If the chain is already initialized, use any existing chain configs config := new(core.ChainConfig) - if genesis := core.GetBlock(db, core.GetCanonicalHash(db, 0), 0); genesis != nil { + genesis := core.GetBlock(db, core.GetCanonicalHash(db, 0), 0) + if genesis != nil { storedConfig, err := core.GetChainConfig(db, genesis.Hash()) switch err { case nil: @@ -834,6 +835,23 @@ func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainC case ctx.GlobalBool(OpposeDAOFork.Name): config.DAOForkSupport = false } + // Temporarilly display a proper message so the user knows which fork its on + if !ctx.GlobalBool(TestNetFlag.Name) && (genesis == nil || genesis.Hash() == common.HexToHash("0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3")) { + choice := "SUPPORT" + if !config.DAOForkSupport { + choice = "OPPOSE" + } + current := fmt.Sprintf("Geth is currently configured to %s the DAO hard-fork!", choice) + howtoswap := fmt.Sprintf("You can change your choice prior to block #%v with --support-dao-fork or --oppose-dao-fork.", config.DAOForkBlock) + howtosync := fmt.Sprintf("After the hard-fork block #%v passed, changing chains requires a resync from scratch!", config.DAOForkBlock) + separator := strings.Repeat("-", len(howtoswap)) + + glog.V(logger.Warn).Info(separator) + glog.V(logger.Warn).Info(current) + glog.V(logger.Warn).Info(howtoswap) + glog.V(logger.Warn).Info(howtosync) + glog.V(logger.Warn).Info(separator) + } return config } diff --git a/eth/handler_test.go b/eth/handler_test.go index 60a642130..66ff26809 100644 --- a/eth/handler_test.go +++ b/eth/handler_test.go @@ -638,6 +638,7 @@ func testDAOChallenge(t *testing.T, localForked, remoteForked bool, timeout bool if err := p2p.Send(peer.app, BlockHeadersMsg, []*types.Header{blocks[0].Header()}); err != nil { t.Fatalf("failed to answer challenge: %v", err) } + time.Sleep(100 * time.Millisecond) // Sleep to avoid the verification racing with the drops } else { // Otherwise wait until the test timeout passes time.Sleep(daoChallengeTimeout + 500*time.Millisecond)