javascript - Solc 超过 Object.$db 的最大调用堆栈大小 [as dynCall_viiiiii]

标签 javascript compiler-errors solidity

当我尝试编译我的契约(Contract)时,我得到一个最大调用堆栈大小超出错误并且无法解决这个问题。任何见解将不胜感激
错误

RangeError: Maximum call stack size exceeded
    at Object.$db [as dynCall_viiiiii] (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:12:120931)
    at invoke_viiiiii (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:1:1118207)
    at Array.pva (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:13:29030)
    at Object.M9a [as dynCall_vi] (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:12:99033)
    at invoke_vi (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:1:1115011)
    at Array.xta (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:10:704784)
    at Object.Dfb [as dynCall_iii] (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:12:130740)
    at invoke_iii (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:1:1119442)
    at Array.vta (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:10:703080)
    at Object.Yfb [as dynCall_iiiiii] (C:\Users\molli\Desktop\Coding\Udemy\Solidity Course\inbox\node_modules\[4msolc[24m\soljson.js:12:131900)
收件箱.sol

pragma solidity ^0.4.17;

contract Inbox {
    string public message;

    constructor(string initialMessage) public {
    message = initialMessage;
}
    
    function setMessage(string newMessage) public {
        message = newMessage;
    }
}
编译.js
const path = require('path');
const fs = require('fs');
const solc = require('solc');

const inboxPath = path.resolve(__dirname, 'contracts', 'Inbox.sol');
const source = fs.readFileSync(inboxPath, 'utf8');

module.exports = solc.compile(source, 1).contracts[':Inbox'];

最佳答案

我遇到了同样的问题。
我能够通过降级模块版本来解决它。
我成功时的版本如下。

"ganache-cli": "^6.12.1",
"mocha": "^8.2.1",
"solc": "^0.4.17",
"web3": "^1.0.0-beta.26"

关于javascript - Solc 超过 Object.$db 的最大调用堆栈大小 [as dynCall_viiiiii],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64163888/

相关文章:

Javascript 确定我在哪个页面

vba - 如何将动态数组传递到 VBA 对象中。编译错误: Invalid use of property

c - C 中数组下标错误的无效类型 'int[int]'?

javascript - 如何将openzeppelin upgrade module集成到truffle工程中,具体如何到 "link"?

solidity - 从 Keeper 更改合约 B 的变量状态

javascript - 使用 addEventListener 阻止 onClick 处理程序

javascript - 我如何允许用户从 jquery mobile 中的可折叠集中复制/粘贴文本

javascript - 如何限制动画的高度(方向顶部)?

swift 错误 "static member cannot be used on instance of type"

python - 尝试从 chainlink 导入时 brownie-config 重新映射错误