アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【仮想通貨Ubuntu
Error: only replay-protected (EIP-155) transactions allowed over RPCと言われる場合
POSTED BY
2023-03-19

gethのローカルブロックチェーン内で送金テストしようとした際、表題のエラーが出る。

eth.sendTransaction({from: "0x56bc069c885fa0de0406ed773a40c321217d2a16", to: "0xaa31491882b33e9fd9511a550b186408232de2ee", value: web3.toWei(1, "ether")})
Error: only replay-protected (EIP-155) transactions allowed over RPC
        at web3.js:6365:37(47)
        at send (web3.js:5099:62(35))
        at <eval>:1:20(15)
</eval>

どうやらEIP-155に対応していないトランザクションはリジェクトするよ、とのことらしい。

https://geth.ethereum.org/docs/interface/command-line-options

に、--rpc.allow-unprotected-txsという、そんなトランザクションも許容するオプションがある模様。

いったんgethコマンドラインをexitで終了して、上記オプションで立ち上げ直してみる。

geth --networkid "10" --nodiscover --rpc.allow-unprotected-txs --datadir "/home/hogeuser/eth_test" console 2>> /home/hogeuser/eeth_test/geth.log

今度は大丈夫なはず、と再度送金テスト

eth.sendTransaction({from: "0x56bc069c885fa0de0406ed773a40c321217d2a16", to: "0xaa31491882b33e9fd9511a550b186408232de2ee", value: web3.toWei(1, "ether")})
Error: authentication needed: password or unlock
        at web3.js:6365:37(47)
        at send (web3.js:5099:62(35))
        at <eval>:1:20(15)
</eval>

送金元アカウントがロックされているからダメとのエラー。どうやらgethを終了すると再度ロックがかかった状態に戻るらしい。

personal.unlockAccount(eth.accounts[0])
Unlock account 0x56bc069c885fa0de0406ed773a40c321217d2a16
Passphrase:
true

ロックを解除して再度送金トライ。

eth.sendTransaction({from: "0x56bc069c885fa0de0406ed773a40c321217d2a16", to: "0xaa31491882b33e9fd9511a550b186408232de2ee", value: web3.toWei(1, "ether")})
"0x6a997a94f6a66b1f9cd5e85ad1d47f601e6f9211ea9aceea709ec2589e62dada"

今度はうまくいった。送金トランザクションはマイニングの一環として処理される訳であるから、自分しかノードがいないテストネットでは自分がマイニングを始めて処理する。

miner.start()
null
eth.getBalance(eth.accounts[1])
1000000000000000000
miner.stop()

送金先アカウントに無事1ETH入っているのを確認してマイニング終了。なお、以下のログが確認できた。

INFO [03-19|10:04:32.209] Submitted transaction                    hash=0x6a997a94f6a66b1f9cd5e85ad1d47f601e6f9211ea9aceea709ec2589e62dada from=0x56BC069c885FA0De0406Ed773a40C321217D2a16 nonce=0 recipient=0xaA31491882B33e9fd9511a550B186408232De2ee value=1,000,000,000,000,000,000
INFO [03-19|10:05:39.193] Updated mining threads                   threads=4
INFO [03-19|10:05:39.194] Transaction pool price threshold updated price=1,000,000,000

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】