web3.eth.sendSignedTransaction не является функцией - PullRequest
1 голос
/ 02 апреля 2019

Я использую функцию web3.eth.sendSignedTransaction, но она не работает.

Это код проблемы

  var nonce = web3.eth.getTransactionCount("<from address>");

  const txParams ={
      nonce:web3.utils.toHex(nonce),
      to : "<to address>",
      value : web3.utils.numberToHex(web3.utils.toWei('0.01','ether')),
      gasPrice :web3.utils.numberToHex(web3.utils.toWei('1','Gwei')),
      gasLimit:web3.utils.numberToHex('300000'),
      chainId :3          //Ropsten
  }
  const tx = new Tx(txParams);
  const privateKey = Buffer.from("<primary key>",'hex');
  tx.sign(privateKey);

  const serializedTx = '0x' + tx.serialize().toString('hex');
  console.log(serializedTx);
  web3.eth.sendSignedTransaction(serializedTx, function(err,txId){if(err){ console.log(' : ',txId)}});

Я проверил журнал "serializedTx".

0xf86d827b7d843b9aca00830493e0944f16477b610cad87e1f506e42208bc36bce6aa4887f8b0a10e470000802aa016a1bc13133cbbfd0cdb5aa0da5e049e0eba3972b313ba69887970acecf2e11ba06b2fd1b9dad15959e271a1af8020fd9e4b1f089d8eb66f99c48988032c300f78

Я думаю, что это слишком долго ...

1014 * И эфир также не могут быть переданы. 1016 * И я пытался от 1018 *

до

"web3.utils.toWei(0.01, 'ether')"

Но это ошибка.

Код ошибки: «Пожалуйста, передайте числа в виде строк или объектов BigNumber, чтобы избежать ошибок точности.»

Что не так и как я могу это сделать?

Пожалуйста, помогите мне.

Спасибо.

1 Ответ

0 голосов
/ 10 апреля 2019

Я нашел способ, и эта проблема исчезла! Я просто улучшаю версию web3 до 1.0.0 или выше. Так что, может быть, вы можете попробовать. Просто так:

npm install -g web3@1.0.0-beta.52
...