Тип и сумма транзакции в Blockchain API

Я создаю себе программу оповещения, с помощью которой я хочу отправить себе оповещение по электронной почте, если на всех (5) моих адресах выполняются транзакции.

Я выбрал Blockchain API, потому что не смог найти для этого ничего лучше.

Как я могу узнать, является ли эта транзакция входящей или исходящей транзакцией? Этот JSON ниже является одной транзакцией из нескольких, которые я возвращаю с запросом: https://blockchain.info/de/address/1MLnfxu3AicGcpBS4MbevCCQP8WSftkXj8?format=json

Также, где я могу узнать, сколько BTC переводится в этой транзакции.

К вашему сведению, я пишу скрипт на Python. Я мог бы проанализировать все значения «значения» и сложить их вместе. Также я мог бы проверить, указан ли мой адрес, находится ли он на «входах» или «на выходе».

Но разве нет лучшего способа? Или для этого есть лучшие API?

{
   "ver":1,
   "inputs":[
      {
         "sequence":4294967295,
         "prev_out":{
            "spent":true,
            "tx_index":182562706,
            "type":0,
            "addr":"3NSHD5zB9wCMfoVXsuS9v8d6PcnKxDFKeg",
            "value":40000,
            "n":1,
            "script":"a914e3912957c315153f65bfef4322af64188ba7cdc487"
         },
         "script":"00473044022039d16bf80101ce331e93f8dd8d24e8770e3d7a8e367f2e54a86d2f4153ea5d99022048bff03a37f39180ac3b18d8619f6d450a4b3ec9ebf4bf24f598b16348187e550147304402203df2d77fefe694a5b58a1c77af3d73c75eab5bbe36fec3c1c7364fc7b9f4b367022048a80b164ada45a4b734586e6e6f2f3f624415287a346ef84bc3c6b63e67808f0147522102265981c8d731915bee94597c8f7fce92819ab37245b9c6b1f2f011015161adf02103c511b8fe3a5e60ad16bb14b0865f8a3f192ddb386c4f8d23f72edd24764e0e2352ae"
      },
      {
         "sequence":4294967295,
         "prev_out":{
            "spent":true,
            "tx_index":183105717,
            "type":0,
            "addr":"3NSHD5zB9wCMfoVXsuS9v8d6PcnKxDFKeg",
            "value":14980000,
            "n":0,
            "script":"a914e3912957c315153f65bfef4322af64188ba7cdc487"
         },
         "script":"0047304402202ec3a4c1bf1aa386f8db24e2ec0434f5224890ea9c510b067f03a39c1d69325a0220154ffb2d6f54875faa0ee2de10a78ace2fff30595a88732937e2827bddeab1ea01483045022100e8ee555d0cdf09a7803fbffdca4da3498393748f1ff52f10abfbfe6920bc118702202f7ffc9ff6289cfc17e26004298d6ce4379451fd3cb29399d7adf30e704dc10e0147522102265981c8d731915bee94597c8f7fce92819ab37245b9c6b1f2f011015161adf02103c511b8fe3a5e60ad16bb14b0865f8a3f192ddb386c4f8d23f72edd24764e0e2352ae"
      }
   ],
   "block_height":436110,
   "relayed_by":"176.126.247.116",
   "out":[
      {
         "spent":true,
         "tx_index":185011579,
         "type":0,
         "addr":"1PHdd9DpdHtxNeVeqkEbBu1pBoDcTws6kx",
         "value":5066000,
         "n":0,
         "script":"76a914f477fe7c4a0fce5dbc7c174ba2ab5d9ab27fe91d88ac"
      },
      {
         "spent":false,
         "tx_index":185011579,
         "type":0,
         "addr":"1MLnfxu3AicGcpBS4MbevCCQP8WSftkXj8",
         "value":9834000,
         "n":1,
         "script":"76a914df208b39050b2a3f1166216efda0855cc4df8aae88ac"
      },
      {
         "spent":false,
         "tx_index":185011579,
         "type":0,
         "addr":"3NSHD5zB9wCMfoVXsuS9v8d6PcnKxDFKeg",
         "value":60000,
         "n":2,
         "script":"a914e3912957c315153f65bfef4322af64188ba7cdc487"
      }
   ],
   "lock_time":0,
   "result":99980000,
   "size":627,
   "time":1477558874,
   "tx_index":185011579,
   "vin_sz":2,
   "hash":"1806396e0a7fa220d5626dae7ee4a5caa3b35d333f1885d25a440d256701bba4",
   "vout_sz":3
}

Ответы (2)

Есть лучший API, и это основной API Биткойн. Там вы получите все необходимые данные. Blockchain.info, вероятно, также должен использовать основные API (или они должны были создать синтаксический анализатор для анализа двоичных данных блокчейна на машине, на которой работает полный узел). Используя основные API и соответствующие привязки для различных языков программирования, вы можете получить доступ ко всем необходимым данным из блокчейна.

Кажется, что выше нет поля txid, но есть один tx_index, который ссылается на этот шестнадцатеричный код. Вы можете получить количество BTC в этой транзакции (ввод и вывод) с помощью основного API getrawtransaction(для доступа к транзакциям без кошелька вам необходимо перестроить блокчейн после добавления строки txindex=1 в файл конфигурации и перезапуска сервера с помощью -опция переиндексации)

Blockonomics API имеет вызов API истории, который возвращает историю транзакций нескольких биткойн-адресов, считая их частью одного и того же кошелька. На входе вы можете указать все свои пять адресов и проанализировать значение вывода JSON. В случае исходящей транзакции; значение будет отрицательным, иначе значение будет положительным.