Skip to content

提案

Governance Moonbeam Banner

概览

在Moonbeam治理概述页面中提到,提案指的是代币持有者向区块链提出建议,让系统自动执行。

提案是治理系统的核心组成部分,是代币持有者提出行动或者变化建议的主要工具。提案后,其他代币持有者将对提案进行投票。Moonbeam用户将能够使用其H160地址和私钥(即他们的常规以太坊账户)创建、赞成和投票提案!

本指南概述了如何创建提案的过程。这些步骤将从它的创建开始,直到它达到公投。关于如何对提案进行投票 有单独的指南。更多信息可以在Polkadot的Wiki页面中找到与GovernanceParticipate in Democracy

注意事项

本教程在定制版本的Moonbeam上进行,发布/执行期较短,仅作演示用途。

定义

本教程中重要参数定义如下:

  • 提案 —— 网络用户提出的行动方案或事项
  • 附议 —— 其他持币者可以附议提案,帮助推进到公投阶段。附议人需要质押与提案者相同数量的代币
  • 原像哈希(Preimage Hash) —— 要颁布的提案的哈希值。提案的第一步就是提交一个哈希值。哈希值仅作为提案标识符。原像提案者可以与正式提案者不同
  • 最低原像充值金额 —— 提交原像所需支付的最低代币金额
  • 最低提案充值金额 —— 提交提案所需支付的最低代币金额。由于提案进入公投阶段所需时间不可预测(也有可能无法进入公投阶段),因此代币可能无限期锁定。这一规则对提案者和附议人的质押代币同样适用
  • 发起期 —— 两次公投之间的时间间隔
  • 冷却期 —— 提案被否决后不能重新提交的时期(以区块数量计算)
变量
发起期 50400 blocks (7 days)
冷却期 50400 blocks (7 days)
最低原像存款额 0.04 GLMR
最低提案存款额 400 GLMR
变量
发起期 7200 blocks (1 days)
冷却期 50400 blocks (7 days)
最低原像存款额 0.004 MOVR
最低提案存款额 4 MOVR
变量
发起期 7200 blocks (1 days)
冷却期 50400 blocks (7 days)
最低原像存款额 0.004 DEV
最低提案存款额 4 DEV

本指南将向您展示如何在 Moonbase Alpha 上提交提案。它也可以适用于Moonbeam或Moonriver。

提案步骤

提案需要经过多个步骤才最终得以执行。一般流程如下(流程进行了一定程度的简化):

  • 代币持有者创建提案原像,定义提案行动内容。提案者根据每字节费用进行支付:原像越大,费用越高。提交后即可返回原像哈希值
  • 代币持有者可以使用原像哈希值进行提案,并锁定代币。提案交易被接受后,提案即公示
  • 提案公示后,代币持有者可以通过锁定与提案者同样数量的代币进行附议
  • 附议最多的提案将进入公投阶段
  • 在公投阶段,代币持有者可以通过锁定代币投。影响投票权重的因素有两个:代币锁定量和锁定期
  • 如果提案通过,经过一段时间后即被执行

Proposal Roadmap

提案示例

这一小节将介绍从原像到公投的提案过程。本教程中,我们创建了一个真实提案,而不是提供通用示例,以作为本教程和其它教程的基础。

您需要用到Polkadot.js App接口进行提案。为此,需要先导入以太坊式账户(H160地址),您可按照创建或导入H160账户教程完成操作。在这个示例中,我们导入了三个账户,并分别命名为Alice、Bob和Charley。

Accounts in Polkadot.js

本次提案内容为:通过治理机制将Bob的余额设定为1500

提交提案原像

第一步是提交提案原像。这是因为大型原像包含关于提案本身的所有信息,储存成本很高。在这一设置下,资金较多的账户可以负责提交原像,另一个账户提交提案。

所有治理相关操作均在Democracy标签下。进入后,点Submit preimage按钮。

Submit Preimage

此处,您需要提供以下信息:

  1. 选择提交原像的账户
  2. 选择希望交互的模块以及可调用的函数(或行动)进行提案。所选行动将决定接下来的步骤中要填写的内容领域。在这一示例中,选择的是democracy模块和setBalance函数
  3. 以ascii或十六进制格式输入备注文本,前缀为“0x”。确保备注是唯一的。 “你好世界!”已经提出,不接受重复的相同提案。这些提案将永久存在于链上,所以请不要输入敏感信息或亵渎
  4. 复制原像哈希值。这个数值代表着提案,在提交正式提案时会用到
  5. 点击Submit preimage按钮并签名确认交易

Fill in the Preimage Information

注意事项

请记得复制原像哈希值,在提交提案时必须用到这一数据。

请注意,原像储存成本显示在窗口左下角。交易提交后,就会看到右上角Polkadot.js App接口出现一些确认信息,但在“Democracy”页面没有任何变化。请不要担心,如果交易已确认,说明原像已经提交成功。

提交提案

提交原像后(上一小节内容),下一步就是提交与这一原像相关的提案。为此,需要在Democracy页面点击Submit proposal

Submit proposal

此处,您需要提供以下信息:

  1. 选择提交提案的账户(在本示例中为Alice)
  2. 输入提案的原像哈希值。在这个示例中为上一小节操作得到的setBalance原像哈希值
  3. 设置锁定金额。数值应等于提案者锁定的金额。只有锁定量最高的提案才会进入公投阶段。最低充值额显示在“Input”标签正下方
  4. 点击Submit proposal按钮并签名确认交易

Fill in the Proposal Information

注意事项

由于提案进入公投阶段所需时间不可预测(也有可能无法进入公投阶段),因此代币可能无限期锁定。

交易提交后,就会看到右上角Polkadot.js App接口出现一些确认信息。该提案也会进入Proposals列表,并显示提案者和代币锁定量。现在,提案已开放接受附议!

Proposal listed

附议

附议意味着您同意提案内容,并想用代币支持该提案进入公投阶段。附议人锁定的代币量需与提案者锁定的完全相同。

注意事项

一个账户可多次附议同一提案。这是原理上就存在的功能,因为一个账户可以发送代币到不同地址,并使用这些地址来附议提案。提案是否能进入公投阶段看的是代币锁定量,而不是地址数量。

上一小节介绍了如何创建提案,本小节则介绍了如何附议提案。在提案列表中选择需要赞成的提案并点击Second按钮即可。

Proposal listed to Second

此处,您需要提供以下信息:

  1. 选择您希望用于附议提案的账户(在本示例中为Charley)
  2. 验证附议提案所需代币数量
  3. 点击Second按钮并签名确认交易

Fill in Second Information

注意事项

由于提案进入公投阶段所需时间不可预测(也有可能无法进入公投阶段),因此代币可能无限期锁定。

交易提交后,就会看到右上角Polkadot.js App接口出现一些确认信息。您也可以在Proposals列表看到该提案的相关提案者、代币锁定量以及已附议该提案的用户名单!

Proposal Seconded