打字猴:1.703879096e+09
1703879096
1703879097 区块链项目开发指南 [:1703875395]
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 在编译前,需要注意如下事项:
1703879110
1703879111 ·truffle期望合约文件定义与其文件名完全匹配的合约。例如,如果有一个文件叫作MyContract.sol,那么合约文件须有合约MyContract{}或者library myContract{}。
1703879112
1703879113 ·文件名匹配区分大小写,即大小写要一致。这意味着如果文件名没有大写,那么合约名也不应该大写。
1703879114
1703879115 ·可以使用Solidity的导入命令声明合约相关内容。truffle将用正确的顺序编译合约,并在必要时自动接入库。必须指明相关内容与当前Solidity文件之间的关系,开头是“./”或者“../”。
1703879116
1703879117
1703879118 truffle 3.1.2版本使用编译器版本0.4.8。ruffle目前不支持更换编译器版本,所以是固定的。
1703879119
1703879120
1703879121
1703879122
1703879123 区块链项目开发指南 [:1703875396]
1703879124 区块链项目开发指南 8.4.4 配置文件
1703879125
1703879126 truffle.js是用于配置项目的JavaScript文件。该文件可以执行为项目创建配置所需的任何代码。它必须导出一个代表项目配置的对象。文件默认内容如下:
1703879127
1703879128
1703879129
1703879130
1703879131 该对象可以包含多种属性,但最基础的属性是networks。该属性指明哪个网络对部署可用,以及与每个网络交互时的特定交易参数(例如gasPrice、from、gas等)。默认gasPrice是100000000000,gas是4712388,from是以太坊客户端中的第一个可用合约。
1703879132
1703879133 可以随意指定网络数量。继续修改配置文件:
1703879134
1703879135
1703879136
1703879137
1703879138 上述代码定义了development和live两个网络。
1703879139
1703879140
1703879141 在Windows上使用Prompt命令时,默认配置文件名可能导致与可执行truffle的冲突。如果遇到这种情况,推荐使用Windows PowerShell或者Git BASH,因为这些shells没有这种冲突。或者可以将配置文件重命名为truffle-config.js,以避免冲突。
1703879142
1703879143
1703879144
1703879145
[ 上一页 ]  [ :1.703879096e+09 ]  [ 下一页 ]