Ошибка: возвращенная ошибка: неверный отправитель, ошибка частной сети 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()
возвращает правильное значение, которое соответствует тому, что вы настроили.