【发布时间】:2021-07-16 04:19:03
【问题描述】:
我正在关注构建你的第一个区块链教程(https://www.youtube.com/watch?v=coQ5dg8wM2o&t=494s)。
我的 index.html 中有以下内容:
<script src="https://cdn.jsdelivr.net/gh/ethereum/web3.js/dist/web3.min.js"></script>
<script src="vendor/truffle-contract/dist/truffle-contract.js"></script>
<script src="app.js"></script>
当我打开我的 index.html 页面时,我在控制台上收到以下错误:
(intermediate value).toBigNumber is not a function
at truffle-contract.js:16802
at Object.<anonymous> (truffle-contract.js:17735)
它发生在 truffle-contract.js node_modules 包代码中:
var BigNumber = (new Web3()).toBigNumber(0).constructor;
web3.min.js 文件似乎不支持“toBigNumber”功能。 我在 package-lock.json 中确实有以下依赖项:
"dependencies": {
"web3": {
"version": "0.20.6",
"resolved": "https://registry.npmjs.org/web3/-/web3-0.20.6.tgz",
"integrity": "sha1-PpcwauAk+yThCj11yIQwJWIhUSA=",
"dev": true,
"requires": {
"bignumber.js": "git+https://github.com/frozeman/bignumber.js-nolookahead.git",
"crypto-js": "^3.1.4",
"utf8": "^2.1.1",
"xhr2": "*",
"xmlhttprequest": "*"
}
}
}
不确定在哪里可以找到支持 toBigNumber 函数的正确 web3.min.js 文件
【问题讨论】:
-
Web 0.20 已有多年历史。我建议使用较新的教程作为您的基础学习材料。