为矿工投票
为了保证网络不断运行并对其发展产生影响,您可以投票选择一些矿工,被选中的矿工负责创建新的区块,验证交易,
将有效交易信息记录于新生成的区块中,并且向区块链添加新生成的区块。每24小时会进行一轮矿工投票,您的每一票都很重要。并且得票最高的前33名矿工会加入挖矿程序。
请继续阅读以下内容,获取有关投票过程的完整信息。若想使用快速导航,请跳转至以下链接: 展示所有矿工列表, 获取个别矿工的信息 , 并为特定的矿工投票 。
获取矿工列表
假设您是第一次为矿工投票。请使用以下方法,获取投票对象的信息,获取矿工候选人列表。
方法介绍:
list_miners - 此指令可展示所有在区块链中注册的矿工列表。列表包括所有矿工账户的名称,以及通过账户名称排序出的矿工ID。无论是否参与投票的矿工,都在此列表中展示。通过起始位置(lowerbound)和有限的参数浏览列表。若想找回所有的矿工账户,把起始位置设置为空命令行"",之后的每一次迭代,传输最后一位矿工的名称,返回值为下一个矿工列表(list_miners)访问的起始位置。
map<string,miner_id_type> list_miners(string lowerbound, uint32_t limit);
参数:
- lowerbound - 返回的第一位矿工的名称。如果以此命名的矿工不存在,那么列表会从起始位置(lowerbound)之后的那位矿工开始。
- limit - 返回矿工最大值(最大值:1000)
返回值:
- 矿工名称与id相匹配的矿工列表。
举例说明:
list_miners "" 11
回应:
[[
"init0",
"1.4.1"
],[
"init1",
"1.4.2"
],[
"init10",
"1.4.11"
],[
"init2",
"1.4.3"
],[
"init3",
"1.4.4"
],[
"init4",
"1.4.5"
],[
"init5",
"1.4.6"
],[
"init6",
"1.4.7"
],[
"init7",
"1.4.8"
],[
"init8",
"1.4.9"
],[
"init9",
"1.4.10"
]
]
获取矿工信息
通过调用 get_miner
,您会获得特定矿工的具体信息。上一步获得的列表会为您提供此方法的输入信息,便于您查看所选矿工。
另外还可以通过Slack #mining的讨论话题来了解矿工信息。
方法介绍:
get_miner - 关于所给矿工的返回信息。
miner_object get_miner(string owner_account);
参数:
- owner_account - 矿工账户所有者名称或id,或者矿工id。
举例说明:
get_miner init1
回应:
{
"id": "1.4.2",
"miner_account": "1.2.5",
"last_aslot": 3027140,
"signing_key": "DCT8NC1kNjEeqRp8SnEPQWtpeCLoJRuquH5jHtE78NNTthSi6t2uX",
"pay_vb": "1.9.0",
"vote_id": "0:1",
"total_votes": "110114045499584",
"url": "",
"total_missed": 191805,
"last_confirmed_block_num": 834559,
"vote_ranking": 0
}
请注意,miner_account 等同于 account_id 。
为矿工投票
为矿工投票是帮助改善网络的方式之一。他们负责验证交易的有效性,以及基于交易信息创造新的区块。您选票的分量取决于您当前余额的数量。另外,您无法投票反对某个特定的矿工,您只能为特定矿工投票或者不为任何人投票。
方法介绍:
vote_for_miner - 为某一个矿工投票。一个账户可以发布一个赞同的矿工列表。此方法可用于从此列表中添加或移除矿工。计算投票时,每个账户的选票会根据账户拥有的核心资产份额来衡量。
signed_transaction vote_for_miner(string voting_account,
string miner,
bool approve,
bool broadcast = false);
参数:
- voting_account - 使用资产份额投票的账户名称或id。
- miner - 矿工的账户名称或id。
- approve - 如果您支持某位矿工而为他投票,则输入true,若想移除对某位矿工的选票,则输入false。
- broadcast - 如果您希望广播交易,则显示 true 。
展示特定矿工所获得的选票
CLI钱包可以提供您为特定矿工所投选票的列表,从而起到审核投票过程的作用。另外,钱包还可以提供您投过以及没投过选票的积极矿工列表。
方法介绍:
search_miner_voting - 通过与搜索项相匹配的账户获取矿工投票信息。
vector<miner_voting_info> search_miner_voting(string account_id,
string term,
bool only_my_votes,
string order,
string id,
uint32_t count);
参数:
- account_id - 某账户名称
- term - 某搜索项 - 矿工名称
- only_my_votes - 如果选定仅通过本人账户所投的选票,输入true
- order - 有效选项为名称(如果您不知道名称,也可以提供链接)或选票
- id - 开启搜索的内容对象id
- count - 所抓取的最大内容数量(不可超过1000)
返回值:
- 所发现的内容
示例1:
search_miner_voting accountname "" true "" "" 100
回应1:
[{
"id": "1.4.1",
"name": "init0",
"url": "",
"total_votes": "6126399992",
"voted": true
},{
"id": "1.4.11",
"name": "init10",
"url": "",
"total_votes": "6126399992",
"voted": true
}
]
示例2:
search_miner_voting accountname "" false "" "" 100
回应2:
[{
"id": "1.4.1",
"name": "init0",
"url": "",
"total_votes": "6126399992",
"voted": true
},{
"id": "1.4.2",
"name": "init1",
"url": "",
"total_votes": 0,
"voted": false
},{
"id": "1.4.11",
"name": "init10",
"url": "",
"total_votes": "6126399992",
"voted": true
},{
"id": "1.4.3",
"name": "init2",
"url": "",
"total_votes": 0,
"voted": false
},{
"id": "1.4.4",
"name": "init3",
"url": "",
"total_votes": 0,
"voted": false
},{
"id": "1.4.5",
"name": "init4",
"url": "",
"total_votes": 0,
"voted": false
},{
"id": "1.4.6",
"name": "init5",
"url": "",
"total_votes": 0,
"voted": false
},{
"id": "1.4.7",
"name": "init6",
"url": "",
"total_votes": 0,
"voted": false
},{
"id": "1.4.8",
"name": "init7",
"url": "",
"total_votes": 0,
"voted": false
},{
"id": "1.4.9",
"name": "init8",
"url": "",
"total_votes": 0,
"voted": false
},{
"id": "1.4.10",
"name": "init9",
"url": "",
"total_votes": 0,
"voted": false
}
]