Огляд
- Завантаження гаманця з GitHub, та підготовка
- Купівля Pirate на біржах , відправка застави майстерноди на адресу гаманця
- Налаштування сервера Linux
- Керування сервером за допомогою PuTTY(Windows) або Terminal(Mac)
- Налаштування файлу конфігурації майстерноди
Підготовка гаманця
- Розпакуйте архів у будь-яке місце, запустіть виконуючий файл.
-
Встановіть пароль на свій гаманець, Налаштування -> Зашифрувати гаманець, впишіть пароль 2 рази, обов'язково збережіть пароль у надійному місці, перезапустіть гаманець
- Резервна копія: Файл -> Зробити резервну копію гаманця, збережіть створений файл на флешку або на окремому диску, це повна копія вашого гаманця.
-
Натисніть Window -> Console, щоб відкрити консоль. Введіть таку команду для генерації нової адреси PirateCash під заставу:
getnewaddress MN1 getnewaddress MN1 -
Щоб надіслати 10,000 PIRATE на цю адресу через @piratecash_bot, перейдіть у меню 💵 Баланс → PirateCash → 📤 Вивід або виконайте команду /withdraw_pirate.
Створення сервера Лінукс на Digital Ocean
- Зареєструйте обліковий запис, створіть новий дроплет на Digital Ocean. Примітка: Digital Ocean вибраний як приклад, ви можете використовувати будь-який VPS-сервер на ваш розсуд
- Оберіть Ubuntu 26.04 (LTS)
- Мінімальні вимоги 2GB Ram
- Виберіть будь-який регіон
- Запишіть IP адресу вашого сервера
- Перевірте свій e-mail для доступу до сервера
-
Доступ до сервера через PuTTY - це дозволить вам копіювати та вставляти команди, через web-консоль ви не зможете цього зробити, користувачі MAC можуть використовувати Terminal. Панель запуску -> Пошук -> Термінал -> Введіть: ssh root@IP
ssh root@SERVER_IP -
P2P: 63636/tcp
ufw allow 63636/tcp ufw enable -
Створіть файл підкачування:
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.
- Якщо у вас уже є токени, обміняйте їх на нативні PIRATE через @piratecash_bot.
- Запустіть сервер у хостинг-провайдера, наприклад через це посилання на хостинг.
- Підключіться до сервера через SSH.
-
Склонуйте репозиторій: https://github.com/piratecash/masternode.
git clone https://github.com/piratecash/masternode.git cd masternode - Згенеруйте BLS-ключ у PirateCash командою bls generate. Вставте значення secret у masternodeblsprivkey=xxx у файлі /home/pirate/.piratecore/piratecash.conf всередині Docker або /opt/node/piratecash/piratecash.conf на хост-системі.
-
Запустіть ./install_masternode.sh для автоматичного налаштування.
./install_masternode.sh - Перезапустіть Docker.
- Активуйте майстерноду через PirateCash Core, потім продовжте кроки активації нижче.
Конфігурація файлу майстерноди
Другий варіант: ручне налаштування. Цей спосіб складніший; використовуйте його лише якщо не хочете користуватися скриптом автоматичного налаштування.
BLS
- Запустіть консоль гаманця: Window -> Console
-
Введіть: bls generate і натисніть Enter
bls generate
PirateCash Core
-
На сервер Завантажте архів гаманця та розархівуйте його, для цього у вікні PuTTY виконайте:
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: вкажіть RPC-імʼя користувача локального сервісу corsa-chat
corsarpcpassword: вкажіть RPC-пароль локального сервісу corsa-chat
corsarpcport: вкажіть RPC-порт, налаштований для corsa-chat; за замовчуванням 46464
externalip: IP-адреса вашого VPS
Заповніть поле masternodeblsprivkey, виконавши команду bls generate у консолі, потім перезапустіть демон piratecashd.
Вимога corsa-chat
Вимога corsa-chat для PirateCash Core v19
Починаючи з PirateCash Core v19, майстернода також має запускати локальну ноду corsa-chat/Corsa на тому самому сервері. Автоматичне налаштування з репозиторію masternode налаштовує PirateCash Core і corsa-chat разом. Вимогу описано в PIP-0001.
Перед запуском PirateCash Core завантажте та запустіть демон Corsa. Використовуйте ті самі значення RPC-логіна й пароля, що вказані в corsarpcuser і corsarpcpassword у piratecash.conf:
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 більше не потрібне для нових майстернод. Підтримка Sentinel буде deprecated у PirateCash Core v20, тому Sentinel і cron-завдання Sentinel встановлювати не потрібно.
ProRegTx
-
Після завершення транзакції потрібно витягти різні ключі, повʼязані з нею, для подальшого додавання в конфігураційний файл і реєстраційну транзакцію. Ця реєстраційна транзакція слугує доказом, записує конфігурацію в блокчейн і забезпечує включення майстерноди до детермінованого списку. Виконайте 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). Якщо обрано зовнішню адресу виплат, необхідно вказати адресу джерела комісії:
getnewaddress pay_feesgetnewaddress pay_fees -
Тепер підготуємо непідписану спеціальну транзакцію ProRegTx за допомогою команди protx register_prepare. Синтаксис команди:
protx register_prepare collateralHash collateralIndex ipAndPort ownerKeyAddr operatorPubKey votingKeyAddr operatorReward payoutAddress feeSourceAddress
Відкрийте текстовий редактор, наприклад notepad, щоб підготувати цю команду. Замініть кожен аргумент таким чином:
collateralHash: txid транзакції застави на 10,000 PIRATE
collateralIndex: індекс виходу транзакції застави на 10,000 PIRATE
ipAndPort: IP-адреса і порт майстерноди у форматі x.x.x.x:63636
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
Тепер підпишемо вміст поля signMessage приватним ключем адреси застави, зазначеної в collateralAddress. Для цього кроку не потрібне підключення до інтернету, тому гаманець може залишатися відключеним від мережі в холодному зберіганні. У цьому прикладі знову використовується PirateCash Core, але також можна використовувати функцію підпису апаратного гаманця. Синтаксис команди:
signmessage collateralAddress signMessagesignmessage COLLATERAL_ADDRESS SIGN_MESSAGE
-
Надішліть підписане повідомлення
Тепер надішлемо спеціальну транзакцію ProRegTx у блокчейн для реєстрації майстерноди. Цю команду потрібно виконати з гаманця PirateCash Core, на якому є баланс на feeSourceAddress або payoutAddress, оскільки знадобиться стандартна комісія транзакції. Синтаксис команди:
protx register_submit tx sig
tx: серіалізована транзакція, раніше отримана в полі tx після команди protx register_prepare
sig: повідомлення, підписане ключем застави через команду signmessageprotx register_submit PREPARED_TX SIGNATURE
-
Ваша майстернода зареєстрована і зʼявиться в детермінованому списку майстернод після включення транзакції в блок.
Оновлення вже встановленої автоматичної майстерноди
Цей розділ для тих, хто раніше встановлював ноду з репозиторію 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.