Принимаем оплату в Bitcoin: Часть пятая, есть нюансы

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

Так сложилось, что многие криптовалюты имеют в предках именно bitcoin. С разной степенью отличий и разным уровнем самостоятельности, тем не менее, многое унаследовано от родительского кода. Это и litecoin, и DASH, и уж конечно, Bitcoin Cash (последние являются вообще практически точной копией). Даже такая экзотика, как Zcash несет много исходного кода bitcoin. 

Как побочный эффект, мы имеем почти полную копию реализации JSON-RPC. И как следствие, реализовав однажды все необходимое для bitcoind, вы имеете достаточно полный фундамент для приема платежей как минимум в перечисленных криптовалютах. Конечно, как и говорится в названии, есть нюансы. Некоторые команды могут отличатся или давать другой результат. Например, DASH не знает что такое multisig адреса, а litecoind в некоторых версиях требует дополнительных усилий для формирования адреса в формате segwit. Но в общем и целом, все очень похоже, и выполнить адаптацию готового кода не составит большого труда. 

Но не все в нашей жизни так радужно. Вернемся к тому, как мы реализовывали прием платежей именно в bitcoin. То, как мы это реализовывали - хорошо, если у вас проходит несколько десятков платежей в сутки. Ведь не так и сложно проверить даже сотню адресов на предмет входящей транзакции. А если вас попросили написать шлюз, который принимает платежи, например, для ebay или amazon?

Когда через неделю-другую ваша база выданных адресов разрастется до нескольких десятков тысяч, вечер перестанет быть томным. Скорость ответа bitcoind начнет стремительно падать, а поток запросов к нему - стремительно расти. И проверка всей базы начнет занимать уже не секунды и десятки минут, а потом и часы. Я думаю, мало кто захочет ждать сутки, пока его платеж будет обработан. 

Хорошо, что разработчики bitcoin об этом позаботились, да и их наследники получили готовый функционал. К нашему счастью, bitcoind умеет отсылать уведомление о факте получения входящей транзакции. Это была хорошая новость. Теперь - не очень хорошая. Точнее, несколько.

Во-первых, bitcoind умеет сообщить факт получения новой транзакции, но ни слова не скажет нам о том, на какой адрес она поступила, но зато пришлет нам ее tx-id, такая страшная длинная строка, что-то вроде:

ce397d610c0066f1f4f38d532bc527daac3bd6aac25081618be63620d9078c7b

Где-то мы её уже видали. И даже знаем, что можно спросить:

bitcoin-cli gettransaction ce397d610c0066f1f4f38d532bc527daac3bd6aac25081618be63620d9078c7b

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

Теперь о нюансах. Наш bitcoind отправляет уведомление только 2 раза. Первый - когда транзакция проходит по сети, еще до ее подтверждения. Второй - когда транзакция включена в блок. То есть, при первом подтверждении. А вот если вы хотите признать оплату состоявшейся на 6 подтверждении, эти уведомления вам мало помогут. 

И еще один малоприятный нюанс. Дело в том, что bitcoind не присылает уведомление привычными способами, вроде того же RPC-запроса. Он умеет только выполнить команду в пределах операционной системы, в которой сам работает. И передать данные в качестве параметра.

В следующей статье я расскажу как с этим жить, и самое главное - как это все настроить.

Читайте также

5252018-09-17

Cofound. it прекращает работу

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

ICO
1732018-09-21

FUD вокруг Litecoin нарастает: Чарли Ли есть что ответить на это

Создатель Litecoin, Чарли Ли уверен что в криптопространстве происходят согласованные усилия по подавлению цены LTC на стороне медвежьих трейдеров и хедж-фондов, которые пытаются обесценить монету.

Альткоины

Последние статьи из раздела

Свежее видео на канале

Выбор редакции

126382017-12-25

Bitcoin: пирамида или нет?

С января 2009 года, когда был сгенерирован первый генезиз-блок bitcoin-сети, прошло уже девять лет, но до сих пор всякого рода "эксперты" ломают копья в спорах: являются ли криптовалюты финансовой пирамидой или нет. Быстрый рост доходности bitcoin и прибыли тех, кто раньше стал участником этой системы, пугает схожестью с пирамидами 90-х.

Bitcoin
104252018-04-28

on-chain и off-chain управление: за и против

Чтобы понять важность управления блокчейном и дискуссии вокруг этого вопроса, сначала нужно определить что такое управление блокчейном, его роль и цели. Управление блокчейном в сфере криптовалют состоит из двух пунктов: правил протокола (кода) и экономических стимулов, на которых основана сеть.

Blockchain
68452018-07-28

Грузинская криптокухня. Выбираем блюда

Ни для кого не секрет тот факт, что Грузия является одной из самых лояльных стран постоветского пространства, где не только уютно, но и выгодно вести бизнес. Это стало возможным буквально за последние 10 лет благодаря колоссальным реформаторским усилиям сменявших друг друга руководителей страны, каждый из которых стремился сделать её лучше и богаче. Как именно обстоят дела здесь с криптовалютным бизнесом попытаемся разобраться в нашем сегодняшнем материале.

Право, Майнинг, Регуляторы
54192018-06-24

Поиск серых майнеров в недрах Chrome и Opera

Вы уже знаете как javascript-майнеры попадают на страницы интернет-ресурсов. Теперь попробуем разобраться как же выяснить какая именно из множества открытых вкладок использует Ваши ресурсы для добычи криптовалюты.

Безопасность
29892018-06-08

Принимаем оплату в bitcoin: Часть первая, теоретическая

Интернет полон статей о том, какое прекрасное будущее готовит нам blockchain, как это "стильно, модно и инновационно". Однако информации, как практически воспользоваться всем этим великолепием, крайне мало. Попробуем частично восполнить этот пробел.

Обучение
29372018-09-12

Три быка, которые могут спасти крипторынок

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

Мнение