Merge pull request #907 from gzliudan/fix-genesis

all: fix wrong genesis hash by set EIP-1559 number
This commit is contained in:
Daniel Liu 2025-03-14 07:59:59 +08:00 committed by GitHub
commit 21a430963c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 18 additions and 5 deletions

View file

@ -7,6 +7,7 @@
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"eip1559Block": 0,
"XDPoS": {
"period": 2,
"epoch": 900,
@ -275,4 +276,4 @@
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"baseFeePerGas": null
}
}

View file

@ -7,6 +7,7 @@
"eip155Block": 3,
"eip158Block": 3,
"byzantiumBlock": 4,
"eip1559Block": 71550000,
"XDPoS": {
"period": 2,
"epoch": 900,
@ -138,4 +139,4 @@
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
}

View file

@ -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
}

View file

@ -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)

View file

@ -7,6 +7,7 @@
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"eip1559Block": 0,
"XDPoS": {
"period": 2,
"epoch": 900,
@ -275,4 +276,4 @@
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"baseFeePerGas": null
}
}

View file

@ -7,6 +7,7 @@
"eip155Block": 3,
"eip158Block": 3,
"byzantiumBlock": 4,
"eip1559Block": 71550000,
"XDPoS": {
"period": 2,
"epoch": 900,
@ -138,4 +139,4 @@
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
}