1703879039
·可以使用SampleContract.functionName()或者SampleContract.functionName.call()调用合约的任何方法。前者发送交易,后者则只调用EVM上的方法,且修改并不持续。两种方法都返回一个承诺。在第一种情况下,承诺解析交易结果,也就是说,一个对象包含交易哈希、日志和交易收据。在第二种情况下,承诺解析方法调用的返回值。两种方法都有函数实参,且最后一个实参为可选项,它是一个设置交易的from、gas和value等的对象。
1703879040
1703879041
1703879042
1703879043
1703879045
区块链项目开发指南 8.4 truffle概述
1703879046
1703879047
truffle是一种开发环境(提供编译、部署、测试和创建所用的命令行工具)、框架(提供多种包,使编写测试、部署代码、创建客户端等变得容易)和asset pipeline(发布包以及使用其他人发布的包)。
1703879048
1703879049
1703879050
1703879051
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
[
上一页 ]
[ :1.703879039e+09 ]
[
下一页 ]