5.7.1.4 合约

如下函数创建并与合约)表示进行交互。

  1. acc.deploy(bin) => ctc

基于 bin 参数提供的信息,在开始部署基于Reach语言开发的DApp)合约)后,会返回Reach合约)抽象信息。该bin参数是由JavaScript后端)生成的input.mjs”模块。该函数在部署完成前不会被阻塞。为了等待部署,请查看 ctc.getInfo

ctc.getInfo() => Promise<ctcInfo>

返回Promise类型对象,传递至 attach 方法以构建一个Reach的合约)抽象以表示这一合约。该对象能够通过调用 JSON.stringify方法将对象转换为字符串并打印,也可以调用JSON.parse方法,在没有任何信息损失的情况下呢能够将字符串解析为对象。只有合约在网络部署完成后,Promise信息才会被解析。如果你使用 {deployMode: 'firstMsg'},那么直到第一次 publish 发生前,需要避免使用 await 方法以阻塞Promise信息。过早的开始等待 getInfo 会导致你的程序进入死锁状态。

acc.attach(bin, ctcInfoP) => ctc

基于 ctcInfo 参数(或针对ctcinfo的Promise)提供的信息,在开始部署基于Reach语言开发的DApp)合约)后,会返回Reach合约)抽象信息。这一 bin 参数是由JavaScript后端)生成的input.mjs”模块。