打字猴:1.703879396e+09
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
1703879416 区块链项目开发指南 [:1703875400]
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
1703879434 ·在每个命令(例如migrate—reset)之后,合约被重新配置,所以可以立即开始使用新分配的地址和二进制。
1703879435
1703879436 ·web3对象可用,且连接到以太坊节点。
1703879437
1703879438 ·所有返回承诺的命令都将自动执行,并打印出结果,这样对于简单命令就不需要使用.then()了。例如,可以这样写代码:
1703879439
1703879440
1703879441
1703879442
1703879443
1703879444
1703879445
[ 上一页 ]  [ :1.703879396e+09 ]  [ 下一页 ]