イーサリアム: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]-> [保存])