Ошибка: возвращенная ошибка: неверный отправитель, ошибка частной сети Ethereum

Привет, я пытался развернуть смарт-контракт из лямбда-функции, к сожалению, я получаю следующую ошибку на функцию sendSignedTransaction(), может кто-нибудь сказать мне, что здесь не так?

Error: Returned error: invalid sender

  var blockchain = process.env.BLOCKCHAIN_HOST

  var web3 = new Web3(new Web3.providers.HttpProvider('http://' + blockchain + ':8545'))

  // Get the Bytecode
  var byteCode = compiledCode.contracts[':auction'].bytecode

  const contractOwner = '0x34db0A1FDGDCCDDDDXCX191e703Bf0182E0baE3'
  const privateKey = '0x403cf58c6a36eee43ac8467bec2c9d6546454461debffb4acff277548ef3'

  const tx = {
    chainId: await web3.eth.net.getId(),
    nonce: await web3.utils.toHex(await web3.eth.getTransactionCount(contractOwner)),
    gas: 4612388,
    from: contractOwner,
    data: byteCode
  }

  console.log(tx)

  const signedTx = await web3.eth.accounts.signTransaction(tx, privateKey)
  const receipt = await web3.eth.sendSignedTransaction(signedTx.rawTransaction)

  console.log(receipt.contractAddress)

1 ответ

Это чаще всего проблема с chainId, Убедитесь, что вы правильно объявили chainId в пределах config раздел вашего genesis.json файл следующим образом:

"config": {
    "chainId": 15,
    "homesteadBlock": 0,
    "eip155Block": 0,
    "eip158Block": 0
}

Также убедитесь, что await web3.eth.net.getId() возвращает правильное значение, которое соответствует тому, что вы настроили.

Другие вопросы по тегам