1703878903
区块链项目开发指南 8.3.1 安装和导入truffle-contract
1703878904
1703878905
在写本书时,truffle-contract API的最新版本是1.1.10。在导入truffle-contract之前,需要先导入web3.js,因为需要创建一个提供方处理truffle-contract API,这样truffle-contract将内部使用该提供方进行JSON-RPC调用。
1703878906
1703878907
在Node.js app中安装truffle-contract,只需在app目录中运行如下代码:
1703878908
1703878909
1703878910
1703878911
1703878912
然后使用如下代码导入:
1703878913
1703878914
1703878915
1703878916
1703878917
在浏览器中使用truffle-contract时,会在https://github.com/trufflesuite/truffle-contract仓库发现dist目录中的浏览器分配。
1703878918
1703878919
在HTML中,可以使用如下命令将它存入队列:
1703878920
1703878921
1703878922
1703878923
1703878924
这样将会有一个可用的TruffleContract全局变量。
1703878925
1703878926
1703878927
1703878928
1703878930
区块链项目开发指南 8.3.2 建立测试环境
1703878931
1703878932
在开始学习truffle-contract API之前,需要建立测试环境,这将有助于我们在学习的同时测试代码。
1703878933
1703878934
首先,运行testrpc—networkId 10命令,即运行代表network ID 10的ethereumjs-testrpc节点。出于开发目的,我们随机选取了network ID 10,但是用户可以随意选择任何其他网络ID。只需要确保不是1,因为主网总是用于真实的App,而不是用于开发和测试。
1703878935
1703878936
然后创建一个HTML文件,放入如下代码:
1703878937
1703878938
1703878939
1703878940
1703878941
下载web3.min.js和truffle-contract.min.js。truffle-contract浏览器在https://github.com/trufflesuite/truffle-contract/tree/master/dist创建内容。
1703878942
1703878943
1703878944
1703878945
1703878947
区块链项目开发指南 8.3.3 truffle-contract API
1703878948
1703878949
现在来看truffle-contract API。基本上,truffle-contract有两个API,即合约抽象API和合约实例API。合约抽象API代表关于合约(或者库)的多种信息,例如ABI、未接入的字节码、在多个以太坊网络中的地址(如果合约已部署)、对于多个以太坊网络它所依赖的库地址(如果已部署)和合约事件。抽象API是对所有合约抽象都存在的一系列函数。合约实例代表一个特定网络中的已部署合约。实例API是对合约实例可用的API。它是以Solidity源文件中的可用函数为基础动态创建的。特定合约的合约实例是从代表同一合约的合约抽象中创建的。
1703878950
1703878951
1.合约抽象API
[
上一页 ]
[ :1.703878902e+09 ]
[
下一页 ]