При вызове web3.utils.BN.add выдается ошибка: не удается создать свойство «минус» для числа - PullRequest
0 голосов
/ 09 февраля 2019

В тесте трюфеля я пытаюсь добавить два больших числа вместе, используя следующий код:

myBignumber = new web3.utils.BN(1);
myBignumber.add(2)

Но это вызвало эту ошибку:

Невозможно создать свойство 'минус'на номер 2

Версии:

  • Трюфель 5,0
  • Веб3 1,0

Ответы [ 2 ]

0 голосов
/ 05 августа 2019

Кроме того, вы можете также создать число 2 как большое число, чтобы устранить ошибку:

myBignumber = new web3.utils.BN(1);
myBignumber.add(new web3.utils.BN(2));

Таким образом, вам не нужно устанавливать другую библиотеку BigNumber.

0 голосов
/ 09 февраля 2019

BN, используемый в Web3, имеет некоторые открытые проблемы ( ref )

Предлагаемая альтернатива:

Попробуйте использовать другую библиотеку BigNumber, которая имеетрабочая функция сложения ( вот так ).

Чтобы использовать библиотеку, установите ее:

npm install bignumber.js

Теперь на тесте трюфеля:

    var BigNumber = require("bignumber.js");

    ...
    // Instead of the commented lines, use the next, uncommitted, ones:
    // myBignumber = new web3.utils.BN(1);
    // myBignumber.add(2)
    myBignumber = new BigNumber(1); 
    myBignumber.plus(2);
...