1703879384
1703879385
1703879386
1703879387
由于路径的开头不是“./”,truffle知道要在项目node_modules或者installed_contracts目录中寻找example-truffle-library文件夹,以提供所要求的合约的路径。
1703879388
1703879389
4.在JavaScript代码中使用包的artifact
1703879390
1703879391
如果在JavaScript代码中与一个包的artifact进行交互,仅需要包的.json文件,然后使用truffle-contract把它们转为可用抽象:
1703879392
1703879393
1703879394
1703879395
1703879396
5.在Solidity中访问已经部署package合约的地址
1703879397
1703879398
有时,用户可能希望合约与包之前部署的合约进行交互。由于部署的地址位于包的.json文件中,Solidity代码不能直接读取文件内容。因此,要让Solidity代码访问.json文件中的地址,应通过在Solidity代码中定义函数设置相关合约地址,在部署合约之后,使用JavaScript调用那些函数设置相关合约地址。
1703879399
1703879400
所以,可以这样定义合约代码:
1703879401
1703879402
1703879403
1703879404
1703879405
1703879406
1703879407
1703879408
移植应该看起来像这样:
1703879409
1703879410
1703879411
1703879412
1703879413
1703879414
1703879415
1703879417
区块链项目开发指南 8.4.8 使用truffle的操作台
1703879418
1703879419
有时,为了进行测试和调试,需要与合约进行直接交互或者手动执行交易。truffle通过交互操作台提供了一个简便的办法——在其中合约可用且随时可用。
1703879420
1703879421
要打开操作台,请运行如下命令:
1703879422
1703879423
1703879424
1703879425
1703879426
操作台根据项目配置连接到一个以太坊节点。前面的命令还用—network选项指定要连接到的特定节点。
1703879427
1703879428
操作台的功能如下:
1703879429
1703879430
·可以在操作台中运行命令。例如,可以在操作台中输入migrate—reset,其效果与在操作台外运行truffle migrate–reset一样。
1703879431
1703879432
·所有已编译合约都是可用的,且随时可用。
1703879433
[
上一页 ]
[ :1.703879384e+09 ]
[
下一页 ]