我需要這樣的柴
const BigNumber = web3.BigNumber;
require('chai').use(require('chai-bignumber')(BigNumber)).should();
并且在測驗期間
let balance = await contract.balanceOf(accountToReceive);
should.be.bignumber.eql(countToSend); //works fine
ownerBalance = await contract.balanceOf(owner);
should.be.bignumber.equal(settings.initialSupply.mul(utils.toBN(10).pow(_decimals)).sub(countToSend)); // gives en error
錯誤代碼是
AssertionError: expected <BN: 94e47b8d68171533ffff9c> to equal <BN: 94e47b8d68171533ffff9c> expected - actual at Context.<anonymous> (test/MOS.test.js:79:33) at processTicksAndRejections (node:internal/process/task_queues:96:5)
uj5u.com熱心網友回復:
我的代碼也遇到了同樣的問題。我找到了一個適合我的好解決方案。
嘗試以下操作:
require('chai').use(require('chai-as-promised')).should();
.use(bnChai(web3.utils.BN));
uj5u.com熱心網友回復:
正如我在更新中提到的,你可以使用 JS Bigint,用它做所有的數學運算,然后將它作為字串傳遞給 BN 建構式,比如
utils.toBN((1000000n * 5748553687688487n).toString())
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/475373.html
