# 链上治理

链上治理一章中,我们已为您介绍了:TOP Network链上治理的一切活动都通过提案、TCC表决的方式进行,且任何用户都可以发起提案。

TOP Network链上治理的核心组织是TOP社区委员会(TOP Community Council,以下简称TCC),TCC的职责是对社区提案进行表决和执行。

本章将为您介绍TOPIO链上治理相关功能,包括:

命令 说明
topio govern getProposal 查询链上治理提案。
topio govern CGP 查询链上治理参数。
topio govern submitProposal 提交链上治理提案。
topio govern withdrawProposal 撤回链上治理提案。
topio govern tccVote TCC表决提案。

# 查询链上治理提案

对提案投票前,可先获取提案详细信息了解提案。

请求方式

topio govern getProposal 

请求参数

参数名称 是否必选 默认值 类型 说明
proposal_id 空字符串 String 提案ID,如为空,默认查询所有提案。
提案ID可通过topio govern getProposal查询。

选项

选项名称 默认值 类型 说明
-h, --help - - 查看命令帮助信息。

返回参数

参数名称 类型 说明
effective_timer_height Uint64 提案通过后生效时钟高度。如生效始终高度小于提案通过时的始终高度,那么提案在通过后会立刻生效。
expire_time String 提案失效时间,提案在259200个时钟高度内没有被TCC通过或者否决,提案将失效。
priority Uint8 提案优先级:1--Normal;2--Important;3--Critical。
proposal_deposit Uint64 提案保证金,单位uTOP。
proposal_id String 提案ID,系统自动生成,唯一。
proposal_type Uint8 提案类型:1--修改链上治理参数提案;2--社区基金管理提案。
proposer_account_addr String 提案发起者账户地址。
target String 当提案类型为修改链上治理参数提案时,target为链上治理参数名称,链上治理参数请参见链上治理参数说明
当提案类型为社区基金管理提案时,target为接受转账账户地址,销毁账户地址为:T-b-gkhLhFJXVN3ZPQYZxphja93BEUtwKRdden。
value String 当target为链上治理参数时,value为修改后的值。
当target为接受转账账户地址,value为转账金额,单位uTOP。
voting_status Uint16 该提案投票表决状态:0--未开始;8--进行中;9--失败;10--成功。

请求样例

topio govern getProposal 1

返回样例

  • 成功返回
{
    "data" : {
      "1":{
	      "effective_timer_height": 1010110,
	      "expire_time": 1000
	      "priority": 3,
	      "proposal_deposit": 400,
	      "proposal_id": 1,
	      "proposal_type": 1,
         "proposer_account_addr" : "T800002276a7d58218ac4978733e5cca927a7d86cb7c87",
	      "target": archive_deposit,
	      "value": 1000,
	      "voting_status": 0
      }
   },
   "errmsg" : "ok",
   "errno" : 0,
   "sequence_id" : "3"
}
  • 失败返回
No data!

# 查询链上治理参数

请求方式

topio govern CGP

请求参数

无。

选项

选项名称 默认值 类型 说明
-h, --help - - 查看命令帮助信息。

返回参数

查询返回的参数值为参数当前最新值,关于参数的说明请参见链上治理参数

请求样例

topio govern CGP

返回样例

  • 成功返回
{
   "data" : {
      "additional_issue_year_ratio" : "8",
      "application_contract_code_max_len" : "32768",
      "archive_election_interval" : "360",
      "auditor_group_count" : "2",
      "auditor_nodes_per_segment" : "27",
      "auditor_reward_ratio" : "10",
      "award_auditor_credit" : "30000",
      "award_validator_credit" : "30000",
      "backward_auditor_slash_credit" : "100000",
      "backward_node_lock_duration_increment" : "103680",
      "backward_validator_slash_credit" : "100000",
      "beacon_tx_fee" : "100000000",
      "cluster_election_interval" : "60",
      "cluster_election_minimum_rotation_ratio" : "66",
      "cluster_zero_workload" : "0",
      "contract_call_contracts_num" : "25",
      "cpu_gas_exchange_ratio" : "40",
      "cross_reading_rec_reg_contract_height_step_limitation" : "12",
      "cross_reading_rec_reg_contract_logic_timeout_limitation" : "60",
      "cross_reading_rec_standby_pool_contract_height_step_limitation" : "12",
      "cross_reading_rec_standby_pool_contract_logic_timeout_limitation" : "67",
      "custom_property_max_number" : "128",
      "custom_property_name_max_len" : "16",
      "dividend_ratio_change_interval" : "120960",
      "edge_election_interval" : "360",
      "edge_reward_ratio" : "2",
      "election_rotation_count_ratio" : "16",
      "free_gas" : "25000",
      "fullunit_contain_of_unit_num" : "21",
      "governance_reward_ratio" : "4",
      "initial_total_locked_token" : "1000000000000000",
      "max_archive_group_size" : "512",
      "max_auditor_group_size" : "64",
      "max_auditor_rotation_count" : "2",
      "max_edge_group_size" : "512",
      "max_election_committee_size" : "256",
      "max_gas_account" : "1000000",
      "max_gas_contract" : "50000000",
      "max_nodedeposit_lock_duration" : "3110400",
      "max_validator_group_size" : "128",
      "max_validator_stake" : "5000",
      "max_vote_nodes_num" : "10000",
      "min_auditor_deposit" : "1000000000000",
      "min_auditor_group_size" : "6",
      "min_credit" : "100000",
      "min_edge_deposit" : "200000000000",
      "min_election_committee_size" : "32",
      "min_free_gas_balance" : "100000000",
      "min_mainnet_active_archives" : "1",
      "min_mainnet_active_auditors" : "128",
      "min_mainnet_active_edges" : "1",
      "min_mainnet_active_validators" : "512",
      "min_mainnet_active_votes" : "384000000",
      "min_node_reward" : "0",
      "min_ratio_annual_total_reward" : "2",
      "min_stake_votes_num" : "1",
      "min_table_block_report" : "32",
      "min_tcc_proposal_deposit" : "0",
      "min_tx_deposit" : "100000",
      "min_validator_deposit" : "500000000000",
      "min_validator_group_size" : "6",
      "min_voter_dividend" : "0",
      "min_votes_num" : "1",
      "punish_interval_table_block" : "368640",
      "punish_interval_time_block" : "8640",
      "rec_election_interval" : "259201",
      "rec_standby_pool_update_interval" : "11",
      "reward_issue_interval" : "8640",
      "shard_zero_workload" : "0",
      "sign_block_publishment_threshold_value" : "0",
      "sign_block_ranking_publishment_threshold_value" : "10",
      "sign_block_ranking_reward_threshold_value" : "0",
      "sign_block_reward_threshold_value" : "80",
      "tableslash_report_schedule_interval" : "1",
      "tableworkload_report_schedule_interval" : "1",
      "task_num_per_round" : "16",
      "tcc_member_number" : "T800002276a7d58218ac4978733e5cca927a7d86cb7c87,T8000066ab344963eaa071f9636faac26b0d1a39900325",
      "tcc_proposal_expire_time" : "259200",
      "toggle_whitelist" : "0",
      "total_gas_shard" : "2160000000000",
      "tx_deposit_gas_exchange_ratio" : "20",
      "tx_send_timestamp_tolerance" : "300",
      "unlock_gas_staked_delay_time" : "8640",
      "usedgas_decay_cycle" : "8640",
      "validator_group_count" : "4",
      "validator_reward_ratio" : "60",
      "vote_reward_ratio" : "20",
      "votes_report_interval" : "30",
      "whitelist" : "T8000085a8e8acd53c72dca85dcb002a6710796975b4ba,T80000FD4f433c036268F17a1b4204eA907E70618d030E,T8000066ab344963eaa071f9636faac26b0d1a39900325,T800002276a7d58218ac4978733e5cca927a7d86cb7c87",
      "workload_per_tableblock" : "2",
      "workload_per_tx" : "1",
      "workload_report_min_table_block_num" : "32",
      "workload_timer_interval" : "17",
      "zec_election_interval" : "120977",
      "zec_standby_pool_update_interval" : "31",
      "zone_election_trigger_interval" : "31"
   },
   "errmsg" : "OK",
   "errno" : 0,
   "sequence_id" : "1"
}

  • 失败返回

无。

# 提交链上治理提案

任何用户都可以发起提案。

除了最低交易保证金0.1 TOP token,提交提案,需要扣除100 TOP token的交易手续费。

因此提交提案前请确保您的账户里至少有100.1 TOP token的余额。

# 链上治理参数修改提案

通过提案对链上治理参数进行修改。

# 社区基金管理提案

系统将治理奖励和零工作量节点奖励发放至社区基金账户,社区用户可以通过链上治理提案将账户中的余额转账至销毁账户,提案经过TCC表决通过后,销毁即生效。

社区基金账户地址:T2000138QMHWxXshXyZa1E48JU1LREu3UrT5KGD2U@0。

销毁账户地址:T!0001Ebj8hBvoLdvcEEUwNZ423zM3Kh9d4nL1Ug。

请求方式

topio govern submitProposal

请求参数

参数名称 是否必选 默认值 类型 说明
proposal_type - Uint64 提案类型:1--链上治理参数修改提案;2--社区基金管理提案。
target - String 当提案类型为链上治理参数修改提案时,target为链上治理参数名称,链上治理参数请参见链上治理参数说明
当提案类型为社区基金管理提案时,target为接受转账账户地址,销毁账户地址:T!0001Ebj8hBvoLdvcEEUwNZ423zM3Kh9d4nL1Ug。
value - String 当target为链上治理参数时,value为修改后的值。
当target为接受转账账户地址,value为转账金额,单位TOP。
proposal_deposit - Double 提案保证金,链上治理参数,当前最低为0。
effective_timer_height - Uint64 提案通过后生效时钟高度。如生效时钟高度小于提案通过时的时钟高度,那么提案在通过后会立刻生效。

选项

选项名称 默认值 类型 说明
-h, --help - - 查看命令帮助信息。

返回参数

参数名称 类型 说明
Transaction hash String 本次交易hash,可用于查询此次交易结果。

请求样例

topio govern submitProposal 1 advance_deposit 10000 100 1010110

返回样例

  • 成功返回
Transaction hash: 0xb777722eba6b3b9295f42171b0ed7a31d72f6465797ddeed111af4f0ad710a1f
Please use command 'topio querytx' to query transaction status later on!!!

根据交易hash,使用topio querytx查询交易,交易最终共识成功,则成功提交提案。

  • 失败返回

根据交易hash,使用topio querytx查询交易,交易最终共识失败,则提交提案失败。

# 撤回链上治理提案

提案只能由对应的提案者撤回。

请求方式

topio govern withdrawProposal

请求参数

参数名称 是否必选 默认值 类型 说明
proposal_id - String 提案ID,提案ID可通过topio govern getProposal查询。

选项

选项名称 默认值 类型 说明
-h, --help - - 查看命令帮助信息。

返回参数

参数名称 类型 说明
Transaction hash String 本次交易hash,可用于查询此次交易结果。

请求样例

topio govern withdrawProposal 1

返回样例

  • 成功返回
Transaction hash: 0xe1befa7a1acae89fbbf9c3cab8314212fb671af003a9d581867b541428e02f56
Please use command 'topio querytx' to query transaction status later on!!!

根据交易hash,使用topio querytx查询交易,交易最终共识成功,则成功撤回提案。

  • 失败返回

根据交易hash,使用topio querytx查询交易,交易最终共识失败,则撤回提案失败。

# TCC表决提案

对提案投票前,可先获取提案详细信息了解提案。

只有TCC委员有表决权,表决通过的规则:需2/3的委员通过,且反对委员不超过20%。

提案表决通过后,且没有被否决,将形成立法命令,发给全网节点。

提案表决通过后,将形成立法命令,发给全网节点。

提案被表决通过后,系统将自动删除提案,无法查询提案。

请求方式

topio govern tccVote

请求参数

参数名称 是否必选 默认值 类型 说明
proposal_id - String 提案ID,可通过topio govern getProposal查询。
opinion - String 表决意见:true--赞成;false--反对。

选项

选项名称 默认值 类型 说明
-h, --help - - 查看命令帮助信息。

返回参数

参数名称 类型 说明
Transaction hash String 本次交易hash,可用于查询此次交易结果。

请求样例

topio govern tccVote 1 true

返回样例

  • 成功返回
Transaction hash: 0x1eca678e243743f226ebb6a42c7a5500a056c890574392c7bf70b6797e179902
Please use command 'topio querytx' to query transaction status later on!!!

根据交易hash,使用topio querytx查询交易,交易最终共识成功,则成功表决提案。

  • 失败返回

根据交易hash,使用topio querytx查询交易,交易最终共识失败,则表决提案失败。