Установка и настройка P2Pool
P2Pool является децентрализованным пулом для совместной работы по генерации PoW блоков.Установка
Для работы P2Pool'а необходим доступ по RPC к клиенту (обычно локальный на компьютере, или любой другой, куда есть доступ). Откуда его взять и как устанавливать написано ранее, настройки, необходимые для P2Pool, будут описаны ниже.
Linux:
Исходный код находится на сайте https://github.com/novacoin-project/p2pool.
Также, для работы кода потребуются следующие пакеты:
python python-twisted (варианты названия: twisted, twisted-core) python-zope (python-zope.interface, zope-interface) python-argparseЗатем необходимо собрать и установить модуль из каталога
litecoin_scrypt
, команда запуска:
python setup.py install
Windows:
Готовая сборка для Windows: http://sourceforge.net/projects/novacoin/files/p2pool_win32_13.4-25-g6da08c4.zip.
Достаточно просто распаковать в нужный каталог.
Настройка
Настройка клиента
Параметры, указываемые в novacoin.conf
, которые необходимы для доступа P2Pool'а к клиенту:
rpcuser=<имя пользователя> rpcpassword=<пароль> server=1 rpcallowip=<IP-адрес или подсеть откуда будет подключаться P2Pool> (данный параметр необходимо указывать если клиент и P2Pool находятся на разных компьютерах, по умолчанию клиент разрешает подключение только программам, работающим на том же компьютере)После изменения настроек запускаем/перезапускаем клиент.
Запуск
Заранее стоит оговориться, что указанный ниже метод запускает P2Pool с параметрами по умолчанию, т.е. с учетом того, что клиент находится на том же компьютере,
порты доступа к клиенту не изменялись и P2Pool будет использовать порты, установленные у него по умолчанию.
В других случаях необходимо сформировать строку запуска с дополнительныеми параметрами (описаны в данной статье ниже).
Переходим в каталог P2Pool'а и запускаем:
Linux:python run_p2pool.pyили просто
./run_p2pool.pyесли у файла есть права на выполнение.
Windows:
run_p2pool.exe
Использование
В майнере указываем:
- IP-адрес или DNS-имя машины, на которой установлен P2Pool
- стандартный порт P2Pool'а 8336
- имя пользователя — адрес куда зачислять награду
- пароль пользователя — любое значение
-o stratum+tcp://localhost:8336 -u 4<продолжение адреса> -p password
Дополнительные параметры P2Pool'а
При запуске клиента P2Pool'а с ключом --help
на экран выводятся параметры, которыми можно изменить настройки клиента P2Pool'а по умолчанию:
использование: run_p2pool.py [-h] [--version] [--net {novacoin}] [--testnet] [--debug] [-a ADDRESS] [--datadir DATADIR] [--logfile LOGFILE] [--merged MERGED_URLS] [--give-author DONATION_PERCENTAGE] [--iocp] [--irc-announce] [--no-bugreport] [--p2pool-port PORT] [-n ADDR[:PORT]] [--disable-upnp] [--max-conns CONNS] [--outgoing-conns CONNS] [--disable-advertise] [-w PORT or ADDR:PORT] [-f FEE_PERCENTAGE] [--bitcoind-address BITCOIND_ADDRESS] [--bitcoind-rpc-port BITCOIND_RPC_PORT] [--bitcoind-rpc-ssl] [--bitcoind-p2p-port BITCOIND_P2P_PORT] [BITCOIND_RPCUSERPASS [BITCOIND_RPCUSERPASS ...]] дополнительные параметры: -h, --help показать этот список параметров и закончить работу --version показать версию программного обеспечения и закончить работу --net {novacoin} использовать указанную сеть (по умолчанию: novacoin) --testnet использовать тестовую сеть --debug включить режим отладки -a ADDRESS, --address ADDRESS использовать указанный адрес для начисления выплат (по умолчанию: <адрес, зарегистрированный в клиенте>) --datadir DATADIR сохранять рабочие данные в указанном каталоге (по умолчанию: <каталог выполняемого скрипта run_p2pool.py>/data) --logfile LOGFILE сохранять журнал работы в указанный файл (по умолчанию: data/<наименование сети>/log) --merged MERGED_URLS вызывать метод getauxblock для указанного пути для совместного решения задач (пример: http://ncuser:ncpass@127.0.0.1:10332/) --give-author DONATION_PERCENTAGE перечислять этот процент в помощь разработчику за разработку p2pool'а (по умолчанию: 1.0) --iocp использовать Windows IOCP API для того, чтобы избежать ошибок, связанных с большим количеством открытых сокетов --irc-announce извещать о найденных блоках на канале irc://irc.freenode.net/#p2pool --no-bugreport отключить извещение разработчика о найденных проблемах --disable-upnp не пытаться использовать UPnP для проброса порта P2Pool'а в глобальную сеть --disable-advertise не рассылать локальный IP-адрес, как точку приёма входящих подключений используется для создания непубличной (скрытой) ноды используется совместно с -n ADDR's и --outgoing-conns 0 p2pool интерфейс: --p2pool-port PORT использовать указанный PORT для приёма входящих подключений (этот порт необходимо пробросить через маршрутизатор во внешнюю сеть) (по умолчанию: 8777) -n ADDR[:PORT], --p2pool-node ADDR[:PORT] подключиться к сущестующей ноде p2pool'а по адресу ADDR на котором слушается порт PORT (если порт не указан, то используется стандартный порт p2pool'а) в дополнение к адресам, указанным по умолчанию --max-conns CONNS максимальное количество принимаемых (входящих) подключений (по умолчанию: 40) --outgoing-conns CONNS количество исходящих подключений (по умолчанию: 6) интерфейс подключения майнера: -w PORT or ADDR:PORT, --worker-port PORT or ADDR:PORT слушать порт PORT на интерфейсе с адресом ADDR для RPC подключений майнеров (по умолчанию: все интерфейсы, порт: 8336) -f FEE_PERCENTAGE, --fee FEE_PERCENTAGE изменить комиссию, собираемую с майнеров в пользу владельца ноды (согласно параметрам, установленным как адрес для начисления выплат по умолчанию) данный процент используется только на текущей ноде начисления можно увидеть по адресу http://127.0.0.1:WORKER_PORT/fee (по умолчанию: 0) интерфейс клиента novacoin: --bitcoind-address BITCOIND_ADDRESS подключаться с указанному адресу (по умолчанию: 127.0.0.1) --bitcoind-rpc-port BITCOIND_RPC_PORT поключаться к интерфейсу JSON-RPC клиента на указанный порт (по умолчанию: 8344 <пароль берётся из novacoin.conf если не указан дополнительно>) --bitcoind-rpc-ssl подключаться к интерфейсу JSON-RPC используя SSL --bitcoind-p2p-port BITCOIND_P2P_PORT подключаться к P2P интерфейсу клиента на указанный порт (по умолчанию: 7777 <пароль берётся из novacoin.conf если не указан дополнительно>) BITCOIND_RPCUSERPASS имя пользователя и пароль для подключения к RPC интерфейсу клиента, указываются разделёнными пробелом (наличие только одного параметра будет означать, что имя пользователя будет пустым, отсутствие параметров означает использование настроек из novacoin.conf)