адрес — Как извлечь адреса из ввода в необработанной транзакции
инструмент для исследования биткойнов (bx) используемый ниже, еще не поддерживает закодированную segwit часть анализа необработанной шестнадцатеричной транзакции (TX). Однако приведенные ниже команды bx могут анализировать результаты в автономном режиме с учетом предоставленного необработанного TX, указанного выше, и двух соответствующих TX, связанных с двумя входными UTXO.
% эхо | bx tx декодировать
{
hash b0dd3d915a568c9d48e37b3fbfca58ae3276a5dba176fdf30f18af794310cc02
inputs
{
input
{
address_hash 49e282ad0605c1cb63ff45fc34b14357859e8d08
previous_output
{
hash f0fa97af6ba86096d9efcfea0bef4d6d146552bdf70e25b067dce1c1520d37b4
index 0
}
script [00202dc520822e73d4262000d3b456b16df1d07b0ba9d238f3063379d65840fd38e7]
sequence 4294967294
witness "[] [304402202575f8326e510b8213d70a8213ab1a36cd2984b16673ef3579960d0089ad13de022020ec4e78129c084103909acec0319f7d326fff699de142ab354be9570d68dc1701] [304402202bc22860e84e0311bbc175940c2b3b5435255dc7ca3fb0d12e5f03df80237b880220536eceee1aace094825f0fd884d057e395102f4e4627188fe6dd5648cdc7a45701] [52210274ecb4e28e6b7be314d844bb7561b605d537106f7f5c3eaba31a8cd3dd0097c8210343ed9c58350b4013b3c9a02da2148d59e8109a90f0fa0ea77d31b8570990d46352ae]"
}
input
{
address_hash 70871ecb261f3df9a9d325b33ef6d8acb5074258
previous_output
{
hash 50ca26b5a369aadcaa1a18ac6f492e81a451b0e7832db583a7a7677a8cb0e792
index 1
}
script [0020357bc74e1f825c4628519a3322f2aa9b2c5bd55b523149d4e1f7fe2f273ce7d6]
sequence 4294967294
witness "[] [3044022042d6861f81b617cfbe51e7efefb59dd990d4c0057b43645d2f006db93b38c59e02204595b7f822546082b0ee1efb6966c97b2d8174c96b670a10bc9d78d3cf7ba99101] [3045022100bb3a612fe17f261a0c5e9db20a087362c10556571ef54866ab29cfdb94975236022037bebec4c0459bba21656cb36b331313c2dd6008ed7a2479efca659c7fc97c9d01] [522103838edaeadeed0e9f660e725970787b69ad4926afe1f19626d5476d356cb3b4722103c37f3b264f674c6c2e273e06da7fb7fe720be6828f251c71d0cb10e349d0222d52ae]"
}
}
lock_time 540463
outputs
{
output
{
address_hash 113e1767186f0280174123ad0c22e8929f994c1c
script "hash160 [113e1767186f0280174123ad0c22e8929f994c1c] equal"
value 100000
}
output
{
address_hash 8160a47aeafb68288f0df8551d5d9dddd22a6433
script "hash160 [8160a47aeafb68288f0df8551d5d9dddd22a6433] equal"
value 130548
}
}
version 1
}
Затем необходимо изучить сценарии вложений, связанные со следующим, чтобы подтвердить, являются ли они типами адресов P2PKH или P2SH:
1) идентификатор транзакции f0fa97af6ba86096d9efcfea0bef4d6d146552bdf70e25b067dce1c1520d37b4 и индекс 0
2) идентификатор транзакции 50ca26b5a369aadcaa1a18ac6f492e81a451b0e7832db583a7a7677a8cb0e792 и индекс 1
%bx fetch-tx -c ~/биткойн-explorer/bx-mainnet-remote.cfg f0fa97af6ba86096d9efcfea0bef4d6d146552bdf70e25b067dce1c1520d37b4
transaction
{
hash f0fa97af6ba86096d9efcfea0bef4d6d146552bdf70e25b067dce1c1520d37b4
inputs
{
input
{
address_hash 40ef0e3af404842b44912f6a65ca4adfb8f93a1a
previous_output
{
hash f0eda490f5e8c3096b74b66524ff9c7b6fa1b9d4280e8372476af1d202a8b360
index 1
}
script [0020de730ce4f827ac7c63ea8c9a47419875eacaf167f9391eb5d30817a181aca8d3]
sequence 4294967294
}
}
lock_time 539071
outputs
{
output
{
address_hash 49e282ad0605c1cb63ff45fc34b14357859e8d08
script "hash160 [49e282ad0605c1cb63ff45fc34b14357859e8d08] equal"
value 18640
}
output
{
address_hash 113e1767186f0280174123ad0c22e8929f994c1c
script "hash160 [113e1767186f0280174123ad0c22e8929f994c1c] equal"
value 30000
}
}
version 1
}
%bx fetch-tx -c ~/биткойн-explorer/bx-mainnet-remote.cfg 50ca26b5a369aadcaa1a18ac6f492e81a451b0e7832db583a7a7677a8cb0e792
transaction
{
hash 50ca26b5a369aadcaa1a18ac6f492e81a451b0e7832db583a7a7677a8cb0e792
inputs
{
input
{
address_hash 62979379f3e415ef86d5dcecf9c93a9930333ce6
previous_output
{
hash dbc6bff3ef644974667316072c6e28e5c58c18e62f8282ff624fde7d179639b2
index 3
}
script [0020a9250a9c4e56b3d822717c37c713d30618f2af8f5932ded48fd6c8b3f0b5ff05]
sequence 4294967295
}
}
lock_time 0
outputs
{
output
{
address_hash 877f4856923528187ab9708660fa201e4282ef8f
script "dup hash160 [877f4856923528187ab9708660fa201e4282ef8f] equalverify checksig"
value 10000
}
output
{
address_hash 70871ecb261f3df9a9d325b33ef6d8acb5074258
script "hash160 [70871ecb261f3df9a9d325b33ef6d8acb5074258] equal"
value 212250
}
}
version 1
}
Изучая два разных сценария вложения, форма P2SH выглядит так:
1) скрипт “hash160 [49e282ad0605c1cb63ff45fc34b14357859e8d08] равный”
2) скрипт “hash160 [70871ecb261f3df9a9d325b33ef6d8acb5074258] равный”
те два address_hash значения данных обрабатываются следующим образом:
% эхо 49e282ad0605c1cb63ff45fc34b14357859e8d08 | bx base58check-кодировать -v 538Rgbmaxitveg1S8UNbWjwV5UMoBt3PtnG
% эхо 70871ecb261f3df9a9d325b33ef6d8acb5074258 | bx base58check-кодировать -v 53Bx1UMJieKFngvBA8m2VqE6s4wXYKWzhkP
Если конкретный адрес имел форму P2PKH, замените -v 5
с -v 0
в вышеперечисленных операциях.
Кстати, похоже, что два погашенных входа P2SH на самом деле являются 2 из 2 мультиподписных адресов, основываясь на проверке двух подписей, закодированных в DER, и зная, что последние элементы данных закодированы в сценарии.
% ECHO 52210274ECB4E28E6B7BE314D844BB7561B605D537106F7F5C3EABA31A8CD3DDD0097C820101DAEDEDEADEASEASEASEASEASEASEASEASEASEASEASEASEASEASEASEASEASEASEASEASEASE. декодирование скрипта bx
2 [0274ecb4e28e6b7be314d844bb7561b605d537106f7f5c3eaba31a8cd3dd0097c8] [0343ed9c58350b4013b3c9a02da2148d59e8109a90f0fa0ea77d31b8570990d463] 2 checkmultisig
% ECHO 522103838EDAEADEED0E9F660E725970787B69AD4926AFE1F19626D5476D356CB3B3BE22241037f3B24FE0BEPE0BE02020202020202020222222222222222222222222222222222333333333 ki -322222222333333333333 virker. декодирование скрипта bx
2 [03838edaeadeed0e9f660e725970787b69ad4926afe1f19626d5476d356cb3b472] [03c37f3b264f674c6c2e273e06da7fb7fe720be6828f251c71d0cb10e349d0222d] 2 checkmultisig
Биткойн Исследователь надирает задницу!!