Author

Topic: Связка bitcoind + MySQL + PHP (Read 6143 times)

hero member
Activity: 808
Merit: 1014
October 05, 2014, 09:28:59 AM
#8
Ужас какой, питон под виндой... кошмар...

По делу — способ так себе, так как не будет ловить не подтвержденные транзакции, а люди любят, когда сразу приходит хотя бы как "не подтвержденное".

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

Вот код на пхп:

Code:
        $txs = false;
        try
        {
                $block_count = $W->getblockcount();
                $block_since = $W->getblockhash($block_count - 600);
                $txs = $W->listsinceblock($block_since);
        }
        catch (Exception $e)
        {
                echo "ERROR: " . $e->getMessage() . "\n";
        }

        if (!$txs) return;

        foreach ($txs['transactions'] as $t)
        {
...
        }

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

JSON-RPC PHP ведь?
legendary
Activity: 1442
Merit: 1016
September 14, 2014, 01:45:39 PM
#7
Ужас какой, питон под виндой... кошмар...

По делу — способ так себе, так как не будет ловить не подтвержденные транзакции, а люди любят, когда сразу приходит хотя бы как "не подтвержденное".

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

Вот код на пхп:

Code:
        $txs = false;
        try
        {
                $block_count = $W->getblockcount();
                $block_since = $W->getblockhash($block_count - 600);
                $txs = $W->listsinceblock($block_since);
        }
        catch (Exception $e)
        {
                echo "ERROR: " . $e->getMessage() . "\n";
        }

        if (!$txs) return;

        foreach ($txs['transactions'] as $t)
        {
...
        }

Написали бы что класс добавлять надо какой человеку, а то он может не в курсе.
legendary
Activity: 954
Merit: 1003
September 11, 2014, 05:45:51 AM
#6
а не проще нам скооперироваться и бесплатно поставить вам на сайт наш мерчант приема платежей

вы в своем уме?
legendary
Activity: 1554
Merit: 1008
September 04, 2014, 12:22:25 AM
#5
тоже не то - делать двойную работу, ведь кошелек уже все сделал за нас
поэтому я использую lisunspent
хотя с таким подходом много нюансов

работает и с нулевыми подтверждениями
пример работы можно тут глянуть
http://cryptopay.in/shop/bill/show/240
при оплате любой покажет и с нулевым подтверждением
но зачтет в баланс при 1-м подтверждении

для отлова нулевых подтверждений - запускаем цикл бесконечный и каждые 10-30 сек делаем проверку

а не проще нам скооперироваться и бесплатно поставить вам на сайт наш мерчант приема платежей

там то всего 2 строчки кода будет:
- создать счет
- проверить оплату по счету
legendary
Activity: 1498
Merit: 1021
Was mich nicht umbringt macht mich stärker [F.N.]
September 03, 2014, 11:06:19 PM
#4
А зачем
Code:
$block_since = $W->getblockhash($block_count - 600);
?
У нас ведь подтверждение транзакции 6 блоков, а не 600?
legendary
Activity: 954
Merit: 1003
July 13, 2014, 01:26:30 PM
#3
Ужас какой, питон под виндой... кошмар...

По делу — способ так себе, так как не будет ловить не подтвержденные транзакции, а люди любят, когда сразу приходит хотя бы как "не подтвержденное".

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

Вот код на пхп:

Code:
        $txs = false;
        try
        {
                $block_count = $W->getblockcount();
                $block_since = $W->getblockhash($block_count - 600);
                $txs = $W->listsinceblock($block_since);
        }
        catch (Exception $e)
        {
                echo "ERROR: " . $e->getMessage() . "\n";
        }

        if (!$txs) return;

        foreach ($txs['transactions'] as $t)
        {
...
        }
legendary
Activity: 1554
Merit: 1008
June 30, 2014, 05:58:16 AM
#2
я использую
Code:
listunspent 

как только пришел блок, а его можно поймать если задать запуск команды в конфиге клиента
Code:
blocknotify	=start /LOW /MIN C:\web2py-m\applications\...\!notify-curl.cmd BTC %s >nul

в комнадном файле
Code:
curl_nossl http://localhost..../УРЛ/%1/%2 --connect-timeout 10 -m 10 --no-keepalive --no-sessionid -j >>%to_out%


у меня как только пришел блок кошелек запускает открытие УРЛ на локальном сервисе и апачи запускает весь расчет который на фрэймворке web2py сделан (на питоне)
newbie
Activity: 26
Merit: 0
June 30, 2014, 01:55:20 AM
#1
Всем привет!
Если кто сталкивался подскажите как отработать событие прихода средств на адрес аккаунта в bitcoin кошельке?

Суть такова: пользователю создается аккаунт на сайте и с таким же именем в кошельке, кошельку отдается команда getnewaddress("username"), это понятно. В любой момент пользователь может себе сгенерировать новый адрес для депозита, это тоже элементарно.

Но встал в ступор на такой стадии: когда пользователь отправил монеты на свой адрес, как дать понять скрипту что надо сделать запись этого значения в БД MySQL? то есть сколько пришло монет на адрес, столько должно попасть в числовом эквиваленте в БД сайта. Как отработать это событие?

Спасибо мужики, если поможете.
Jump to: