2021/3/19追記
現在はPACSafeという最新のウォレットで簡単にマスターノードが作成できます!
この記事のように複雑な手順や操作はいりません。
以下の関連記事を参考にしてください↓
2019年10月に$PAC→PAC Globalにリブランドされ、Masternode + POW→Masternode + POSにアップデートされました。
それによりマスターノードのセットアップ方法が変わり、以前より作業が面倒になっています。
公式のマニュアルもまあまあ分かりやすかったのですがエラーが出て少しハマったところもあり、情報を整理しながら手順を書きたいと思います。
ちなみに過去の$PACでマスターノードを立てていましたが、VPSをクリーンインストールした以外は特別な解除手順等はありませんでした。
- 公式 - PAC Globalマスターノードセットアップガイド
前提条件:
- ウォレットに資産が500,000pac以上ある事(マスターノード1つ毎に必要)
- 24時間フルで動かせるLinuxマシン(Ubuntu 18.04 64bit)がある事(VPSを推奨)
2020/02/16 追記
マスターノード報酬が入ってきました。
約10日で8280 pacです。
3回/月と考えると8280×3=24840 pacで、0.025円/pacとすると621円、Vultrのサーバー費用とトントンといった所でしょうか…
今後値上がりしてくれる事を願ってます!
2021/03/03 追記
現在はマスターノードの数が飛躍的に増えており約25日に1回くらいの報酬ですが、価格上昇のおかげで現在は約0.24円で8280pac×0.24円で約2000円の報酬です!
報酬の回数は減ってますが、値上がりしているのでVultrのサーバー費用を引いてもしっかり利益があります。
今後の更なる値上がりに期待!
目次
PAC Globalのウォレットをインストール
公式のGitHubからリリースされているウォレットをPCにダウンロードし、ウィザードに従ってインストールします。
Windows/Mac/Linuxは圧縮ファイル名の末尾にそれぞれwin64/mac64/lin64と書いてあるのでそれぞれの環境に合ったものを選んでください。
- 公式GitHub - PAC Global Wallets
ウォレットの設定
ウォレットをインストールしたらまずはステーキングのためにロックされないようにする為に、一時的にステーキングをオフにする必要があります。
PAC Globalフォルダーに移動します。
エクスプローラーのアドレスバーに%appdata%と入力するとAppData\Roamingまで行けるのでそこから探してもよいす。
そこのpacglobal.confファイルをテキストエディタで開き、staking=0と入力して保存します。
(デフォルトでC:\Users\<ユーザー名>\AppData\Roaming\PACGlobal\pacglobal.conf)
この状態でウォレットを起動してください。
ウォレットが起動した状態でファイルを編集した場合は一度ウォレットを終了し、再起動してください。
ウォレットの暗号化
まずはウォレットの暗号化が必要です。
設定->ウォレットの暗号化で任意のパスワードを入力してください。
※この時パスワードを表示するにチェックを入れていると内部エラーが発生しましたので、チェックしないでください
このパスワードは誰にも知られないよう、安全な場所に保管してください。
もし忘れると資産が取り出せなくなるので扱いに注意してください。
マスターノード用の500,000の担保を自分自身に送信
マスターノード1つにつき500,000を自分自身のウォレットの未使用アドレスに送信が必要です。
ツール->デバッグコンソールを開いて、getnewaddressを入力してアドレスを生成してください。
成功するとアドレスが生成されます。これをコピーしてください。
次にこのアドレスに500,000送信します。
複数マスターノードを立てたい方はその分この作業を繰り返してください。
取引手数料用アドレスに資産を送金
取引手数料用に100-200程度の資金が必要です。
同様にgetnewaddressでアドレスを生成し、送金しましょう。
私は100だけ送金しました。
このアドレスは後から使用するので保存しておいてください。
これらの送金が承認されるまで少し時間がかかりますが、この時点で次の作業が可能です。
BLSキーペアを作成
デバッグコンソールにbls generateを入力するとsecretとpublicの2つのキーが生成されます。
これもマスターノード毎に必要です。
後から使うのでテキストファイルなどにコピペして保存しておきましょう。
- secret→VPSに登録
- public→protx register_prepareで使用
ここでBLSのsecretキーをVPSに入力する為、VPSの説明に移ります。
VPSを構築してSSH接続する
公式ガイドで使用されているのはVultrですが、その他のAWS EC2やLightsail、GCPなどLinuxマシンが構築できればどのサービスを利用しても構いません。
しかし静的に固定されたIPアドレスを持つ事が必要でAWSやGCPだとIPアドレスの固定に別途費用がかかる事もあり、さらにメモリは最低1GB必要という条件ではVultrは$5/月とその他のサービスと比較して安価なのでやはりVultrがオススメです。
インストールするOSはUbuntu 18.04 64bit LTSです。
Ubuntu 16.04は対応していません。
以前の$PACでマスターノードを構築した方で18.04の方はアップデートも可能らしいですが、私はエラーが出て進まなかったので結局新規にインストールし直しました。
前の環境を残してアップデートするメリットも特になさそうですし、過去のマスターノード環境をVPSに構築されている方も余計なトラブルを避ける為、新規に構築する事をオススメします。
VPSやSSHについて説明していきますが、分かっている人は次の項目は飛ばしてください。
SSH Keyの作成
VPSの作成の前に、SSH(暗号化通信)接続の為に鍵の作成が必要です。
Windowsの方は代表的なSSHクライアントソフトであるPuTTYをオススメします。
ウィザード通りにインストールするとC:\Program Files\PuTTY\puttygen.exeに鍵を作成するソフトがあるので、まずはこれを起動します。
Parametersの部分がRSAにチェックされている事を確認してGenerateを押したらプログレスバーの下の空白部分でマウスをグリグリ動かしてください。
するとSSHキーが作成されます。
KeyのコメントにはMN1などマスターノードのラベルを貼っておいてもよいです。
パスワードを登録したい場合はKey passphraseとConfirm passphraseに同じ文字列を入力してください。
Save public key(任意)とSave private key(必須)を押してそれぞれ保存しておきましょう。
これでSSHの準備は完了です。
Mac/Linuxの方はターミナルから接続できるそうです。
これらを使われている方は多分リテラシーが高い方だと思うので、説明は省きます。
VPSを構築(Vultrの例)
VPSの作成は公式の推奨通りVultrを例にあげます。
アカウントが無い場合、まずは登録してアカウントを作成します。
以下のリンクから登録すると$100(or 30日間)無料なのでお試しでマスターノードを建てたい人はお得です。
https://www.vultr.com/?ref=8810632-6G
マスターノード1台$5なので、20台までなら1ヶ月分無料です!
登録してログイン後、Productsのメニューに+ボタン(Deploy New Server)があるのでクリックし、VPSの作成を行います。
ここら辺はあまり考えずにそのまま説明通りに選びましょう。
Choose ServerではCloud Computeを選択
Server TypeはUbuntu 18.04 x64を選択
Sever LocationはどこでもOK
Sever Sizeはメモリ1GBあればよいので$5/月の最小サイズを選択
SSH Keyを新規に登録する場合はAdd NewからPuTTYの項で作成したSSH Keyを登録します。
ssh-rsaの下にpublic keyの文字列を登録します。
コメント部分は無くても良いです。
SSH Keyの登録をして使用するキーを選択したらDeploy Nowを押せばVPSの作成完了です。
ラベルに任意の名前を入れて管理しやすいようにしましょう。
作成したVPSをクリックすると詳細が見れます。
ここでIPアドレスを確認しておきます。
C:\Program Files\PuTTY\putty.exeを起動して
SSH->Authを選択し、Private key file for authenticationに保存したSSHのprivate key(xxx.ppk)のパスを入力します。
Sessionの項目を選択し、先程確認したVPSのIPアドレスを入力し、Port22になってSSHにチェックが入っていれば準備OKです。
Saved Sessionsにラベル名を入力して設定をSaveし、後から呼び出せるようにしておくと楽です。
Openを押すと接続が始まります。
※ルータやファイアウォールの設定でポート22番がブロックされて接続できない場合があります。その場合はポート22番が使えるように管理者に連絡するか自力で設定変更が必要です。
初回接続時は以下のような画面が表示されますが、気にせずはいを押してください。
接続するとユーザー名を聞かれますのでrootと入力しましょう。
SSHキーの作成時にパスワードを設定していなければそのままログインできます。
次から色々コマンドを打ちながら面倒な作業を行っていきます。
VPSにPAC Global coreをインストールする
Vultrの場合はrootユーザーでログインしていますがその他のVPSだとrootじゃない場合があるので、sudo suコマンドでrootユーザーにしておきます。
sudo su
まずは次のコマンドを入力してVPSにマスターノード用のソフトをインストールします。
※PuTTYのコンソールでコピーしたテキストを貼り付ける場合はCtrl+Vではなく、右クリックを押してください。
wget https://raw.githubusercontent.com/PACGlobalOfficial/PAC/master/pacglobal-mn.sh && chmod +x pacglobal-mn.sh && ./pacglobal-mn.sh
途中でBLSキーペアのうちsecretキーを聞かれるので、保存しておいたキーを入力してください。
無事にインストールされると以下の画面になります。
マスターノードがブロックチェーンに完全に同期するまで時間がかかります(数時間程度)。
このコマンドで同期の状況がみれます。
~/PACGlobal/pacglobal-cli mnsync status
同期完了すると以下の画面になりますが、完了しなくても作業は進められます。
ウォレットのデバッグコンソールで登録作業
またウォレットのデバッグコンソールに戻ります。
ここから先ほど保存したBLSキーのpublic key、取引手数料用のアドレス等を使って順にコマンドを打ち込んでいきます。
どの値がどこに対応するかは表を見て確認しながら慎重に進めましょう。
ウォレットのロック解除
ここからのコマンドはウォレットがアンロックされている必要があります。
以下のコマンドでアンロックしましょう。
walletpassphrase yourSecretPassword 300
パラメータの意味は以下です。
- yourSecretPassword:ウォレットの暗号化で決めたパスワード
- 300:アンロックされる時間(秒)。10分アンロックしたい場合は600を入力
時間が経ってロックされたら再度アンロックしましょう。
ProRegTXトランザクションの準備
順番にコマンドを打って必要なパラメータを取得していきます。
全てメモっておきましょう。
これは500,000を送信したアドレスの数だけ表示されると思いますが、1つのマスターノードにつき1つずつ必要です。
例) {"16347a28f4e5edf39f4dceac60e2327931a25fdee1fb4b94b63eeacf0d5879e3" : "1",}
masternode outputs
ownerKeyAddrを生成します。
getnewaddress
ProRegTXトランザクションの準備コマンドを入力します。
以下はprotx register_prepareコマンドで使用するパラメータの意味です。
今までの手順で揃っているはずですが、無い場合は以下を参考に取得してください。
パラメータ | 取得する為のコマンド | 備考 |
collateralHash | masternode outputs | 長い方の文字列 |
collateralIndex | 短い方の数値 | |
ipAndPort | - | VPSのIPアドレス:7112 |
ownerKeyAddr | getnewaddress | votingKeyAddrと同じアドレスでOK
500,000送信したアドレスとは別にしないとエラーになる |
operatorPubKey | bls generate | BLSのpublic key |
votingKeyAddr | getnewaddress | ownerKeyAddrと同じアドレスでOK |
operatorReward | 0 | 0で固定 |
payoutAddress | getnewaddress | 取引手数料100-200を送信したアドレス
送金されていない、アドレスの資産が0の場合はエラーが出る アドレスの資産はblock explorerで検索し、balanceの項目で確認可能 |
(feeSourceAddress) | getnewaddress | 省略可能(その場合はpayoutAddressと同じになる)
payoutAddressと同じにしてもOK 別のアドレスでもOK |
protx register_prepare collateralHash collateralIndex ipAndPort ownerKeyAddr operatorPubKey votingKeyAddr operatorReward payoutAddress (feeSourceAddress)
ここで出力されたパラメータは次とその次のコマンドで使うので保存してください。
- tx (protx register_submitコマンド)
- collateralAddress (signmessageコマンド)
- signMessage (signmessageコマンド)
ProPegTX transactionの署名
さっき得られたパラメータをそのまま次のコマンドに使います。
signmessage collateralAddress signMessage
このコマンドで得られたパラメータはまた次のコマンドで使用するので保存してください。
sig (コンソール上はパラメータ名の表示なし)
signed messageの送信
これで最後です。
protx register_submitでそれぞれのパラメータを入力してください。
- tx (protx register_submitコマンド)
- sig (signmessage コマンド)
protx register_submit tx sig
エラーが表示されずに長い文字列が表示されればマスターノードの登録完了です。
正常に登録されていればしばらくするとウォレットで確認できます。
My masternodes onlyにチェックを入れてみてください。
ブロックが次の支払いの欄に記載されているブロック数に達すると報酬が入ると思います。
現在のブロック数はツール->情報で確認できます。
また、以下のコマンドをVPSのコンソールで入力すると登録したマスターノードのIPアドレスや今までのコマンドで入力したパラメータの情報が見れます。
これも反映まで少し時間がかかります。
~/PACGlobal/pacglobal-cli masternode status
複数マスターノードを立てる場合は今までの手順を繰り返してください。
自分がハマったところ
ウォレットのコマンドの途中でエラーが出たのは以下です。
- protx register_prepareコマンドでNo fund ~ の資金がありませんという旨のエラーメッセージ→取引手数料用のアドレス(payoutAddress)に資産が0。100-200の送金が必要
- protx register_submitコマンドでアドレスがダブってるという旨のエラーメッセージ→500,000送金したアドレスをownerKeyAddrとvotingKeyAddrに設定してしまった。
今までの手順には上記の注意点も含めてあるので、通りに正しく作業すれば成功するはずです。
もしどうしてもエラーで進めない場合は手順を最初からやり直したほうがいいかもしれません。
公式のQ&Aなども参考になると思います。
コマンドを打ったりパラメータを保存したり、作業が多くて面倒かもしれませんが頑張ってください。