js 中的“solc.loadRemoteVersion”错误
Posted
技术标签:
【中文标题】js 中的“solc.loadRemoteVersion”错误【英文标题】:Error with "solc.loadRemoteVersion" in js 【发布时间】:2019-11-05 12:13:58 【问题描述】:我正在关注有关设置管道以编译和部署合同的教程,为此我使用了一个 js 文件,但教程使用了 0.4.17 版本的solidity,而我下载的版本是最新的(5 .something) 所以我四处搜索,发现我需要使用这个功能:loadRemoteVersion,这样我才能与教程兼容。但是我不断收到错误消息。我也不确定我是否正确安装了一些依赖项。
我使用 node compile.js 来运行脚本。
这是我为编译solidity代码而尝试运行的代码:
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').toString();
//console.log(solc.compile(source, 1));
solc.loadRemoteVersion('v0.4.1+commit.4fc6fc2c', function(err,
solcV04)
if (err)
console.log("Oopsies");
console.log(solcV04.compile(source, 1));
);
这是合约代码:
pragma solidity ^0.4.17;
contract Inbox
string public message;
constructor (string initialMessage) public
message = initialMessage;
function setMessage(string newMessage) public
message = newMessage;
'''
I should be getting a class dump but instead I am getting this:
"errors":["type":"SOLCError","component":"solcjs","severity":"error","message":"Invalid import callback supplied","formattedMessage":"Error: Invalid import callback supplied"]
【问题讨论】:
【参考方案1】:我找到了解决方案,我只是不知道版本如何运行得很好,但现在我完全卸载了 solc 并安装了 node.js 编译器的正确版本,因此不需要 loadRemoteVersion 函数。
【讨论】:
以上是关于js 中的“solc.loadRemoteVersion”错误的主要内容,如果未能解决你的问题,请参考以下文章