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
1703879102
1703879103
1703879104
1703879105
为了避免不必要的编译工作,truffle只编译上次编译之后有变化的合约。如果想重写这个行为,用—all选项运行前面的命令。
1703879106
1703879107
用户会在build/contracts目录中发现artifacts。可以根据需要任意编辑这些文件。在运行compile和migrate命令时,这些文件就被修改了。
1703879108
1703879109
在编译前,需要注意如下事项:
[
上一页 ]
[ :1.70387906e+09 ]
[
下一页 ]