ウォレットを準備
- PirateCash Core ファイルを任意の場所に展開します。この場所からウォレットを実行します。
-
ウォレットを暗号化します: Settings -> Encrypt Wallet。パスワードを選び、書き留めて、ウォレットを再起動してください。
- ウォレットのバックアップ: File -> Backup Wallet
-
Window -> Console をクリックしてコンソールを開きます。担保用の新しい PirateCash アドレスを生成するため、コンソールに次のコマンドを入力します:
getnewaddress MN1 getnewaddress MN1 -
@piratecash_bot 経由でこのアドレスへ 10,000 PIRATE を送るには、💵 Balance → PirateCash → 📤 Withdraw️ メニューへ進むか、/withdraw_pirate コマンドを実行してください。
DigitalOcean で Linux droplet を作成
- 登録 アカウントを作成し、新しい “droplet”(Digital Ocean の用語)を作成します
- Ubuntu 26.04 (LTS) を選択
- 2 GB/1vCPU を選択 - 十分で月額 $12 のみ
- 好きなデータセンター地域を選択して作成します。
- droplet の IP アドレスを書き留めます
- 初期 VPS root パスワードが記載されたメールを確認します
-
PuTTY 経由で VPS にアクセスします。これにより VPS へコマンドをコピー&ペーストできます。Web コンソールではできません。Mac ユーザーは Terminal を使えます。Launchpad -> Search -> Terminal -> 入力: ssh root@IP
ssh root@SERVER_IP -
P2P: 63636/tcp
ufw allow 63636/tcp ufw enable -
Swap ファイルを作成:
fallocate -l 1G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo "/swapfile none swap sw 0 0" >> /etc/fstab
masternode リポジトリからの自動設定
BLS キーを生成した後、ノードを設定する最も簡単な方法は、私たちの masternode リポジトリのスクリプトを使うことです。
- 10,001 PIRATE を購入します。例: PancakeSwap。
- すでにトークンを持っている場合は、@piratecash_bot でネイティブ PIRATE に交換します。
- ホスティングプロバイダーでサーバーを起動します。例: このホスティングリンク。
- SSH でサーバーへアクセスします。
-
リポジトリをクローンします: https://github.com/piratecash/masternode。
git clone https://github.com/piratecash/masternode.git cd masternode - PirateCash で bls generate を実行して BLS キーを生成します。Docker 内の /home/pirate/.piratecore/piratecash.conf、またはホストシステムの /opt/node/piratecash/piratecash.conf にある masternodeblsprivkey=xxx へ secret の値を入れます。
-
自動設定のために ./install_masternode.sh を実行します。
./install_masternode.sh - Docker を再起動します。
- PirateCash Core でマスターノードを有効化し、その後、下の有効化手順を続けます。
マスターノード設定ファイルのセットアップ
2つ目の方法: 手動設定。 この方法はより複雑です。自動設定スクリプトを使わない場合だけ利用してください。
BLS
- RPC コンソールへ入る: Window –> Console
-
入力: bls generate
bls generate
PirateCash Core
-
Droplet へ移動し、次を実行してください ダウンロード アーカイブ
wget https://github.com/piratecash/piratecash/releases/download/v23.1.7-pirate/piratecashcore-23.1.7-x86_64-pc-linux-gnu.tar.bz2tar -xjf piratecashcore-23.1.7 -x86_64-pc-linux-gnu.tar.bz2 -
ディレクトリを作成 mkdir ~/.piratecore
mkdir -p ~/.piratecore nano ~/.piratecore/piratecash.conf - 次の内容でファイル ~/.piratecore/piratecash.conf を作成:
rpcuser=RPC_USER
rpcpassword=RPC_PASSWORD
corsarpcuser=CORSA_RPC_USER
corsarpcpassword=CORSA_RPC_PASSWORD
corsarpcport=46464
rpcallowip=127.0.0.1
server=1
rest=1
listen=1
txindex=1
listenonion=0
daemon=1
maxconnections=700
masternodeblsprivkey=BLS_SECRET_KEY
externalip=SERVER_IP
XXXXXXX と記された欄を次のように置き換えます:
rpcuser: 数字または文字の任意の文字列を入力します。特殊文字は使えません。
rpcpassword: 数字または文字の任意の文字列を入力します。特殊文字は使えません。
corsarpcuser: ローカル corsa-chat サービスの RPC ユーザー名を入力します。
corsarpcpassword: ローカル corsa-chat サービスの RPC パスワードを入力します。
corsarpcport: corsa-chat に設定した RPC ポートを使用します。デフォルトは 46464 です。
externalip: VPS の IP アドレスです。
コンソールで bls generate コマンドを実行して masternodeblsprivkey 欄を入力し、piratecashd デーモンを再起動してください。
corsa-chat 要件
PirateCash Core v19 の corsa-chat 要件
PirateCash Core v19 以降、マスターノードは同じサーバー上でローカルの corsa-chat/Corsa ノードも実行する必要があります。masternode リポジトリの自動設定は、PirateCash Core と corsa-chat をまとめて設定します。この要件は PIP-0001 に記載されています。
PirateCash Core を起動する前に、Corsa デーモンをダウンロードして起動します。piratecash.conf の corsarpcuser と corsarpcpassword と同じ RPC ユーザー名とパスワードを使用してください:
wget https://github.com/piratecash/corsa/releases/download/v1.0.62/corsa-linux-amd64.tar.bz2tar -xjf corsa-linux-amd64.tar.bz2
nohup env \
CORSA_LISTEN_ADDRESS=:64646 \
CORSA_BOOTSTRAP_PEERS=65.108.204.190:64646 \
CORSA_RPC_HOST=127.0.0.1 \
CORSA_RPC_PORT=46464 \
CORSA_RPC_USERNAME=CORSA_RPC_USER \
CORSA_RPC_PASSWORD=CORSA_RPC_PASSWORD \
./corsa-node > corsa-node.log 2>&1 &
Corsa が起動したら、PirateCash デーモンを起動します。
./piratecashd
Sentinel
新しいマスターノードでは Sentinel の設定は不要になりました。PirateCash Core v20 で Sentinel サポートは deprecated になるため、Sentinel のインストールや Sentinel cron ジョブの設定は不要です。
ProRegTx
-
トランザクション完了後、後で設定ファイルと登録トランザクションに含めるため、トランザクション関連の各種キーを抽出する必要があります。この登録トランザクションは証明として機能し、設定をブロックチェーンに記録して、マスターノードが deterministic list に含まれることを保証します。masternode outputs を実行してください。
masternode outputs
-
ProRegTx トランザクションを準備
まず、所有者キーアドレス(ownerKeyAddr)として使う新しい未使用アドレスをウォレットから取得します。これは 10,000 PIRATE を保持する担保アドレスとは異なります。次のように新しいアドレスを生成します:
getnewaddress owner_keygetnewaddress owner_key -
このアドレスは投票キーアドレス(votingKeyAddr)としても使用できます。あるいは、選択した投票代理人から提供されたアドレスを指定するか、次のように新しい投票キーアドレスを生成できます:
getnewaddress voting_keygetnewaddress voting_key -
次に、所有者のマスターノード報酬を受け取るアドレス(payoutAddress)を生成するか、既存のアドレスを選択します。ウォレット外部のアドレスも使用できます:
getnewaddress masternode_payoutsgetnewaddress masternode_payouts
-
また、トランザクション手数料の送金元(feeSourceAddress)として別のアドレスを生成し、資金を入れる必要がある場合があります。外部 payout アドレスを選択した場合は、手数料送金元アドレスを指定する必要があります:
getnewaddress pay_feesgetnewaddress pay_fees -
これから protxregister_prepare コマンドを使って、未署名の ProRegTx 特殊トランザクションを準備します。このコマンドの構文は次のとおりです。
protx register_prepare collateralHash collateralIndex ipAndPort ownerKeyAddr operatorPubKey votingKeyAddr operatorReward payoutAddress feeSourceAddress
notepad などのテキストエディタを開いてこのコマンドを準備してください。各引数を次のように置き換えます:
collateralHash: 10,000 PIRATE 担保資金トランザクションの txid
collateralIndex: 10,000 PIRATE 資金トランザクションの出力インデックス
ipAndPort: x.x.x.x:63636 形式のマスターノード IP アドレスとポート
ownerKeyAddr: 上で生成した所有者/投票用の新しい PirateCash アドレス
operatorPubKey: 上で生成した BLS 公開鍵(またはホスティングサービスから提供されたもの)
votingKeyAddr: 上で生成した新しい PirateCash アドレス、または提案投票に使う代理人のアドレス
operatorReward: オペレーターへの支払いとして割り当てるブロック報酬の割合
payoutAddress: 所有者のマスターノード報酬を受け取る新規または既存の PirateCash アドレス
feeSourceAddress: ProTx 手数料の資金源となるアドレス。指定しない場合は payoutAddress が使用されます。protx register_prepare COLLATERAL_TX_HASH COLLATERAL_OUTPUT_INDEX SERVER_IP:63636 OWNER_ADDRESS OPERATOR_PUBLIC_KEY VOTING_ADDRESS 0 PAYOUT_ADDRESS FEE_SOURCE_ADDRESS
-
ProRegTx トランザクションへ署名
collateralAddress に指定された担保アドレスの秘密鍵を使い、signMessage フィールドの内容へ署名します。この手順にインターネット接続は不要です。つまり、ウォレットをコールドストレージ内でインターネットから切断したままメッセージへ署名できます。この例では再び PirateCash Core を使用しますが、ハードウェアウォレットの署名機能も同様に利用できます。コマンド構文は次のとおりです:
signmessage collateralAddress signMessagesignmessage COLLATERAL_ADDRESS SIGN_MESSAGE
-
署名済みメッセージを送信
これから ProRegTx 特殊トランザクションをブロックチェーンへ送信し、マスターノードを登録します。標準トランザクション手数料が必要なため、このコマンドは feeSourceAddress または payoutAddress のいずれかに残高を持つ PirateCash Core ウォレットから送信する必要があります。コマンド構文は次のとおりです:
protx register_submit tx sig
tx: protx register_prepare コマンドの tx 出力フィールドで返されたシリアライズ済みトランザクション
sig: signmessage コマンドで担保キーにより署名されたメッセージprotx register_submit PREPARED_TX SIGNATURE
-
これでマスターノードは登録され、トランザクションがブロックに採掘された後、Deterministic Masternode List に表示されます。
既存の自動マスターノードを更新する
以前に masternode リポジトリからノードをインストールした場合は、このセクションを使います。リポジトリ内の piratecash-main/piratecash.conf はテンプレートのみです。実際のノード設定は /opt/node/piratecash/piratecash.conf にあります。
- SSH でサーバーに接続し、通常は ~/masternode にあるリポジトリディレクトリへ移動します。
- git pull を実行します。Git が piratecash-main/piratecash.conf のローカル変更が上書きされると表示した場合、そのテンプレートファイルだけに重要な値を保存していないか確認してください。
- 値がすでに /opt/node/piratecash/piratecash.conf にある場合は、git checkout -- piratecash-main/piratecash.conf でローカルのテンプレート変更を破棄します。
- もう一度 git pull を実行し、update_masternode.sh を含む新しいファイルを取得します。
- ./update_masternode.sh を実行します。スクリプトは Docker 設定を更新し、Corsa RPC 認証情報を保持または作成して .env と /opt/node/piratecash/piratecash.conf に書き込み、コンテナを再ビルドして起動します。
cd ~/masternode
git status
git checkout -- piratecash-main/piratecash.conf
git pull
./update_masternode.sh
スクリプト完了後、コンテナが実行中か確認します:
docker compose ps
リポジトリ内のテンプレートファイルだけを意図的に変更していた場合は、git checkout -- の前にその値をコピーし、更新後に /opt/node/piratecash/piratecash.conf へ再設定してください。