原文标题:《 London Mainnet Announcement 》
Originally written by Tim Beiko
ETH Chinese website
In addition to the announcement of the London mainnet upgrade, ECN has also translated the code changes in the Geth client v1.10.5 for the London upgrade that different stakeholders need to be aware of.
After the successful deployment of the London upgraded test network, it is now ready to be activated on the Ethereum mainnet. It will be activated at 12 965,000 block height, approximately between 3 and 5 August 2021.
To be compatible with the London upgrade, node operators will need to upgrade the version of the client they are running on. Each client version listed below supports the London upgrade of the Ethereum mainnet.
Pay attention to: The following versions are different from the client versions listed in the London Test Net Announcements. The client version of the Test Net does not support the client version of the Main Net London Upgrade.

Pay attention to: OpenEthereum client deprecated after London upgrade. The OE team is working with Erigon to provide a smooth transition path for users. More information can be found here.
Miners, please note: The London upgrade will change the way gas limit targets are dealt with on the network. See "What do I need to do as a miner?" below. For details.
The following EIPS are the contents of the London Upgrade:
1. EIP-1559: ETH 1.0 fee market change
2. EIP-3198: BaseFee opcode
3. EIP-3529: Reduces gas returns
4. EIP-3541: Reject new addresses starting with 0xEF bytes
5. EIP-3554: Difficulty Bomb delayed to December 2021
Ethereum Cat Herders has published a blog post discussing the details of these EIPs.
It's worth noting that while EIP-1559 is backward compatible with current transaction formats, it introduces changes to the block header, adds new transaction types, provides new JSON RPC endpoints, and changes client behavior in several ways (mining, transaction pooling, and so on). It is strongly recommended that projects become familiar with this EIP. A more extensive list of information related to EIP-1559 can be found here.
In order to get more people to pay attention to the upcoming London upgrade, the bonus for all bugs related to the London upgrade will be doubled until the upgrade begins. Examples of double bounties are cross-client consensus issues between the following clients: Geth, Besu, Nethermind, OpenEthereum, and Ericon. Full details about the bug bounty scope and limits, please refer to: https://bounty.ethereum.org/#rules.
If you use a trading platform (like Coinbase, Kraken, or Binance), a web wallet service (like MetaMask, MyCrypto, or MytherWallet), Mobile Wallet services (such as Coinbase Wallet, Status.im, or Trust Wallet), or hardware wallets (such as Ledger, Trezor, or KeepKey),You don't have to do anything unless your exchange or wallet provider tells you to take additional steps. If you're running your own Ethereum node, you'll need to upgrade your node.See "What do I need to do as a non-mining node?" Part.
Download the latest version of the Ethereum client, as listed in the table above.
First, download the latest version of your Ethereum client.Then, you need to manually set the gas limit target to double the current amount. That's because once London is upgraded and deployed, the block will be twice as big, EIP-1559 will keep the block capacity about 50% full. This can be done using JSON-RPC on any client that offers main-network-compatible mining, without having to restart your node.
For example, if you set the block size to 15M gas before the London upgrade, you will need to set the gas limit to 30M to maintain the same average number of transactions per block. If you don't change the gas limit target for block 12 965 000, you will start to reduce your block size in the network. The following table provides the specific APIs for each client that you will need to update your Gas Limit target.

Pay attention to: Nethermind, Erigon, and EthereumJS currently do not support mining on the Ethereum mainnet.
If you are using an Ethereum client but are not updating to the latest version (listed above), your client will be synchronizing the blockchain data before the fork. You'd be stuck on an incompatible chain that followed the old rules and wouldn't be able to send ETH or operate on the upgraded Ethereum network.
The network upgrade means a change in Ethereum's underlying protocol, creating new rules to improve the system. The decentralized nature of blockchain systems makes it harder to upgrade networks. The smooth progression of the blockchain network upgrade requires collaboration and communication with the community and individual Ethereum client developers to make the transition smooth.
When the community reaches a consensus on what changes need to be included in the upgrade, these changes to the protocol are written to various Ethereum clients such as Geth, Erigon, Besu, and Nethermind. Protocol changes are initiated at a specific block height. Any nodes that have not been upgraded to the new rules will be abandoned on the old chain, which will continue to hold the previous rules.
After the Istanbul upgrade, we ran out of network upgrade names. Someone suggested we name the city where DevCon was being held, so we did. Berlin was the host city for Devcon 0, and the next upgrade will be London, the host city for Devcon 1.
Special thanks to everyone involved in the research, planning, implementation, testing, fixing, retesting, deployment, stress testing, and in any other way helping with London's deployment
And Benjamin Davies with the cover image!
This is a new and growing high-tech field. If readers choose to implement the recommendations in this article and continue to participate, please make sure you fully understand the implications of your choice. Readers should be aware of the risks involved, including but not limited to the risk of unexpected bugs, at their own risk. This article and its recommendations are not a sale of any kind, nor do they offer any warranties of any kind, including, but not limited to, anything relating to the Ethereum network or the Ethereum clients referred to herein.
Geth client on the London upgrade changes:
1. This version includes the height of the main network start-up block for the London hard fork. (# 23176)
2. As with all previous forking-related versions, we added an overload flag to set the startup block. This flag is temporary and will be removed after the mainnetwork fork block is successfully started. (# 22822, # 22972)
3. The trading pool for the Geth client has been redesigned to match the new fee market created by EIP-1559. Our new trade pool is designed to meet the needs of our users -- to package transactions in a timely manner -- to prioritize transactions efficiently based on their effective mining rewards. You can learn more about the logic of the new trading pool in the trading pool design document. (# 22898)
EIP-1559 will also change the voting system for Gas Limit. After the London fork, the amount of block gas available for trading is adjusted based on demand. The block capacity is called the Gas Target, and EIP-1559 defines this Target as half of the Gas Limit.
To ensure that the gas available for trading is the same as before the fork, the gas limit for the forked block is doubled. If you are using --miner.gaslimit Tag to vote. You need to double the value of the tag to keep the vote the same as before. You can use miner_setGasLimit RPC API to upgrade Target without offline, but note that this will not continue after reboot. Before & have spent --miner.gastarget The tag is deprecated when it is upgraded in London and its value is ignored.
For example, if you are using --miner.gaslimit Vote on the gas limit of 20M when the actual block gas limit is 20M. When the London Upgrade is launched, the block gas limit will be adjusted to 40M, but if you continue to use the same block. --miner.gaslimit If set, you will also vote on 20M. So at some point after the fork, you need to shift your --miner.gaslimit To double the original value to ensure that the gas limit remains at 40M gas.
5.For wallet providers: The default calculation algorithm for EIP-1559 trading price (eth_maxPriorityFeePerGas) still follows the old mechanism and puts max priority fee Set to pay over the network. effective price Subtract the current The base fee; The & have spent max fee Set to & have spent Priority Fee + 2x Base Fee. This ensures that the total price per gas paid remains the same after the London transition period if there is no explicit objection from the customer.
In addition, Geth has released a new eth_feeHistory (blocks, head, percentiles) API terminal, which users can use to ask for recent data on the amount of tipping paid to miners and transaction burn fees. It is recommended that wallets use this terminal to give the user multiple cost options (#23033).
6.JSON-RPC users note: eth_sendTransaction& NBSP after fork; And & have spent eth_fillTransaction EIP-1559 transactions are created by default.
7.Go/Java/ObjC contract binding user note: accounts/ ABI /bind It will automatically create 1559 type transactions. To use EIP-1559 in an application written in Go, be sure to use it in your application's go.mod Upgrade Go-Ethereum module dependency to V1.10.4 in the file. (# 23038)
8.Note to the ethClient user: If you send transactions using the ethclient package and want to use the new fee model that comes with EIP-1559, you will have to modify your code to use types.NewTx(& types.DynamicFeeTx{... }) To create a transaction. To see if a fork has started and if a new transaction type is available, simply check the   of the latest block header; BaseFee Whether the field is non-zero.
The original link
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia