From 3837d0c2cce5528f31cb1f5943e3fc73bd93fbee Mon Sep 17 00:00:00 2001 From: Daniel Liu Date: Thu, 13 Mar 2025 10:17:37 +0800 Subject: [PATCH] core, cmd/XDC: fix wrong hash caused by EIP-1559 number when init genesis --- cmd/XDC/chaincmd.go | 6 +++++- core/genesis.go | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cmd/XDC/chaincmd.go b/cmd/XDC/chaincmd.go index e936d460d2..7485071d99 100644 --- a/cmd/XDC/chaincmd.go +++ b/cmd/XDC/chaincmd.go @@ -184,6 +184,10 @@ func initGenesis(ctx *cli.Context) error { utils.Fatalf("invalid genesis json: %v", err) } + if genesis.Config.ChainId != nil { + common.CopyConstans(genesis.Config.ChainId.Uint64()) + } + // Open an initialise both full and light databases stack, _ := makeFullNode(ctx) defer stack.Close() @@ -198,7 +202,7 @@ func initGenesis(ctx *cli.Context) error { utils.Fatalf("Failed to write genesis block: %v", err) } chaindb.Close() - log.Info("Successfully wrote genesis state", "database", name, "hash", hash) + log.Info("Successfully wrote genesis state", "database", name, "hash", hash.String()) return nil } diff --git a/core/genesis.go b/core/genesis.go index d9f3b3da60..8352f11d72 100644 --- a/core/genesis.go +++ b/core/genesis.go @@ -213,6 +213,10 @@ func (g *Genesis) ToBlock(db ethdb.Database) *types.Block { if g.Difficulty == nil { head.Difficulty = params.GenesisDifficulty } + + // Notice: Eip1559Block affects the block hash, we must set: + // 1. g.Config.Eip1559Block + // 2. or common.Eip1559Block if g.Config != nil && g.Config.IsEIP1559(common.Big0) { if g.BaseFee != nil { head.BaseFee = g.BaseFee @@ -220,6 +224,7 @@ func (g *Genesis) ToBlock(db ethdb.Database) *types.Block { head.BaseFee = new(big.Int).SetUint64(params.InitialBaseFee) } } + statedb.Commit(false) statedb.Database().TrieDB().Commit(root, true)