Title: Работа с Bitcoin API
Post by: roleg on December 19, 2013, 08:55:09 AM
Здравствуйте. Пишу сайт с оплатой в битках. Застрял на одной проблеме. Мне нужно чтобы сайт определял с какого адреса пришли мне битки, а где это найти я не понимаю. Я делал так: listtransactions("test",1,0) getrawtransaction("txid") decoderawtransaction($tx) Array ( [txid] => 107b485a1b19d659173e5c5de762f4ae235f4cd913bffe0386ac87c28721d3ef [version] => 1 [locktime] => 0 [vin] => Array ( [0] => Array ( [txid] => ee759554cffc082d1168691df3c51bba0b16cdcd2d2e340b20d16ac734b525a5 [vout] => 0 [scriptSig] => Array ( [asm] => 304502205be1eeb9c2bbbec97958fa52109dfb4845e15882772f28433c42089aca248322022100af23b8dc1d2b1d9bae4bf1a31027554a7c0c2dc75ead0297617e6e4a9939316501 022e2531ee7a16dbaf83e3554334bb6adea93af0fb2f221cb17b9ffbb587e6bb7f [hex] => 48304502205be1eeb9c2bbbec97958fa52109dfb4845e15882772f28433c42089aca248322022100af23b8dc1d2b1d9bae4bf1a31027554a7c0c2dc75ead0297617e6e4a993931650121022e2531ee7a16dbaf83e3554334bb6adea93af0fb2f221cb17b9ffbb587e6bb7f )
[sequence] => 4294967295 )
)
[vout] => Array ( [0] => Array ( [value] => 0.01 [n] => 0 [scriptPubKey] => Array ( [asm] => OP_DUP OP_HASH160 686f68f7c47a0b11dc971857cdc2148a8dd11418 OP_EQUALVERIFY OP_CHECKSIG [hex] => 76a914686f68f7c47a0b11dc971857cdc2148a8dd1141888ac [reqSigs] => 1 [type] => pubkeyhash [addresses] => Array ( [0] => LUkA14u3fjLCgnBfC5NcoN7DhVt5XARbd7 )
)
)
[1] => Array ( [value] => 0.04091674 [n] => 1 [scriptPubKey] => Array ( [asm] => OP_DUP OP_HASH160 4567476389e2e7bb397f55da01d0b0f9c62de7e4 OP_EQUALVERIFY OP_CHECKSIG [hex] => 76a9144567476389e2e7bb397f55da01d0b0f9c62de7e488ac [reqSigs] => 1 [type] => pubkeyhash [addresses] => Array ( [0] => LRYvcPbrT8K3WxrP8cN7ZR6L5tSzH1HgD4 )
)
)
)
) но адреса откуда мне прилетели битки даже там нету ::) помогите разобраться
Title: Re: Работа с Bitcoin API
Post by: amexpay on December 19, 2013, 04:33:45 PM
Грызи https://blockchain.info/ru/api
Title: Re: Работа с Bitcoin API
Post by: rPman on December 19, 2013, 07:22:50 PM
Продолжайте смотреть, vin - показывают какие выходы каких транзакций использовались (склеивались): txid - транзакция vout - номер выхода в этой транзакции
т.е. загружаете для каждого входа транзакцию и смотрите у нее в vout value - сколько было в этом выходе scriptPubKey->addresses - какие адреса (непонимаю правда почему массив)
Title: Re: Работа с Bitcoin API
Post by: roleg on December 20, 2013, 05:07:59 AM
Грызи https://blockchain.info/ru/api
я бы заюзал блокчейн если бы ему доверял :-[ хотелось бы локально разбирать транзакции и не ждать у моря погоды от блокчейна Продолжайте смотреть, vin - показывают какие выходы каких транзакций использовались (склеивались): txid - транзакция vout - номер выхода в этой транзакции
т.е. загружаете для каждого входа транзакцию и смотрите у нее в vout value - сколько было в этом выходе scriptPubKey->addresses - какие адреса (непонимаю правда почему массив)
у меня там нету предыдущего адреса я так понял что для этого нужно разбирать scriptSig вот что я пробовал [vin] => Array ( [0] => Array ( [txid] => 2dd495e3cde20750f8e3631056af7d4e3300c1fb00617f637a6c9039ee7bea02 [vout] => 1 [scriptSig] => Array ( [asm] => 304602210094be36e78261b2f8b6548d61a8486b7dec3a3564b25a94a1027ae08eab2d5706022100a9f843d9a3ee242946fe08253a3c4dd9e914e38b05aec9a35202249f900121cc01 022e2531ee7a16dbaf83e3554334bb6adea93af0fb2f221cb17b9ffbb587e6bb7f
Во многих источниках пишут что вторая часть ASM хэша и есть паблик кей
step1 022e2531ee7a16dbaf83e3554334bb6adea93af0fb2f221cb17b9ffbb587e6bb7f step2 0366f01948a5f5621ec9b7f78a6e7f549b4600656f5e51706b24350b37c9168b - sha256 step3 7ec68dcd19e108813204d645b0a6354999acdad2 - ripemd160 step4 007ec68dcd19e108813204d645b0a6354999acdad2 - 00 + step3 step5 4342cf3808ad504d28a366ea89a098249104921781a6d46347e70c2c43bdbb96 - sha256 step6 88774008f1d141d6efc3b55ffd8062d46d2b12137655f1d5be608d3d059938aa - sha256 step7 88774008 - checksum substr($step6,0,8) step8 007ec68dcd19e108813204d645b0a6354999acdad288774008 - step4 + checksum step9 1CZKzwR9tM5SLTS9bZEQyd1eHCGHewFQ87 - адрес в base58
но адрес не совпадает :-[ должно быть LWnHG9iyy1KVbG8JmhDiFe5QVQdZnxtqGW
Title: Re: Работа с Bitcoin API
Post by: roleg on December 20, 2013, 07:01:50 AM
нашел решение в конфиг добавить -txindex=1 и сделать -rescan тогда без танцов с бубном decoderawtransaction(getrawtransaction(vin['txid'])) и отттуда details[vout]['address'] всем спасибо! :)
|