Author

Topic: Вопрос про прием платежей с помощью bitcoind и JSON RPC (Read 1440 times)

newbie
Activity: 10
Merit: 0

Запустите первый раз без параметра - покажет все входящие транзакции.

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

Окей, спасибо, возьму на заметку!
hero member
Activity: 808
Merit: 1014
Так у вас и так все транзакции хранятся в блокчейне - вы же с Bitcoin Core хотите работать.

Т.е. полный блокчейн у вас всегда под рукой.

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

Соответственно, имеет смысл запускать обработчик не чаще, чем в сети появляются новые блоки - если хотите ловить транзакции только с подтверждениями. Если хотите видеть и не подтверждённые транзакции - можно раз в минуту запускать.


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

Запустите первый раз без параметра - покажет все входящие транзакции.

В процессе разбора результатов выдачи запоминайте в базу хеши блоков и потом запрашивайте уже с параметрами последнего обработанного блока.
newbie
Activity: 10
Merit: 0
Так у вас и так все транзакции хранятся в блокчейне - вы же с Bitcoin Core хотите работать.

Т.е. полный блокчейн у вас всегда под рукой.

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

Соответственно, имеет смысл запускать обработчик не чаще, чем в сети появляются новые блоки - если хотите ловить транзакции только с подтверждениями. Если хотите видеть и не подтверждённые транзакции - можно раз в минуту запускать.


А как мне определить какой блок мне нужен? Вот мне например нужен последний блок, как я узнаю его идентификатор чтобы передать в функцию listsinceblock?
hero member
Activity: 808
Merit: 1014
Можно воспользоваться API командой listsinceblock и её вывод анализировать - на какой адрес и сколько пришло.

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

Хм, а что передевать в listsinceblock? Получается что она мониторит все транзакции для моего кошелька с какого-то определенного момента? Получается за месяц работы, допустим, там будет огромный список транзакций и он будет расти с каждой новой? Или как? Кстати, спасибо за внимание к теме. Вроде задача актуальная а ответов особо нет.

Так у вас и так все транзакции хранятся в блокчейне - вы же с Bitcoin Core хотите работать.

Т.е. полный блокчейн у вас всегда под рукой.

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

Соответственно, имеет смысл запускать обработчик не чаще, чем в сети появляются новые блоки - если хотите ловить транзакции только с подтверждениями. Если хотите видеть и не подтверждённые транзакции - можно раз в минуту запускать.
newbie
Activity: 10
Merit: 0
Можно воспользоваться API командой listsinceblock и её вывод анализировать - на какой адрес и сколько пришло.

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

Хм, а что передевать в listsinceblock? Получается что она мониторит все транзакции для моего кошелька с какого-то определенного момента? Получается за месяц работы, допустим, там будет огромный список транзакций и он будет расти с каждой новой? Или как? Кстати, спасибо за внимание к теме. Вроде задача актуальная а ответов особо нет.
hero member
Activity: 808
Merit: 1014
Можно воспользоваться API командой listsinceblock и её вывод анализировать - на какой адрес и сколько пришло.

Отдельно каждый адрес мониторить нет нужды, этой командой можно получить входящие транзакции на все адреса.
newbie
Activity: 10
Merit: 0
Есть задача - организовать прием платежей биткоин. Вопрос в том как реализовать. Я понимаю что в основном делается так: для каждой транзакции каждому пользователю создается новый адрес, куда нужно перечислить средства. Но тогда встает вопрос - как мне получить информацию по конкретной транзакции? Это при том что число адресов будет расти с числом транзакций. Получается что у меня на кошельке будет очень много адресов с небольшим балансом. В общем хочется узнать как обычно такое реализовывают. Спасибо.

Тему лучше перенести в раздел кодеры. В принципе существуют готовые API (например на blockchain.info).

Так получилось что тут требуется своими силами с помощью bitcoind и easybitcoin-класса.

UPD: То есть основной вопрос такой - как отследить транзакцию по конкретному адресу, который я дал клиенту для оплаты. Вот.
legendary
Activity: 2156
Merit: 1132
Есть задача - организовать прием платежей биткоин. Вопрос в том как реализовать. Я понимаю что в основном делается так: для каждой транзакции каждому пользователю создается новый адрес, куда нужно перечислить средства. Но тогда встает вопрос - как мне получить информацию по конкретной транзакции? Это при том что число адресов будет расти с числом транзакций. Получается что у меня на кошельке будет очень много адресов с небольшим балансом. В общем хочется узнать как обычно такое реализовывают. Спасибо.

Тему лучше перенести в раздел кодеры. В принципе существуют готовые API (например на blockchain.info).
newbie
Activity: 10
Merit: 0
Есть задача - организовать прием платежей биткоин. Вопрос в том как реализовать. Я понимаю что в основном делается так: для каждой транзакции каждому пользователю создается новый адрес, куда нужно перечислить средства. Но тогда встает вопрос - как мне получить информацию по конкретной транзакции? Это при том что число адресов будет расти с числом транзакций. Получается что у меня на кошельке будет очень много адресов с небольшим балансом. В общем хочется узнать как обычно такое реализовывают. Спасибо.
Jump to: