Solidity
測試時出現錯誤 web3.toWei is not a function
我已經安裝了 web3 最新版本 1.0.0-beta.36。當我使用 truffle test 執行測試案例時,我正在使用從 openzeppelin 使用的輔助庫,它顯示錯誤為
TypeError: web3.toWei 不是函式
不只是 web3.toWei,我也無法使用 bignumber 。我不知道為什麼我無法使用 openzeppelin 的助手 這是助手文件夾中名為 ether.js 的文件
function ether (n) { return new web3.BigNumber(web3.toWei(n, 'ether')); } module.exports = { ether, };
對於大數字,顯示錯誤的程式碼是
require('chai') .use(require('chai-bignumber')(BigNumber)) .should(); const RefundableCrowdsale = artifacts.require('RefundableCrowdsaleImpl'); const SimpleToken = artifacts.require('SimpleToken'); contract('RefundableCrowdsale', function ([_, wallet, investor, purchaser, anyone]) { const rate = new BigNumber(1); const goal = ether(48); const lessThanGoal = ether(45); const tokenSupply = new BigNumber('1e22');
我已經安裝了 chai-bignumber 和 web3
truffle 5.0.0-beta.0 的 beta 版本存在一些錯誤,所以我將版本更改為 truffle 4.1.14。現在所有的測試案例都執行正常。