Zenn
📚

web3.pyを利用してPolygonのAmoyテストネットへ接続する

に公開

環境

  • Python 3.12.8
  • web3.py 7.8.0

接続方法

以下に最新ブロックの情報を取得するコードを記載する。

from web3 import Web3
from web3.middleware import ExtraDataToPOAMiddleware


w3 = Web3(Web3.HTTPProvider('https://rpc-amoy.polygon.technology/'))
w3.middleware_onion.inject(ExtraDataToPOAMiddleware, layer=0)

if w3.is_connected():
  print(w3.eth.get_block('latest'))

https://rpc-amoy.polygon.technology/ はAmoyテストネットのRPC URLである。

https://polygon.technology/blog/introducing-the-amoy-testnet-for-polygon-pos

また、従来Polygonに接続するためのMiddlewareとしてgeth_poa_middlewareが使われていた。

https://note.com/yutakikuchi/n/nb6b3fedee147

しかし現在は廃止されており、代わりにExtraDataToPOAMiddlewareを利用する必要がある。
ちなみに、Polygonに限らずEVM互換のチェーンはすべてこのMiddlewareを利用することになる。

https://web3py.readthedocs.io/en/v7.8.0/middleware.html

Discussion

ログインするとコメントできます