catapult ネイティブ通貨のインフレ設定とノード報酬機能
はじめに
catapultにはネイティブ通貨のインフレ設定とノード報酬機能があります。自分でしっかり確認したことがなかったので確認してみました。
ネイティブ通貨のインフレ設定は、そのネットワークのCurrencyMosaic
、つまり、手数料の支払いに利用されるモザイクを、設定された量だけハーベスターに供給することで全体の供給量を増やすことが出来る機能です。
ここで、慌てないでもらいたいのですが、この機能は上記URLにも書かれている通り、コンソーシアムやプライベートネットワークにニーズに合った新しいトークン経済モデルを適用可能にする ためのものであって、NEM2になるとxemがビットコインのようにブロック生成者に手数料以外の報酬を与えるようになるわけではありません。
一方、ノード報酬機能は、catapultで新しく追加される機能で、そのノード上でハーベスティングが成功すると、そのブロックに含まれる報酬を、決まった割合だけ自分の好きなアカウントに送ることが出来ます。これはノードを建てて委任ハーベスティング受けつけるノード運営者へのご褒美になります。
それまで委任ハーベスティングを受けるメリットが特になかったので、ボランティアでしたが、これによってノードを建てて委任ハーベスティングを受けることにメリットが生まれます。
環境
catapult 0.5.0.1 (Elephant)
Dockerコンテナイメージ Ubuntu 18.04.2 LTS
設定
config-network.properties
currencyMosaicId = 0x633B5ECAC342D49C
harvestingMosaicId = 0x56BBE4882998AF19
initialCurrencyAtomicUnits = 1'000'000'000'000'000
maxMosaicAtomicUnits = 1'060'000'000'000'000
harvestBeneficiaryPercentage = 10
- CurrencyMosaicIDは
633B5ECAC342D49C
。 - 最初は
1'000'000'000'000'000
から始まる。 - 最大供給量は
1'060'000'000'000'000
。これ以上増えることはない。 - ノード報酬割合は10%。つまり、ハーベスティングした時の報酬の10%を任意のアカウントに振り分けることが出来る。
config-inflation.properties
starting-at-height-1 = 1'000'000'000
starting-at-height-101 = 5'000'000'000
starting-at-height-201 = 0
- height 1-100 までは1ブロックにつき、ハーベスターに 手数料報酬 +
1'000'000'000
与えられる - height 101-200 までは1ブロックにつき、ハーベスターに 手数料報酬 +
5'000'000'000
与えられる - height 201 以降は、手数料報酬のみ
config-harvesting.properties
harvestKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
isAutoHarvestingEnabled = true
maxUnlockedAccounts = 1
beneficiary = E1636CD8579B66FCED24080849CF7B12BC0350C6A068A104923B766B0EC7BF9E
- ハーベスティングするのは
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(これは秘密鍵になるのでぼかしている)のみ。 - harvestKeyに対応する公開鍵は
210C95A4B13D066AA39A8B6D5021CE9D67342815409BBF8B7FE0EF9121317E21
- ノード報酬を与えるアカウントの公開鍵は
E1636CD8579B66FCED24080849CF7B12BC0350C6A068A104923B766B0EC7BF9E
今回、トランザクション報酬は一切発生させず、 インフレ設定のみの通貨供給による通貨保有量の変化を観察していきます。
期待される動き
全体の供給量は上記のようになるはずです。
2-100までは、上記図のようになります。101以降も、同様に計算した量が、ハーベスティングしているアドレスとノード報酬送り先アドレスにブロックごとに振り込まれていくはずです。
やってみよう
height 50
height 50
までブロックの生成を進めました。問題なく通貨供給量が増えているのがわかります。
height 101
height 101
までブロックの生成が進みました。ここから、供給量が変化(増加)していることがわかります。
height 200-201
height 200
からheight 201
への変化です。私が設定した通り、200から、インフレ報酬が無くなり、ブロックが進んでも報酬が振り込まれていないことがわかります。
さいごに
以上で、新しい機能の挙動が確認が出来ました。
ちなみに、無限に増やすことは出来ません。どこかでインフレ設定を0にしてやる必要があります。(出来てしまうと値がいつかオーバーフローしてしまうよね)
Author And Source
この問題について(catapult ネイティブ通貨のインフレ設定とノード報酬機能), 我々は、より多くの情報をここで見つけました https://qiita.com/mincoshi/items/97f12473d9c6d2e183ae著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .