Wait a moment...

Symbolテストネットノードでローカルハーベスティングせよ (v0.10.x Hippo)

nem391xem (14)
1618
5
2020-10-16 00:17:49
Symbolテストネットノードでローカルハーベスティングせよ (v0.10.x Hippo)

 

よっ、愚民ども!今日も何となく生きてるかい?

 

ようやくパブリック版テストネット(概ねローンチ直前版)が出たsymbolですが、皆様触っておられますでしょうか?
これ、今のうちに触っておけば色々正式ローンチ後に捗るので時間を作って触っておきましょう。
オプトインとか色々ありますが、面倒ならローンチ後にBuyしてもいいです。symbolはローンチがスタートです。今のうちにきっちり予習しておきましょう。せめてデスクトップウォレットDLして弄り倒してみたりすると良いでしょう。

※2020/10/22編集:ブートストラップ0.2.0になったらディレクトリ構成が変わりやがったので少しだけ追記しときます

で。

 

symbolの目玉というか、NEMと大きく変わる点の一つにノードを建てていると色々儲かるっていうのがあります。NEMの場合はノードを建ててもろくに儲からないし、厳しい条件を満たしたスーパーノードさんが常時3~400台ぐらいいて、それで困ることが一切なかったのでノードを建てる気になりませんでした。
が、しかし、symbolの場合は結構ノードを建てるとおいしい事があるのでしっかり予習しておくと良いかもしれません。ノードを建てたら何がおいしいかは自分で調べろ!ググレカス!

 

 

 

やはりNEMといえばハーベスティングです。残高が1万XEMぐらいあると時々小遣いのXEMが降ってくるアレです。ブロック承認に貢献する事で報酬がもらえます。もちろんsymbolさんでもハーベスティングが可能であります。間違っていても責任は取らないし記事をアップデートする事も面倒なのでしません。こまけぇこたぁいいので愚民のお前らに分かるようにワシの理解の範疇(つまり愚民レベル)で解説してやろうと思います。知らなかった事が1つでもあれば今すぐ投げXEMボタンを押してワタシを富ませてください。

 

思い出すぜ!
NEMでNCCが挙動不審だけどなんとかハーベスティングしたあの頃を!!!(回顧厨

....


 

まず、Symbolハーベスティングには2つの種類があります。

 1.ローカルハーベスティング

 2.デリゲートハーベスティング

です。

 

1.ローカルハーベスティングは、自分で建てたノードで自分でハーベスティングする事です。自前ハーベスト。

2.デリゲートハーベスティングは、委託ハーベスティング。誰かが建てたノードに「ちょっと乗っからせてくれ!」とお願いしてハーベスティングする事です。お願いする感じなので委任とか委託とか委譲って訳になりますね。

最近のクリプト界隈ではローカル自前マンをバリデータ、委託をデリゲータとか呼んでいたりする傾向があります。カタカナ使えばいいってもんじゃねーぞー!通を気取るならこう呼んでいこう、カタカナ多用で意識高めようぜ!みたいな風潮はクソだよね!1は自分の土地に自分で種を巻いて自分で刈り取る感じで、2は人に土地を借りて種を巻いて刈り取る感じです。つまり、1は地主。2は小作人です。持ち家と賃貸と表現してもいいです。どうでもいいです。

 

2020/10/15現在、デスクトップウォレットに不具合がありまくりなのでデリゲートハーベスティングがうまく動作しません。つまり小作人どもは指くわえて待ってろ状態です。ですので我々庄屋クラスの地主はさっさとローカルハーベスティングの準備と予習をしていきましょう。題して

『富豪への道 Road to GOUNOU~』


※2020/10/22編集:ブートストラップ0.2.0になったらディレクトリ構成が変わりやがったので追記しときます

Step.1 ノードを建てる

まず、テストネットのノードを建てます。
建て方はもう神々が記事をたくさん書いてくださっているのでそちらを参考にしてください。

 

参考:
Symbolテストネットノードを建ててみた (v0.10.x Hippo on Ubuntu Server 18.04)
https://nemlog.nem.social/blog/49345

Symbol Testnet node 構築備忘録
https://qiita.com/dusanjp/items/53fdac033e6df5f75139

 

テストノードの同期が完了してしっかりAPIノードとして動く事を確認してください。そもそもこれが自力でできればローカルハーベスティング自体、大して難しい話ではない。つまりこの記事はそういう人には役に立たない。

ちなみに当方の環境は Ubuntu Server 18.04です。


Step.2 一応ドキュメントを読んでみる

以下がsymbol公式のマニュアルというかガイドです。
https://docs.symbolplatform.com/guides/network/running-a-test-net-node.html

 

完全に理解しました。上記に沿ってやってみよう。



Step.3 ノードのアドレス確認とコンフィグをいじる
そもそも自分が建てたノードのアドレスってどこだよ、っていう所からコケるのが我々愚民勢です。
アドレスは

お前らのディレクトリ/symbol-bootstrap/target/config/generated-addresses
の中のaddresses.ymlっていうファイルに書いてあります。

※2020/10/22編集:

お前らのディレクトリ/symbol-bootstrap/target/

の中のaddresses.ymlっていうファイルに書いてあります。


viなりvimなりlessなり好きなコマンドで中身を除いてみるよ

less お前らのディレクトリ/symbol-bootstrap/target/addresses.yml
※終わるときはqを押すよ

するとこんな感じに表示されます。


networkType: 152
nemesisGenerationHashSeed: シードが書いてあるよ
nodes:
    -
        type: peer-node
        name: api-node
        friendlyName: なんか謎の記号
        roles: 'Peer,Api'
        ssl:
            privateKey: ****************************************************************
            publicKey: ****************************************************************
        signing:★ここだよ
            privateKey: *ここに秘密鍵(プライベートキー)があるよ************************************
            publicKey: **ここに公開鍵(パブリックキー)が書いてあるよ*******************************
            address: T***★ここにアドレスが書いてあるよXXXXXXXXXXXXXXXX★★★★
        vrf:
            privateKey: ****************************************************************
            publicKey: ****************************************************************
            address: ***************************************
gateways:
    -
        privateKey: ****************************************************************
        publicKey: ****************************************************************
        address: ***************************************


これで自分の秘密鍵とアドレスがわかりました。

 

で、もう一つ、コンフィグをいじる必要がある。

※2020/10/22編集:

/symbol-bootstrap/target/config/api-node/resourcesにある

/symbol-bootstrap/target/nodes/api-node/userconfig/resources

・config-harvesting.properties

というファイルの中身をちょっといじります。ノードの秘密鍵を入れてあげてください。

 

[harvesting]

harvesterSigningPrivateKey = ★お前の秘密鍵を書き込む
harvesterVrfPrivateKey = ******************************

enableAutoHarvesting = true
maxUnlockedAccounts = 5
delegatePrioritizationPolicy = Importance
beneficiaryAddress = ★もし収穫物を入れたいアドレスがあればここに入れると良いよ

 

※ちなみに普段こういうものを全く触らないのです。仕事でもサーバーにあるファイルを弄る場合はわざわざDLしてエディタでいじってUPしたりするレベルなのでviとか10数年ぶりに触りました。もうカーソルすら動かせません。そういう情弱は「vimtutor ja」と打つとvimの素敵なチュートリアルが動くのでそれで人生やり直してください。私はこの機会にチュートリアルを全部実践し、真剣に学び、そして3日ぐらいで全部内容忘れました。後悔はありません。

いじったらコンフィグを反映させるためにノードを再起動しましょう

 



Step.4 ウォレットを作る

秘密鍵がわかればウォレットを作ってしまえば送金とかできますよね!(当たり前)
なので好きなウォレットを作ります。デスクトップウォレットでもいいし、symbol-cliでも良いです。
デスクトップウォレットならここからさっきの秘密鍵をインポしてください

 

 

このあたりが分からない人は、この辺もいろんな人が記事を書いてくれていると思うのでググレカスです。

で、デスクトップウォレットも良いのですが、今回は意識高めにSymbol-CLIを使ってモニタリングしたいので入れてしまいましょう。大体こんな感じでインスコできると思います。

●CLIインストール
sudo npm install -g symbol-cli

●アカウント作成(これは別にやらなくていい 新しいアカウントができちゃうだけ)
symbol-cli account generate

●秘密鍵のインポート
symbol-cli profile import --private-key インポしたい秘密鍵 --network TEST_NET --url http://好きなノードのIP:3000 --password 好きなパスワード --profile 好きなアカウント名

●アカウント表示
symbol-cli account info --profile 作ったアカウント名

 

色々試してみてください。もちろん、ワシは詳しく知りません。


Step.5 XYMを無限に集める

ハーベスティングはPoS+という仕組みなので、自分がいくらかXYMを持っていなければなりません。この記事を読んでいるような人は相当な暇人かXEMヲタクだと思うので詳しく説明しませんが、とにかく豪農になるにはXYMを持っていなければなりません。テストネットではテスト用のXYMを無限に貰えるので蛇口をひねったり誰かに譲ってもらったりしてそれなりのXYMを握りましょう。デスクトップウォレットからフォーセット(蛇口)に飛んでひたすら捻っても良いです。私は気合いで300万XYMを集めました。ひたすら蛇口をひねりました。辛かったです。そこまでしなくていいですが、数十万ぐらいあると後々良いんじゃないでしょうか?


0.10.0の蛇口

http://faucet-0.10.0.x-01.symboldev.network/

 

※もし本気でVotingとか検証やりたい人はニズベル神さんに土下座して融通してもらってください。 https://twitter.com/44uk_i3


Step.6 重要度を高める(待つ)
最低1万XYMなのかな?を持っているとそのうち重要度(インポータンス)という値が割り振られます。
確認方法はいろいろありますがデスクトップウォレットのアカウント情報かエクスプローラーで自分のアドレスを調べると分るでしょう。このインポが0だとハーベスティングできません。


0.10.0.xのエクスプローラー

http://explorer-0.10.0.x-01.symboldev.network


余談ですがSymbolもNEMと同じで自アドレスから送金とかのトランザクションが1回発行されないとパブリックキーが表示されない(存在しないアドレスみたいな扱い)とか、そんな感じです。トラブルを避けたい場合はアドレス生成したら適当に自分のアドレス宛に小銭を投げておくと良いおまじないになります。多分。


Step.7 ローカルハーベスティングする

ようやくこれで準備が整いました。お疲れさまでした。

で、実際どうやってハーベスティングするかというと、VRF Key Linkとかいうトランザクションを投げる必要があります。この時点で難しくて卒倒しそうです。しかもデスクトップウォレットからはまだ発行できません。Symbol-CLIを使って細かいパラメータを設定して投げようとしても、どんなパラメータを設定すればいいのか分かりません。限界です。そこで、便利な便利なsymbol-bootstrapを使います。

symbol-bootstrap link

↓こんな感じのが表示される                            _               _           _                       _           _
  ___   _   _   _ __ ___   | |__     ___   | |         | |__     ___     ___   | |_   ___  | |_   _ __    __ _   _ __
 / __| | | | | | '_ ` _ \  | '_ \   / _ \  | |  _____  | '_ \   / _ \   / _ \  | __| / __| | __| | '__|  / _` | | '_ \
 \__ \ | |_| | | | | | | | | |_) | | (_) | | | |_____| | |_) | | (_) | | (_) | | |_  \__ \ | |_  | |    | (_| | | |_) |
 |___/  \__, | |_| |_| |_| |_.__/   \___/  |_|         |_.__/   \___/   \___/   \__| |___/  \__| |_|     \__,_| | .__/
        |___/                                                                                                   |_|
2020-10-12T00:18:59.741Z info [SYSTEM_LOG]     Linking nodes using network url http://localhost:3000. Max Fee 0.1
2020-10-12T00:18:59.832Z info [SYSTEM_LOG]     Creating VrfKeyLinkTransaction - node: api-node, signer public key: ******************, vrf key: **************
2020-10-12T00:18:59.834Z info [SYSTEM_LOG]     Creating 
2020-10-12T00:19:05.249Z info [SYSTEM_LOG]     Transaction **** - signer   has been confirmed


symbol-bootstrapのディレクトリで「symbol-bootstrap link」って打つだけです。以上。

するとログで表示されるようにVRFkeyLinkが発行されます。これでOK。

 

でもちゃんとトランザクションが発行されたか知りたいですよね。
デスクトップウォレットを見てみます。すると「transaction_descriptor_16707」とかいう謎のTxが出ている形跡がありまして、なんだかよく分かりません。まだ対応できていないようです。
ですので意識高めにCLI使っていきます。「symbol-bootstrap link」と打つ前にアドレスをモニタリングしちゃいましょう。これはプロファイル作ってなくても見れます。

symbol-cli monitor all -a お前のアドレス


これをぶち込むだけでこのアドレスをモニタリングしてくれます。


で、モニタリングしながら「symbol-bootstrap link」と打てば直後にコンソールにズバッ!って表示されます。

 

 

こんな感じ。
※これは自己満足の世界なのでそもそもSymbol-CLIとかを使う必要は一切ありません。

 


Step.8 収穫物を確認する

ここまでこればもう収穫を待つだけです。

待つだけなんですが、ここから個人的には難易度が跳ね上がります。何故か?運に左右されますからね!
それはよくわかんねーけど刈り取れないモードに突入したりするからです。私も何度も試行錯誤しています。何度も試行錯誤しましたが原因もよくわからずノードを再起動したり再起動自体がうまくいかなくなったりノードのOS入れなおすところからやり直したりコンフィグいじったり色々やりましたがもう何もわからないので考えるのを放棄してとりあえず何も見なかった事にしています。Unlinkして再度Linkしたり、ノード止めてもう一回Startしたり、インポ無限にUPさせたり、とにかくうまく刈り取れなかったらテメーで何とかしてみてください。そして何か原因がわかったら教えてほしい。

 

収穫物の確認方法ですが、報酬のトランザクションが発行されるわけではないので非常に分かりにくいです。その点はNEMはすごくわかりやすいUIでした。愚痴を言っても仕方ないので方法を探します。
一番わかりやすいのは「残高がいつの間にか増えてた」です。そういう時は収穫に成功しています。
その前に自分のアドレスをエクスプローラーで見ればわかります。

普通、バーべスティングできていない小作人アドレスはこうなっています。


 

最後にインポータンス履歴、という表示になっています。

ですが、豪農達にはその下の表示が存在します。

 

 

これがワシ流ハーベスティングできたかどうかの確認方法です。他に良い方法を知っている人がいたら教えてください。

 


 

というわけで長々説明しましたが、ローカルハーベスティングのやり方は

「XYMを自ノードに集めてコンフィグに秘密鍵追記してブートストラップでlinkって打つ」
※1行で説明できる

という事です。上手くいかなかったらこの記事の事は忘れてください。

 

 

 

 

最後に

 

SymbolはNEMとは異なりトランザクションが無い空ブロックを刈り取った場合でもインフレ報酬っていう報酬がもらえます。テストネットで試した感じ、今のところ1ブロック当たり80XYMいかないぐらいの報酬があります。さらに、委託ハーベスティングを頼んできた人が貰う手数料報酬の数パーセントを委託料として貰うこともできます(ノード側でパーセンテージを設定できます)

つまり、NEMよりはノード運営するメリットがあるし、結構儲かりそうです。
維持費がペイできるのであれば私もローンチ後の本番環境でノードでも建てて無限に不労所得をGETしていきたいと思います。億ります。

 

なお、この記事はローカルハーベスティングの雰囲気だけ伝われば良いので記載に誤りがあったりしても気が向かないと直しません。これからもっと良い記事が出てくると思いますのでそちらを参考にしてメンテしていきましょう!

前後の記事
LBCOINの衝撃
|
次の記事はありません
Comment
わんこイン.symbol
わんこイン.symbol
2020-10-18 02:16:09ID:212408
>>
狂タヌ尊

それをしようと思ったんですが
なんか今日はかなり重い!
ページ表示さえしてくれません!!

狂タヌ尊
狂タヌ尊
2020-10-16 22:52:00ID:212337
>>
わんこイン.symbol

テストネットだからケチらずにガンガン蛇口捻ってインポ上げてからやるのをオススメします!ワシは300万XYMあっても2.3日全く刈り取らなかったりして、ノードをstop→startしたら数分後からガンガン刈り取れたりしました。謎です

狂タヌ尊
狂タヌ尊
2020-10-16 22:49:29ID:212334
>>
づ~

結局、意味不明な感じは拭えないですよね せめてステータスみたいなものがあればなぁ…と

わんこイン.symbol
わんこイン.symbol
2020-10-16 16:51:40ID:212308

全部やってみました。
インポータンス、あがるかな?
ワクワク!
本番までにモノにする!

づ~
づ~
2020-10-16 05:28:04ID:212232

そーそーそーw
harvesting 始まるまで link とか unlink とか
config いじって見たり
node 止めたりスタートしたり色々やったw
"ハーベスト済みブロック" 出た時 ガッツポーズしたはwwwwwwwwwww

この記事を書いた人
諸君!! 狂いたまえ!! 吾輩はNEM政治アナリストであり老害系NEM厨である。nemberではない。 暇人よ今すぐ 『クリプト歴ヲタ同好会』 で検索するのじゃ 学びがあるであろう