Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 1.58 KB

9 关于使用truffle编译solidity源代码.md

File metadata and controls

58 lines (41 loc) · 1.58 KB

00 准备工作

首先要安装truffle,这一步已经在《0 环境配置》中给出了代码。

01 新建一个空项目

使用如下命令,在一个已有的空文件夹(此处以目录TrufflePlayground为例)新建一个空项目:

mkdir TrufflePlayground
cd TrufflePlayground
truffle init

02 导入并配置

将想要编译的合约复制到TrufflePlayground/contracts文件夹下。记录下来文件开头关于solidity版本的信息。此处,笔者要编译的合约的开头如下:

pragma solidity ^0.5.16;
// --snip--

根据这个信息,找到TrufflePlayground/truffle-config.js文件,更改这个字段:

compilers: {
    solc: {
      version: "0.5.17" // Fetch exact version from solc-bin (default: truffle's version)
      // --snip--
    }
}

这里只需满足该节第一步找到的版本信息即可。

03 编译并获得结果

TrufflePlayground下执行:

truffle compile

truffle将开始编译。如果代码有误,truffle将给出错误信息并停止编译;否则将看到形似如下的输出:

Compiling your contracts...
===========================
> Compiling ./contracts/StoreMap.sollc-bin. Attempt #1
> Artifacts written to /home/endericedragon/文档/ReproducingBlockchain/CompileWithTruffle/build/contracts
> Compiled successfully using:
   - solc: 0.5.17+commit.d19bba13.Emscripten.clang

说明编译成功。

前往TrufflePlayground/build/contracs下找到编译获得的.json文件,我们需要的就是这个文件中的abibytecode字段的信息。