воскресенье, 28 декабря 2014 г.

Создание litecoin пула с MPOS на Ubuntu 14.04

Предположим, что есть необъяснимая необходимость запустить litecoin пул, да не простой, а с MPOS (Mining Portal Open Source). Работать это всё будет на базе LTS релизе Ubuntu 14.04.1, естественно в серверной редакции и, конечно же, x64.

Немного о требованиях. Запустится всё может на одноядерном компьютере с 512 Мб оперативной памяти, но в частности здесь рекомендуется использовать как минимум двухядерник с гигабайтом памяти, а здесь уже хотя бы два гигабайта ОЗУ. Таким образом надо отталкиваться от конфигурации как в старых рекламах магазинов - "два ядра, два гига" + резерв. Так же потребуется настроить сетевое оборудование, в случае если пул будет служить не только для частных нужд в локальной сети.

Установка зависимостей

Для начала обновим систему:
sudo apt-get update; apt-get upgrade
Затем установим пакет software-properties-common, так как в дальнейшем нужно будет устанавливать пакет из PPA:
sudo apt-get install software-properties-common
Для python-stratum:
sudo apt-get install python-twisted python-mysqldb python-dev
python-setuptools python-memcache python-simplejson python-pylibmc
sudo easy_install -U distribute

Для MPOS:
sudo apt-get install php5-memcached php5-mysqlnd php5-curl
libapache2-mod-php5 build-essential libboost-all-dev
libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev mysql-server
sudo apache2ctl -k stop; sleep 2; sudo apache2ctl -k start
Litecoind будем устанавливать из PPA.
sudo add-apt-repository ppa:k-dg/litecoin
sudo apt-get update
sudo apt-get install litecoind

Stratum сервер

В качестве Stratum сервера попробуем использовать NOMP (Node Open Mining Portal). Для запуска выполним несколько команд:
sudo apt-get install git node
git clone https://github.com/zone117x/node-open-mining-portal
cd node-open-mining-portal
cp config_example.json config.json
Отредактируем config.json. В нём нужно найти строки
 "website": {
         "enabled": true,
И заменить значение true на false. Таким образом мы выключим веб-сервер NOMP (потому что собираемся использовать веб-интерфейс MPOS). Теперь подредактируем конфигурацию для конкретного пула:
cp pool_configs/litecoin_example.json pool_configs/litecoin.json
В файле pool_configs/litecoin.json нужно заменить значение "address" на адрес своего кошелька... ну или на такой - "Lcq4cicVZQEvGPa8W4FCgjR9fMehvgbQL2" ;) В этом же файле нужно найти раздел "mposMode" и заменить значение "false" на "true". Там же поменяйте значение "ports" на "3333". И последнее... в разделе про демонов "daemons" следует поменять имя пользователя и пароль на те, что используются для rpc-подключений к litecoind, либо сделать как-то так, чтобы они самое главное совпадали. Теперь можно запустить наш Stratum-сервер командой:
node init.js

MPOS

Загрузим последнюю версию MPOS:
cd /var/www
sudo git clone git://github.com/MPOS/php-mpos.git MPOS
cd MPOS
sudo git checkout master
Для того, чтобы сервер мог посылать сообщения, установим почтовый сервер postfix:

sudo apt-get install postfix
В запущенном Postfix Configuration выберем параметр по умолчанию "Internet site".
Теперь создадим базу данных и импортируем структуру:
sudo mysql -p -e "create database mpos"
sudo mysql -p mpos < sql/000_base_structure.sql
Можно перейти к настройке MPOS. Дадим права веб-сервера для каталогов, которые этого заслуживают:
sudo chown -R www-data templates/compile templates/cache logs
Для удобства возьмём шаблон файла конфигурации:
sudo cp include/config/global.inc.dist.php include/config/global.inc.php
Отредактируем созданный конфиг подобным образом:
$config['db']['host'] = 'localhost';
$config['db']['user'] = 'root';
$config['db']['pass'] = 'root';
$config['db']['port'] = 3306;
$config['db']['name'] = 'mpos';
[...]
$config['wallet']['type'] = 'http';
$config['wallet']['host'] = 'localhost:19334';
$config['wallet']['username'] = 'testnet';
$config['wallet']['password'] = 'testnet';
[...]
$config['gettingstarted']['stratumurl'] = 'localhost';
Теперь необходимо найти в конфиге $config['SALT'] и
$config['SALTY'], и установить вместо SALT и SALTY пароли (разные) минимум в 24-ре символа.

И ещё одно... необходимо отредактировать файл
/usr/local/lib/python2.7/dist-packages/stratum-0.2.13-py2.7.egg/stratum/websocket_transport.py
поменяв в нём строчку: from autobahn.websocket import WebSocketServerProtocol, WebSocketServerFactory на from autobahn.twisted.websocket import WebSocketServerProtocol, WebSocketServerFactory
На этом почти всё. Осталось указать Apache, чтобы открывал по умолчанию именно сайт MPOS при обращении. Для этого в файле /etc/apache2/sites-available/000-default.conf значение параметра DocumentRoot изменим на /var/www/MPOS/public

Настройка Litecoind

Litecoind без указания логина и пароля на подключения запускаться не будет поэтому следует создать ~/.litecoin/litecoin.conf и указать в нём что-то вроде:
rpcuser=testuser
rpcpassword=testpassword

Запускаем командой litecoind --daemon --rpcport=19334 и лучше подождать несколько часов пока закончится синхронизация с сетью.

В общем то это всё. Можно заходить в веб-интерфейс пула и регистрировать администратора. Пул будет выглядеть вот так:
Главная страница

Статистика пула
Но это нормально. Далее уже идёт настройка "под себя".

Для удобства, запуск litecoind и node init.js можно поместить в автозагрузку.

суббота, 20 декабря 2014 г.

Установка и использование Avalon 3 nano

Вчера наконец-то получил заказанные с конце ноября bitcoin майнеры Avalon nano. Это моя первая и экспериментальная закупка/использование специализированных на майнинге Bitcoin устройств. К тому же стоили они дёшево (на момент покупки я выложил около 1200 рублей за штуку, вот даже снимок страницы есть -> тыц), есть производитель (не noname!) с сайтом, документацией и даже каким-то ПО, а ещё нашлась вики-страница с подробными описаниями и т.п. -> https://en.bitcoin.it/wiki/Avalon_nano
Единственное чего не было это упоминаний на русскоязычных форумах и вообще ни слова по-русски.
Поэтому я заказал целых четыре штуки. Пусть даже они имеют шанс не окупиться, просто интересно, да и пусть себе где-нибудь стоят и трудятся. Тем более последний BOINC уже даже начал использовать usb-майнеры.

Установка

Во-первых, сразу выяснилось то, что воткнуть их в близко расположенные порты на материнской плате нельзя - ни в выше/ниже-стоящий порт, ни в какой-либо из боковых. Зато в usb-планку на задней стороне корпуса (типа такой) рядом они встают без проблем.
После подключения (испробовано на MS Windows Vista, 7, 8.1 (все x64)) получаем неудачную попытку установки драйверов для неких VCOM:
Но не беда, ведь есть ПО от производителя и инструкция на кривом английском. Инструкции есть на страницах у каждого продавца на страницах этих самих авалонов.
А ПО как выяснилось на практике почти бесполезно. В инсталляторе большая часть текста в иероглифах, как установить это всё, можно понять только по картинкам. Это первый минус. Второй - инсталлятор не содержит драйверов. Вот так вот, да. Третий минус - оно требует исключительно Windows 7 или 8.

Драйвер в общем можно взять со страницы компании-производителя микроконтроллеров NXP LPC -> http://www.lpcware.com/content/nxpfile/lpcxpresso-link2-usb-driver-package
После установки, майнеры становятся видны в разделе "Порты (COM и LPT)" диспетчера устройств как "LPC USB VCom Port (COMn)", где n - соответственно номер порта, который после перезагрузки имеет свойство меняться.

Использование

Здесь всё гораздо проще. Всё уже описано здесь -> https://en.bitcoin.it/wiki/Avalon_nano#BFGMiner
То есть, скачиваем bfgminer, делаем скрипт запуска такого вида:
bfgminer.exe ^
       -S ICA:\\.\COMn ^
       -o stratum+tcp://eu-stratum.btcguild.com:3333 -O xandry_xEW8prYz6JyFJq8VkAQz:OwlUvaJ24wSOQv9bQG0jO ^
       --set-device ICA:baud=115200 ^
       --set-device ICA:reopen=timeout ^
       --set-device ICA:work_division=1 ^
       --set-device ICA:fpga_count=1 ^
       --set-device ICA:probe_timeout=100 ^
       --set-device ICA:timing=0.22 ^
       --api-listen ^
       2>log
В COMn нужно заменить "n" на ваш номер порта, ну и данные пула тоже.
После этого всё должно работать. Примерно так:
Кстати пока майнеры шли, цена со скидочной 1200 р. выросла до 2600 р. Позже планирую попробовать их работу на openSUSE и Windows 2003 Server.

среда, 3 декабря 2014 г.

О вымогательской политике компании Intersystems

Работаю в конторе, которая использует СУБД Cache от Intersystems и несколько лет подряд исправно платит за тех. поддержку. При этом версия Cache используется от 2010-го года и обновлять её даже не собирались, потому что страшно, а в тех. поддержку с момента внедрения ни разу никто не обращался. Таким образом получается, что контора платит не столько за сопровождение ПО от Intersystems, а просто финансирует Intersystems как бы в дань за то, что всё работает.
Это всё на столько невероятно, что я даже сначала не поверил. А на логичный вопрос, почему платите за то, что не нужно, услышал лишь сомнительное "кто-то говорил, что потом нельзя будет в поддержку обратиться".
И вот, получив на email "проект договона по сопровождению в 2015" в котором за квартал предполагается платить по 16892 рубля, 44 копейки, я решил поинтересоваться, почему бы не отложить всё это дело до момента, когда оно будет нужно.

Как оказалось, у Intersystems такая политика...

Александр Владимирович, добрый день!

Согласно правилам InterSystems, для возобновления программы обновления версий и технической поддержки для лицензий, которые не находятся под сопровождением, необходимо оплатить пропущенный период в двойном размере (согласно стоимости по прайс-листу на момент возобновления). 

Поясню для чего это сделано. Оплачивая сопровождение, пользователь участвует тем самым в развитии продукта, получая взамен круглосуточную техническую поддержку, а так же, все улучшения и новые возможности СУБД. Отказавшись же от сопровождения, пользователь теряет, помимо технической поддержки и обновления версий, так же возможность миграции лицензий с одной ОС на другую и возможность 100% зачета стоимости имеющейся лицензии при изменении типа лицензии. Но решение о сопровождение в любом случае за вами.

Best Regards,
Denis Pavlov
Account Manager
InterSystems International Corporation
+7 495 967-0088 Office
+7 495 967-0018 Fax
+7 967 158-6404 Mobile
 которая по умолчанию убыточна для их клиентов.

В общем, цель всей этой писанины в рекомендации для всех предварительно дважды подумать о выгоде, прежде чем начинать пользоваться какими-либо продуктами от Intersystems.

понедельник, 1 декабря 2014 г.

Топ 100 самых богатых адресов Primecoin

К вопросу о выгодности XPM (Primecoin) наткнулся на любопытную ссылку в reddit -> https://coinplorer.com/XPM/Addresses/0/Top

Можно посмотреть топ 100 самых богатых XPM адресов. Во втором столбце в табличке очень удобно указан долларовый эквивалент.

понедельник, 3 ноября 2014 г.

Как майнить primecoin на пуле ypool.net

Нижеописанное является непрофессиональным актуализированным переводом раздела "Primecoin Mining" со страницы "ypool Mining Wiki".

Пункт про кошелёк, пожалуй, можно опустить, так как информация об этом уже есть здесь, да и у пула http://ypool.net/ есть с недавних пор тестируется свой кошелёк.
Начнём сразу с того, что нужно создать аккаунт на сайте, после чего скопировать адрес Primecoin кошелька и вставить его в поле "Payout Address", который можно найти по пути "Account" -> "Payouts". На той же странице можно указать автоматический порог, по достижении которого будут происходить выплаты.

Кому лень, опять же могут указать адрес
AMvPj2pufxExDnPFMsvRX3p3mDEneKLihw

Далее нужно создать воркер (Workers - > workers).

Скачиваем майнер. Для майнинга на CPU рекомендуется использовать jhPrimeminer, который можно скачать отсюда. Ссылка на последнюю версию на момент написания этого текста -> http://www.azbowling.com/jhPrimeminer-T18v3.zip
Порт под Linux есть на github -> https://github.com/clintar/jhPrimeminer-Aero

Конфигурируем майнер.
Если процессор поддерживает AVX (список процессорных актитектур, которые поддерживают AVX можно найти в википедии), запускать майнер следует так:
jhPrimeminer-T18v3.exe -o relay.ypool.net -port 8085 -u username.workername -p workerpassword -t 4 -c 128000

Где необязательными параметрами у меня являются лишь "-t" и "-c", а остальные в общем то должны быть понятны и без объяснений. Для справки есть файл "README" в архиве с майнером.
Если процессор без поддержки AVX, то соответственно указываем запускать не jhPrimeminer-T18v3.exe, а просто jhPrimeminer.exe

Для удобства запуска, конечно же, можно сделать скрипт.

Под Windows можно использовать GPU майнер -  Claymore XPM GPU Miner. 
Для этого скачиваем "Claymore XPM GPU Miner v13.0 Beta - POOL" и запускаем примерно так:
NsXpmMiner.exe -o ypool.net -u xandry.workername_0 -p paasswordischen -ss 0 -m 2 -t 6

Где "-o" указывает на адрес пула, "-u" на название воркера после части "логин.", "-p" пароль для воркера, "-ss" режим нагрузки на CPU, "-m" режим нагрузки на память, "-t" количество ядер CPU. Подробности опять же есть в файле "Readme!!!".