Open3
ethers.js v5 から v6 へのマイグレーション
ピン留めされたアイテム
日本語の記事がほぼないので、参考リンクなど残しておく。
公式ドキュメント
Providers
- すべてのethers.providers.がethers.に移動
- Web3Provider(歴史的にlink-web3プロバイダをラップするために使用されていた)が、EIP-1193プロバイダをラップするように設計されたBrowserProviderと呼ばれるようになった
In addition to all the ethers.providers.* being moved to ethers.*, the biggest change developers need to >keep in mind is that Web3Provider (which historically was used to wrap link-web3 providers) is now called >BrowserProvider which is designed to wrap EIP-1193 providers, which is the standard that both modern >Web3.js and injected providers offer.
providers.Web3Provider
をBrowserProvider
に置換する。
// v5
provider = new ethers.providers.Web3Provider(window.ethereum)
// v6:
provider = new ethers.BrowserProvider(window.ethereum)
@metamask/detect-providerのエラー
アップデートしたらエラーが発生した。
おそらくいずれかでの対応が必要
- window.ethereum を直接使用する
- MetaMaskEthereumProvider オブジェクトに適切な型アサーションを適用する