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
1703878952
1703878953
合约抽象API是truffle-contract与web3.js的不同之处。其特点如下:
1703878954
1703878955
·它将根据连接的网络自动抓取默认数值,例如库地址、合约地址等,因此用户不需要每次换网络时修改源代码。
1703878956
1703878957
·可以选择只在特定网络中监听特定事件。
1703878958
1703878959
·把库实时接入合约的字节码变得容易。在学习了如何使用API之后,用户会发现其他优点。
[
上一页 ]
[ :1.70387891e+09 ]
[
下一页 ]