イーサリアム:MetaMaskがプライベートネットワークに接続し、コントラクトメソッドを呼び出すとエラーが報告されます:[ethjs-rpc]ペイロード付きのrpcエラーエラー:無効な送信者
Ethereum An Error Is Reported When Metamask Connects Private Network
エラーの詳細:
[ethjs-rpc] rpc error with payload {'id':7663982154336,'jsonrpc':'2.0','params': ['0xf86b808504a817c800833d090094001a4039eed5a5099b2bd25085b48ef137902be38084be9a65558 207f2a0aff9e56abb6bbeee508bf3fc3918176df97ae118b24bf78d90a9edb762900c1fa0649f391910b8 2dc97f3259f0d781dde56bf1ed710d5723eeea8fc63bb351a48d'], 'method':'eth_sendRawTransaction'}Error: invalid sender
理由:
MetaMaskがプライベートネットワークを構成する場合、chainIdはEthereumノードのネットワークと矛盾します。
解決:
1.イーサリアムプライベートチェーンのネットワークを照会します。ここではゲスを使っています。クエリ方法は次のとおりです。
gethコンソールに入り、コマンドweb3.versionを入力すると、次のように表示されます。
2. chainidはすでにジェネシスブロックに設定されているため、chainidを確認してMetaMaskに設定する必要があります。
3 MateMaskのchainIDを72に変更します([設定]-> [ネットワーク]-> [URL]-> [保存])