我使用https://trezor.io/发送签名交易
我已成功将交易发送至:
- 松露开发网络
- 罗普斯滕
现在我使用一个私有的本地 go-ethereum 节点,签名交易的调用与 truffle 和 ropsten 的代码完全相同,我Invalid sender
在发送交易时得到
在对此进行一些研究时,我发现此错误是由于没有相同的chainId和networkId而产生的,我检查了我的配置以及我如何运行geth节点并且chainId与networkId相同
我在我的 geth 节点的 genesis.json 中指定了链 id 10
"config": {
"chainId": 10,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"clique": {
"period": 15,
"epoch": 30000
}
}
我用networkId 10运行节点:
geth --datadir node1/ --syncmode 'full' --port 30311 --rpc --rpcport 8545 --rpcaddr '192.168.1.244' --rpccorsdomain="*" --ws --wsaddr "192.168.1.244" --wsorigins "http://192.168.1.182" --wsport 8546 --wsapi 'personal,db,eth,net,web3,txpool,miner' --rpcapi 'personal,db,eth,net,web3,txpool,miner' --bootnodes 'enode://8235e42bec82ad8944dcf65b57d25b7a970d6e94f35961a188b2dfd306c6964f2d00d078e3bf1d9ccc6664112669d7ea9c04aa45a8ab9113aa8fe8a04b088f80@127.0.0.1:30310' --networkid 10 --gasprice '1' -unlock 'd770217581e0ca1265c88c9faaff81f5038b129f' --password node1/password.txt --mine console
关于为什么会发生这种情况的任何想法?
我正在使用 geth 1.8 和 web3 1.0-beta33
我认为这与 geth 的配置有关,因为正如我所说,我已经使用相同的代码向 Truffle dev 和 Ropsten 发送了事务
这是我发送交易的方式(源代码)https://github.com/ethereum/web3.js/issues/1669