09 Python C拓展在各平台的打包与发布 赵丰
Python C拓展在各平台的打包 与发布 赵丰 GitHub ID: zhaofeng-shu33 在 Windows 平台上:没有找到编译器; 在 Unix 平台上: 无法解决软件依赖。 假如 numpy 官方的源只包含一堆 .c 文件 现在你要 pip install numpy 结果将是 1 为什么需要C拓展包 2 如何在不同的平台打包并发布 编写 setup.py others 处理不同平台的差异 3 C拓展打包的注意事项 • 在 Linux 系统上打包无法上传到 pypi.org,只能用官方提供的 CentOS 6.10 Docker 打包 • C拓展包如果依赖额外的动态库需要一起打包进去并且在包导入的时候动 态添加PATH • 每一个Python版本打包的C拓展包相互独立,py37不能安装py36打包的 二进制包 • 在Windows平台上需要预装 在Windows平台上需要预装 Visual Studio C++ 套件才能打包 4 用持续集成工具打包 • 以 Travis 为例,针对 MacOS 和 ManyLinux,示例配置文件如下: THANK YOU0 码力 | 6 页 | 414.79 KB | 1 年前3FISCO BCOS 2.2.0 中文文档
2.3 并 并 并行 行 行计 计 计算 算 算模 模 模型 型 型 2.0版本中新增了合约交易的并行处理机制,进一步提升了合约的并发吞吐量。 1.0版本以及大部分业界传统区块链平台,交易是被打包成一个区块,在一个区块中交易顺序串行执行 的。 2.0版本基于预编译合约,实现一套并行交易处理模型,基于这个模型可以自定义交易互斥变量。 在区块执行过程中,系统将会根据交易互斥变量自动构建交易依赖关系图——DAG,基于DAG并行执行 并行计算模型:可并行合约开发框架、交易并行执行引擎(PTE) • 分布式存储:amdb-proxy、SQLStorage 版 版 版本 本 本优 优 优化 化 化 • 优化了区块打包交易数的逻辑,根据执行时间动态的调整区块打包交易数 • 优化了区块同步的流程,让区块同步更快 • 并行优化了将交易的编解码、交易的验签和落盘的编码 • 优化了交易执行返回码的逻辑,让返回码更准确 • 升级了存储模块,支持并发读写 。用户可以构 建一个交易,用自己的私钥给交易签名,发送到链上(通过sendRawTransaction等接口),由多个节点 的共识机制处理,执行相关的智能合约代码,生成交易指定的状态数据,然后将交易打包到区块里,和 状态数据一起落盘存储,该交易即为被确认,被确认的交易被认为具备了事务性和一致性。 随着交易确认相应还会有交易回执(receipt)产生,和交易一一对应且保存在区块里,用于保存一些交0 码力 | 418 页 | 6.51 MB | 1 年前3FISCO BCOS 2.3.0 中文文档
2.3 并 并 并行 行 行计 计 计算 算 算模 模 模型 型 型 2.0版本中新增了合约交易的并行处理机制,进一步提升了合约的并发吞吐量。 1.0版本以及大部分业界传统区块链平台,交易是被打包成一个区块,在一个区块中交易顺序串行执行 的。 2.0版本基于预编译合约,实现一套并行交易处理模型,基于这个模型可以自定义交易互斥变量。 在区块执行过程中,系统将会根据交易互斥变量自动构建交易依赖关系图——DAG,基于DAG并行执行 并行计算模型:可并行合约开发框架、交易并行执行引擎(PTE) • 分布式存储:amdb-proxy、SQLStorage 版 版 版本 本 本优 优 优化 化 化 • 优化了区块打包交易数的逻辑,根据执行时间动态的调整区块打包交易数 • 优化了区块同步的流程,让区块同步更快 • 并行优化了将交易的编解码、交易的验签和落盘的编码 • 优化了交易执行返回码的逻辑,让返回码更准确 • 升级了存储模块,支持并发读写 。用户可以构 建一个交易,用自己的私钥给交易签名,发送到链上(通过sendRawTransaction等接口),由多个节点 的共识机制处理,执行相关的智能合约代码,生成交易指定的状态数据,然后将交易打包到区块里,和 状态数据一起落盘存储,该交易即为被确认,被确认的交易被认为具备了事务性和一致性。 随着交易确认相应还会有交易回执(receipt)产生,和交易一一对应且保存在区块里,用于保存一些交0 码力 | 442 页 | 7.23 MB | 1 年前3FISCO BCOS 2.4.0 中文文档
并行计算模型:可并行合约开发框架、交易并行执行引擎(PTE) • 分布式存储:amdb-proxy、SQLStorage 版 版 版本 本 本优 优 优化 化 化 • 优化了区块打包交易数的逻辑,根据执行时间动态的调整区块打包交易数 • 优化了区块同步的流程,让区块同步更快 • 并行优化了将交易的编解码、交易的验签和落盘的编码 • 优化了交易执行返回码的逻辑,让返回码更准确 • 升级了存储模块,支持并发读写 。用户可以构 建一个交易,用自己的私钥给交易签名,发送到链上(通过sendRawTransaction等接口),由多个节点 的共识机制处理,执行相关的智能合约代码,生成交易指定的状态数据,然后将交易打包到区块里,和 状态数据一起落盘存储,该交易即为被确认,被确认的交易被认为具备了事务性和一致性。 随着交易确认相应还会有交易回执(receipt)产生,和交易一一对应且保存在区块里,用于保存一些交 处理和数据查询的接口。节点的标识采用公私钥机制,生成一串唯一的NodeID,以保证它在网络上的唯 一性。 根据对计算的参与程度和数据的存量,节点可分为共识节点和观察节点。共识节点会参与到整个共识过 程,做为记账者打包区块、做为验证者验证区块以完成共识过程。观察节点不参与共识,同步数据,进 行验证并保存,可以做为数据服务者提供服务。 共 共 共识 识 识算 算 算法 法 法 共识算法需要解决的几个核心问题是:0 码力 | 470 页 | 7.45 MB | 1 年前3FISCO BCOS 2.5.0 中文文档
优化MySQL存储适配器实现,优化ZdbStorage的代码实现 修 修 修复 复 复 • 修复同一个区块内修改Entry,后续交易查询该Entry结果出错的问题 • 修复raft共识下,非leader节点交易池中的交易不能被打包的问题 • 修复CachedStorage的一个死锁问题 • 修复开启Binlog情况下,极端情况下,从Binlog恢复出错的问题 • 修复特定情况下节点重启后Viewchange被拒,无法快速恢复视图的问题 并行计算模型:可并行合约开发框架、交易并行执行引擎(PTE) • 分布式存储:amdb-proxy、SQLStorage 版 版 版本 本 本优 优 优化 化 化 • 优化了区块打包交易数的逻辑,根据执行时间动态的调整区块打包交易数 • 优化了区块同步的流程,让区块同步更快 2.8. v2.0.0-rc2 15 FISCO BCOS Documentation, 发 发 发布 布 布 v2.5 。用户可以构 建一个交易,用自己的私钥给交易签名,发送到链上(通过sendRawTransaction等接口),由多个节点 的共识机制处理,执行相关的智能合约代码,生成交易指定的状态数据,然后将交易打包到区块里,和 状态数据一起落盘存储,该交易即为被确认,被确认的交易被认为具备了事务性和一致性。 随着交易确认相应还会有交易回执(receipt)产生,和交易一一对应且保存在区块里,用于保存一些交0 码力 | 540 页 | 8.77 MB | 1 年前3FISCO BCOS 2.9.0 中文文档
0版本的本地存储模式。更多关于存储介绍,请参考 分布式存储操作手册 2.1.3 并行计算模型 2.0版本中新增了合约交易的并行处理机制,进一步提升了合约的并发吞吐量。 1.0版本以及大部分业界传统区块链平台,交易是被打包成一个区块,在一个区块中交易顺序串行执行 的。 2.0版本基于预编译合约,实现一套并行交易处理模型,基于这个模型可以自定义交易互斥变量。 在区块执行过程中,系统将会根据交易互斥变量自动构建交易依赖关系图——DAG,基于DAG并行执行 • MySQL存储模式下区块等数据使用二进制存储并启动压缩 修复 • 修复因为交易广播标记缓存没有清理干净导致的轻微内存泄露问题 • 修复raft共识下,非leader节点交易池中的交易不能被打包的问题 • 在MySQL存储模式下,Solidity合约写接口中调用Table的select接口时,偶现的Gas计算不一致问题 2.2. 更多版本 13 FISCO BCOS Documentation 优化MySQL存储适配器实现,优化ZdbStorage的代码实现 修复 • 修复同一个区块内修改Entry,后续交易查询该Entry结果出错的问题 • 修复raft共识下,非leader节点交易池中的交易不能被打包的问题 • 修复CachedStorage的一个死锁问题 • 修复开启Binlog情况下,极端情况下,从Binlog恢复出错的问题 • 修复特定情况下节点重启后Viewchange被拒,无法快速恢复视图的问题0 码力 | 1489 页 | 107.09 MB | 1 年前3FISCO BCOS 2.7.2 中文文档
2.1.3 并 并 并行 行 行计 计 计算 算 算模 模 模型 型 型 2.0版本中新增了合约交易的并行处理机制,进一步提升了合约的并发吞吐量。 1.0版本以及大部分业界传统区块链平台,交易是被打包成一个区块,在一个区块中交易顺序串行执行 的。 2.0版本基于预编译合约,实现一套并行交易处理模型,基于这个模型可以自定义交易互斥变量。 在区块执行过程中,系统将会根据交易互斥变量自动构建交易依赖关系图——DAG,基于DAG并行执行 MySQL存储模式下区块等数据使用二进制存储并启动压缩 修 修 修复 复 复 • 修复因为交易广播标记缓存没有清理干净导致的轻微内存泄露问题 • 修复raft共识下,非leader节点交易池中的交易不能被打包的问题 • 在MySQL存储模式下,Solidity合约写接口中调用Table的select接口时,偶现的Gas计算不一致问题 • 用户自己生成的错误证书导致coredump问题 • 在Sol 优化MySQL存储适配器实现,优化ZdbStorage的代码实现 修 修 修复 复 复 • 修复同一个区块内修改Entry,后续交易查询该Entry结果出错的问题 • 修复raft共识下,非leader节点交易池中的交易不能被打包的问题 2.2. 更 更 更多 多 多版 版 版本 本 本 13 FISCO BCOS Documentation, 发 发 发布 布 布 v2.7.2 • 修复CachedStorage的一个死锁问题0 码力 | 1422 页 | 91.91 MB | 1 年前3FISCO BCOS 3.6.0 中文文档
0版本的本地存储模式。更多关于存储介绍,请参考 分布式存储操作手册 2.1.3 并行计算模型 2.0版本中新增了合约交易的并行处理机制,进一步提升了合约的并发吞吐量。 1.0版本以及大部分业界传统区块链平台,交易是被打包成一个区块,在一个区块中交易顺序串行执行 的。 2.0版本基于预编译合约,实现一套并行交易处理模型,基于这个模型可以自定义交易互斥变量。 在区块执行过程中,系统将会根据交易互斥变量自动构建交易依赖关系图——DAG,基于DAG并行执行 • MySQL存储模式下区块等数据使用二进制存储并启动压缩 修复 • 修复因为交易广播标记缓存没有清理干净导致的轻微内存泄露问题 • 修复raft共识下,非leader节点交易池中的交易不能被打包的问题 • 在MySQL存储模式下,Solidity合约写接口中调用Table的select接口时,偶现的Gas计算不一致问题 2.2. 更多版本 13 FISCO BCOS Documentation 优化MySQL存储适配器实现,优化ZdbStorage的代码实现 修复 • 修复同一个区块内修改Entry,后续交易查询该Entry结果出错的问题 • 修复raft共识下,非leader节点交易池中的交易不能被打包的问题 • 修复CachedStorage的一个死锁问题 • 修复开启Binlog情况下,极端情况下,从Binlog恢复出错的问题 • 修复特定情况下节点重启后Viewchange被拒,无法快速恢复视图的问题0 码力 | 1489 页 | 107.09 MB | 1 年前3FISCO BCOS 2.9.0 中文文档
0版本的本地存储模式。更多关于存储介绍,请参考 分布式存储操作手册 2.1.3 并行计算模型 2.0版本中新增了合约交易的并行处理机制,进一步提升了合约的并发吞吐量。 1.0版本以及大部分业界传统区块链平台,交易是被打包成一个区块,在一个区块中交易顺序串行执行 的。 2.0版本基于预编译合约,实现一套并行交易处理模型,基于这个模型可以自定义交易互斥变量。 在区块执行过程中,系统将会根据交易互斥变量自动构建交易依赖关系图——DAG,基于DAG并行执行 • MySQL存储模式下区块等数据使用二进制存储并启动压缩 修复 • 修复因为交易广播标记缓存没有清理干净导致的轻微内存泄露问题 • 修复raft共识下,非leader节点交易池中的交易不能被打包的问题 • 在MySQL存储模式下,Solidity合约写接口中调用Table的select接口时,偶现的Gas计算不一致问题 2.2. 更多版本 13 FISCO BCOS Documentation 优化MySQL存储适配器实现,优化ZdbStorage的代码实现 修复 • 修复同一个区块内修改Entry,后续交易查询该Entry结果出错的问题 • 修复raft共识下,非leader节点交易池中的交易不能被打包的问题 • 修复CachedStorage的一个死锁问题 • 修复开启Binlog情况下,极端情况下,从Binlog恢复出错的问题 • 修复特定情况下节点重启后Viewchange被拒,无法快速恢复视图的问题0 码力 | 1489 页 | 107.09 MB | 1 年前3FISCO BCOS 2.3.0 中文文档
0版本的本地存储模式。更多关于存储介绍,请参考 分布式存储操作手册 并行计算模型 2.0版本中新增了合约交易的并行处理机制,进一步提升了合约的并发吞吐 量。 1.0版本以及大部分业界传统区块链平台,交易是被打包成一个区块,在一个 区块中交易顺序串行执行的。 2.0版本基于预编译合约,实现一套并行交易处 理模型,基于这个模型可以自定义交易互斥变量。 在区块执行过程中,系统 将会根据交易互斥变量自动构建交易依赖关系图——DAG,基于DAG并行执 0-rc2] 变更描述 主要特性 并行计算模型:可并行合约开发框架、交易并行执行引擎(PTE) 分布式存储:amdb-proxy、SQLStorage 版本优化 优化了区块打包交易数的逻辑,根据执行时间动态的调整区块打包交易 数 优化了区块同步的流程,让区块同步更快 并行优化了将交易的编解码、交易的验签和落盘的编码 优化了交易执行返回码的逻辑,让返回码更准确 升级了存储模块,支持并发读写 其他特性 据结构包括发送者,接受者,交易数据等。用户可以构建一个交易,用自己 的私钥给交易签名,发送到链上(通过sendRawTransaction等接口),由多个 节点的共识机制处理,执行相关的智能合约代码,生成交易指定的状态数 据,然后将交易打包到区块里,和状态数据一起落盘存储,该交易即为被确 认,被确认的交易被认为具备了事务性和一致性。 随着交易确认相应还会有交易回执(receipt)产生,和交易一一对应且保存 在区块里,用于保存一些交0 码力 | 1227 页 | 10.79 MB | 1 年前3
共 223 条
- 1
- 2
- 3
- 4
- 5
- 6
- 23