EIP1559 (London Fork) on Mainnet

After successful rollout of EIP1559 on Mumbai Testnet (http://forum.polygon.technology/t/eip1559-implementation-on-mumbai-testnet/399) last month, we now have a block number for London Hardfork on Mainnet.

We will hit the London Block where the EIP1559 and related EIPs will be activated on the Mainnet around 8AM UTC on Jan 18th 2022: https://polygonscan.com/block/countdown/23850000

Since this is a hardfork, a genesis update will be required. Please follow the steps below to ensure your Mainnet nodes continue to sync after the London Block.

Steps for Upgrading Bor on Mainnet Nodes

  1. Stop the bor service

    sudo service bor stop
    
  2. Navigate to bor directory

    cd ~/bor
    
  3. Fetch the latest changes and use Bor v0.2.13:

    git fetch
    git fetch --tags
    git checkout v0.2.13
    
  4. Build latest changes

    make bor-all
    
  5. Ensure that bor binary is updated to version v0.2.13-stable

    bor version
    
    #Should return something like:
    
    Bor
    Version: 0.2.13-stable
    Git Commit: 159651242bf6de65a39496d56c059f8a3bdeabcb
    Architecture: amd64
    Go Version: go1.17
    Operating System: linux
    ...
    ...
    
  6. Download the latest genesis file. We are activating the fork and burn contract address through the updated genesis.

    curl https://raw.githubusercontent.com/maticnetwork/launch/master/mainnet-v1/sentry/validator/bor/genesis.json --output ~/genesis.json
    
  7. Init bor with genesis file

    bor --datadir ~/.bor/data init ~/genesis.json
    

    If you are using a non-default datadir, please ensure you input the correct one you have been using.

  8. You should see the output as follows:

    ...
    ...
    INFO [12-10|19:57:02.531] Successfully wrote genesis state         database=chaindata                            hash=...
    ...
    INFO [12-10|19:57:02.556] Successfully wrote genesis state         database=lightchaindata                       hash=...
    ...
    ...
    
  9. Start the bor service

    sudo service bor start
    
  10. Verify that london block is showing up in the logs at 23,850,000:

    journalctl -u bor --since today | grep -i london
    
    # You should see output similar to:
    Jan 11 10:44:53 mainnet-sentry bash[2668]: INFO [01-11|10:44:53.512] Initialised chain configuration
    config="{ChainID: 137 Homestead: 0 DAO: <nil> DAOSupport: false EIP150: 0 EIP155: 0
    EIP158: 0 Byzantium: 0 Constantinople: 0 Petersburg: 0 Istanbul: 3395000,
    Muir Glacier: 3395000, Berlin: 14750000, London: 23850000, Engine: bor}"
    

Please ensure you upgrade bor on all your Mainnet nodes before 17th Jan 2022.

5 Likes

Amazing @sandeep , all Polygon community was waiting for this implementation and now we are almost there! Congratulations on all the work done by all devs contributing to the grow of this amazing ecosystem!

May I suggest adding a countdown on top of Polygonscan? That would be beautiful and will help all the community keep track and celebrate all together!

4 Likes

This is great!
StrongBlock.io has updated and production is now on Polygon Bor v0.2.13 with London Fork genesis.

Confirming:
INFO [01-XX|18:44:23.671] Initialised chain configuration config="{ChainID: 137 Homestead: 0 DAO: <nil> DAOSupport: true EIP150: 0 EIP155: 0 EIP158: 0 Byzantium: 0 Constantinople: 0 Petersburg: 0 Istanbul: 3395000, Muir Glacier: 3395000, Berlin: 14750000, London: 23850000, Engine: bor}"

1 Like

I don’t really understand this, how can you have a genesis block now - chain is still running.

If I do an init now, won’t it remove everything that is already there?

cmiiw, but shouldn’t validators be doubling their configured max block gas limit as well?

at the current 15M block gas limit, it seems like the network would be targeting 15M / 2 = 7.5M average gas used per block

edit: and miner.gasPrice might have to be changed too, else all txes must have at least 30 gwei effective tip (including legacy txes, i.e. if baseFee is 20 gwei then you’d need to set gasPrice to at least 50 gwei)

The bor service crash every 10mins after upgrade.