1703879053
区块链项目开发指南 8.4.1 安装truffle
1703879054
1703879055
truffle适用于OS X、Linux和Windows。truffle要求安装的node.js版本高于5.0。在写本书时,truffle的最新稳定版本是3.1.2,我们将使用这个版本。安装truffle只需要运行如下命令:
1703879056
1703879057
1703879058
1703879059
1703879060
在实施进一步操作之前,确保在network ID 10上运行。理由如前所述。
1703879061
1703879062
1703879063
1703879064
1703879066
区块链项目开发指南 8.4.2 初始化truffle
1703879067
1703879068
首先需要为应用创建目录。把目录命名为altcoin。在altcoin目录中,运行如下命令,初始化项目:
1703879069
1703879070
1703879071
1703879072
1703879073
初始化结束后,会得到一个包含如下项目的项目结构:
1703879074
1703879075
·contracts。truffle将发现Solidity合约的目录。
1703879076
1703879077
·migrations。包含合约部署代码的文件所在的目录。
1703879078
1703879079
·test。用于检测智能合约的测试文件的位置。
1703879080
1703879081
·truffle.js。主要truffle配置文件。
1703879082
1703879083
truffle init默认提供一系列样本合约(MetaCoin和ConvertLib)——相当于在以太坊之上的简单altcoin。
1703879084
1703879085
MetaCoin(元币)智能合约的源代码如下(供参考):
1703879086
1703879087
1703879088
1703879089
1703879090
MetaCoin向部署合约的账户地址分派10000个元币。10000是存在的全部比特币总数。现在该用户可以用sendCoin()函数发送元币给任何人,可以随时用getBalance()查询账户余额。假设一个元币折合两个以太币,就可以用getBalanceInEth()得到以太币余额。
1703879091
1703879092
ConvertLib库用于计算以太币中元币的数值。为了实现此目的,该库提供了convert()方法。
1703879093
1703879094
1703879095
1703879096
1703879098
区块链项目开发指南 8.4.3 编译合约
1703879099
1703879100
在truffle中编译合约将产生带有abi和unlinked_binary属性的artifact对象。运行如下命令进行编译:
1703879101
[
上一页 ]
[ :1.703879052e+09 ]
[
下一页 ]