如何解决Web3js运行脚本后返回“无效的发件人”
我正在尝试运行一个nodejs脚本,也就是这个脚本,由于遇到无效的发送者错误,我遇到了几个问题。这是脚本:
const IdentityManager = artifacts.require("AlastriaIdentityManager");
const fs = require("fs");
const path = require("path");
const ethers = require("ethers");
// Admin keystore
const adminPath = path.resolve('/home/ubuntu/Escritorio/admin--74d4c56d8dcbc10a567341bfac6da0a8f04dc41d');
// Identity Manager Address
const imAddress = "0x00DC2158076E9B5C654d573E9384Bd995187cC52";
module.exports = async function () {
try {
let provider = new ethers.providers.JsonRpcProvider("http://xx.xx.xx.xx:22001")
console.log("------------------------->Provider es: ",provider)
const signer0 = provider.getSigner(0);
console.log("----------------------> Signer es: ",signer0)
let adminKeystore = fs.readFileSync(adminPath,'utf-8');
var address = '0x74d4c56d8dcbc10a567341bfac6da0a8f04dc41d';
var privateKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
var wallet = new ethers.Wallet(privateKey,provider);
let imInstance = new ethers.Contract(imAddress,IdentityManager.abi,wallet);
// prepareAlastriaID with EoA admin address
const tx1 = await imInstance.prepareAlastriaID(address);
console.log("tx1",tx1);
} catch (error) {
console.log(error);
}
}
错误是这个:
{ Error: processing response error (body="{\"jsonrpc\":\"2.0\",\"id\":57,\"error\":{\"code\":-32000,\"message\":\"invalid sender\"}}\n",error={"code":-32000},requestBody="{\"method\":\"eth_sendRawTransaction\",\"params\":[\"0xf888218082ba9b9400dc2158076e9b5c654d573e9384bd995187cc5280a445748b4200000000000000000000000074d4c56d8dcbc10a567341bfac6da0a8f04dc41d850470c01b12a0c3c0089a125cd8130c6e31b8c41f863f0dff93d94d804ab72a95efe6c27a3774a06b626b7cce2a4469b642c9520b22dfb0a279ec8d219984b41c42ba61024f2bc9\"],\"jsonrpc\":\"2.0\"}",requestMethod="POST",url="http://xxxxxxx:22001",code=SERVER_ERROR,version=web/5.0.7)
at Logger.makeError (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/logger/src.ts/index.ts:205:28)
at Logger.throwError (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/logger/src.ts/index.ts:217:20)
at /home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/web/src.ts/index.ts:281:28
at step (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/web/lib/index.js:33:23)
at Object.next (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/web/lib/index.js:14:53)
at fulfilled (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/web/lib/index.js:5:58)
at process._tickCallback (internal/process/next_tick.js:68:7)
reason: 'processing response error',code: 'SERVER_ERROR',body:
'{"jsonrpc":"2.0","id":57,"error":{"code":-32000,"message":"invalid sender"}}\n',error:
{ Error: invalid sender
at getResult (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/providers/src.ts/json-rpc-provider.ts:75:28)
at processJsonFunc (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/web/src.ts/index.ts:323:22)
at /home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/web/src.ts/index.ts:260:42
at step (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/web/lib/index.js:33:23)
at Object.next (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/web/lib/index.js:14:53)
at fulfilled (/home/ubuntu/Escritorio/alastria-identity/node_modules/@ethersproject/web/lib/index.js:5:58)
at process._tickCallback (internal/process/next_tick.js:68:7) code: -32000,data: undefined },requestBody:
'{"method":"eth_sendRawTransaction","params":["0xf888218082ba9b9400dc2158076e9b5c654d573e9384bd995187cc5280a445748b4200000000000000000000000074d4c56d8dcbc10a567341bfac6da0a8f04dc41d850470c01b12a0c3c0089a125cd8130c6e31b8c41f863f0dff93d94d804ab72a95efe6c27a3774a06b626b7cce2a4469b642c9520b22dfb0a279ec8d219984b41c42ba61024f2bc9"],"jsonrpc":"2.0"}',requestMethod: 'POST',url: 'http://xx.xx.xx.xx:22001',transaction:
{ nonce: 33,gasPrice: BigNumber { _hex: '0x00',_isBigNumber: true },gasLimit: BigNumber { _hex: '0xba9b',to: '0x00DC2158076E9B5C654d573E9384Bd995187cC52',value: BigNumber { _hex: '0x00',data:
'0x45748b4200000000000000000000000074d4c56d8dcbc10a567341bfac6da0a8f04dc41d',chainId: 9535753591,v: 19071507218,r:
'0xc3c0089a125cd8130c6e31b8c41f863f0dff93d94d804ab72a95efe6c27a3774',s:
'0x6b626b7cce2a4469b642c9520b22dfb0a279ec8d219984b41c42ba61024f2bc9',from: '0x74d4C56d8dcbC10A567341bFac6DA0A8F04DC41d',hash:
'0x3cc2ad6bde3c615997d8fdddf863ebe419d4cb24bfea0542b4f9802fb9abde46' },transactionHash:
'0x3cc2ad6bde3c615997d8fdddf863ebe419d4cb24bfea0542b4f9802fb9abde46' }
我检查了可能是因为ethereum-tx版本,我安装了1.3.6版本,检查了链ID,现在是正确的。我已经部署了合同,并且已经使用脚本中使用的地址正确部署了合同。任何想法?。提前致谢。使用Ganache可以完美运行。我已经部署了一个私有节点,那是我遇到了问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。