Друзья,
Давно хотел сделать перевод инструкции по майнингу P3D, которая стала более актуальней после перехода на новый алгоритм, ориентированный на CPU и распределенный майнинг, доступный каждому:
https://bitcointalk.org/index.php?topic=5502515.0Оригинал инструкции:
https://3dpass.org/mainnetИтого:
- Устройства:
CPU-
Устойчивость к ASIC/GPU/FPGA- Запуск полной ноды - обязательное условие консенсуса
Доска с информацией по майнерам
http://3dpassmining.info-----
Майнинг одной командой с Docker (Linux, Windows, MacOS, любая)1. Установите Docker (
https://docs.docker.com/get-docker/) и Docker Compose: (
https://docs.docker.com/compose/install/) и запустите его
2. Откройте терминал и склонируйте проект на свой компьютер:
git clone https://github.com/3Dpass/3DP.git
3. Перейдите в папку и инсталируйте майнер (./3DP/miner.js) c pnpm:
убедитесь, что в папку P3D появился файл с зависимостями `./3DP/pnpm-lock.yaml`
4. Cоберите и запустить ноду и майнер данной командой:
cp docker-compose.override.yml.example docker-compose.override.yml
docker compose build
docker compose up
После запуска нода ругнется ошибкой "Invalid author address", это нормально. Остановите ноду.
5. Сгенерируйте ваш аккаунт одной из опций:
5.1. Опция 1: Сгенерируйте аккаунт через кошелек
https://wallet.3dpass.org/ (понадобится установить расширение для браузера
https://polkadot.js.org/extension/)
5.2. Опция 2: Использовать скрипт - замените содержание файла ~/3DP/docker/node.sh на следующий скрипт и запустите ноду:
#!/bin/bash
./p3d generate-mining-key --base-path /var/chain --chain mainnetSpecRaw.json
В ответ вы получите ваш аккаунт (фразу адрес и ключи), например:
Public key: 0xccc201f5b3e7036c5ea534096d75befbda68a9b285025csd7105bc4726f02f7e
Secret seed: fog olympic thrive recall allow page hood damage october curtain degrwe bubble
Address: d1GtBxnPwRZVez7VsQ9H7MskPn34H59RddrR9yXqhgDYsqC3t
Сохраните фразу в надежном месте и замените содержимое ~/3DP/docker/node.sh на прежнее.
6. Пропишите вашу фразу и адрес в ~/3DP/docker-compose.override.yml.example как в примере:
version: "3.9"
services:
node:
environment:
- MEMO_SEED=Ваша фраза
- ADDRESS=Ваш адрес
7. Запустите ноду и майнер и проверьте, что вы видите ее в телеметрии:
https://telemetry.3dpscan.io/#/0x6c5894837ad89b6d92b114a2fb3eafa8fe3d26a54848e3447015442cd6ef4e66Нода начнет синхронизироваться с сетью, это может занять время, чтобы скачать историю блоков.
Вы можете использовать снэпшот блокчейн базы, чтобы ускорить процесс:
- Блокчейн база расположена здесь (папка db): ./3DP/data/chain/chains/3dpass/db
- Скачайте и распакуйте снэпшот базы из репозитория https://github.com/xchainw/p3d-db/releases (предоставляется участниками комьюнити)
- Замените папку db на скачанную вами здесь ./3DP/data/chain/chains/3dpass/db
- Запустите ноду
Чтобы назначить ноде имя в телеметрии отредактируйте параметр `--name MY_NODE_NAME` в файле ~/3DP/docker/node.sh.
Майнинг на Linux и MacOSПодготовьте и запустите ноду:
1. Склонируйте проект из GitHub:
git clone https://github.com/3Dpass/3DP.git
cd 3DP
2. Скачайте бинарник последнего релиза `poscan-consensus
https://github.com/3Dpass/3DP/releasesили соберите ноду самостоятельно, пользуясь инструкциями readme.md
https://github.com/3Dpass/3DP#getting-started-with-3dpass-nodeЕсли вы скачивали бинарник, то положите его в папку `./target/release/poscan-consensus`!
3. Сгенерируйте ваш майнинг аккаунт (стандартный аккаунт 'sr25519')
./target/release/poscan-consensus generate-mining-key --base-path ~/3dp-chain/ --chain mainnetSpecRaw.json
В ответе будут ваши ключи и секретная фраза, например:
Public key: 0xccc201f5b3e7036c5ea534096d75befbda68a9b285025csd7105bc4726f02f7e Secret seed: fog olympic thrive recall allow page hood damage october curtain degrwe bubble Address: d1GtBxnPwRZVez7VsQ9H7MskPn34H59RddrR9yXqhgDYsqC3t
4. Зарегистрируйте ключи от аккаунта в keystore
./target/release/poscan-consensus import-mining-key 'your secret seed phrase' --base-path ~/3dp-chain/ --chain mainnetSpecRaw.json
5. Создайте еще один тип ключей ('ed25519') для верификации финализации блоков GRANDPA из той же самой фразы:
./target/release/poscan-consensus key inspect --scheme Ed25519 "ваша фраза из майнингового аккаунта"
в ответе будут ключи, например:
Secret phrase fog olympic thrive recall allow page hood damage october curtain degrwe bubble is account:
Network ID/Version: 71
Secret seed: 0x4934fa3a959af00a0caccf2be77d82f4cbf2154c3c7bebc021f2c1573f44fbb3 Public key (hex): 0x23dad301fa6165b70bf538ca3be304ad418232c76814b38223c57d69bf2b28d1
Account ID: 0x23dad301fa6165b70bf538ca3be304ad418232c76814b38223c57d69bf2b28d1 SS58 Address: d1HqrBYq9qsTbBb4tQtnt9sLgh9UsS7XJbgQgr5Cb4CxH2xAd
6. Добавьте ключ GRANDPA в keystore:
./target/release/poscan-consensus key insert --base-path ~/3dp-chain/ --chain mainnetSpecRaw.json --scheme Ed25519 --suri 0x4934fa3a959af00a0caccf2be77d82f4cbf2154c3c7bebc021f2c1573f44fbb3 --key-type gran
`--suri` - это Secret seed `hex`` из GRANDPA ключа (в примере выше: 0x4934fa3a959af00a0caccf2be77d82f4cbf2154c3c7bebc021f2c1573f44fbb3)
Убедитесь, что вы имеете оба ключа в keystore
ls ~/3dp-chain/chains/3dpass/keystore
7. Запустите ноду:
./target/release/poscan-consensus --base-path ~/3dp-chain/ --chain mainnetSpecRaw.json --name MyNodeName --validator --telemetry-url "wss://submit.telemetry.3dpscan.io/submit 0" --author 0xccc201f5b3e7036c5ea534096d75befbda68a9b285025csd7105bc4726f02f7e --threads 2 --no-mdns
`--author` - ваш публичный ключ от майнингового аккаунта
`--threads 2` - количество потоков (отрегулируйте на ваше усмотрение, оставьте один для синхронизации)
8. Вы можете так же использовать снэпшот блокчейн базы из этого репо:
https://github.com/xchainw/p3d-db/releasesСкачайте, распакуйте и замените папку `db`: ./3dp-chain/chains/3dpass/db
Рестартуйте ноду и дождитесь синхронизации. Убедитесь, что вы видите ноду в телеметрии
https://telemetry.3dpscan.io/#/0x6c5894837ad89b6d92b114a2fb3eafa8fe3d26a54848e3447015442cd6ef4e66Запустите майнинг:
1. Установите Bun
https://bun.sh/2. Установите майнер:
3. Запустите майнер (нода должна быть запущена!)
bun miner.js --host 127.0.0.1 --port 9933
Существует альтернативный майнер
https://github.com/3Dpass/miner , можете сравнить.
Удачного майнинга всем!