スマートコントラクトのコードをコンパイルする際の結果がnullで返ってきます。
node compile.js {}
以下コンパイルコード
const path = require('path'); const solc = require('solc'); const fs = require('fs-extra'); const buildPath = path.resolve(__dirname, 'build'); fs.removeSync(buildPath); const testPath = path.resolve(__dirname, 'contracts', 'Test.sol'); const source = fs.readFileSync(testPath, 'utf8'); const output = solc.compile(source, 1).contracts; // outputの中身がnull console.log(output) fs.ensureDirSync(buildPath); for (let contract in output) { fs.outputJsonSync( path.resolve(buildPath, contract.replace(':', '') + '.json'), output[contract] ); }
package.jsonのdependencies
"dependencies": { "fs-extra": "^7.0.1", "ganache-cli": "^6.2.3", "mocha": "^5.2.0", "solc": "^0.4.20", "web3": "^1.0.0-beta.37" }
※ sourse
の中身、testPath
の中身は期待通り入っています。
※ remix editorではコンパイルできています。
※ solidityのバージョンはpragma solidity ^0.5.0;
です。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。