Ошибка: возвращенная ошибка: неверный отправитель, ошибка частной сети Ethereum - PullRequest
0 голосов
/ 02 января 2019

Привет, я пытался развернуть смарт-контракт из лямбда-функции. К сожалению, я получаю следующую ошибку в функции 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 Ответ

0 голосов
/ 02 января 2019

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

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

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

...