Программная проверка биткойн-платежей

Можно ли анонимно программно проверить, что транзакция достигла n количества проверок, не запуская полный узел? Если да, то как лучше всего это сделать?

По сути, я хочу создать платежную систему, в которой после первоначального обнаружения перевода клиент увидит сообщение с благодарностью и сообщением о том, что его покупка будет обработана в течение 24 часов и что он получит электронное письмо после завершения подтверждения. Затем в течение дня можно запустить задание cron, которое проверяет, что каждая транзакция достигает желаемого количества проверок, и если это так, разделите деньги между двумя кошельками и отметьте продукт для отправки. Я также не хочу, чтобы это было с такими сервисами, как Coinbase или Bitpay, где они контролируют ваши монеты.

До сих пор я экспериментировал с Blocktrail и снаряжением для мицелия. У обоих есть некоторые элементы, которые мне нравятся, но все же не все, что мне нужно. С мицелием вы можете установить количество проверок, но, например, если я хочу установить 6 проверок, клиенту придется сидеть там, возможно, за час, прежде чем он увидит следующий экран. Blocktrail позволяет мне запросить подтверждение транзакции, но, насколько я могу судить, у него есть возможность проверить, была ли завершена только одна проверка. Может ли кто-нибудь предложить API или виджет, который может выполнить эти задачи? Предпочтительно PHP или, если не JQuery.


person Shlomo7    schedule 03.03.2017    source источник
comment
По сути, я хочу, чтобы он построил платежную систему... Нет, вы этого не сделаете. Их чертовски трудно получить, и даже режим трудно защитить от злоумышленников, что вы будете иметь, если это биткойн. Не рискуйте и найдите что-то, что поможет вам достичь цели на 80%, а затем добавьте свою настройку.   -  person tadman    schedule 04.03.2017
comment
Возможно, я ошибся, когда сказал, что хочу построить систему ... Я не имею в виду с нуля. В основном я хотел бы использовать виджет мицелия, установленный на 0 проверок, и перенаправить их на сообщение, подобное тому, что я упомянул, и по-прежнему рассматривать транзакцию. неполный. Затем вернитесь и программно проверьте проверки, прежде чем пометить как оплаченные. Таким образом, вариант с мицелием уже реализован на 80%, я просто хочу усилить его, чтобы защитить от двойных расходов, и в то же время не заставлять моего клиента ждать нескольких проверок, прежде чем он получит отзыв и сможет продолжить свой день.   -  person Shlomo7    schedule 04.03.2017
comment
Чтобы это был вопрос о переполнении стека, он действительно должен касаться программирования, особенно с точки зрения фактического кода. Я думаю, что это все еще слишком абстрактно и расплывчато, это вопрос совета, и это нормально, но здесь не место для него.   -  person tadman    schedule 04.03.2017
comment
Это как если бы существовал вопрос, потому что я не знаю и не нашел его в поиске. Анонимный API, который проверяет подтверждения   -  person Shlomo7    schedule 04.03.2017
comment
Это нормально задавать такие вопросы, нам всем иногда нужно это делать, но Stack Overflow имеет довольно специфический мандат, и этот вопрос не соответствует этим критериям. Лучше всего подойдет дискуссионный форум более общего назначения, даже такое место, как Reddit's /r/bitcoin.   -  person tadman    schedule 04.03.2017


Ответы (1)


Blockchain.info имеет простой API запросов для запроса того, сколько биткойнов было получено на адрес. Вы можете добавить параметр confirmations=n, который будет включать только те биткойны, которые были подтверждены 'n' раз. Он возвращает простое значение в сатоши.

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

https://blockchain.info/q/getreceivedbyaddress/1PFtyX9nQvjP8U2N3iUk2oNorzPfpjX9sK?confirmations=a

person antidigerati    schedule 10.03.2017
comment
Большое спасибо. Это именно то, что я хотел. Я также понял, как это сделать с помощью blockexplorer, но я думаю, что буду использовать оба, поэтому у меня есть некоторая избыточность/отказоустойчивость в моем приложении. - person Shlomo7; 14.03.2017