gpt4 book ai didi

javascript - ParserError : Expected pragma, import directive or contract/interface/library definition

转载 作者:行者123 更新时间:2023-12-02 10:57:35 29 4
gpt4 key购买 nike

每当我将"ParserError: Expected pragma, import directive or contract/interface/library definition"compile.js命令一起使用时,都会得到此错误node compile.js,以编译我的实体文件Inbox.sol。我已经用谷歌搜索了这个错误,有两种解决方案,一种是由于我的语法错误,例如没有;,另一种是由于solidity编译器。我检查了我的Solidity版本和语法,找不到任何错误。请帮忙!

我已经尝试过this,但是它不是我的稳定版,如果我将代码更改为contructor语法,它将 pop 错误。

收件箱

pragma solidity ^0.4.17;
contract Inbox{
string public message;
function Inbox(string initialMessage)public{
message = initialMessage;
}
function setMessage(string newMessage) public{
message = newMessage;
}

}

compile.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');

console.log(solc.compile(JSON.stringify({
language: 'Solidity',
sources: {
'Inbox.sol': {
content: source,
},
},
settings: {
outputSelection: {
'*': {
'*': ['evm', 'bytecode'],
},
},
},
})));

package.json
{
"name": "error",
"version": "1.0.0",
"description": "",
"main": "compile.js",
"scripts": {
"test": "mocha"
},
"author": "",
"license": "ISC",
"dependencies": {
"solc": "^0.4.17"
}
}

package-lock.json
"solc": {
"version": "0.4.17",
"resolved": "https://registry.npmjs.org/solc/-/solc-0.4.17.tgz",
"integrity": "sha512-39Tmo2r+qclwW7ooLXMLzMSxmoGtHy3/p2sDKdA9NM/+MRtzLm/AFKj4BY2Cocg3gwkfJzKTEx6X0wiI4fIZ/A==",
"requires": {
"fs-extra": "^0.30.0",
"memorystream": "^0.3.1",
"require-from-string": "^1.1.0",
"semver": "^5.3.0",
"yargs": "^4.7.1"
}
},

最佳答案

我将我的compile.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');

console.log(solc.compile(source,1));

然后就可以了!!!

关于javascript - ParserError : Expected pragma, import directive or contract/interface/library definition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57879864/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com