diff --git a/core/genesis.go b/core/genesis.go index e0d3e51b8b65f874cc471e5af32ecdb92d8db519..716298231d0288d9069c74a64efa96d5d5336df1 100644 --- a/core/genesis.go +++ b/core/genesis.go @@ -7,8 +7,8 @@ import ( "os" "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/state" + "github.com/ethereum/go-ethereum/core/types" ) /* @@ -34,7 +34,10 @@ func GenesisBlock(db common.Database) *types.Block { genesis.SetTransactions(types.Transactions{}) genesis.SetReceipts(types.Receipts{}) - var accounts map[string]struct{ Balance string } + var accounts map[string]struct { + Balance string + Code string + } err := json.Unmarshal(genesisData, &accounts) if err != nil { fmt.Println("enable to decode genesis json data:", err) @@ -46,6 +49,7 @@ func GenesisBlock(db common.Database) *types.Block { codedAddr := common.Hex2Bytes(addr) accountState := statedb.GetAccount(common.BytesToAddress(codedAddr)) accountState.SetBalance(common.Big(account.Balance)) + accountState.SetCode(common.FromHex(account.Code)) statedb.UpdateStateObject(accountState) } statedb.Sync()