如何使用 web3.js 在 Truffle 测试中进行基本运算

How to do basic arithmetic in Truffle testing using web3.js

我目前正在使用 Truffle 测试智能合约,但在基本算术方面有困难。

如果我尝试将两个数字相加:

const firstNumber = web3.utils.toWei('1', 'ether'); // 1000000000000000000
const sum = firstNumber + 100

结果类似于附加两个字符串时的结果 1000000000000000000100

我尝试转换 firstNumber.toString() 或使用 const { toBN } = web3.utils; 但结果都一样。

我试过使用 addmul 就像一些例子 here,但我的 Truffle 只是说这些方法不存在。

我正在使用 Truffle v5.3.14 (core: 5.3.14)Web3.js v1.4.0

'1' 是一个字符串,因此您将从 .toWei. You can convert String to BN and use .add 收到字符串。例如:

const firstNumber = web3.utils.toWei('1', 'ether'); // 1000000000000000000
const sum = web3.utils.toBN(firstNumber).add(web3.utils.toBN('100')).toString();