solidity智能合约[56]-solc编译智能合约

安装solc编译器

1
> npm install --save solc

solc编译智能合约

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const path = require('path');
const fs = require('fs');
const solc = require('solc');


//获取文件路径 跨平台
const filepath = path.resolve(__dirname,'contracts','HelloWorld.sol');

//打印出路径 /Users/jackson/Desktop/myproject/contracts/HelloWorld.sol
//console.log(filepath);

//读取文件内容
const source = fs.readFileSync(filepath,"utf8");

// console.log(source);打印出文件中的内容
// pragma solidity ^0.4.23;
//
// contract HelloWorld{
// string public name;
//
//
// constructor(string _name) public {
// name = _name;
// }
//
// function getName() public view returns(string){
// return name;
// }
// function changeName(string _name) public{
// name = _name;
// }
//
//
// }



//编译后是一个对象,打印出来, 1代表1个智能合约文件
//console.log(solc.compile(source,1).contracts[':HelloWorld']);
module.exports = solc.compile(source,1).contracts[':HelloWorld'];