Неправильный отправитель при попытке отправить подписанную транзакцию - PullRequest
0 голосов
/ 02 марта 2019

я пытаюсь отправить транзакцию RAW в узел js.Я передаю несколько параметров транзакции, а затем подписываю ее своим закрытым ключом.Когда я это делаю, txHash отправляется в сеть Rinkeby.Однако у меня "недостаточно средств на газ * цена + стоимость".

Что кажется очень странным, так это то, что когда я декодирую свою транзакцию, адрес отправителя полностью отличается от поля "from", которое я передаю в параметрах транзакции, есть идеи, почему оно отличается?

, когда я изменяю приватноеключ, с которым я подписываюсь, тогда есть еще один другой адрес отправителя - может быть, есть какая-то проблема в закрытом ключе?Кажется, я могу войти в свою учетную запись с помощью закрытого ключа, например, .. MEW

Мой код:

    const web3 = new Web3(new Web3.providers.HttpProvider(config.ethNodeURL));
var multiSig = new web3.eth.Contract(abi, multiSigAddress); //'0x2ea7b894702873daf8036ad870b671bb2caa9a36');
let txBuilder = multiSig.methods.submitTransaction(toAddress, value, []);
let encodedTx = txBuilder.encodeABI();

const gasPrice = await web3.eth.getGasPrice();
const nonce = await web3.eth.getTransactionCount(fromAddress);
const gasPriceLimit = await web3.eth.estimateGas({
     "from"      : fromAddress,       
     "nonce"     : nonce, 
     "to"        : toAddress,     
     "data"      : encodedTx
    });

const txParams = {
    nonce: nonce,
    gasPrice: gasPrice,
    gasLimit: 60000,
    to: toAddress,
    from: fromAddress,
    data: encodedTx,
    // EIP 155 chainId - mainnet: 1, ropsten: 3
    chainId: config.ethChainId
}

web3.eth.accounts.signTransaction(txParams, privateKey, function (error, signedTx) {
    if (error) {
        console.log(error);
    } else {
        console.log(signedTx);

        console.log(signedTx.rawTransaction);
        console.log(new EthereumTx(signedTx.rawTransaction).getSenderAddress().toString('hex'));
        //THAT above console log logs some completely random address instead of the one passed in "from" in txParams
    }
});
...