Bitcoin Forum

Local => Майнеры => Topic started by: chum_yum on July 10, 2024, 08:33:59 AM



Title: Майнинг P3D | CPU устройства | устойчивость к ASIC/FPGA/GPU
Post by: chum_yum on July 10, 2024, 08:33:59 AM
Друзья,

Давно хотел сделать перевод инструкции по майнингу 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. Откройте терминал и склонируйте проект на свой компьютер:
Code:
git clone https://github.com/3Dpass/3DP.git
3. Перейдите в папку и инсталируйте майнер (./3DP/miner.js) c pnpm:
Code:
cd 3DP
pnpm install
убедитесь, что в папку P3D появился файл с зависимостями `./3DP/pnpm-lock.yaml`
4. Cоберите и запустить ноду и майнер данной командой:
Code:
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 на следующий скрипт и запустите ноду:
Code:
#!/bin/bash
./p3d generate-mining-key --base-path /var/chain --chain mainnetSpecRaw.json
В ответ вы получите ваш аккаунт (фразу адрес и ключи), например:
Code:
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 как в примере:
Code:

version: "3.9"

services:
node:
environment:
- MEMO_SEED=Ваша фраза
- ADDRESS=Ваш адрес

7. Запустите ноду и майнер и проверьте, что вы видите ее в телеметрии: https://telemetry.3dpscan.io/#/0x6c5894837ad89b6d92b114a2fb3eafa8fe3d26a54848e3447015442cd6ef4e66
Code:
docker compose up

Нода начнет синхронизироваться с сетью, это может занять время, чтобы скачать историю блоков.
Вы можете использовать снэпшот блокчейн базы, чтобы ускорить процесс:

  • Блокчейн база расположена здесь (папка 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:
Code:
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')
Code:
./target/release/poscan-consensus generate-mining-key --base-path ~/3dp-chain/ --chain mainnetSpecRaw.json
В ответе будут ваши ключи и секретная фраза, например:
Code:
Public key: 0xccc201f5b3e7036c5ea534096d75befbda68a9b285025csd7105bc4726f02f7e Secret seed: fog olympic thrive recall allow page hood damage october curtain degrwe bubble Address: d1GtBxnPwRZVez7VsQ9H7MskPn34H59RddrR9yXqhgDYsqC3t

4. Зарегистрируйте ключи от аккаунта в keystore
Code:
./target/release/poscan-consensus import-mining-key 'your secret seed phrase' --base-path ~/3dp-chain/ --chain mainnetSpecRaw.json

5. Создайте еще один тип ключей ('ed25519') для верификации финализации блоков GRANDPA из той же самой фразы:
Code:
./target/release/poscan-consensus key inspect --scheme Ed25519 "ваша фраза из майнингового аккаунта"

в ответе будут ключи, например:
Code:
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:
Code:
./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
Code:
ls ~/3dp-chain/chains/3dpass/keystore

7. Запустите ноду:
Code:

./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. Установите майнер:
Code:
cd 3DP
bun install
3. Запустите майнер (нода должна быть запущена!)
Code:
bun miner.js --host 127.0.0.1 --port 9933

Существует альтернативный майнер https://github.com/3Dpass/miner , можете сравнить.

Удачного майнинга всем!



Title: Re: Майнинг P3D | CPU устройства | устойчивость к ASIC/FPGA/GPU
Post by: safar1980 on July 10, 2024, 09:39:46 PM
профит какой?


Title: Re: Майнинг P3D | CPU устройства | устойчивость к ASIC/FPGA/GPU
Post by: chum_yum on July 12, 2024, 05:31:24 AM
профит какой?

Могу поделиться только моими наблюдениями за несколько дней, так как алгоритм обновили недавно, и большой статистики нет пока.

Для теста я присоединился с одной дешевой CPU 2 (SSD) машиной, которая просто валялась с 2018 года на полке. CPU полностью не грузится из-за особенностей алгоритма, то есть мои затраты я пока взял за 0. Требуется память ~ 40 Gb для ноды (без ноды майнинг не работает, из за требований алгоритма по доступу к базе блокчейна)

Мне удается майнить 1 блок в 12 часов (по текущему курсу ~ 1 $ в сутки). Курс на дне сейчас.  


Title: Re: Майнинг P3D | CPU устройства | устойчивость к ASIC/FPGA/GPU
Post by: mak013 on July 12, 2024, 07:52:48 AM
а совмещать гпу майнинг с цпу возможно? в смысле запустить на гпу ферме еще и цпу майнинг?  если цпу не грузится, то вполне реально совмещать имхо.
хотя даже бакс в сутки без затрат на одном цпу не сильно уступает ригу 5600. но на перспективу интереснее совмещение, конечно.


Title: Re: Майнинг P3D | CPU устройства | устойчивость к ASIC/FPGA/GPU
Post by: chum_yum on July 12, 2024, 09:35:11 AM
а совмещать гпу майнинг с цпу возможно? в смысле запустить на гпу ферме еще и цпу майнинг?  если цпу не грузится, то вполне реально совмещать имхо.
хотя даже бакс в сутки без затрат на одном цпу не сильно уступает ригу 5600. но на перспективу интереснее совмещение, конечно.

 Они пишут, что принципиально возможно совмещать (CPU+GPU) но они сделали все, чтобы уравнять скорость с CPU. Насколько это будет быстрее не понятно, майнера такого тоже нет пока.

Если есть желание, можно посмотреть, как устроен алгоритм здесь: https://github.com/3Dpass/whitepaper/blob/main/3DPass_white_paper_v2.pdf

Там используется RAM и сам блокчейн еще на диске подтверждается в каждом лупе (то есть, ты не можешь найти блок без доступа к db). Наверняка, есть какие-то возможности для оптимизации.. нужно смотреть.




Title: Re: Майнинг P3D | CPU устройства | устойчивость к ASIC/FPGA/GPU
Post by: mak013 on July 14, 2024, 08:12:11 AM
а совмещать гпу майнинг с цпу возможно? в смысле запустить на гпу ферме еще и цпу майнинг?  если цпу не грузится, то вполне реально совмещать имхо.
хотя даже бакс в сутки без затрат на одном цпу не сильно уступает ригу 5600. но на перспективу интереснее совмещение, конечно.

 Они пишут, что принципиально возможно совмещать (CPU+GPU) но они сделали все, чтобы уравнять скорость с CPU. Насколько это будет быстрее не понятно, майнера такого тоже нет пока.

Если есть желание, можно посмотреть, как устроен алгоритм здесь: https://github.com/3Dpass/whitepaper/blob/main/3DPass_white_paper_v2.pdf

Там используется RAM и сам блокчейн еще на диске подтверждается в каждом лупе (то есть, ты не можешь найти блок без доступа к db). Наверняка, есть какие-то возможности для оптимизации.. нужно смотреть.
не. я имею ввиду дуал-майнинг. копать другую монету на гпу, а их на цпу. если загрузка цпу далека от 100% можно совместить по идее.


Title: Re: Майнинг P3D | CPU устройства | устойчивость к ASIC/FPGA/GPU
Post by: chum_yum on July 16, 2024, 07:54:18 AM
а совмещать гпу майнинг с цпу возможно? в смысле запустить на гпу ферме еще и цпу майнинг?  если цпу не грузится, то вполне реально совмещать имхо.
хотя даже бакс в сутки без затрат на одном цпу не сильно уступает ригу 5600. но на перспективу интереснее совмещение, конечно.

 Они пишут, что принципиально возможно совмещать (CPU+GPU) но они сделали все, чтобы уравнять скорость с CPU. Насколько это будет быстрее не понятно, майнера такого тоже нет пока.

Если есть желание, можно посмотреть, как устроен алгоритм здесь: https://github.com/3Dpass/whitepaper/blob/main/3DPass_white_paper_v2.pdf

Там используется RAM и сам блокчейн еще на диске подтверждается в каждом лупе (то есть, ты не можешь найти блок без доступа к db). Наверняка, есть какие-то возможности для оптимизации.. нужно смотреть.
не. я имею ввиду дуал-майнинг. копать другую монету на гпу, а их на цпу. если загрузка цпу далека от 100% можно совместить по идее.

A.., так можно, я думаю. Нужно тестить.


Title: Re: Майнинг P3D | CPU устройства | устойчивость к ASIC/FPGA/GPU
Post by: chum_yum on July 17, 2024, 01:14:00 PM
Есть возможность использовать снэпшот недавней блокчейн базы, чтобы ускорить процесс начальной синхронизации ноды с сетью (иначе несколько дней можно синкаться):

Linux or Mac OS:

- Местоположение базы `db`: ~/3dp-chain/chains/3dpass/db
- Скачайте папку `db` из одного из репозиториев комьюнити repo 1: https://github.com/Snezhnaya-Fatui/p3d-mainnet-db  or repo 2: https://github.com/xchainw/p3d-db/releases
- Замените папку `db` на только что скачанную
- Перезапустите ноду

Docker:

- Местоположение базы `db`: ./3DP/data/chain/chains/3dpass/db
- Скачайте папку `db` из одного из репозиториев комьюнити: https://github.com/Snezhnaya-Fatui/p3d-mainnet-db  or repo 2: https://github.com/xchainw/p3d-db/releases
- Замените папку `db` на только что скачанную
- Перезапустите ноду