Releases: AlayaNetwork/Alaya-Go
机遇Opportunity(0.16.3)
机遇(v0.16.3) 版本是核心开发团队针对近期验证节点反馈的对graph-node支持的问题PlatON-issue-1885的优化版本。
新特性
- 底层新增对graphql接口的支持PlatON-issue-1885
- 合并以太坊对命令行参数的优化20935以及node的重构21105
- abigen增加对convertType的支持
说明
因优化20935涉及启动命令变化,虽然新版本对旧的命令行参数是兼容的,但建议使用新的flags
,请使用alaya --help
查看,或参考开发手册。
English
Opportunity (0.16.3) version has released. Supported by the core development team, it is an optimized version for the problem PlatON-issue-1885 in response to recent feedbacks from validators on graph-node support.
New Features
· Add PlatON-issue-1885 to support graphql interface at the bottom layer
· Merge Ethereum’s optimization of command line parameters 20935 and node’s refactoring 21105
· Add instruction support for convertTyp
e on abigen
Statement
Optimization 20935 involves changes to the startup command. Though the new version is compatible with the old command line parameters, we suggest you use the new flags. Please use alaya --help
to check or refer to the development manual.
This version is a minor version upgrade. Each node can choose to upgrade according to its own situation. If you have any question or feedback
勇气Spirit(v0.16.2)
勇气(v0.16.2) 版本是核心开发团队针对近期验证节点反馈的节点问题PlatON-issue-1880的修复版本。
bug修复
- 修复因使用全局的随机数对象在并发情况下的数据不一致问题PlatON-issue-1880
说明
当随机数种子被并发污染时,出块节点所提议的区块在验证节点上验证时日志中会出现BAD BLOCK
,有3种情况:
- 如果节点出的第一个块没有受到影响,后续出的块中出现过Seed被污染,则影响节点出块率 (被最终确认的区块少于预期10)
- 如果第一个块就被污染,因Giskard共识机制,出块后没有确认即可出下个区块,该场景下节点的所有区块都将得不到确认,最终将导致节点被处罚(0出块)
- 对于非出块节点,因验证区块时Seed可能被污染,因此验证区块不通过, 因此会降低共识整体容错性(被污染节点没投票)
基于以上因素, 强烈建议节点立即升级。
旅居者Sojourner (v0.16.1)
旅居者(v0.16.1) 版本是近期核心开发团队阶段性更新和优化的patch版本,其中包含了对EVM兼容性提案AIP-16实施以及一些已知问题的修复。
优化功能
- 兼容性提案AIP-16方案实施
- 同步更新以太坊1.9.0版本的特性
- 同步合入了以太坊漏洞CVE-2021-39137,详细说明见这里
bug修复
- 修复质押节点无法出块的bug #103
- 解决web3js未更新bindata问题
- 修复了预估gas接口不成功问题 #126
- 修复fast同步异常终止后FastSyncStatus异常问题 #124
- 修复platon_getlogs接口失效问题
- 修复dockerfile构建失败问题
- 修复用订阅接口监听事件,会得到2个相同的log PlatONnetwork/PlatON-Go#1867
- 修复platon_estimateGas 返回的message信息过少问题 PlatONnetwork/PlatON-Go#1819
说明
- 该版本合并了以太坊1.9.0版本的部分特性,其中包含关于Freezer的特性,详情可参考ethereum-19244
- 根据实际测试结果来看,Alaya主网节点升级到0.16.1后存储会开销会有部分提升(例如从30700000块高升级后存储空间将增加约11G)
- 因Freezer特性对原数据做了迁移,节点升级后在一段时间内进程会将部分历史数据迁移至Freezer数据库,在此过程中(约1个小时左右):
a. CPU开销将会比正常运行时有所增加,约为正常状态下负载的2~4倍,数据迁移完成后恢复正常
b. 少数节点升级重启后会出现内存开销短时增加,实际测试过程中40个节点中有2个节点出现过不大于20%的增幅,有1个节点超过50%,数据迁移完成后恢复正常
请留意主机资源占用情况,建议使用swap分区,若有条件也可以选择将机器物理内存升级到16GB - 迁移后的数据不适用旧版本(0.16.0),建议升级前备份数据(data/platon目录)
- 本次升级不涉及记账规则变更,无需链上治理升级,但因修复关键漏洞,建议节点尽快升级
Alaya 0.16.0
这是自Alaya-Go单独建repository后的第一个正式release,这个版本需要链上治理升级,以下是版本内容:
优化功能
-
节点进程名由原来的
platon
修改为alaya
,启动命令中不再需要指定参数--alaya
-
优化交易传播策略,对于不直接广播交易的节点,发送交易hash值#1780
-
支持RPC返回chainid的特性(参考EIP-695)
-
根据社区提议对Alaya网络随机性选举节点出块,累积二项分布函数期望值由3000调整为25,候选节点增加洗牌以增加随机性,具体请参考issue-1785,讨论
-
code review优化内容实施issue-22
-
节点最大连接数MaxPeers的默认值的优化issue-1791
-
alaya version
信息中将PlatON
改为Alaya
issue-50 -
支持在创建网络时指定当前网络地址前缀
hrp
- 支持在创世区块中指定hrp,hrp需符合bech32规范
- 网络初始化时,hrp会被记录到创世区块
- 除alaya主网外,其他chainid不绑定hrp, 避免因各个节点hrp设置不同导致其他问题
- hrp不指定时默认值为atp
platon account new / alayakey generate / alayakey generate
命令支持传入hrp, 不传时默认使用atp- alayakey 子命令updateaddress支持任意eip55或bech32地址转换为目标地址, 目标地址hrp需手动输入,不输入时使用默认值
bug修复
- 对节点因零出块处罚锁定后,重新返回验证人时总权重错误问题导致的错误节点信息进行修复
- 修复预估gas接口时,对于治理合约的预估,必须要传入gasPrice的问题#1758
- 修复call调用偶现返回-32000错误码问题#1769
- 修复创世块extra字段判断逻辑错误问题#1757
- 修复节点fast同步失败后出现
BAD BLOCK
的问题issue-1783 - 修复WASM跨合约调用时
platon_caller
值错误问题issue-1779 - 修复因委托收益不能领取的bugissue-1583导致的账目错误问题
- 修复调用
platon_block_hash
时WASM内存溢出问题issue-1724 - 修复由rlp编解码导致的特殊场景下启动失败问题issue-1808
- 同步修复以太坊txpool批量插入交易返回值错乱问题ETH-21683
说明
本次升级将兼容历史数据,需要链上治理升级。详见讨论链接