Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 实体编译器_Javascript_Node.js_Blockchain - Fatal编程技术网

Javascript 实体编译器

Javascript 实体编译器,javascript,node.js,blockchain,Javascript,Node.js,Blockchain,我试图为新合同编写编译器。它位于compile.js中,包含: pragma solidity ^0.4.7; const path = require('path'); const fs = require('fs'); const solc = require('solc'); const inboxPath = path.resolve(__dirname, 'contracts', 'Inbox.sol'); const source = fs.readFileSync(inboxP

我试图为新合同编写编译器。它位于compile.js中,包含:

pragma solidity ^0.4.7;

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));
文件compile.js位于目录收件箱中 文件Inbox.sol位于Inbox/contracts/Inbox.sol中

在控制台中调用“node compile.js”我得到:

SyntaxError: Unexpected identifier
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:616:28)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:191:16)
    at bootstrap_node.js:612:3

据我所知,它找不到源代码?

不,它说有一些意想不到的事情(语法错误),可能来自于你的源代码合同,可能里面有一个错误,这很令人惊讶。我认为它找不到这个contract Inbox.sol,因为当我测试编译器并试图将错误的路径放到contract时,控制台日志信息是相同的。在这种情况下,源代码契约真的有问题吗?如果它们不是文件,
fs.readFileSync()
它应该已经坏了,但是我建议您查看您的源代码,看看这是否是您的契约,然后直接用编译器检查它删除pragma行,您的编译文件是JS文件,当然不是solidity.OMG。。非常感谢,现在一切正常!