Сервіси Інвестування Статистика MasterNode Обмін PIRATE DAO Оглядач блоків FAQ Допомога проєкту проекту

Огляд

  • Завантаження гаманця з GitHub, та підготовка
  • Купівля Pirate на біржах , відправка застави майстерноди на адресу гаманця
  • Налаштування сервера Linux
  • Керування сервером за допомогою PuTTY(Windows) або Terminal(Mac)
  • Налаштування файлу конфігурації майстерноди

Підготовка гаманця

  1. Розпакуйте архів у будь-яке місце, запустіть виконуючий файл.
  2. Встановіть пароль на свій гаманець, Налаштування -> Зашифрувати гаманець, впишіть пароль 2 рази, обов'язково збережіть пароль у надійному місці, перезапустіть гаманець
  3. Резервна копія: Файл -> Зробити резервну копію гаманця, збережіть створений файл на флешку або на окремому диску, це повна копія вашого гаманця.
  4. Натисніть Window -> Console, щоб відкрити консоль. Введіть таку команду для генерації нової адреси PirateCash під заставу: getnewaddress MN1
    getnewaddress MN1
  5. Щоб надіслати 10,000 PIRATE на цю адресу через @piratecash_bot, перейдіть у меню 💵 Баланс → PirateCash → 📤 Вивід або виконайте команду /withdraw_pirate.

Створення сервера Лінукс на Digital Ocean

  1. Зареєструйте обліковий запис, створіть новий дроплет на Digital Ocean. Примітка: Digital Ocean вибраний як приклад, ви можете використовувати будь-який VPS-сервер на ваш розсуд
  2. Оберіть Ubuntu 26.04 (LTS)
  3. Мінімальні вимоги 2GB Ram
  4. Виберіть будь-який регіон
  5. Запишіть IP адресу вашого сервера
  6. Перевірте свій e-mail для доступу до сервера
  7. Доступ до сервера через PuTTY - це дозволить вам копіювати та вставляти команди, через web-консоль ви не зможете цього зробити, користувачі MAC можуть використовувати Terminal. Панель запуску -> Пошук -> Термінал -> Введіть: ssh root@IP
    ssh root@SERVER_IP
  8. P2P: 63636/tcp
    ufw allow 63636/tcp
    ufw enable
  9. Створіть файл підкачування:
    fallocate -l 1G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile
    swapon /swapfile
    echo "/swapfile none swap sw 0 0" >> /etc/fstab

Автоматичне налаштування з репозиторію masternode

Після генерації BLS-ключа найпростіший спосіб налаштувати ноду: використати скрипт із нашого репозиторію masternode.

  1. Купіть 10 001 PIRATE, наприклад на PancakeSwap.
  2. Якщо у вас уже є токени, обміняйте їх на нативні PIRATE через @piratecash_bot.
  3. Запустіть сервер у хостинг-провайдера, наприклад через це посилання на хостинг.
  4. Підключіться до сервера через SSH.
  5. Склонуйте репозиторій: https://github.com/piratecash/masternode.
    git clone https://github.com/piratecash/masternode.git
    cd masternode
  6. Згенеруйте BLS-ключ у PirateCash командою bls generate. Вставте значення secret у masternodeblsprivkey=xxx у файлі /home/pirate/.piratecore/piratecash.conf всередині Docker або /opt/node/piratecash/piratecash.conf на хост-системі.
  7. Запустіть ./install_masternode.sh для автоматичного налаштування.
    ./install_masternode.sh
  8. Перезапустіть Docker.
  9. Активуйте майстерноду через PirateCash Core, потім продовжте кроки активації нижче.

Конфігурація файлу майстерноди

Другий варіант: ручне налаштування. Цей спосіб складніший; використовуйте його лише якщо не хочете користуватися скриптом автоматичного налаштування.

BLS

  1. Запустіть консоль гаманця: Window -> Console
  2. Введіть: bls generate і натисніть Enter
    bls generate

PirateCash Core

  1. На сервер Завантажте архів гаманця та розархівуйте його, для цього у вікні 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
  2. Створіть директорію mkdir ~/.piratecore
    mkdir -p ~/.piratecore
    nano ~/.piratecore/piratecash.conf
  3. Створіть файл ~/.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

  1. Після завершення транзакції потрібно витягти різні ключі, повʼязані з нею, для подальшого додавання в конфігураційний файл і реєстраційну транзакцію. Ця реєстраційна транзакція слугує доказом, записує конфігурацію в блокчейн і забезпечує включення майстерноди до детермінованого списку. Виконайте masternode outputs
    masternode outputs
  2. Підготуйте транзакцію ProRegTx
    Спочатку потрібно отримати нову невикористану адресу з гаманця, яка буде адресою ключа власника (ownerKeyAddr). Це не та сама адреса, на якій знаходиться застава 10,000 PIRATE. Створіть нову адресу командою:
    getnewaddress owner_key
    getnewaddress owner_key
  3. Цю адресу також можна використовувати як адресу ключа голосування (votingKeyAddr). Або можна вказати адресу, надану обраним делегатом для голосування, чи просто створити нову адресу ключа голосування командою:
    getnewaddress voting_key
    getnewaddress voting_key
  4. Потім створіть або виберіть наявну адресу для отримання виплат власника майстерноди (payoutAddress). Також можна використовувати адресу поза гаманцем:
    getnewaddress masternode_payouts
    getnewaddress masternode_payouts
  5. Також потрібно створити та поповнити ще одну адресу як джерело комісії транзакції (feeSourceAddress). Якщо обрано зовнішню адресу виплат, необхідно вказати адресу джерела комісії:
    getnewaddress pay_fees
    getnewaddress pay_fees
  6. Тепер підготуємо непідписану спеціальну транзакцію 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
  7. Підпишіть транзакцію ProRegTx
    Тепер підпишемо вміст поля signMessage приватним ключем адреси застави, зазначеної в collateralAddress. Для цього кроку не потрібне підключення до інтернету, тому гаманець може залишатися відключеним від мережі в холодному зберіганні. У цьому прикладі знову використовується PirateCash Core, але також можна використовувати функцію підпису апаратного гаманця. Синтаксис команди:
    signmessage collateralAddress signMessage
    signmessage COLLATERAL_ADDRESS SIGN_MESSAGE
  8. Надішліть підписане повідомлення
    Тепер надішлемо спеціальну транзакцію ProRegTx у блокчейн для реєстрації майстерноди. Цю команду потрібно виконати з гаманця PirateCash Core, на якому є баланс на feeSourceAddress або payoutAddress, оскільки знадобиться стандартна комісія транзакції. Синтаксис команди:

    protx register_submit tx sig

    tx: серіалізована транзакція, раніше отримана в полі tx після команди protx register_prepare
    sig: повідомлення, підписане ключем застави через команду signmessage
    protx register_submit PREPARED_TX SIGNATURE
  9. Ваша майстернода зареєстрована і зʼявиться в детермінованому списку майстернод після включення транзакції в блок.

Оновлення вже встановленої автоматичної майстерноди

Цей розділ для тих, хто раніше встановлював ноду з репозиторію masternode. Файл piratecash-main/piratecash.conf у репозиторії — лише шаблон; робочий конфіг ноди знаходиться в /opt/node/piratecash/piratecash.conf.

  1. Підключіться до сервера через SSH і перейдіть у директорію репозиторію, зазвичай це ~/masternode.
  2. Виконайте git pull. Якщо Git пише, що локальні зміни в piratecash-main/piratecash.conf будуть перезаписані, перевірте, чи не зберігаєте ви важливі значення лише в цьому шаблонному файлі.
  3. Якщо значення вже є в /opt/node/piratecash/piratecash.conf, скиньте локальну зміну шаблону командою git checkout -- piratecash-main/piratecash.conf.
  4. Знову виконайте git pull, щоб завантажити нові файли, включно з update_masternode.sh.
  5. Запустіть ./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.