Как работать с краном btc boom.xyz

Пишем BTC-e бота на PHP. Часть 1.


Пишем BTC-e бота на PHP.
Часть 1.
Пишем BTC-e бота на PHP. Часть 2.
Осторожно! Текст написан как для тупых! :) Аж читать противно :) У моих читателей разный уровень понимания программирования, поэтому чтобы было понятно всем, приходится писать как для тупых.
Второе предупреждение: это сугубо непрофессиональный подход к теме, от делитанта PHP, предложенные варианты реализации далеко не лучшие, но работают, и они понятны новичку.
Решил попробовать немного освоить PHP. К тому же как я понял, на PHP бот будет работать быстрее моих на другом языке, там вообще большое изощрение :)
Начну с того, на бирже есть ссылки на примеры кода на разных языках, и среди них есть PHP. Ссылки на примеры кода и документация:
https://btc-e.com/api/documentation
Ссылка на пример кода на PHP:
http://pastebin.com/QyjS3U9M
Сразу оговорюсь о проблемах, с которыми можно столкнуться.
Проблема 1. Обычный ПК не понимает PHP.
Т.е. надо качать спец.софт - PHP-сервер, устанавливать разбираться... но это оказалось отнюдь не сложно. Я скачал и установил пакет Денвер (Denwer). Возможно это далеко не лучший выбор, но... для моих целей оказалось более чем достаточно, при этом всё удобно и понятно. Это то меня и подкупило. Установка тоже не супер-удобная, обычным НЕХТованием не ставится, надо читать и даже пару раз подумать. Зато сама установка на русском языке, так что читать не тяжело :) После установки сервер сразу готов, и можно начинать кодить.
Проблема 2. Как начать вообще.
Тут у меня минимальные знания о web-программировании уже были, поэтому я сообразил всё же, что надо сделать.
0) запустить сам Денвер по ярлыку "Start Denwer"
1) зайти в браузере по адресу http://localhost
2) определить где лежит файл, который открылся в браузере
3) положить в ту же папку свой файл, назвать его например test.php
4) теперь можно из браузера открывать свою поделку по адресу http://localhost/test.php
Проблема 3. HTML + PHP
Этот файл test.php нужно еще и правильно оформить, чтобы всё правильно открывалось в браузере. Тут моих начальных знаний тоже оказалось достаточно.
Вот между знаками "{C}{C}{C}{C}{C}{C}{C}{C}{C}{C}" надо писать PHP-код, или точнее скопировать пример кода, и попробовать в нем разобраться, что я и сделал.
Проблема 4. Ошибка в примере! .RU
При первом же запуске примера вылетело с ошибкой. Я сначала паникнул даже "Ну блин, теперь точно ничего не пойму". Но всё же почитал её, в попытках понять что не так. И... btc-e.ru, блин! А не btc-e.com. Т.е. домен не правильный. Куда смотрели админы биржи я не знаю :)
Fatal error: Uncaught exception 'Exception' with message 'Could not get reply: Could not resolve host: btc-e.ru; Host not found, try again' in W:\home\localhost\www\1.php:43 Stack trace: #0 W:\home\localhost\www\1.php(48): btce_query('getInfo') #1 {main} thrown in W:\home\localhost\www\1.php on line 43
Я полез в код, нашел .ru и поменял на .com. Это решило проблему. Ошибка больше не появлялась, и я увидел первый ответ от биржи. Но этот ответ тоже был об ошибке.
Проблема 5. Надо прописать свои ключи.
Сначала ключи надо создать здесь:
https://btc-e.com/profile#api_keys
Название ключа значения не имеет. Разрешить нужно два права:
1) info (разрешено получать информацию)
2) trade (разрешено торговать, выставлять ордеры)
Остальные права боту не нужны, это права на вывод средств, который разрешать не нужно и опасно.
Получившиеся 2 ключа надо запихнуть в эти строки PHP-бота, сохраняя ковычки:
// API settings
$key = ''; // your API-key
$secret = ''; // your Secret-key
Проблема 6. invalid nonce parameter
Таким был первый ответ в браузере:
Array
(
[success] => 0
[error] => invalid nonce parameter; 1470750604 1378161073
)
Если ранее подключал уже каких-нибудь ботов (а я подключал), то этот nonce parameter сбился.
Первая цифра - это прошлый нонс.
Вторая цифра - это нонс, который отправил мой код.
Я не очень то хорошо понял что это за хрень, но давно дошло что нонс, который я отправляю должен быть просто больше предыдущего нонса. Причем пофиг насколько больше. +1 вполне сойдет. Т.е. раз уж прошлый нонс 1470750604, значит надо отправить 1470750605 или больше.
Единственная строка в примере, которая содержит слово nonce:
$req['nonce'] = $mt[1];
Как она работает я тоже не в курсе :) Поэтому просто заменил её в ручную для проверки теории. Старую строку закомментировал, у меня получилось:
//$req['nonce'] = $mt[1];
$req['nonce'] = 1470750605;
И о чудо, биржа разродилась ответом :) Честно говоря, я уже тут умудрился полчаса убить на такую мелочь. Там еще символы табуляции были (TAB), но мой блог в ЖЖ их почему то не сохраняет. Ну да ладно.
Array
(
[success] => 1
[return] => Array
(
[funds] => Array
(
[usd] => 2.3E-7
[btc] => 0
[ltc] => 651.48530592
[nmc] => 0
[rur] => 3.27E-6
[eur] => 8.81E-6
[nvc] => 0
[trc] => 0
[ppc] => 0
[ftc] => 0
)
[rights] => Array
(
[info] => 1
[trade] => 1
[withdraw] => 0
)
[transaction_count] => 26752
[open_orders] => 1
[server_time] => 1378161361
)
)
Это он показывает сколько у меня бабок лежит, это хорошо, это пригодится.
Проблема 7. Как делать правильный nonce parameter
При второй попытке получить инфу (нажал F5), снова проблема.
Array
(
[success] => 0
[error] => invalid nonce parameter; 1470750605 1470750605
)
Как видно, я опять отправить нонс, который уже был. Надо бы опять приплюсовать единичку, но ведь не руками же это делать каждый раз. Я сообразил такое вот кривоватое, но рабочее решение:
$req['nonce'] = 1470750605 + $mt[1];
Т.е. я к старому числу прибавляю новые нонсы. После нескольких обновлений страницы, всё работало нормально.
Проблема 8. Как выставить ордер
Оказалось, в конце примера есть строка, как сделать покупку, но она закоментирована, надо просто убрать эти //
//$result = btce_query("Trade", array("pair" => "btc_usd", "type" => "buy", "amount" => 1, "rate" => 10)); //buy 1 BTC @ 10 USD
Как видно из комента в конце, это команда купит 1 биткоин за 10 баксов. А точнее не купит, а просто выставит ордер, который никто не закроет :)
Проблема 9. Как и куда вставить логику бота
К сожалению, польза от примера кода на этом заканчивается, дальше все придется додумывать самому. Я решил создать элементарного бота. Вот такая будет логика:
Внимание! Это учебный пример, а не пример для подражания.
Допустим у меня есть лайты, сейчас они стоят $2.35. Я хочу их все продать по $2.4. Для этого бот вовсе не нужен, я просто могу выставить ордер. Но я боюсь что цена может резко полететь вниз пока я сплю. Если цена вдруг достигнет $2.33, то я бы предпочел продать на всякий случай, зафиксировать убыток, а не продолжать рисковать. А это без бота сделать уже не получится. Пока я сплю :)
Логика моего бота:
1) Посмотреть цену лайта в долларах (на LTC/USD)
2) Если цена больше $2.33, тогда ничего не менять.
3) Если цена меньше $2.33, тогда сначала отменить все мои ордеры на этой паре.
4) А потом выставить ордер на $2 на всю сумму моих лайтов (в этом случае продаваться будет по максимальным ценам стакана закупки, а не по $2)
Пункт 1. Получаем цену
Там же в документации была ссылка, где смотреть последние торги:
https://btc-e.com/api/2/ltc_usd/trades
Теперь осталось додуматься, как же оттуда получить цену верхнего ордера стакана покупок. Сначала я открыл документацию по PHP, испугался и закрыл. Чего вам не советую, кстати. Решил попробовать разобраться так. Раньше мне это помогало. Если метод тыка не сработает - тогда лесть в документацию, решил так. Сначала я просто скопировал текст запроса, и по аналогии создал свою функцию "getPrice". Но оказалось 2 строчки были лишние. Почему то :) А почему я не знаю, я PHP-неуч. Я их просто убрал нафиг. Вот что у меня получилось:
function getPrice() {
static $ch = null;
if (is_null($ch)) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; BTCE PHP client; '.php_uname('s').'; PHP/'.phpversion().')');
}
curl_setopt($ch, CURLOPT_URL, 'https://btc-e.com/api/2/ltc_usd/trades');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$res = curl_exec($ch);
$dec = json_decode($res, true);
return $dec;
}curl_setopt($ch, CURLOPT_URL, 'https://btc-e.com/api/2/ltc_usd/trades');
Т.е. я просто накопировал строчки из рабочего примера, поменял ссылку, и убрал 2 строки, на которые почему-то ругался браузер. Так же и внизу, по аналогии с рабочим кодом скопировал рабочий пример, и немного поменял. Не думаю что все могут так же методом тыка, дело в том что мне помогает мой прошлый опыт программирования на других языках.
$result = getPrice();
echo "
".print_r($result, true)."
В итоге после обновления страницы в браузере я получил вразумительный ответ. Не сразу конечно, я минут десять трахался с этой функцией сначала, зато это быстрее чем документацию читать - я бы там часов на пять залип.
Array
(
[0] => Array
(
[date] => 1378163363
[price] => 2.35
[amount] => 2.7844
[tid] => 7255379
[price_currency] => USD
[item] => LTC
[trade_type] => ask
)
[1] => Array
(
[date] => 1378163239
[price] => 2.35
[amount] => 18.6473
[tid] => 7255354
[price_currency] => USD
[item] => LTC
[trade_type] => bid
)
итд...итд...итд
Я открыл снова сайт биржи, и убедился что цифры получены правильные. Вот только я получил много торгов, а мне надо только один последний. Как получить только последний, это моя новая проблема. В документации об этом ничего нет, никаких примеров для BTC-e в сети тоже нет :( Так что вот тут то я впервые встрял надолго. Насколько я понял, ответ приходит в формате, который называется json. Начал гуглить по строке "json PHP программирование", чтобы нарыть примеры кода. Уп*** лень читать документацию. Этот json напоминал мне XML, с которым я уже умел работать.
Я задал вопрос в чате, как лучше сделать, и оказалось количество выводимых торгов можно очень легко ограничить, о чем, кстати, не было сказано в официальной документации. Вот что поменял:
//curl_setopt($ch, CURLOPT_URL, 'https://btc-e.com/api/2/ltc_usd/trades');
curl_setopt($ch, CURLOPT_URL, 'https://btc-e.com/api/2/ltc_usd/trades/1');
Т.е. в конце достаточно дописать нужное количество через слеш. Помог юзер OLX. Еще полчаса потеряно :)
... продолжение следует ...

Tags: Как, работать, с, краном, btc, boom.xyz

Биткоин кран BTC BOOM Регистрация на сайте:  ...

Биткоин кран BTC BOOM 700 сатоши каждые 3 минуты!!! - YouTube

Биткоин кран BTC BOOM 700 сатоши каждые 3 минуты!!! - YouTube


Польский крафт: Краков, Варшава


Всегда интересно почитать репортажи о пивном туризме и отложить в избранное (на всякий случай). Армен Захарян, посетив Краков и Варшаву, в своём журнале pivzal рассказывает про польское крафтовое пиво и интересные места, где его можно попробовать. Особенно актуально в преддверии очередного Warsaw Beer Festival, если кому-то не хватит пива на фесте :) Привожу пост Армена полностью.
--
3-4 года назад крафтовая революция докатилась и до Польши. Признаюсь, я об этом никогда не слышал, а единственное, что связывало в моем мозгу Польшу и пиво был не самый удачный IPA Chmiel lunga, сваренный норвежским Nogne O совместно с польским AleBrowar. Тем сильнее было мое удивление, когда в одном из биршопов Кракова я увидел вот такую картину:

Это - польский крафт (и еще даже не все уместилось на фото). Сначала таким развитием событий я был воодушевлен, но, поездив немного по Польше, побывав в десятке баров и пообщавшись с местными биргиками, мой энтузиазм несколько спал: польский крафт - это тот случай, когда количество заметно доминирует над качеством.
Начнем вот с чего: в Польше нет одной (или даже двух-трех) лучшей мини-пивоварни.Ни один из местных биргиков не смог однозначно ответить мне на этот вопрос, все перечисляли 4-5 производителей, причем каждый раз разных. Но чаще всего в этом списке фигурировали:
AleBrowar
Browar Artezan
Browar Pinta

Во втором эшелоне обычно фигурируют:
Browar Birbant
Doctor Brew
Olimp
Pracownica Piwa (но они пока не льют в бутылке, а потому пьют их только в Кракове)
и еще 4-5 мини-пивоварен.
Такое разнообразие производителей, правда, не ведет к особому разнообразию сортов. Может быть, проблема в том, что я оказался здесь летом, но на кранах во многих барах нет спасения от APA и IPA, как будто только их и способен порождать польский крафтовый мир. Вот, например, разливное меню в Tap House Pracownia Piwa (Краков, оценка 91/100 на ratebeer). Из 19 кранов 10 заняты АПАми и ИПАми, еще на половине из оставшихся различные "hoppy" - сэзоны, витбиры и проч.

В общем и целом, пиво польские крафтеры делают весьма неплохое, но не более того. Отыскать что-то особенное и интересное (из местного) - занятие непростое. Тем не менее, кто ищет - всегда найдет. Например, в в еврейском квартале Кракова в баре Strefa Piwa (83/100 на ratebeer) мне встретились отличный white IPA Biale от Artezan и любопытный кислый эль с малиной Kwas Gamma от Browar Pinta.

В баре по соседству, Omerta (90/100 на ratebeer, №2 в Кракове), я встретил очень любопытный Imperial Irish Red Ale Call Me Simon, сваренный Browar Pinta и напоминающий чем-то американский барливайн. Кстати, сам бар Omerta очень порадовал концепцией: в нем 2 барные стойки - одна слева в помещении, вторая - справа. Ассортимент там и там разный (на каждой стойке работает по 10-12 кранов), так что все посетители естественным образом расходятся в левую и правую части бара в зависимости от своих пивных предпочтений.

Карта Кракова с упомянутыми мною выше барами (и еще множеством других) здесь.
Помимо Кракова, я успел осмотреть и пивную Варшаву: здесь тоже есть несколько интересных мест.
Во-первых, в старом городе приятный бар с пиццей и бургерами Same Krafty Multitap (84/100 на ratebeer). Неплохо пропустить здесь бокальчик местного IPA между посещениями Королевского Замка и Собора Св. Яна. Приятно, что есть 3 варианта объема: 0,2, 0,3 и 0,5.
Во-вторых, в центре Варшавы, ниже старого города, есть заведение с 91 краном (!) PiwPaw BeerHeaven (84/100 на ratebeer). Это поразительно, но при наличии 91 крана, у них нет дегустационного сета, а наливают они только по 0,5. Надеюсь, со временем, это будет исправлено.
Наконец, 2 лучших (один на мой вкус, второй - по оценке ratebeer) бара Варшавы находятся в центре города, на улице Nowogrodzka: один в доме №12, второй - №25.
Jabeerwocky - предлагают дегустационные сеты (4 сорта + стаканчик с простой водой за 20 злотых), впечатляющий бутылочный ассортимент импортного крафта (например, есть Westvleteren и горячая новинка от BrewDog - Dog D). хороший ассортимент польского крафта на кранах и в бутылках. Именно здесь я наконец-то нашел "Императора Балтийского" - балтийский портер от польской Pinta. Здесь же в Jabeerwocky работает Роберт - отлично говорящий на русском языке поляк, который многое сможет рассказать вам про польский крафт.
Kufle i Kapsle (№1 в Варшаве согласно ratebeer - 93/100) - один из первых баров с крафтом в польской столице. 12 кранов, хороший бутылочный ассортимент, преимущественно интересное пиво (в наличие есть, например, разливной De Molen, чего не случалось увидеть ни в одном другом баре в Польше). Есть дегустационные сеты, по вечерам бывает очень людно.

Карта Варшавы с упомянутыми мною выше барами (и еще множеством других) здесь.
И на закуску сдаю вам шикарного представителя польского масс-маркета. Балтийский портер Okocim Porter Mocno Dojrzale - крепость 8,9%, вкусный, сбалансированный, насыщенный - и все это при цене 5 злотых (примерно 1,5$)!
Самое любопытное, что варит такую вкусную, дешевую и крепкую штуку не кто-нибудь, а Carlsberg Polska. Так что не крафтом единым жив в Польше человек :)
© pivzal

BTC BOOM 700 satoshi | Лучшие Биткоин Краны 2019 | Best ...

18 Dec 2015 - 1 min - Uploaded by Easy MoneyBTC BOOM 700 satoshi | Лучшие Биткоин Краны 2019 | Best Faucet Free ... в этом сразу разобраться и понять ...

FREE_BITCOIN - Sites - Google

Соответственно, чем кран дольше генерирует, тем больший бонус можно ... 4. Краны, которые работают с расширением ... Btc Boom.xyz, 3-4 мин.

Сколько стоит обучение на экскаватор щика в уфе
Как сделать бульдозер на мтз 82 своими руками
Как отрегулировать карбюратор на мотоблоке нева мб-1р
Показать / написать / закрыть комментарий(ии)