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

Posted

技术标签:

【中文标题】如何使用 web3.js 在 Truffle 测试中进行基本算术运算【英文标题】:How to do basic arithmetic in Truffle testing using web3.js 【发布时间】:2021-12-14 05:56:55 【问题描述】:

我目前正在使用 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】:

'1' 是一个字符串,因此您将收到来自.toWei 的字符串。您可以将 String 转换为 BN 并使用 .add。例如:

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

【讨论】:

以上是关于如何使用 web3.js 在 Truffle 测试中进行基本算术运算的主要内容,如果未能解决你的问题,请参考以下文章

Truffle详解

Mac中使用truffle开发基于以太坊的去中心化应用

Solidity 函数将空数组返回给 web3.js

Truffle 合约验证无法在 BSC 测试网上运行

如何创建移动区块链应用程序

如何配置 truffle 以连接到 RSK 测试网公共节点?