Tiêu đề gốc: " Thông báo Mainnet Luân Đôn 》
Tác giả gốc: Tim Beiko
Bản gốc biên soạn: ETH Chinese Station
Ghi chú của người dịch: Ngoài thông báo về việc nâng cấp mạng chính ở London, ECN cũng đã dịch các thay đổi mã trong ứng dụng khách Geth v1.10.5 liên quan đến việc nâng cấp ở London mà các bên liên quan khác nhau cần chú ý.
London đã nâng cấp mạng thử nghiệm sau triển khai thành công, giờ đây nó đã sẵn sàng để được kích hoạt trên mạng chính Ethereum. Nó sẽ được kích hoạt ở độ cao khối 12 965 000, khoảng ngày 3-5 tháng 8 năm 2021.
Để tương thích với bản nâng cấp ở London, các nhà khai thác nút sẽ cần nâng cấp phiên bản máy khách mà họ đang chạy. Mỗi phiên bản máy khách được liệt kê bên dưới đều hỗ trợ nâng cấp mạng chính Ethereum ở London.
Lưu ý: Các phiên bản sau đây khác với các phiên bản được liệt kê trong "Thông báo về mạng thử nghiệm ở London " Phiên bản máy khách của mạng thử nghiệm không hỗ trợ phiên bản máy khách của bản nâng cấp mạng chính London.

Lưu ý: Ứng dụng khách OpenEthereum sẽ bị loại bỏ sau phiên bản London nâng cấp sử dụng. Nhóm OE đang hợp tác với Erigon để cung cấp lộ trình chuyển đổi suôn sẻ cho người dùng. Nhấp vào đây để có thêm thông tin.
Xin vui lòng lưu ý: Bản nâng cấp ở London sẽ thay đổi cách mạng xử lý các mục tiêu giới hạn gas. Xem phần "Tôi cần làm gì với tư cách là người khai thác?" bên dưới để biết thêm thông tin.
Các EIP sau đây là một phần của quá trình nâng cấp ở Luân Đôn:
1. EIP-1559: Thay đổi thị trường phí ETH 1.0
2. EIP-3198 : Mã hoạt động BASEFEE
3. EIP-3529: Giảm lượng khí trả lại
4. EIP-3541: Từ chối các địa chỉ mới bắt đầu bằng 0xEF byte
5. EIP - 3554: Bom độ khó bị trì hoãn đến tháng 12 năm 2021
Ethereum Cat Herders đăng một bài viết trên blog, thảo luận chi tiết của các EIP này.
Điều đáng chú ý là mặc dù EIP-1559 tương thích ngược với các định dạng giao dịch hiện tại, nhưng nó giới thiệu các thay đổi đối với tiêu đề khối, thêm các loại giao dịch mới, cung cấp điểm cuối JSON RPC mới và thay đổi hành vi của khách hàng ở một số khía cạnh (khai thác, nhóm giao dịch, v.v.). Chúng tôi đặc biệt khuyến nghị các dự án nên làm quen với EIP này. Bạn có thể tìm thấy danh sách đầy đủ hơn các tài liệu liên quan đến EIP-1559 tại đây.
Để thu hút nhiều sự chú ý hơn đến bản nâng cấp London sắp tới, tiền thưởng cho tất cả các lỗi liên quan đến nâng cấp London sẽ tăng gấp đôi cho đến khi quá trình nâng cấp bắt đầu. Ví dụ về các vấn đề có thể yêu cầu tiền thưởng gấp đôi là các vấn đề đồng thuận giữa nhiều khách hàng giữa các khách hàng này: Geth, Besu, Nethermind, OpenEthereum và Erigon. Để biết chi tiết đầy đủ về phạm vi và giới hạn tiền thưởng lỗi, hãy xem: https://bounty.ethereum.org/#rules.
Nếu bạn sử dụng nền tảng giao dịch (chẳng hạn như Coinbase, Kraken hoặc Binance), ví web dịch vụ (chẳng hạn như Metamask, MyCrypto hoặc MyEtherWallet), dịch vụ ví di động (chẳng hạn như Coinbase Wallet, Status.im hoặc Trust Wallet) hoặc ví phần cứng (chẳng hạn như Ledger, Trezor hoặc KeepKey), Bạn không cần phải làm bất cứ điều gì trừ khi nhà cung cấp dịch vụ ví hoặc sàn giao dịch của bạn thông báo cho bạn thực hiện các bước bổ sung. Nếu bạn chạy nút Ethereum của riêng mình, bạn sẽ cần nâng cấp nút của mình. Vui lòng xem phần "Là một nút không khai thác, tôi cần làm gì?" bên dưới.
Tải xuống phiên bản mới nhất của ứng dụng khách Ethereum, được liệt kê trong bảng trên.
Trước tiên, hãy tải xuống phiên bản mới nhất của ứng dụng khách Ethereum của bạn. Sau đó, bạn cần đặt mục tiêu giới hạn gas theo cách thủ công lên gấp đôi giá trị hiện tại. Điều này là do một khi bản nâng cấp London được triển khai, kích thước khối sẽ lớn gấp đôi hiện nay và EIP-1559 sẽ giữ cho dung lượng khối ở mức đầy khoảng 50%. Điều này có thể đạt được thông qua JSON-RPC trên tất cả các máy khách cung cấp khả năng khai thác tương thích với mạng chính mà không cần khởi động lại nút của bạn.
Ví dụ: nếu bạn đặt kích thước khối thành 15m gas trước khi nâng cấp London, bạn sẽ cần Đặt giới hạn gas thành 30m để duy trì số lượng giao dịch trung bình nhất quán trên mỗi khối. Nếu bạn không thay đổi mục tiêu giới hạn gas ở khối 12 965 000, bạn sẽ bắt đầu giảm kích thước khối của mình trong mạng. Bảng sau đây cung cấp các API cụ thể cho từng ứng dụng khách mà bạn cần sử dụng để cập nhật mục tiêu giới hạn gas của mình.

Lưu ý: Nethermind, Erigon và EthereumJS hiện không hỗ trợ khai thác trên mạng chính Ethereum.
Nếu bạn đang sử dụng ứng dụng khách Ethereum nhưng không nâng cấp lên (được liệt kê ở trên) Với phiên bản mới nhất phiên bản, sau khi nâng cấp, khách hàng của bạn sẽ đồng bộ hóa dữ liệu blockchain trước khi phân nhánh. Bạn sẽ bị mắc kẹt trên một chuỗi không tương thích tuân theo các quy tắc cũ và sẽ không thể gửi ETH hoặc hoạt động trên mạng Ethereum đã nâng cấp.
Nâng cấp mạng có nghĩa là thay đổi giao thức cơ bản của Ethereum, tạo ra các quy tắc mới để cải thiện hệ thống . Bản chất phi tập trung của hệ thống blockchain khiến việc nâng cấp mạng trở nên khó khăn hơn. Quá trình nâng cấp mạng blockchain diễn ra suôn sẻ đòi hỏi sự cộng tác và liên lạc với cộng đồng và các nhà phát triển ứng dụng khách Ethereum cá nhân để quá trình chuyển đổi diễn ra suôn sẻ.
Khi cộng đồng đạt được sự đồng thuận về những thay đổi nào cần được đưa vào bản nâng cấp, những thay đổi này đối với giao thức Các thay đổi được ghi cho nhiều ứng dụng khách Ethereum khác nhau như geth, Erigon, Besu và Nethermind. Thay đổi giao thức được bắt đầu ở độ cao khối cụ thể. Bất kỳ nút nào chưa được nâng cấp lên quy tắc mới sẽ bị loại bỏ trên chuỗi cũ, chuỗi này tiếp tục duy trì các quy tắc trước đó.
Sau khi nâng cấp ở Istanbul, chúng tôi đã hết tất cả các tên nâng cấp mạng mà chúng tôi đã quyết định . Có người đề nghị chúng tôi đặt tên nó theo tên thành phố nơi Devcon được tổ chức, vì vậy chúng tôi đã làm như vậy. Berlin chính là thành phố đăng cai Devcon 0, và cái tên được nâng cấp tiếp theo chính là thành phố đăng cai Devcon 1 - London.
Đặc biệt Cảm ơn tất cả mọi người đã tham gia nghiên cứu, lập kế hoạch, triển khai, thử nghiệm, sửa chữa, thử nghiệm lại, triển khai, kiểm tra sức chịu đựng hoặc trợ giúp bằng bất kỳ cách nào khác trong quá trình nâng cấp London
Và Benjamin Davies, người đã cung cấp ảnh bìa!
Đây là lĩnh vực công nghệ cao mới nổi và đang phát triển. Nếu độc giả lựa chọn thực hiện những gợi ý trong bài viết này và tiếp tục tham gia, hãy đảm bảo rằng bạn hiểu đầy đủ ý nghĩa của những lựa chọn của mình. Người đọc nên hiểu những rủi ro liên quan, bao gồm nhưng không giới hạn ở rủi ro xảy ra các lỗi không mong muốn và nên tự chịu rủi ro. Bài viết này và các đề xuất trong đó không nhằm mục đích bán bất kỳ hình thức nào và không đưa ra bất kỳ hình thức bảo đảm nào, bao gồm nhưng không giới hạn ở bất kỳ điều gì liên quan đến mạng Ethereum hoặc các ứng dụng khách Ethereum được đề cập ở đây.
Mô tả của khách hàng Geth về những thay đổi trong quá trình nâng cấp ở London:
p>
1. Phiên bản này chứa chiều cao khối khởi động mainnet của hard fork London. (#23176)
2. Giống như tất cả các phiên bản liên quan đến fork trước đó, chúng tôi đã thêm cờ Tải lại , được sử dụng để đặt khối khởi động. Cờ này là tạm thời và sẽ bị xóa sau khi khối fork mạng chính được khởi chạy thành công. (#22822, #22972)
3. Để đối phó với các khoản phí mới được tạo ra bởi EIP-1559 Markets, nhóm giao dịch của khách hàng Geth đã được thiết kế lại. Nhóm giao dịch mới của chúng tôi được thiết kế để đáp ứng nhu cầu của người dùng – đóng gói giao dịch kịp thời – cho phép đặt hàng giao dịch hiệu quả dựa trên phần thưởng khai thác hiệu quả của họ. Bạn có thể tìm hiểu thêm về logic hoạt động của nhóm giao dịch mới trong tài liệu thiết kế nhóm giao dịch. (#22898)
EIP-1559 cũng thay đổi hệ thống bỏ phiếu giới hạn gas. Sau đợt fork ở London, lượng gas khối có sẵn cho các giao dịch đã được điều chỉnh dựa trên nhu cầu. Dung lượng khối được gọi là mục tiêu khí và EIP-1559 xác định mục tiêu này là một nửa giới hạn khí.
Để đảm bảo rằng lượng gas có sẵn cho các giao dịch giống như trước fork, gas cho giới hạn khối rẽ nhánh được tăng gấp đôi. Nếu bạn đang bỏ phiếu bằng cờ --miner.gaslimit, bạn sẽ cần tăng gấp đôi giá trị của cờ này để giữ giá trị biểu quyết như trước. Bạn có thể sử dụng miner_setGasLimit RPC API để nâng cấp mục tiêu mà không cần ngoại tuyến, nhưng hãy lưu ý rằng điều này sẽ không tồn tại trong suốt quá trình khởi động lại. Cờ --miner.gastarget trước đó sẽ không được dùng nữa sau khi nâng cấp ở London và giá trị của nó sẽ bị bỏ qua.
Ví dụ: Nếu bạn đang sử dụng --miner.gaslimit bỏ phiếu cho giới hạn gas là 20M, giới hạn gas khối thực tế là 20M. Khi quá trình nâng cấp ở London bắt đầu, giới hạn gas khối sẽ được điều chỉnh thành 40 triệu, nhưng nếu bạn tiếp tục sử dụng cài đặt --miner.gaslimit tương tự, bạn vẫn sẽ bỏ phiếu cho 20 triệu. Vì vậy, tại một thời điểm nào đó sau đợt fork, bạn cần tăng gấp đôi giá trị --miner.gaslimit của mình để đảm bảo rằng giới hạn gas vẫn ở mức 40M gas.
5. Dành cho nhà cung cấp ví : Thuật toán tính toán mặc định của giá giao dịch EIP-1559 (eth_maxPriorityFeePerGas) vẫn tuân theo cơ chế cũ, đặt phí ưu tiên tối đa thành giá thực tế được thanh toán trên mạng trừ đi phí cơ sở hiện tại; Đặt phí tối đa to ưu tiên phí + 2x phí cơ bản. Điều này đảm bảo rằng sau giai đoạn chuyển tiếp ở London, tổng giá phải trả cho mỗi loại xăng vẫn không thay đổi nếu người dùng không có phản đối rõ ràng.
Ngoài ra, Geth còn phát hành eth_feeHistory (khối, phần đầu, phần trăm)  ; API mới thiết bị đầu cuối mà người dùng có thể sử dụng để yêu cầu thông tin dữ liệu gần đây về số tiền tip trả cho người khai thác và phí ghi giao dịch. Ví nên sử dụng thiết bị đầu cuối này để cung cấp cho người dùng nhiều tùy chọn phí (#23033).
6. Người dùng JSON-RPC Lưu ý: Sau khi phân nhánh được triển khai, eth_sendTransaction và eth_fillTransaction sẽ tạo các giao dịch kiểu EIP-1559 theo mặc định.
7. Go/Java/ Lưu ý dành cho người dùng ràng buộc hợp đồng ObjC: Sau khi khởi chạy fork, tài khoản/abi/bind sẽ tự động tạo giao dịch kiểu 1559. Để sử dụng EIP-1559 trong ứng dụng viết bằng Go, hãy nhớ nâng cấp phần phụ thuộc mô-đun go-ethereum lên v1.10.4 trong tệp go.mod của ứng dụng của bạn. (#23038)
p>
8. Người dùng ethclient chú ý: Nếu bạn sử dụng gói ethclient để gửi giao dịch và muốn sử dụng mô hình phí mới do EIP- 1559, bạn Bạn phải sửa đổi mã của mình để tạo giao dịch bằng cách sử dụng types.NewTx(&types.DynamicFeeTx{...}) . Để biết liệu phân nhánh đã được bắt đầu hay chưa và liệu loại giao dịch mới có khả dụng hay không, chỉ cần kiểm tra xem trường BaseFee của tiêu đề khối mới nhất có khác 0 hay không.
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia