 FISCO BCOS 1.3 中文文档浅谈以太坊智能合约的设计模式与升级方法 1. 最佳实践 2. 实用设计案例 2.1 控制器合约与数据合约: 1->1 2.2 控制器合约与数据合约: 1->N 2.3 控制器合约与数据合约: N->1 2.4 控制器合约与数据合约: N->N 2.5 总结 3. 升级 3.1 控制器合约升级,数据合约不升级 3.2 控制器合约不升级,数据合约升级 3.3 控制器合约升级,数据合约升级 4. 数据迁移 4.1 硬编码迁移法 Data)模式。将合约分为两类:控制器合约 (Controller Contract)与数据合约(Data Contract)。 控制器合约通过访问数据合约获得数据,并对数据做逻辑处理,然后写回数据 合约。它专注于对数据的逻辑处理和对外提供服务。根据处理逻辑的不同,常 见的有命名空间控制器合约、代理控制器合约、业务控制器合约、工厂控制器 合约等。一般情况下,控制器合约不需要存储任何数据,它完全依赖外部的输 入来决定对数据合约的访问。特殊情况下,控制器合约可以存储某个固定的数 据合约的地址或者命名空间(通过命名空间在运行时获得合约地址)。 数据合约专注于数据结构定义与所存储数据的读写裸接口。为了达到数据统一 访问管理和数据访问权限控制的目的,最好是将数据读写接口只暴露给对应的 控制器合约。禁止其他方式的读写访问。 基于这个模式,遵循从上至下的分析方式,从对外提供的服务接口开始设计各 类控制器合约,再逐步过渡到服务接口所需要的数据模型和存储方式,进而设0 码力 | 491 页 | 5.72 MB | 1 年前3 FISCO BCOS 1.3 中文文档浅谈以太坊智能合约的设计模式与升级方法 1. 最佳实践 2. 实用设计案例 2.1 控制器合约与数据合约: 1->1 2.2 控制器合约与数据合约: 1->N 2.3 控制器合约与数据合约: N->1 2.4 控制器合约与数据合约: N->N 2.5 总结 3. 升级 3.1 控制器合约升级,数据合约不升级 3.2 控制器合约不升级,数据合约升级 3.3 控制器合约升级,数据合约升级 4. 数据迁移 4.1 硬编码迁移法 Data)模式。将合约分为两类:控制器合约 (Controller Contract)与数据合约(Data Contract)。 控制器合约通过访问数据合约获得数据,并对数据做逻辑处理,然后写回数据 合约。它专注于对数据的逻辑处理和对外提供服务。根据处理逻辑的不同,常 见的有命名空间控制器合约、代理控制器合约、业务控制器合约、工厂控制器 合约等。一般情况下,控制器合约不需要存储任何数据,它完全依赖外部的输 入来决定对数据合约的访问。特殊情况下,控制器合约可以存储某个固定的数 据合约的地址或者命名空间(通过命名空间在运行时获得合约地址)。 数据合约专注于数据结构定义与所存储数据的读写裸接口。为了达到数据统一 访问管理和数据访问权限控制的目的,最好是将数据读写接口只暴露给对应的 控制器合约。禁止其他方式的读写访问。 基于这个模式,遵循从上至下的分析方式,从对外提供的服务接口开始设计各 类控制器合约,再逐步过渡到服务接口所需要的数据模型和存储方式,进而设0 码力 | 491 页 | 5.72 MB | 1 年前3
 FISCO BCOS 2-dev 中文文档的工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参 数,如交易的发送方式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定 网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要部署测试的合约等。 5.4.3 3. 自 自 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 的工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参 数,如交易的发送方式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定 网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要部署测试的合约等。 三、自定义测试用例0 码力 | 1324 页 | 85.58 MB | 1 年前3 FISCO BCOS 2-dev 中文文档的工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参 数,如交易的发送方式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定 网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要部署测试的合约等。 5.4.3 3. 自 自 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 的工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参 数,如交易的发送方式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定 网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要部署测试的合约等。 三、自定义测试用例0 码力 | 1324 页 | 85.58 MB | 1 年前3
 FISCO BCOS 2.7.2 中文文档--caliper-workspace Workspace directory that contains all configuration information [string] 发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指 定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要 部署测试的合约等。 3. 自定义测试用例 的get接口和set接口进行测试。在每一轮测试中,可以通过txNumber或 txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字 段指定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀 速控制器,更多速率控制器的介绍可以参考官方文档 [https://hyperledger.github.io/caliper/v0.2/getting-started/]。 性能监视器配置 部署“存储类智能合约”后必须转移合约所有权关系给控制器类智能合约,存 储类合约方法如下: function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); 上述“newOwner”参数必须为对应的“控制器合约”地址。这样,“存储类智能0 码力 | 2520 页 | 211.87 MB | 1 年前3 FISCO BCOS 2.7.2 中文文档--caliper-workspace Workspace directory that contains all configuration information [string] 发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指 定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要 部署测试的合约等。 3. 自定义测试用例 的get接口和set接口进行测试。在每一轮测试中,可以通过txNumber或 txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字 段指定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀 速控制器,更多速率控制器的介绍可以参考官方文档 [https://hyperledger.github.io/caliper/v0.2/getting-started/]。 性能监视器配置 部署“存储类智能合约”后必须转移合约所有权关系给控制器类智能合约,存 储类合约方法如下: function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); 上述“newOwner”参数必须为对应的“控制器合约”地址。这样,“存储类智能0 码力 | 2520 页 | 211.87 MB | 1 年前3
 FISCO BCOS 2-dev 中文文档工作目录,如果没有绑定工作 目录,可以通过该选项动态指定工作目录; –caliper-benchconfig:用于指定 测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方式、 发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指 定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要 部署测试的合约等。 3. 自定义测试用例 的get接口和set接口进行测试。在每一轮测试中,可以通过txNumber或 txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字 段指定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀 速控制器,更多速率控制器的介绍可以参考官方文档 [https://hyperledger.github.io/caliper/v0.2/getting-started/]。 性能监视器配置 工作目录,如果没有绑定工作 目录,可以通过该选项动态指定工作目录; –caliper-benchconfig:用于指定 测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方式、 发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指 定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要 部署测试的合约等。 三、自定义测试用例0 码力 | 2378 页 | 204.39 MB | 1 年前3 FISCO BCOS 2-dev 中文文档工作目录,如果没有绑定工作 目录,可以通过该选项动态指定工作目录; –caliper-benchconfig:用于指定 测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方式、 发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指 定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要 部署测试的合约等。 3. 自定义测试用例 的get接口和set接口进行测试。在每一轮测试中,可以通过txNumber或 txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字 段指定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀 速控制器,更多速率控制器的介绍可以参考官方文档 [https://hyperledger.github.io/caliper/v0.2/getting-started/]。 性能监视器配置 工作目录,如果没有绑定工作 目录,可以通过该选项动态指定工作目录; –caliper-benchconfig:用于指定 测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方式、 发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指 定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要 部署测试的合约等。 三、自定义测试用例0 码力 | 2378 页 | 204.39 MB | 1 年前3
 FISCO BCOS 2.9.0 中文文档工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方 式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及 要部署测试的合约等。 8.1.5 2.3. 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 检查通过,审核投票票数加 一,标记审核者已签名。 1120 Chapter 30. 深入浅出FISCO BCOS FISCO BCOS Documentation, 发布 v2.9.0 控制器 控制器引入了两个数据仓库合约,我们只需调用controller就可以完成所有用户接口的交互;它的构造函 数参数变量包含了请求合约构造所需的参数:审核者列表及投票阈值,这个构造函数会自动构造和创建 合约。0 码力 | 1489 页 | 107.09 MB | 1 年前3 FISCO BCOS 2.9.0 中文文档工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方 式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及 要部署测试的合约等。 8.1.5 2.3. 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 检查通过,审核投票票数加 一,标记审核者已签名。 1120 Chapter 30. 深入浅出FISCO BCOS FISCO BCOS Documentation, 发布 v2.9.0 控制器 控制器引入了两个数据仓库合约,我们只需调用controller就可以完成所有用户接口的交互;它的构造函 数参数变量包含了请求合约构造所需的参数:审核者列表及投票阈值,这个构造函数会自动构造和创建 合约。0 码力 | 1489 页 | 107.09 MB | 1 年前3
 FISCO BCOS 3.6.0 中文文档工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方 式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及 要部署测试的合约等。 8.1.5 2.3. 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 检查通过,审核投票票数加 一,标记审核者已签名。 1120 Chapter 30. 深入浅出FISCO BCOS FISCO BCOS Documentation, 发布 v2.9.0 控制器 控制器引入了两个数据仓库合约,我们只需调用controller就可以完成所有用户接口的交互;它的构造函 数参数变量包含了请求合约构造所需的参数:审核者列表及投票阈值,这个构造函数会自动构造和创建 合约。0 码力 | 1489 页 | 107.09 MB | 1 年前3 FISCO BCOS 3.6.0 中文文档工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方 式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及 要部署测试的合约等。 8.1.5 2.3. 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 检查通过,审核投票票数加 一,标记审核者已签名。 1120 Chapter 30. 深入浅出FISCO BCOS FISCO BCOS Documentation, 发布 v2.9.0 控制器 控制器引入了两个数据仓库合约,我们只需调用controller就可以完成所有用户接口的交互;它的构造函 数参数变量包含了请求合约构造所需的参数:审核者列表及投票阈值,这个构造函数会自动构造和创建 合约。0 码力 | 1489 页 | 107.09 MB | 1 年前3
 FISCO BCOS 2.9.0 中文文档工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方 式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及 要部署测试的合约等。 8.1.5 2.3. 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 检查通过,审核投票票数加 一,标记审核者已签名。 1120 Chapter 30. 深入浅出FISCO BCOS FISCO BCOS Documentation, 发布 v2.9.0 控制器 控制器引入了两个数据仓库合约,我们只需调用controller就可以完成所有用户接口的交互;它的构造函 数参数变量包含了请求合约构造所需的参数:审核者列表及投票阈值,这个构造函数会自动构造和创建 合约。0 码力 | 1489 页 | 107.09 MB | 1 年前3 FISCO BCOS 2.9.0 中文文档工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参数,如交易的发送方 式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及 要部署测试的合约等。 8.1.5 2.3. 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 检查通过,审核投票票数加 一,标记审核者已签名。 1120 Chapter 30. 深入浅出FISCO BCOS FISCO BCOS Documentation, 发布 v2.9.0 控制器 控制器引入了两个数据仓库合约,我们只需调用controller就可以完成所有用户接口的交互;它的构造函 数参数变量包含了请求合约构造所需的参数:审核者列表及投票阈值,这个构造函数会自动构造和创建 合约。0 码力 | 1489 页 | 107.09 MB | 1 年前3
 FISCO BCOS 2.7.2 中文文档的工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参 数,如交易的发送方式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定 网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要部署测试的合约等。 8.1.3 3. 自 自 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 的原 原 原理 理 理和 和 和特 特 特性 性 性 1053 FISCO BCOS Documentation, 发 发 发布 布 布 v2.7.2 控 控 控制 制 制器 器 器 控 控 控制器引入了两个数据仓库合约,我们只需调用controller就可以完成所有用户接口的交互;它的构造函 数参数变量包含了请求合约构造所需的参数:审核者列表及投票阈值,这个构造函数会自动构造和创建 合约。0 码力 | 1422 页 | 91.91 MB | 1 年前3 FISCO BCOS 2.7.2 中文文档的工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参 数,如交易的发送方式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定 网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要部署测试的合约等。 8.1.3 3. 自 自 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type 的原 原 原理 理 理和 和 和特 特 特性 性 性 1053 FISCO BCOS Documentation, 发 发 发布 布 布 v2.7.2 控 控 控制 制 制器 器 器 控 控 控制器引入了两个数据仓库合约,我们只需调用controller就可以完成所有用户接口的交互;它的构造函 数参数变量包含了请求合约构造所需的参数:审核者列表及投票阈值,这个构造函数会自动构造和创建 合约。0 码力 | 1422 页 | 91.91 MB | 1 年前3
 FISCO BCOS 2.2.0 中文文档i的工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录;–caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参 数,如交易的发送方式、发送速率控制器类型、性能监视器类型等;–caliper-networkconfig:用于指定 网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要部署测试的合约等。 三、自定义测试用例 本 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type0 码力 | 418 页 | 6.51 MB | 1 年前3 FISCO BCOS 2.2.0 中文文档i的工作目录,如果没有绑定工作目录,可以通过该选项动 态指定工作目录;–caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的具体参 数,如交易的发送方式、发送速率控制器类型、性能监视器类型等;–caliper-networkconfig:用于指定 网络配置文件,网络配置文件中会指定Caliper与受测系统的连接方式及要部署测试的合约等。 三、自定义测试用例 本 测试。在每一轮测试中,可以通 过txNumber或txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字段指 定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀速控制器,更多速率控制器的介 绍可以参考官方文档。 • 性能监视器配置 monitor项负责对测试所使用的性能监视器的进行配置。每项配置项的解释如下: 1. monitor.type0 码力 | 418 页 | 6.51 MB | 1 年前3
 FISCO BCOS 2.9.0 中文文档工作目录,如果没有绑定工作 目录,可以通过该选项动态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的 具体参数,如交易的发送方式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定网络配置文件,网络配置文件中会指定 Caliper与受测系统的连接方式及要部署测试的合约等。 2.3. 自定义测试用例 的get接口和set接口进行测试。在每一轮测试中,可以通过txNumber或 txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字 段指定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀 速控制器,更多速率控制器的介绍可以参考官方文档 [https://hyperledger.github.io/caliper/v0.2/getting-started/]。 性能监视器配置 部署“存储类智能合约”后必须转移合约所有权关系给控制器类智能合约,存 储类合约方法如下: function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); 上述“newOwner”参数必须为对应的“控制器合约”地址。这样,“存储类智能0 码力 | 2649 页 | 201.08 MB | 1 年前3 FISCO BCOS 2.9.0 中文文档工作目录,如果没有绑定工作 目录,可以通过该选项动态指定工作目录; –caliper-benchconfig:用于指定测试配置文件,测试配置文件中包含测试的 具体参数,如交易的发送方式、发送速率控制器类型、性能监视器类型等; –caliper-networkconfig:用于指定网络配置文件,网络配置文件中会指定 Caliper与受测系统的连接方式及要部署测试的合约等。 2.3. 自定义测试用例 的get接口和set接口进行测试。在每一轮测试中,可以通过txNumber或 txDuration字段指定测试的交易发送数量或执行时间,并通过rateControl字 段指定交易发送时的速率控制器,在本节的示例中,使用了QPS为1000的匀 速控制器,更多速率控制器的介绍可以参考官方文档 [https://hyperledger.github.io/caliper/v0.2/getting-started/]。 性能监视器配置 部署“存储类智能合约”后必须转移合约所有权关系给控制器类智能合约,存 储类合约方法如下: function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); 上述“newOwner”参数必须为对应的“控制器合约”地址。这样,“存储类智能0 码力 | 2649 页 | 201.08 MB | 1 年前3
共 31 条
- 1
- 2
- 3
- 4














