Jump to content
dimonbiz

Создать свой stratum пул

Recommended Posts

Всем привет! Я хотел бы узнать, как сделать свой stratum пул на подобие http://ac.pool.mn и ему подобных ?

Спасибо

Share this post


Link to post
Share on other sites

Вот вам краткая инструкция. В принципе, все основные моменты установки своего пула тут присутствуют. На практике, бывает, возникают вопросы по компиляции, присоединении нужных библиотек и т.п.

 

Но, во-первых, это уже нюансы, зависящие как от вашей операционной системы и установленных компонентов, так и от того, пул для какого форка вы собственно поднимаете.

 

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

 

1. Для работы пула необходим сервер, который будет работать круглосуточно. Можно купить физический, арендовать выделенный или виртуальный. Для пула на одну монету необходимы 2-ядерный процессор и 4 гигабайта оперативной памяти.

2. Установка кошелька. Установите необходимые средства разработки и дополнительные библиотеки:
 

 sudo apt-get install build-essential libboost1.53-all-dev libssl-dev libdb5.3++-dev libcurl4-openssl-dev git python-simplejson python-mysqldb

Скопируйте с Гитхаба исходные файлы для сборки (в статье приведена команда для монеты EarthCoin):
 

mkdir ~build/wallet
cd ~build/wallet
git clone git: //github.com/earthcoinproject/earthcoin.git

Скомпилируйте исходные файлы кошелька:
 

cd earthcoin/src
make -f makefile.unix USE_UPNP=- USE_IPV6=-

 Скопируйте бинарный файл кошелька в /usr/bin и создайте файл конфигурации:
 

cp earthcoind /usr/bin/
mkdir /root/.earthcoin
vi /root/.earthcoind/earthcoin.conf
Внесите в файл earthcoin.conf следующее:
server=1
daemon=1
gen=0
rpcport=9033
listen=0
rpcallowip=127.0.0.1
rpcuser=earthcoin-rpcuser
rpcpassword=DKkdjhk34324jhgkjdshgKFJHAgkjfhd32krj3hkJHDFKJSDhf

3. Синхронизация кошелька. Запустите демон кошелька earthcoind, за синхронизацией можно следить просматривая файл /root/.earthcoin/debug.log. На сегодня процесс синхронизации занимает около 1,5-2 часов. К следующему шагу можно переходить не дожидаясь окончательной синхронизации кошелька.

4. Настройка Stratum сервера. Скопируйте исходные файлы  и необходимые библиотеки Python с Git:
 

cd /opt/
git clone git: //github.com/Crypto-Expert/stratum-mining.git
cd stratum-mining/externals
git clone git: //github.com/Tydus/litecoin_scrypt.git
git clone git: //github.com/ahmedbodi/stratum.git

Установите необходимые библиотеки и дополнения Python:
 

cd /opt/stratum-mining/externals/litecoin_scrypt
python setup.py install
cd /opt/stratum-mining/externals/stratum
python setup.py install

Для следующего шага нужен адрес созданного кошелька. Узнать его можно по команде:
 

# earthcoind getaddressesbyaccount ""

Откройте для редактирования конфигурационный файл stratum сервера:
 

cd /opt/stratum-mining/conf/conf/
cp config_sample.py config.py
vi config.py

Отредактируйте этот файл, должно получиться следующее:
 

#
CENTRAL_WALLET = 'eT8qysLHpaSACJjcdJThDErVn2d7LpkHPt'
#
LITECOIN_TRUSTED_HOST = '127.0.0.1'
LITECOIN_TRUSTED_PORT = 9033
LITECOIN_TRUSTED_USER = 'earthcoin-rpcuser'
LITECOIN_TRUSTED_PASSWORD = 'DKkdjhk34324jhgkjdshgKFJHAgkjfhd32krj3hkJHDFKJSDhf'
#
LISTEN_SOCKET_TRANSPORT = 3333
#
DB_MYSQL_HOST = 'localhost'
DB_MYSQL_DBNAME = 'earthcoin'
DB_MYSQL_USER = 'earthcoin'
DB_MYSQL_PASS = 'Qwe123'
#
POOL_TARGET = 32
VARIABLE_DIFF = True
VDIFF_MIN_TARGET = 15
VDIFF_MAX_TARGET = 64
#

Обязательно измените адрес кошелька и другие настройки!

5. Установка базы данных MySQL. Установите необходимый пакет и создайте пустую базу данных с выдачей прав нужному пользователю:
 

apt-get install mysql-server
mysql -p -u root
mysql> create database earthcoin;
mysql> grant all privileges on earthcoin.* to [email protected] identified by 'Qwe123';
mysql> flush privileges;

Скопируйте с Гитхаба движок PHP-MPOS:
 

mkdir ~build/mpos
cd ~build/mpos
git clone git: //github.com/MPOS/php-mpos.git

Залейте дамп базы данных из движка PHP-MPOS в MySQL:
 

cd php-mpos/sql
mysql -p -u earthcoin earthcoin <  000_base_structure.sql
*** Пароль Qwe123 ***

6. Запуск Stratum сервера. Запустите стратум сервер следующими командами:
 

cd /opt/stratum-mining/
mv launcher.tac launcher-earthcoin.tac
twistd -ny launcher-earthcoin.tac

Если при запуске возникли ошибки (которые логируются в файл log/startum.log), в системе может не хватать некоторых библиотек, которые можно быстро и легко устанавить через apt-get.

Если никаких ошибок не возникло, выйдите из twistd по нажатию Ctrl-C, и создайте файл для запуска:
 

echo twistd -y launcher-earthcoin.tac > start.sh
chmod 755 start.sh
./start.sh

7. Установка веб-сервера. Установите веб-сервер и все необходимое для работы движка пула:
 

apt-get install apache2 php5 php5-curl php5-xmlrpc php5-memcached php5-mysqlnd

8. Установка движка MPOS.

Скопируйте каталог ~build/mpos/public в каталог /var/www (по умолчанию, если при установке вы не прописали в конфигурационных файлах apache2 другой каталог).

И откройте конфигурационный файл для редактирования:
 

cd /var/www/earthcoin/include/config
cp global.inc.dist.php global.inc.php
vi global.inc.php

Отредактируйте необходимые настройки. После редактирования содержимое файла будет выглядеть так: 
 

$config['algorithm'] = 'scrypt';
$config['db']['host'] = 'localhost';
$config['db']['user'] = 'earthcoin';
$config['db']['pass'] = 'Qwe123';
$config['db']['port'] = 3306;
$config['db']['name'] = 'earthcoin';
$config['wallet']['type'] = 'http';
$config['wallet']['host'] = '127.0.0.1:9033';
$config['wallet']['username'] = 'earthcoin-rpcuser';
$config['wallet']['password'] = 'DKkdjhk34324jhgkjdshgKFJHAgkjfhd32krj3hkJHDFKJSDhf';
$config['gettingstarted']['coinname'] = 'EarthCoin';
$config['gettingstarted']['coinurl'] = 'http://earthcoin.biz/';
$config['gettingstarted']['stratumport'] = '3333';
$config['price']['url'] = 'http://pubapi.cryptsy.com';
$config['price']['target'] = '/api.php?method=singlemarketdata&marketid=139';
$config['price']['currency'] = 'BTC';
$config['currency'] = 'EAC';
$config['txfee'] = 0.1; <= Процент при выводе монет
$config['payout_system'] = 'prop';
$config['fees'] = 0; <= Общий процент пула
$config['reward_type'] = 'block';
$config['memcache']['enabled'] = true;
$config['memcache']['host'] = 'localhost';
$config['memcache']['port'] = 11211;
$config['memcache']['keyprefix'] = 'earthcoin_';
$config['memcache']['expiration'] = 90;
$config['memcache']['splay'] = 15;

9. Запустите  веб-сервер (или перезапустите, если он уже был запущен) следующей командой:

/etc/init.d/apache2 restart

После этого Вы сможете зайти на созданный вами пул по адресу http://ваш_внешний_IP/

Зарегистрируйте на сайте первого пользователя, который и будет администратором системы. Обязательно запомните 4 цифры пин-кода, восстановить его довольно проблематично.

10. Ваш пул полностью готов! Можете создать воркеров и начинать майнинг!
 
БОНУС:

Настройка регулярного запуска cronjobs (скрипты, отвечающие за распределение прибыли, вывод средств, статистику и т.п.). Установите запуск необходимых скриптов каждые 5 минут следующей командой:
 

crontab -e
*/5 * * * * /var/cronjobs/run-crons.sh -f 
Edited by ivanech

Share this post


Link to post
Share on other sites

Ну я бы хотел на винде. И вообще как я понял это сложное дело ?)

Share this post


Link to post
Share on other sites

@mylem, надо ее вполовину затереть и за 5 лайтов продавать затертое..видишь сколько халявщиков.. :D

Share this post


Link to post
Share on other sites

@mylem, надо ее вполовину затереть и за 5 лайтов продавать затертое..видишь сколько халявщиков.. :D

 

да я не жадный :) здоровая конкуренция пулов - дело благородное :) да и пожертвования никто не отменял

 

насчет виндовой версии, я подумаю, теоретически там не так много разности....

Share this post


Link to post
Share on other sites

Моя статейка

Респект вам и уважение!

 

Мне досталась в виде уже готового файла без указания авторства и первоисточника, поэтому и разместил без ссылки на авторство.

 

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

Share this post


Link to post
Share on other sites

 

Моя статейка

Респект вам и уважение!

 

Мне досталась в виде уже готового файла без указания авторства и первоисточника, поэтому и разместил без ссылки на авторство.

 

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

 

 

Нет, только за, но учтите, статья бывает и перерабатывается, вношу какие-то корректировки, или напишите в заголовке - мол статья актуальна на такой-то день, или следите за изменениями :)

Share this post


Link to post
Share on other sites

Прикольная статься, спасибо, а вопрос как вы прикрутили стратум к верткоину, у него же другой алгоритм scypt n factor вроде. есть что почитать по этому поводу!?

Share this post


Link to post
Share on other sites

git clone git://github.com/Crypto-Expert/stratum-mining.git

git clone git://github.com/Tydus/litecoin_scrypt.git

git clone git://github.com/ahmedbodi/stratum.git

Вопрос, для sha256 ставить этот же набор?

 

Share this post


Link to post
Share on other sites
git clone git://github.com/Tydus/litecoin_scrypt.git

Вот это не нужно. Хотя если поставите, все равно работать будет.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...