Я хочу проанализировать информацию API blockchain.info - PullRequest
0 голосов
/ 11 января 2020

Во-первых, спасибо всем, кто может мне помочь с этим.

Я работаю в bitcoin исследовании и использую API blockchain.com для получения некоторой информации о bitcoin транзакциях. Например, если я извлекаю транзакции для адреса 1ADSb1ZZ9k3NsDf3JTQCQ4mb8bthiAN6NJ, я получаю четыре записи, и одна из них - транзакция https://www.blockchain.com/btc/tx/69b98a4476767e6fc40f8c33b3aec7fe83b7a7d3f8c7e92203b00c6be5afbdb3

Мой вопрос, откуда мне точно знать возвращенные поля адрес 1ADSb1ZZ9k3NsDf3JTQCQ4mb8bthiAN6NJ по какому адресу в выходной стороне платили? и каково значение полей в возвращаемых результатах, таких как n, tx_index и т. д. c. к необработанным данным можно получить доступ через веб-сайт https://blockchain.info/rawaddr/1ADSb1ZZ9k3NsDf3JTQCQ4mb8bthiAN6NJ

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

{'block_height': 598496,
      'block_index': 0,
      'hash': '69b98a4476767e6fc40f8c33b3aec7fe83b7a7d3f8c7e92203b00c6be5afbdb3',
      'inputs': [{'prev_out': {'addr': '1ELHDQXk9oFN3oNekrjsuEgdgs9PREhbP8',
                               'n': 0,
                               'script': '76a914923f12b92a44b2bebdee1629dc56b10b1551875b88ac',
                               'spending_outpoints': [{'n': 0,
                                                       'tx_index': 0}],
                               'spent': True,
                               'tx_index': 0,
                               'type': 0,
                               'value': 342000},
                  'script': '483045022100ca541d97ac125eab86d1bb7d8cbd57badbaeb03b4a5ca8c3ffb09e6f4287250a02204cc8974b28d2d9d011fab69aa71931078e3fd7b161e8fa00f0529c0202d0c958012102fa53aa0f511a3f17ee404af88c25437efafe22043e2648ca9c84540d0cbfbfc3',
                  'sequence': 4294967295,
                  'witness': ''},
                 {'prev_out': {'addr': '1LcxEYYTmZzpFBT1NRjMHJaPxQdoqjRUNz',
                               'n': 1,
                               'script': '76a914d7370e1fa4287252343681b303ffa0ae49aae67488ac',
                               'spending_outpoints': [{'n': 0,
                                                       'tx_index': 0}],
                               'spent': True,
                               'tx_index': 0,
                               'type': 0,
                               'value': 342000},
                  'script': '4730440220039c37fd0c0bb6ed6ee8e4d85fdb9b48d26b4d94d9df837e401ab98aaca0495a0220181248ddd1a42e57cea6a5b5f81fa52459c342c24494f72e633d7aa8fe32fd850121028402d935c4360218ff7a1471b0b465e5aacda16e44a9768e19062fd7c5e08701',
                  'sequence': 4294967295,
                  'witness': ''},
                 {'prev_out': {'addr': '1ADSb1ZZ9k3NsDf3JTQCQ4mb8bthiAN6NJ',
                               'n': 1,
                               'script': '76a91465137b65f80173c7fd3dcb898f40fd3fed243c7988ac',
                               'spending_outpoints': [{'n': 0,
                                                       'tx_index': 0}],
                               'spent': True,
                               'tx_index': 0,
                               'type': 0,
                               'value': 342000},
                  'script': '47304402201f984f7dccb2e536e22e896b3220c84b84cece5327c73a85da8bc6b8dca41bcc022045aa417d039f611779f5603f944e28e7a26094e8a8db44d5c1eb21f36e65ebb9012102b039f2a05824c9172f35a4548732e03724d88283241becc72d0dc2fbef18787c',
                  'sequence': 4294967295,
                  'witness': ''},
                 {'prev_out': {'addr': '1AMk76C3A8pLCfzm9YzaR3x2bdt9RZpNMw',
                               'n': 0,
                               'script': '76a91466a56efb73d51f5da3ba4e417f1da6f72d75053488ac',
                               'spending_outpoints': [{'n': 0,
                                                       'tx_index': 0}],
                               'spent': True,
                               'tx_index': 0,
                               'type': 0,
                               'value': 342000},
                  'script': '483045022100d936b8baf3b2a85e570a96d73192690b7714604277041a9846454c1a8510688202207aa240aa837ec2fa86e499d36cac42c63c23522a66a3698727ee9abfef0f1b680121020450fbd3d3191b5c632f263676e8a0a4cf286ade84efb3df156426b426660754',
                  'sequence': 4294967295,
                  'witness': ''}],
      'lock_time': 0,
      'out': [{'addr': '1BTa8D9QY38abvApj5yiahh4nJ3XaTfbWA',
               'n': 0,
               'script': '76a91472b7b93efd311bbce2234913972fe5459d69807d88ac',
               'spending_outpoints': [{'n': 9, 'tx_index': 0}],
               'spent': True,
               'tx_index': 0,
               'type': 0,
               'value': 133591},
              {'addr': '3Nd9T4GqjefS9gzM7SCENGh9tUvUU4Mp8t',
               'n': 1,
               'script': 'a914e59f42949527e3411b9fbe1cbfba1ec1606d08ff87',
               'spending_outpoints': [{'n': 12, 'tx_index': 0}],
               'spent': True,
               'tx_index': 0,
               'type': 0,
               'value': 1223069}],
      'relayed_by': '0.0.0.0',
      'result': -342000,
      'size': 666,
      'time': 1570559470,
      'tx_index': 0,
      'ver': 1,
      'vin_sz': 4,
      'vout_sz': 2,
      'weight': 2664}

Я ценю вашу помощь. Я борюсь за это сейчас, чтобы бросить курить время

1 Ответ

0 голосов
/ 11 января 2020

Bitcoin транзакции имеют модель ввода / вывода, я предлагаю вам изучить это: https://en.bitcoin.it/wiki/Transaction, она ответит на все ваши вопросы.

Я объясню. Ваш вопрос, на какой адрес 1ADSb1ZZ9k3NsDf3JTQCQ4mb8bthiAN6NJ заплатил, не имеет смысла, потому что он, наряду с 3 другими адресами, выплачивается на 2 разных адреса. В этом случае обычно один адрес получает 1 сумму, а второй полученный адрес изменяется (возвращается к первоначальному владельцу). Чтобы понять, что я имею в виду, я объясню, как транзакция создается на Bitcoin.

Сценарий

Пользователь A хочет отправить .1 BT C пользователю B. Для для этого они должны собрать достаточно результатов предыдущих транзакций (где они получили Bitcoin) и использовать их в качестве входных данных для новой транзакции. Итак, скажем, на прошлой неделе пользователь C отправил 0,05 BT C пользователю A, а пользователь D отправил 0,1 BT C пользователю A. Вы можете подумать, что пользователь A может просто получить вывод из транзакции пользователя D и отправьте это B, но вы должны включить небольшую плату для майнера, чтобы ваша транзакция была добавлена ​​в блок в блокчейне (майнеры почти никогда не будут майнить транзакцию бесплатно, им платят комиссию за транзакцию, а также награда за блок, когда они добывают блок).

Итак, чтобы покрыть плату, скажем, это 0,00003 BT C. Пользователь A должен использовать оба предыдущих выхода, поэтому будет отправлено 0,15 BT C. Теперь вы должны потратить все входные данные, поэтому пользователь A, очевидно, не захочет отправлять так много, если он должен всего лишь 0,1 BT C, поэтому пользователь A создаст транзакцию, которая отправит 0,1BT C пользователю A, и 0,04997 BT C (0,05 минус комиссия за транзакцию) обратно на себя. Это называется изменением адреса и обычно не совпадает с тем, который ранее использовал пользователь A. Это из соображений конфиденциальности, поэтому сложнее сказать, кто получил Bitcoin, а кто вернул изменения, если кто-то пытался отследить расходы пользователей.

...