632  
智能合约 
作者: 姜天雨 于 2021年07月16日 发布在分类 / 区块链基础知识 / 底层框架资料 / GoQuorum 下,并于 2021年07月16日 编辑

开发智能合约

GoQuorum 使用标准 Solidity   编写智能合约,通常,你开发的这些智能合约与开发以太坊的智能合约一样。 智能合约可以是公开的(即,给 GoQuorum 网络上的所有参与者可见和可执行),也可以是一个或多个网络参与者私有的。 请注意, GoQuorum 不会引入新的合约类型。

先决条件

将标准的以太坊风格的交易发送到给定的网络,将使网络上的所有参与者都可以查看和执行该交易。 与以太坊一样,对于合约创建交易,将  to 字段留空。

发送公共交易的示例 JSON RPC API 调用:

粘贴图片

有关 sendTransaction  调用的详细信息,请参阅 GoQuorum API   页面,其中包括对标准 Ethereum 调用的一些修改。

粘贴图片

创建私有交易/合约

要将交易 / 智能合约设为私有并因此只能由 子网 查看和执行,请发送标准的以太坊交易,但包括 GoQuorum 特定的 privateFor  参数。  privateFor  用于提供交易 / 合约的参与者列表。 每个参与者都由 Privacy Manager 公钥标识。

发送私有交易的 JSON RPC API 调用示例:

粘贴图片

有关 sendTransaction 调用的详细信息,请参阅 GoQuorum API   页面,其中包括对标准 Ethereum 调用的一些修改。

粘贴图片

GoQuorum 合约设计注意事项

  1. 私有合约不能更新公共合约。 这是因为并非所有参与者都能够执行私有合约,因此如果该合约可以更新公共合约,那么每个参与者最终都会为公共合约获得不同的状态。

  2. 合约一旦公开,就不能再私有化。 如果您确实需要将公共合约设为私有,则需要将其从区块链中删除并创建新的私有合约。




 推荐知识

 历史版本

修改日期 修改人 备注
2021-07-16 15:43:14[当前版本] 姜天雨 修改内容
2021-07-16 13:38:54 姜天雨 创建版本

 附件

附件类型

PNGPNG

  目录
    区块链服务网络发展联盟