POA
中文
中文
  • 欢迎来到POA
  • 特性
    • 已知验证人
    • POADAO共识
    • 桥接原生令牌
  • 用例
    • 区块链游戏的可扩展性
    • 基于社区的货币
    • 补贴交易
    • 去中心化金融(DeFi)
  • 路线图
  • 面向用户
    • POA令牌
      • POA & POA20交易所
      • 常见问题解答:POA20一般问题
    • POA令牌用例
      • 实用令牌
      • 货币代币
      • 抵押代币
      • 桥接令牌
      • 质押令牌
      • 稳定令牌
    • POA到POA20桥
    • 接受POA20付款
      • 帐户注册和登录(商家设置)
      • 设置商家帐户
      • 商户付款方式设置
      • 使用POA20付款(客户角度)
    • 教程
      • 在DEX.AG上交易POA20
      • 在1inch.exchange上交换POA20令牌
      • 通过Discord获取空投
    • 治理
      • 文章:链上治理成功的一年
      • 治理季度报告
        • 2019年11月度报告
    • 钱包
      • Nifty钱包
        • 入门
      • Trust钱包
    • 白皮书
      • POADAO v1
        • 介绍
        • 权威证明 - Proof of Authority
        • POA网络功能
        • 去中心化应用程序(DApps)
          • 初始仪式DApp
          • 物理地址证明(PoPA)DApp
          • 银行帐户DApp证明
          • 社交网络证明DApp
          • 电话号码证明DApp
          • 治理DApp
        • 总结和致谢
        • 参考文献
        • 附录A:代码示例
          • 投票管理员
          • 验证人管理员
          • 为挖矿节点的部署脚本
  • 面向开发者
    • 开发人员资源
    • POA安装
    • Sokol测试网络水龙头
    • ERC20测试令牌水龙头
    • DApp部署
    • 基于POA的赠款
  • 对于验证者
    • 入门
      • 验证人资源
    • 引导节点设置
      • AWS引导节点设置
        • 先决条件
        • 配置AWS
        • 下载并配置脚本
        • 部署
      • 非AWS引导节点设置和部署
        • 本地/远程计算机系统要求
        • 节点准备
        • 使用部署手册配置节点
    • 验证者节点设置
      • 适用于验证程序节点部署的AWS VM
        • MoC:仪式密钥交换和生成大师
        • 当前的验证人为新的验证人投票
        • 验证程序节点设置先决条件
        • 配置AWS
        • 下载并配置脚本
        • 部署方式
        • 升级实例到更大的类型
      • 非AWS验证程序节点设置
        • 本地和远程机器系统要求
        • 远程机器设置
        • 使用部署手册配置节点
    • 硬分叉
      • Parity升级指南
      • POA Core主网
        • 即将到来的 HF 2019-12-12 | #12478880
        • 2019-04-29 | #8582254
        • 2018-01-29 | # 772000
        • 2018-10-22 | #5329160
    • 验证程序Dapps
      • 验证人元数据DApp
  • 媒体
    • 大事记
    • 研发合作伙伴
    • 社交媒体
    • 媒体工具包
    • 联系我们
Powered by GitBook
On this page
  • 信息
  • 描述
  • 日志
  • 解决方案
  • 排放供应增加
  • 使用说明
  • 验证HF块号:

Was this helpful?

  1. 对于验证者
  2. 硬分叉
  3. POA Core主网

2018-10-22 | #5329160

硬分叉日期| 块号

Previous2018-01-29 | # 772000Next验证程序Dapps

Last updated 5 years ago

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请求

解决方案

  1. 将新的PoaNetworkConsensus合同的地址添加到engine/authorityRound/params/validators/multi;

  2. 将blockRewardContractAddress(从步骤1获得)和blockRewardContractTransition(等于5761140-2018年11月17日)添加到engine/authorityRound/params中。

  3. 在区块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

验证HF块号:

grep -n -A2 5329160 spec.json

您将看到:

"5329160": { "safeContract": "0xa105Db0e6671C7B5f4f350ff1Af6460E6C696e71" }

(功能)向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分支 ()

部署新的,并使用脚本将所有数据从旧合约迁移到新合约。

更新。

更新。

更新:

您可以在和中找到更多信息。

poanetwork / RFC#14
poanetwork / poa-network-consensus-contracts#92
poanetwork / RFC#8
MixBytes团队的审核报告
ChainSecurity团队的审核报告
poanetwork / poa-network-consensus-contracts#197
poanetwork / poa-network-consensus-contracts#196)
poanetwork / poa-network-consensus-contracts#179
poanetwork / poa-network-consensus-contracts#171
poanetwork / poa-network-consensus-contracts#168
poanetwork / poa-network-consensus-contracts#164
poanetwork / poa-network-consensus-contracts#158
poanetwork / poa-network-consensus-contracts#155
poanetwork / poa-network-consensus-contracts#150
poanetwork / poa-network-consensus-contracts#133
poanetwork / poa-network-consensus-contracts#129
poanetwork / poa-network-consensus-contracts#118
poanetwork / poa-network-consensus-contracts#113
poanetwork / poa-network-consensus-contracts#127
poanetwork / poa-network-consensus-contracts#125
poanetwork / poa-network-consensus-contracts#122
poanetwork / poa-network-consensus-contracts#106
poanetwork / poa-network-consensus-contracts#105
poanetwork / poa-network-consensus-contracts#101
poanetwork / poa-network-consensus-contracts#99
poanetwork / poa-network-consensus-contracts#96
poanetwork / poa-network-consensus-contracts#83
poanetwork / poa-network-consensus-contracts#82
poanetwork / poa-network-consensus-contracts#81
poanetwork / poa-network-consensus-contracts#135
poanetwork/poa-network-consensus-contracts#199
poanetwork/poa-network-consensus-contracts#198
poanetwork/poa-network-consensus-contracts#194
poanetwork/poa-network-consensus-contracts#192
poanetwork/poa-network-consensus-contracts#188
poanetwork/poa-network-consensus-contracts#183
poanetwork/poa-network-consensus-contracts#182
poanetwork/poa-network-consensus-contracts#181
poanetwork/poa-network-consensus-contracts#178
poanetwork/poa-network-consensus-contracts#175
poanetwork/poa-network-consensus-contracts#174
poanetwork/poa-network-consensus-contracts#173
poanetwork/poa-network-consensus-contracts#170
poanetwork/poa-network-consensus-contracts#169
poanetwork/poa-network-consensus-contracts#167
poanetwork/poa-network-consensus-contracts#165
poanetwork/poa-network-consensus-contracts#163
poanetwork/poa-network-consensus-contracts#162
poanetwork/poa-network-consensus-contracts#160
poanetwork/poa-network-consensus-contracts#159
poanetwork/poa-network-consensus-contracts#157
poanetwork/poa-network-consensus-contracts#156
poanetwork/poa-network-consensus-contracts#151
poanetwork/poa-network-consensus-contracts#149
poanetwork/poa-network-consensus-contracts#148
poanetwork/poa-network-consensus-contracts#147
poanetwork/poa-network-consensus-contracts#145
poanetwork/poa-network-consensus-contracts#146
poanetwork/poa-network-consensus-contracts#152
poanetwork/poa-network-consensus-contracts#153
poanetwork/poa-network-consensus-contracts#166
poanetwork/poa-network-consensus-contracts#144
poanetwork/poa-network-consensus-contracts#143
poanetwork/poa-network-consensus-contracts#141
poanetwork/poa-network-consensus-contracts#142
poanetwork/poa-network-consensus-contracts#140
poanetwork/poa-network-consensus-contracts#138
poanetwork/poa-network-consensus-contracts#136
poanetwork/poa-network-consensus-contracts#134
poanetwork/poa-network-consensus-contracts#132
poanetwork/poa-network-consensus-contracts#131
poanetwork/poa-network-consensus-contracts#130
poanetwork/poa-network-consensus-contracts#124
poanetwork/poa-network-consensus-contracts#123
poanetwork/poa-network-consensus-contracts#112
poanetwork/poa-network-consensus-contracts#109
poanetwork/poa-network-consensus-contracts#104
poanetwork/poa-network-consensus-contracts#97
poanetwork/poa-network-consensus-contracts#79
poanetwork/poa-network-consensus-contracts#76
智能合约
/migrate/migrateAll.js
poa-chain-spec / contracts.json
poa-chain-spec / abis
poa-chain-spec / spec.json
POA白皮书经济版块
RFC问题#14