Yuque Archive
2021年可信区块链测试

关于合约能力增强(JavaScript 合约支持)

代码位置

涉及节点改动

  1. peerinfo 接口,可以看到链对应的虚拟机类型,以及版本。
  2. 在合约上增加 checkType 字段,用于支持合约部署前的多方确认。

合约接口

部署前多方确认

在注册 so 合约的时候,会带上一个 checkType 的参数,说明这个虚拟机下的 js 合约需不需要审查。

如果需要,在这个虚拟机上实例化出的链,以及每次合约代码的版本升级,都需要重新审查合约。(如果 js 合约未通过审核,合约所有接口会返回未通过审查)

(这里存在的逻辑问题是,合约升级的时候,接口可用还是不可用。目前是,每次升级都不可用,需要审查)

合约审查的消息用私钥签名,合约内根据交易的发起节点,用发起节点的公钥验签,以达到多方确认的效果。

也就是说,合约审查的交易,需要分别将交易发到 4 个节点上。