Hyperledger Fabric 2.5 中文文档编程一样,给任务函数传递参数很有必要``。Fabric 支持 Shell 兼容的参数用法: <任务名>:<参数>, <关键字参数名>=<参数值>,... 用起来就 是这样,下面我们用一个 say hello 的实例来展开说明一下: def hello(name="world"): print("Hello %s!" % name) 默认情况下, fab hello 的调用结果仍和之前相同,但现在我们可以做些个性 None )。 它接受一个接受单个字符串变量(需要打印的错误信息)的可调用对象,并返 回一个异常实例。这样 Fabric 就会抛出该异常,而非 退出系统 (如 sys.exit 所 做) 大部分情况下,你可以简单地将它设置为一个异常类,因为它完美地符合了上 面的要求(可调用、接受一个字符串、返回一个异常实例)。例如: env.abort_exception = MyExceptionClass 。 task: $ fab set_hosts:db snapshot $ fab set_hosts:cassandra,cluster2 repair_ring $ fab set_hosts:redis,environ=prod status Failure handling Once the task list has been constructed, Fabric will start0 码力 | 138 页 | 154.00 KB | 1 年前3
Hyperledger Fabric 1.4 中文文档编程一样,给任务函数传递参数很有必要``。Fabric 支持 Shell 兼容的参数用法: <任务名>:<参数>, <关键字参数名>=<参数值>,... 用起来就 是这样,下面我们用一个 say hello 的实例来展开说明一下: def hello(name="world"): print("Hello %s!" % name) 默认情况下, fab hello 的调用结果仍和之前相同,但现在我们可以做些个性 None )。 它接受一个接受单个字符串变量(需要打印的错误信息)的可调用对象,并返 回一个异常实例。这样 Fabric 就会抛出该异常,而非 退出系统 (如 sys.exit 所 做) 大部分情况下,你可以简单地将它设置为一个异常类,因为它完美地符合了上 面的要求(可调用、接受一个字符串、返回一个异常实例)。例如: env.abort_exception = MyExceptionClass 。 task: $ fab set_hosts:db snapshot $ fab set_hosts:cassandra,cluster2 repair_ring $ fab set_hosts:redis,environ=prod status Failure handling Once the task list has been constructed, Fabric will start0 码力 | 145 页 | 161.53 KB | 1 年前3
FISCO BCOS 2.9.0 中文文档据配置访问MySQL数据库;type为Scalable时,需要设置binary_log=true,此时状态数 据和区块数据分别存储在不同的RocksDB实例中,存储区块数据的RocksDB实例根据配置 项scroll_threshold_multiple*1000切换实例,实例以存储的起始区块高度命名。 • max_capacity:配置允许节点用于内存缓存的空间大小。 • max_forward_block :当type为Scalable时,此配置项用于配置区块数据库的切 换阈值,按scroll_threshold_multiple*1000。默认为2,区块数据按每2000块存储在不同 的RocksDB实例中。 • db_ip:当type为MySQL时,需要配置该字段,表示MySQL的IP地址。 • db_port:当type为MySQL时,需要配置该字段,表示MySQL的端口号。 • db_u 式解决。通过分析, 我们可采用scalable存储模式,通过对写入本地的链上数据按照一定维度进行划分,分别存于不同存储实 例,从而控制节点所访问的单个存储实例大小,稳定链处理能力;同时,对本地的存储实例,在实现其 备份归档后可以有选择地进行实例删除,控制本地存储的整体数据量。 重要: • FISCO BCOS从2.7.1版本开始,通过配置“数据仓库”,实现对海量数据治理的支持; • FISCO0 码力 | 1489 页 | 107.09 MB | 1 年前3
FISCO BCOS 3.6.0 中文文档据配置访问MySQL数据库;type为Scalable时,需要设置binary_log=true,此时状态数 据和区块数据分别存储在不同的RocksDB实例中,存储区块数据的RocksDB实例根据配置 项scroll_threshold_multiple*1000切换实例,实例以存储的起始区块高度命名。 • max_capacity:配置允许节点用于内存缓存的空间大小。 • max_forward_block :当type为Scalable时,此配置项用于配置区块数据库的切 换阈值,按scroll_threshold_multiple*1000。默认为2,区块数据按每2000块存储在不同 的RocksDB实例中。 • db_ip:当type为MySQL时,需要配置该字段,表示MySQL的IP地址。 • db_port:当type为MySQL时,需要配置该字段,表示MySQL的端口号。 • db_u 式解决。通过分析, 我们可采用scalable存储模式,通过对写入本地的链上数据按照一定维度进行划分,分别存于不同存储实 例,从而控制节点所访问的单个存储实例大小,稳定链处理能力;同时,对本地的存储实例,在实现其 备份归档后可以有选择地进行实例删除,控制本地存储的整体数据量。 重要: • FISCO BCOS从2.7.1版本开始,通过配置“数据仓库”,实现对海量数据治理的支持; • FISCO0 码力 | 1489 页 | 107.09 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档据配置访问MySQL数据库;type为Scalable时,需要设置binary_log=true,此时状态数 据和区块数据分别存储在不同的RocksDB实例中,存储区块数据的RocksDB实例根据配置 项scroll_threshold_multiple*1000切换实例,实例以存储的起始区块高度命名。 • max_capacity:配置允许节点用于内存缓存的空间大小。 • max_forward_block :当type为Scalable时,此配置项用于配置区块数据库的切 换阈值,按scroll_threshold_multiple*1000。默认为2,区块数据按每2000块存储在不同 的RocksDB实例中。 • db_ip:当type为MySQL时,需要配置该字段,表示MySQL的IP地址。 • db_port:当type为MySQL时,需要配置该字段,表示MySQL的端口号。 • db_u 式解决。通过分析, 我们可采用scalable存储模式,通过对写入本地的链上数据按照一定维度进行划分,分别存于不同存储实 例,从而控制节点所访问的单个存储实例大小,稳定链处理能力;同时,对本地的存储实例,在实现其 备份归档后可以有选择地进行实例删除,控制本地存储的整体数据量。 重要: • FISCO BCOS从2.7.1版本开始,通过配置“数据仓库”,实现对海量数据治理的支持; • FISCO0 码力 | 1489 页 | 107.09 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档数据库;type为 Scalable时,需要设置binary_log=true,此时状态数据和区块数据分别 存储在不同的RocksDB实例中,存储区块数据的RocksDB实例根据配置 项scroll_threshold_multiple*1000切换实例,实例以存储的起始区块 高度命名。 max_capacity:配置允许节点用于内存缓存的空间大小。 max_forward_block:配置 :当type为Scalable时,此配置项用于配置 区块数据库的切换阈值,按scroll_threshold_multiple*1000。默认为 2,区块数据按每2000块存储在不同的RocksDB实例中。 db_ip:当type为MySQL时,需要配置该字段,表示MySQL的IP地址。 db_port:当type为MySQL时,需要配置该字段,表示MySQL的端口号。 db_usernam 且无法通过增加硬盘容量等硬件方式解决。通过分析,我们可采用scalable存 储模式,通过对写入本地的链上数据按照一定维度进行划分,分别存于不同 存储实例,从而控制节点所访问的单个存储实例大小,稳定链处理能力;同 时,对本地的存储实例,在实现其备份归档后可以有选择地进行实例删除, 控制本地存储的整体数据量。 重要 FISCO BCOS从2.7.1版本开始,通过配置“数据仓库”,实现对海量数据 治理的支持;0 码力 | 2649 页 | 201.08 MB | 1 年前3
FISCO BCOS 2.9.0 中文文档数据库;type为 Scalable时,需要设置binary_log=true,此时状态数据和区块数据分别 存储在不同的RocksDB实例中,存储区块数据的RocksDB实例根据配置 项scroll_threshold_multiple*1000切换实例,实例以存储的起始区块 高度命名。 max_capacity:配置允许节点用于内存缓存的空间大小。 max_forward_block:配置 :当type为Scalable时,此配置项用于配置 区块数据库的切换阈值,按scroll_threshold_multiple*1000。默认为 2,区块数据按每2000块存储在不同的RocksDB实例中。 db_ip:当type为MySQL时,需要配置该字段,表示MySQL的IP地址。 db_port:当type为MySQL时,需要配置该字段,表示MySQL的端口号。 db_usernam 且无法通过增加硬盘容量等硬件方式解决。通过分析,我们可采用scalable存 储模式,通过对写入本地的链上数据按照一定维度进行划分,分别存于不同 存储实例,从而控制节点所访问的单个存储实例大小,稳定链处理能力;同 时,对本地的存储实例,在实现其备份归档后可以有选择地进行实例删除, 控制本地存储的整体数据量。 重要 FISCO BCOS从2.7.1版本开始,通过配置“数据仓库”,实现对海量数据 治理的支持;0 码力 | 2649 页 | 201.08 MB | 1 年前3
FISCO BCOS 2.0 中文文档数据库;type为 Scalable时,需要设置binary_log=true,此时状态数据和区块数据分别 存储在不同的RocksDB实例中,存储区块数据的RocksDB实例根据配置 项scroll_threshold_multiple*1000切换实例,实例以存储的起始区块 高度命名。 max_capacity:配置允许节点用于内存缓存的空间大小。 max_forward_block:配置 :当type为Scalable时,此配置项用于配置 区块数据库的切换阈值,按scroll_threshold_multiple*1000。默认为 2,区块数据按每2000块存储在不同的RocksDB实例中。 db_ip:当type为MySQL时,需要配置该字段,表示MySQL的IP地址。 db_port:当type为MySQL时,需要配置该字段,表示MySQL的端口号。 db_usernam 且无法通过增加硬盘容量等硬件方式解决。通过分析,我们可采用scalable存 储模式,通过对写入本地的链上数据按照一定维度进行划分,分别存于不同 存储实例,从而控制节点所访问的单个存储实例大小,稳定链处理能力;同 时,对本地的存储实例,在实现其备份归档后可以有选择地进行实例删除, 控制本地存储的整体数据量。 重要 FISCO BCOS从2.7.1版本开始,通过配置“数据仓库”,实现对海量数据 治理的支持;0 码力 | 2649 页 | 201.08 MB | 1 年前3
百度超级链 XuperChain stable 中文文档为了在运行时获取合约的读写集,在预执行每个合约时XuperModel为其提供智 能缓存。该缓存对状态数据库是只读的,它可以为合约的预执行生成读写集和 结果。验证合约时,验证节点根据事务内容初始化缓存实例。节点将再次执行 一次合约,但此时合约只能从读集读取数据。同样,写入数据也会在写入集中 生效。当验证完生成的写集和事务携带的写集一致时合约验证通过,将事务写 入账本,cache的原理如下所示,图中左边部分是合约预执行时的示意图,右 3.2. 加载运行 在了解如何加载运行之前先看下如何使用xvm来发起对合约的调用,首先生成 Code对象,Code对象管理静态的指令代码以及合约所需要的符号解析器 Resolver。 之后就可以通过实例化Context对象来发起一次合约调用,GasLimit 等参数就是在这里传入的。Code和Context的关系类似Docker里面的镜像和容 器的关系, 一个是静态的,一个是动态的。 1 func 上图左边是Xuper的启动流程,其中InitP2PServer的流程为启动P2P的核心流 程,如右半部分所示,右半部分主要包括4个阶段,分别为: 1. InitP2pInstance:创建libp2p host实例 2. SetXuperStreamHandler:初始化p2p通信消息protocols,XuperProtocol为 Xuper节点之间进行消息通信和消息处理的核心逻辑。 3. InitKadDht:0 码力 | 325 页 | 26.31 MB | 1 年前3
百度超级链 XuperChain 3.12-a中文文档上可以水 平扩展; 同时,平行链还具备群组特性,能够一定程度上实现平行链隐私数据的隔 离,只有群组内的节点才能有这个平行链的数据。 术语 平行链 :相对于主链而言,运行在超级链中的用户级区块链实例,用户 通过调用主链的智能合约创建。功能与主链无区别,全网节点均可以获 取平行链账本数据,实现整体架构水平可扩展。 群组 :作用于平行链,具备群组特性的平行链,只有特定节点才拥有该 平行链的账本数据。群组具备的特性包括私密性、动态性。 为了在运行时获取合约的读写集,在预执行每个合约时XuperModel为其提供 智能缓存。该缓存对状态数据库是只读的,它可以为合约的预执行生成读写 集和结果。验证合约时,验证节点根据事务内容初始化缓存实例。节点将再 次执行一次合约,但此时合约只能从读集读取数据。同样,写入数据也会在 写入集中生效。当验证完生成的写集和事务携带的写集一致时合约验证通 过,将事务写入账本,cache的原理如下所示,图中左边部分是合约预执行时 使是在区块大小上精打细算的比特币账本也有0.5TB左右。区块链账本数据不 断增加,单盘容量上限成为区块链持续发展的天花板。 目前对leveldb的多盘 扩展方案,大部分是采用了多个leveldb实例的方式,也就是每个盘一个单独 的leveldb实例。这种做法的好处是简单,不需要修改leveldb底层代码,缺点 是牺牲了多行原子写入的功能。在区块链的应用场景中,我们是需要这种多 个写入操作原子性的。所以选择了改leveldb底层模型的技术路线。0 码力 | 336 页 | 12.62 MB | 1 年前3
共 46 条
- 1
- 2
- 3
- 4
- 5













