Poseidon v1.1.0
Blockchain 模块中 EVM 网络的功能已经完善至极(至少我自己已经想不出任何需要添加的功能了),因此将版本提升至 1.1.0 作为里程碑,下一阶段大概会提供 Sui | Conflux | Solana 链的交互能力,这三条与以太坊具有本质不同的区块链是我个人比较看好的,具体的就要看行业的发展趋势了。
- [新增] 新增 Blockchain.Chain.GetBlockInformation 函数,用于获取区块信息,以提供扫块的最基本功能
- [新增] 在获取到的交易回执信息中新加入了 R、S、V 签名数据,思路来源于当同一账户的两笔交易的签名中的 R 值相同时存在私钥泄露的问题
- [新增] 在 README.md 中添加了 PyPi 的月下载量统计数据标签
- [优化] 使用 typing 标准库完善了函数参数和返回值类型的声明
- [优化] 优化了日志输出内容和返回值内容的形式,以尽可能地贴近 python 原生变量类型
- [优化] 使用 traceback.format_exc() 替代原先的 sys.exc_info() 用作异常信息输出,现在更容易定位 BUG 产生的位置及原因了
- [优化] 进一步简化代码,让每一行代码都有其存在的必要
- [调整] 将原先 Blockchain.Chain.Net 成员变量更名为 Node 并添加 Eth 成员变量,以便直观的理解
- [调整] Blockchain.Account 中不再直接提供账户地址与私钥的存储和访问,改为使用 eth_account 的实例化账户对象 Account 进行操作
- [修复] 修复了在 Linux 系统中执行脚本时生成的日志文件路径错误的问题
- [注意] Blockchain 模块默认开启日志记录,其中仅有 BlockchainUtils 静态类中的 CreateNewAccount 和 MnemonicToAddressAndPrivateKey 会输出私钥信息,实例化 Account 对象时私钥是保密的,新建的账户的私钥保密需求不大因此输出到日志中方便直接复制使用,但 MnemonicToAddressAndPrivateKey 是通过外部早先生成的助记词转换为私钥,这可能错误地导致有价值的账户私钥被输出并保存至日志文件中,请牢记无论何时都要使用全新生成的账户进行操作