Трезор-коннект и web3 - PullRequest
       39

Трезор-коннект и web3

0 голосов
/ 28 сентября 2018

Я реализую транзакцию с подписью трезора.Но я получаю сообщение об ошибке, в котором говорится, что на обоих кошельках недостаточно средств.

const trezorTransaction = async (value) => {
  window.web3 = new Web3(new Web3.providers
    .HttpProvider('https://kovan.infura.io/v3/adde26ec7b994797923aae6cdea28a63'));
  const addressN = "m/44'/60'/0'/0";
  const nonce = '00';
  const gasPrice = (new BigNumber(web3.toWei('20', 'gwei'))).toString(16);
  const gasLimit = (new BigNumber(21000)).toString(16);
  const from = '0x5A224c68c74d989AAb41467AFC57794D0eCA8964';
  const to = '0x5a938517b029c256e6f2f18d99558f01a0208cb2';
  const currentValue = web3.toHex(web3.toWei(value, 'ether'));
  const trezorSignParams = {
    path: addressN,
    transaction: {
      from,
      to,
      value: currentValue,
      chainId: 42,
      nonce,
      gasLimit,
      gasPrice,
    },
  };
  const signedTr = await TrezorConnect.ethereumSignTransaction(trezorSignParams);
  const Tx = EthereumTx;

  const rawTx = {
    nonce: '0x00',
    gasPrice: addHexPrefix(gasPrice),
    gasLimit: addHexPrefix(gasLimit),
    to: walletPath,
    from,
    value: currentValue,
    ...signedTr.payload,
  };
  const tx = new Tx(rawTx);

  const serializedTx = tx.serialize();
  web3.eth.sendRawTransaction(`0x${serializedTx.toString('hex')}`, (err, hash) => {
    if (err) {
      console.log(err);
    }
    if (!err) {
      console.log(hash);
    }
  });
};

Ошибка:

"Insufficient funds. 
 The account you tried to send transaction from does not have enough funds.
 Required 1000420000000000000 and got: 0."

Я также хотел бы понять, как это выяснить.и указать правильный одноразовый номер?Я тоже не понимаю, как можно узнать необходимый кошелек, из которого будет списан эфириум.

...