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 (将#修改为@)