Итак, у меня есть кошелек с тысячами адресов, я хочу знать, как я могу проверить блокчейн, была ли транзакция сделана на тот (или другой) адрес?
Существует несколько сервисов API, которые позволяют выполнять массовые запросы адресов.
Например, API смартбита принимает до 1000 адресов с их v1/blockchain/addresses
конечной точкой, которая сначала возвращает сведения о каждом адресе, отсортированном по самому высокому балансу.
Пример GET-запроса:
https://api.smartbit.com.au/v1/blockchain/addresses/1DuMuchPBGNoi5b9JmpreZ2L5EpuMiJdyc,1N75aWck3TFPorTvSgdzLUttY8uddqTAFZ,161UqtBktXJMzcg2zxBGMiHgnVrtH78Amx,19eKtxPVSmowzX34996Xo
Ссылка на документацию по API: https://www.smartbit.com.au/api
РЕДАКТИРОВАТЬ: Smartbit API постоянно отключен
РЕДАКТИРОВАТЬ 2: Blockcypher предлагает аналогичный сервис API.
https://www.blockcypher.com/dev/bitcoin/#адрес-баланс-конечная точка
У вас есть два варианта:
Пример запроса:
$ curl https://blockexplorer.com/api/addr/19SokJG7fgk8iTjemJ2obfMj14FM16nqzj
{"addrStr":"19SokJG7fgk8iTjemJ2obfMj14FM16nqzj","balance":0,"balanceSat":0,"totalReceived":112.91089695,"totalReceivedSat":11291089695,"totalSent":112.91089695,"totalSentSat":11291089695,"unconfirmedBalance":0,"unconfirmedBalanceSat":0,"unconfirmedTxApperances":0,"txApperances":364,"transactions":["a2afb522edeba67ae593c683154da45b231d59ffccd18806cec38ecd21994a2d","28ccc7fe617451a4d15b8cea64a6ac222600e2877073ba543d83225a354975ac","950239654cd47d2b53f98bdf250cfbf516e1a9eaf87944ee8afac603a9cb61fc","4daa82997cb86b6f75089ad19eddf518b77a4d88a72920efbab6439914a2183b","27b6dc933a9eee548d5b40574c16e9e29a907e9a85a51c2545a60a0833a0f441","cacc6ded99959ff8310b18e1052e05a4aa9fe8c4c7f9651318fbbe3fcd5a16ab",...}
Первый вариант проще, так как вам не нужно загружать гигабайты данных цепочки. Второй вариант лучше, так как вы не полагаетесь на какую-то платформу.
Люк
.../address/<addr1>,<addr2>
, что.../addresses/
просто возвращает самых богатых людей независимо от каких-либо параметров.