POW Givers
此信息可能已过时,不再有用。您可以随意忽略它。
本文旨在描述如何与POW Giver智能合约互动,以获得Toncoin。我们假设您已熟悉TON区块 链轻客户端,如入门
中所述,并熟悉编译轻客户端和其他软件的程序。为了获得运行验证者所需的更多Toncoin,我们还假设您熟悉完整节点
和验证者
页面。为了获得更多的Toncoin,您还需要一台足够强大的专用服务器来运行完整节点。获取少量的Toncoin不需要专用服务器,在家用电脑上几分钟内即可完成。
请注意,目前由于矿工数量众多,任何挖矿都需要大量资源。
1. Proof-of-Work Giver智能合约
为了防止少数恶意方收集所有Toncoin,网络的主链上部署了一种特殊的“工作量证明赠予者”智能合约。这些智能合约的地址如下:
小额赠予者(每几分钟提供10至100 Toncoin):
- kf-kkdY_B7p-77TLn2hUhM6QidWrrsl8FYWCIvBMpZKprBtN
- kf8SYc83pm5JkGt0p3TQRkuiM58O9Cr3waUtR9OoFq716lN-
- kf-FV4QTxLl-7Ct3E6MqOtMt-RGXMxi27g4I645lw6MTWraV
- kf_NSzfDJI1A3rOM0GQm7xsoUXHTgmdhN5-OrGD8uwL2JMvQ
- kf8gf1PQy4u2kURl-Gz4LbS29eaN4sVdrVQkPO-JL80VhOe6
- kf8kO6K6Qh6YM4ddjRYYlvVAK7IgyW8Zet-4ZvNrVsmQ4EOF
- kf-P_TOdwcCh0AXHhBpICDMxStxHenWdLCDLNH5QcNpwMHJ8
- kf91o4NNTryJ-Cw3sDGt9OTiafmETdVFUMvylQdFPoOxIsLm
- kf9iWhwk9GwAXjtwKG-vN7rmXT3hLIT23RBY6KhVaynRrIK7
- kf8JfFUEJhhpRW80_jqD7zzQteH6EBHOzxiOhygRhBdt4z2N
大额赠予者(每天至少提供10,000 Toncoin):
- kf8guqdIbY6kpMykR8WFeVGbZcP2iuBagXfnQuq0rGrxgE04
- kf9CxReRyaGj0vpSH0gRZkOAitm_yDHvgiMGtmvG-ZTirrMC
- kf-WXA4CX4lqyVlN4qItlQSWPFIy00NvO2BAydgC4CTeIUme
- kf8yF4oXfIj7BZgkqXM6VsmDEgCqWVSKECO1pC0LXWl399Vx
- kf9nNY69S3_heBBSUtpHRhIzjjqY0ChugeqbWcQGtGj-gQxO
- kf_wUXx-l1Ehw0kfQRgFtWKO07B6WhSqcUQZNyh4Jmj8R4zL
- kf_6keW5RniwNQYeq3DNWGcohKOwI85p-V2MsPk4v23tyO3I
- kf_NSPpF4ZQ7mrPylwk-8XQQ1qFD5evLnx5_oZVNywzOjSfh
- kf-uNWj4JmTJefr7IfjBSYQhFbd3JqtQ6cxuNIsJqDQ8SiEA
- kf8mO4l6ZB_eaMn1OqjLRrrkiBcSt7kYTvJC_dzJLdpEDKxn
请注意,目前所有大额赠予者已被耗尽。
前十个智能合约使愿意获取少量Toncoin的用户能够在不花费太多计算功率的情况下获得一些(通常情况下,家用电脑上几分钟的工作应该就足够了)。其余智能合约用于获取网络中运行验证者所需的更多Toncoin;通常,一天在足够强大的专用服务器上的工作应该足以获得所需金额。
请注意,目前由于矿工数量众多,挖掘小额赠予者也需要大量资源。
您应该随机选择这些“proof-of-work giver”智能合约中的一个(根据您的目的从这两个列表中选择),并通过类似于挖矿的程序从该智能合约中获得Toncoin。基本上,您需要呈现一个包含工作量证明和您钱包地址的外部消息给所选的“proof-of-work giver”智能合约,然后金额将被发送给您。
2. 挖矿过程
为了创建一个包含“工作量证明(proof-of-work)”的外部消息,您应该运行一个特殊的挖矿实用程序,从GitHub库中的TON源代码编译而成。该实用程序位于构建目录的./crypto/pow-miner
文件中,可以通过在构建目录中输入make pow-miner
来编译。
然而,在运行pow-miner
之前,您需要知道所选“proof-of-work giver”智能合约的seed
和complexity
参数的实际值。这可以通过调用 该智能合约的get方法get_pow_params
来完成。例如,如果您使用 giver 智能合约,kf-kkdY_B7p-77TLn2hUhM6QidWrrsl8FYWCIvBMpZKprBtN
,您可以简单地键入:
> runmethod kf-kkdY_B7p-77TLn2hUhM6QidWrrsl8FYWCIvBMpZKprBtN get_pow_params
在轻客户端控制台中,并获得像这样的输出:
arguments: [ 101616 ]
result: [ 229760179690128740373110445116482216837 53919893334301279589334030174039261347274288845081144962207220498432 100000000000 256 ]
remote result (not to be trusted): [ 229760179690128740373110445116482216837 53919893334301279589334030174039261347274288845081144962207220498432 100000000000 256 ]
“result:”行中的前两个大数字分别是这个智能合约的seed
和complexity
。在此例中,seed是229760179690128740373110445116482216837
,而复杂度是53919893334301279589334030174039261347274288845081144962207220498432
。
接下来,您按如下方式调用pow-miner
实用程序:
$ crypto/pow-miner -vv -w<num-threads> -t<timeout-in-sec> <your-wallet-address> <seed> <complexity> <iterations> <pow-giver-address> <boc-filename>
这里:
<num-threads>
是您希望用于挖矿的CPU核心数量。<timeout-in-sec>
是矿工运行失败前的最长秒数。<your-wallet-address>
是您的钱包地址(可能尚未初始化)。它要么在主链上,要么在工作链上(请注意,您需要一个主链钱包来控制验证者)。<seed>
和<complexity>
是通过运行get方法get-pow-params
获得的最新值。<pow-giver-address>
是所选proof-of-work giver智能合约的地址。<boc-filename>
是成功时保存工作量证明的外部消息的输出文件的文件名。
例如,如果您的钱包地址是kQBWkNKqzCAwA9vjMwRmg7aY75Rf8lByPA9zKXoqGkHi8SM7
,您可能会运行:
$ crypto/pow-miner -vv -w7 -t100 kQBWkNKqzCAwA9vjMwRmg7aY75Rf8lByPA9zKXoqGkHi8SM7 229760179690128740373110445116482216837 53919893334301279589334030174039261347274288845081144962207220498432 100000000000 kf-kkdY_B7p-77TLn2hUhM6QidWrrsl8FYWCIvBMpZKprBtN mined.boc