概要
- 0XYMでもSymbolノード構築・運用でハーベスティング報酬(手数料)を貰うための構築手順を残します。
- 本記事は、ubuntu 20.04、symbol-bootstrap v1.0.3で確認しています。
- 委任してもいいよという方は「symbol-node.takagi-tech.com」まで
- 投げXYMは「NDLS6GYOIPHATATNAVVOUNJXBD6X4BXU6IRBHIY」まで
事前準備
まずは最新の公式情報に目を通しましょう。
サイト | 備考 |
---|---|
https://symbolnodes.org/ | 全ての情報源 |
http://explorer.symbolblockchain.io/ | アカウントやトランザクションの確認に便利 |
https://docs.symbolplatform.com/ja/ | 公式ドキュメント |
https://github.com/nemtech/symbol-bootstrap | symbol-bootstrapのgithub |
サーバの準備
今回はAWSでサーバを構築します。推奨スペックは、
「CPU: 8core、メモリ: 32GB、容量: 750GB、Diskスピード: 1500 IOPS SSD」
とのことなので、EC2インスタンスは
「t3a.2xlarge (CPU: 8core, メモリ: 32GiB, EBS[gp2]: 768GiB
)」
にしました。
AMI:ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20210223
SecurityGroup:TCP3000,7900port
を0.0.0.0/0
で公開(お好みでssh用なども追加してください)
これで推奨スペック基準のubuntuサーバを用意できました。
環境構築
symbol-bootstrapを動作させるには、「Node, Docker, Docker Compose」がインストールされている必要があります。
下記手順でインストールしました。
既存パッケージ最新化
# sudo su -
# apt update -y
# apt upgrade -y
引き続きrootユーザのままで、
Nodeのインストール
# curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
# apt install -y nodejs
# node -v
v14.16.1
npmを最新版にアップデート
# npm install -g npm@latest
# npm -v
7.9.0
symbol-bootstrapのインストール
(4/12時点の最新バージョンはv1.0.3)
# npm install -g symbol-bootstrap@1.0.3
# symbol-bootstrap -v
symbol-bootstrap/1.0.3 linux-x64 node-v14.16.1
dockerのインストール
# apt install -y apt-transport-https ca-certificates gnupg-agent software-properties-common
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
# apt-key fingerprint 0EBFCD88
# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# apt install -y docker-ce docker-ce-cli containerd.io
# docker -v
Docker version 20.10.5, build 55c4c88
docker composeのインストール
# curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# docker-compose -v
docker-compose version 1.27.4, build 40524192
dockerをrootユーザーではなく一般ユーザーで操作できるようにします。
ubuntuユーザーをdockerグループに入れ、dockerサービスを再起動します。
ここまでがrootユーザでの作業です。
# usermod -g docker ubuntu
# /bin/systemctl restart docker.service
# exit
$ exit
symbol-bootstrapの導入・起動
ここからは一般ユーザ(ubuntuユーザ)で行います。
まず、データが保存されていくディレクトリの作成と、設定ファイルの作成を行います。
$ cd ~/
$ mkdir -p ~/symbol-bootstrap/target
$ cd ~/symbol-bootstrap
$ vi my-preset.yml
-----
nodes:
- friendlyName: Ninja Hi-performance Symbol-Node
maxUnlockedAccounts: 64
beneficiaryAddress: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----
推奨スペックとはいえ、現状そこそこリッチな環境なので、「maxUnlockedAccounts を 10(default) -> 64」へ引き上げます。
手数料が送られる、beneficiaryAddressは自分のウォレットアドレスを間違えないように入力します。
このウォレットアドレスの残高は0XYMでも問題ありません。
(ここが本記事の趣旨である0XYMでハーベスティングのキモです)
上記の設定で初期化します。
(下記コマンド実行時に、秘密鍵を扱うファイル操作用パスワードも設定します。)
$ symbol-bootstrap config -p mainnet -a dual -c my-preset.yml
念のため、設定通りになっているかを確認します。
$ less target/nodes/node/server-config/resources/config-node.properties
-----
[localnode]
host =
friendlyName = Ninja Hi-performance symbol node
version = 1.0.0.0
roles = Peer,Api
-----
大丈夫なことが確認できたので、起動します。
$ symbol-bootstrap start --detached
起動確認
$ symbol-bootstrap healthCheck
_ _ _ _ _
___ _ _ _ __ ___ | |__ ___ | | | |__ ___ ___ | |_ ___ | |_ _ __ __ _ _ __
/ __|| | | || '_ ` _ \ | '_ \ / _ \ | | _____ | '_ \ / _ \ / _ \ | __|/ __|| __|| '__|/ _` || '_ \
\__ \| |_| || | | | | || |_) || (_) || ||_____|| |_) || (_) || (_) || |_ \__ \| |_ | | | (_| || |_) |
|___/ \__, ||_| |_| |_||_.__/ \___/ |_| |_.__/ \___/ \___/ \__||___/ \__||_| \__,_|| .__/
|___/ |_|
2021-04-12T13:44:42.140Z info Container db is running
2021-04-12T13:44:42.141Z info Container node is running
2021-04-12T13:44:42.146Z info Container broker is running
2021-04-12T13:44:42.146Z info Container rest-gateway is running
2021-04-12T13:44:42.149Z info Container node port 7900 -> 7900 is open
2021-04-12T13:44:42.149Z info Container rest-gateway port 3000 -> 3000 is open
2021-04-12T13:44:42.157Z info Testing http://localhost:3000/node/health
2021-04-12T13:44:42.173Z info Rest http://localhost:3000/node/health is up and running...
2021-04-12T13:44:42.174Z info Network is running!
初回はブロックチェーンの同期に時間が掛かりますが、しばらく経つとNode Listから自分のノードが確認できるようになります。
(下記NodeはVoting設定も追加しています)
あとは委任とハーベスティングされるのをゆっくり待つのみです。
みなさまも良い収穫ライフを!!!
次回記事