投票如何工作
一个投票包括两部分,VoteFor和VoteAgainst,VoteAgainst是一个弹劾投票,而VoteFor是一个投票,决定在弹劾后谁应该成为网络监管者。
网络监管者被表示为一个交易输出脚本,而不是一个编码键脚本。一种获取给定地址的脚本的简单方法是向其支付一些钱,然后探索原始交易并复制输出。
探索一个coinbase交易,我们可以看到输出被支付给网络监管者 https://explorer.pkt.cash/address/ 这个输出的脚本是 0020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2
$ ./bin/pktctl getrawtransaction 505d2750577a3d3c739c2a650ec0e03a7ddb1f81080c820ab1a317575020745b 1 { "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff10022913000b2f503253482f706b74642fffffffff03cac2a6ee0000000 01976a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac362f5f3b00000000220020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b000000000000 0000326a3009f91102ffff7f20c70542e4ca2363ce0149e845305f25564e7ce81e33411ad570df0f56f387462021cd01000000000000000000", "txid": "505d2750577a3d3c739c2a650ec0e03a7ddb1f81080c820ab1a317575020745b", "hash": "505d2750577a3d3c739c2a650ec0e03a7ddb1f81080c820ab1a317575020745b", "size": 203, "vsize": 203, "version": 1, "locktime": 0, "vin": [ { "coinbase": "022913000b2f503253482f706b74642f", "sequence": 4294967295 } ], "vout": [ { "value": 40.0390625, "n": 0, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 7d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae OP_EQUALVERIFY OP_CHECKSIG", "hex": "76a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac", "reqSigs": 1, "type": "pubkeyhash", "addresses": [ "pGzmtW4Q2v4AWHcX8TYGqG5c1Eh5Ykg6fX" ] } }, { "value": 9.9609375, "n": 1, "scriptPubKey": { "asm": "0 d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b", "hex": "0020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b", "reqSigs": 1, "type": "witness_v0_scripthash", "addresses": [ "pkt1q6hqsqhqdgqfd8t3xwgceulu7k9d9w5t2amath0qxyfjlvl3s3u4sjza2g2" ] } }, { "value": 0, "n": 2, "scriptPubKey": { "asm": "OP_RETURN 09f91102ffff7f20c70542e4ca2363ce0149e845305f25564e7ce81e33411ad570df0f56f387462021cd010000000000", "hex": "6a3009f91102ffff7f20c70542e4ca2363ce0149e845305f25564e7ce81e33411ad570df0f56f387462021cd010000000000", "type": "nulldata" } } ], "blockhash": "c77d9026867de1455e573eb47bd3322548fd537b29ed9296a004a00f43d1da18", "confirmations": 3, "time": 1566221646, "blocktime": 1566221646 }
如果我们通过查询pktd来确定网络监管者,我们会看到它显示的是已支付的脚本。
$ ./bin/pktctl getnetworksteward { "script": "0020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b", "votesagainst": 0, "totalpossible": 21985819476623360 }
所以,例如,如果我们想要更改网络监管者为 https://explorer.pkt.cash/address/pGzmtW4Q2v4AWHcX8TYGqG5c1Eh5Ykg6fX , 我们会希望投票支持相应的脚本 76a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac, 当然,我们可能也希望反对当前的网络监管者。
如何投票
投票是通过配置您的钱包来进行的,每当您花钱时,您的钱包将在每次未来的PKT支付中包含一个投票。如果您想加快投票过程,您可以配置您的钱包进行投票,然后将您所有的PKT转移到另一个钱包,以确保它都会投票。
为了配置您的钱包为 https://explorer.pkt.cash/address/pGzmtW4Q2v4AWHcX8TYGqG5c1Eh5Ykg6fX 投票并反对 https://explorer.pkt.cash/address, 您可以使用以下工作流程:
$ ./bin/pktctl --wallet getnetworkstewardvote {} $ ./bin/pktctl --wallet setnetworkstewardvote default 76a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac 0020d5c1005c0d4012d3ae2672319e7f 9eb15a57516aeefabbbc062265f67e308f2b {} $ ./bin/pktctl --wallet getnetworkstewardvote { "votefor": "76a9147d9df4279212fd7def4c47abf2d5f3a6c6eaf4ae88ac", "voteagainst": "0020d5c1005c0d4012d3ae2672319e7f9eb15a57516aeefabbbc062265f67e308f2b" }
资源
- Telegram: https://t.me/pktpal
- Matrix: https://matrix.to/#/#pkt:matrix.org
- IRC: #pkt@freenode.net