2018-10-22 | #5329160
硬分叉日期| 块号
Last updated
Was this helpful?
硬分叉日期| 块号
Last updated
Was this helpful?
网络: Core
日期: 2018-10-22
区块高度: 5329160
治理智能合约不可升级。
功能要求:为了网络的自我可持续性,我们需要增加排放量()。
功能要求:无法为三个密钥创建一次投票()。
功能要求:如果所有验证者都在投票结束前投票(),则无法提前完成投票。
DApp的性能:智能合约中没有元组获取器。 这导致投票DApp
的性能低下。
pragma solidity ^0.4.18
; 用于治理智能合约的已过时。
需要对智能合约进行重构,以使其易于阅读。
需要检查智能合约的安全性和设计问题(,)。
小错误修复。
主要改动
智能合约可升级:BallotsStorage
,KeysManager
,ProxyStorage
,ValidatorMetadata
,VotingToChangeKeys
,VotingToChangeMinThreshold
,VotingToChangeProxyAddress
;
从旧智能合约迁移到新智能合约的脚本已添加到scripts/migrate
目录中;
增加了用于增加排放量供应Increased Emission Supply
的新智能合约:VotingToManageEmissionFunds
,EmissionFunds
,RewardByBlock
;
实施了一项新功能,用于创建选票以一次添加具有三个键的新验证器;
实施了一项新功能,以在所有验证人都投票的情况下,在投票结束前最终确定投票;
添加了元组吸气剂以提高Voting DApp
的性能;
智能合约已迁移到最新的稳定Solidity
编译器版本(0.4.24
);
重构智能合约;
npm软件包已更新;
发现错误已修复; 测试环境已更新(用ganache-cli
代替testrpc
,新的solidity-coverage
);
根据安全审核报告对安全性进行了改进。
主要的pull请求
次要pull请求
将新的PoaNetworkConsensus
合同的地址添加到engine/authorityRound/params/validators/multi
;
将blockRewardContractAddress
(从步骤1获得)和blockRewardContractTransition
(等于5761140
-2018年11月17日
)添加到engine/authorityRound/params
中。
在区块5329160
中组织HF。
在此硬分叉的范围内,排放量将每块增加1 POA。
POA的区块时间约为5秒,奖励每个经过验证的区块矿工每个区块1个POA。 这些区块奖励永远不会用完,2018年11月17日之后,每个区块将铸造2个POA。 每个块剩余的1个POA将被保留以使网络受益,但是当前的验证者将投票选择,一些示例用例是为POA基金会刻录硬币,持有硬币或进行研发。 验证者的奖励在此转换后将保持为1 POA。
Update Parity to version >=1.11
.
Update spec.json
您将看到:
(功能)向RewardByBlock合约添加铸造统计数据()
(修复)摆脱RewardByBlock.addExtraReceiver函数的限制(
(功能)添加用于检查合同是否发生冲突的脚本()
(修复)减少gas支出,改善迁移并进行小幅改进()
(功能)允许创建者在创建后的15分钟内取消VotingToManageEmissionFunds
中的投票()
(修复)在ValidatorMetadata的moveMetadata
和clearMetadata
函数中进行待定确认的会计处理()
(修复)将MoveMetadata和clearMetadata函数添加到ValidatorMetadata合约中()
(修复)没有还原,优化和单元测试更新的定稿()
(修复)从ValidatorMetadata中删除对ProxyStorage地址的更改()
(功能)按时间的块奖励发射()
(功能)为投票DApp优化添加额外的ether()
(功能)一次添加带有挖掘/投票/支付密钥的新验证人()
(功能)如果所有验证者都投票,则允许立即决策()
(修复)如果已删除投票/支付键,则removeVotingKey和removePayoutKey不应还原()
(修复)添加错过的单元测试()
(重构)小增强,重构和修复()
(重构)将solc更新为0.4.24,将truffle更新为4.1.11()
(功能)增加排放量的单元测试和增强()
(修复)可以删除MoC()
(修复)更新web3()
(重构)新的智能合约重构()
(功能)添加BlockReward合约()
(重构)代码重构()
(功能)可升级合约()
(修正)审核员的一些建议()
(修复)异步等待RewardByBlock合同地址 ()
修复)2_deploy_contract.js以正确部署RewardByBlock()
(功能)POA固体平整器而不是Python固体平整器 ()
(修复)更新npm软件包 ()
(修复)Migrations / 2_deploy_contract.js的一些增强 ()
(修复)更新README.md ()
(修复)迁移脚本的增强 ()
(修复)VotingToManageEmissionFunds._finalize函数的增强 ()
(重构)将地址参数放在函数的参数列表的末尾 ()
(重构)删除this
和其他代码改进 ()
(修复)用uint256替换uint8以减少气体消耗 ()
(修复)KeysManager和PoaNetworkConsensus.setProxyStorage的较小改进()
(修复)从VotingTo._createBallot
方法和其他增强功能中删除理论上的重入 ()
(修复)VotingToChange * .migrateBasicOne
功能的安全性增强()
修复)除非完成迁移,否则拒绝使用VotingToChange *功能 ()
(功能)检查投票键是EOA还是VotingToManageEmissionFunds中的合()
(重构)将实现和版本功能从EternalStorage迁移到EternalStorageProxy ()
(重构)在几个私有函数中用return(interface)替换return(address)()
(修复)在VotingToManageEmissionFunds中使用BallotsStorage.getProxyThreshold()
(修复)用abi.encode替换abi.encode ()
(修复)ValidatorMetadata合同增强功能 ()
(修复)PoaNetworkConsensus合同和KeysManager.migrateMiningKey函数()
(修复)从EternalStorageProxy的后备功能中删除空闲指针的使用()
(重构)审核员提出的一些增强功能 ()
(重构)添加KeysManager.getInitialKeyStatus函数,而不是initialKeys和getInitialKey()
(修复)不允许为零挖掘密钥添加投票/支付密钥 ()
(修复)修复和增强BallotsStorage.sol,EternalStorageProxy.sol,KeysManager.sol,ValidatorMetadata.sol,VotingToChange.sol,VotingToChangeKeys.sol (, , , , )
(功能)新的RewardByBlock.addExtraReceiver函数 ()
(修复)将RewardByBlock和VotingToManageEmissionFunds地址的保留添加到ProxyStorage ()
(修复)迁移脚本的修复 (, )
(修复)BlockReward的可升级性,并分为RewardByBlock和RewardByTime()
(修复)将solc添加到scripts / package.json ()
(重构)将BlockReward.rewardHBBFT函数重命名为rewardByTime ()
(重构)重写migrations / 2_deploy_contract.js ()
(修复)检查脚本中的交易状态/迁移 ()
(修复)在README中刷新单元测试的结果 ()
(修复)VotingToChangeKeys.getBallotInfo中的“堆栈太深”错误()
(修复)migrations / 2_deploy_contract.js ()
(修复)PoaNetworkConsensus的小变化 ()
(重构)增强功能和修复 ()
(修复)实体覆盖率的单元测试 ()
(修复)KeysManager和一些增强功能 ()
修复)hoek@4.2.0
依赖项中的已知漏洞 ()
(修复)关于PoaNetworkConsensus字节码的自述文本 ()
(重构)折叠master和demo分支 ()
部署新的,并使用脚本将所有数据从旧合约迁移到新合约。
更新。
更新。
更新:
您可以在和中找到更多信息。