Bitcoin Forum
November 10, 2024, 11:00:11 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Работа с Bitcoin API  (Read 969 times)
roleg (OP)
Newbie
*
Offline Offline

Activity: 40
Merit: 0


View Profile
December 19, 2013, 08:55:09 AM
 #1

Здравствуйте.

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

Я делал так:
listtransactions("test",1,0)
getrawtransaction("txid")
decoderawtransaction($tx)

Code:
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
                                )

                        )

                )

        )

)

но адреса откуда мне прилетели битки даже там нету  Roll Eyes
помогите разобраться
amexpay
Member
**
Offline Offline

Activity: 70
Merit: 12


View Profile
December 19, 2013, 04:33:45 PM
 #2

Грызи https://blockchain.info/ru/api
rPman
Legendary
*
Offline Offline

Activity: 1120
Merit: 1069


View Profile WWW
December 19, 2013, 07:22:50 PM
 #3

Продолжайте смотреть, vin - показывают какие выходы каких транзакций использовались (склеивались):
txid - транзакция
vout - номер выхода в этой транзакции

т.е. загружаете для каждого входа транзакцию и смотрите у нее в vout
value - сколько было в этом выходе
scriptPubKey->addresses - какие адреса (непонимаю правда почему массив)

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
roleg (OP)
Newbie
*
Offline Offline

Activity: 40
Merit: 0


View Profile
December 20, 2013, 05:07:59 AM
Last edit: December 20, 2013, 06:22:26 AM by roleg
 #4

я бы заюзал блокчейн если бы ему доверял  Embarrassed
хотелось бы локально разбирать транзакции и не ждать у моря погоды от блокчейна

Продолжайте смотреть, vin - показывают какие выходы каких транзакций использовались (склеивались):
txid - транзакция
vout - номер выхода в этой транзакции

т.е. загружаете для каждого входа транзакцию и смотрите у нее в vout
value - сколько было в этом выходе
scriptPubKey->addresses - какие адреса (непонимаю правда почему массив)

у меня там нету предыдущего адреса
я так понял что для этого нужно разбирать scriptSig

вот что я пробовал

Code:
    [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

но адрес не совпадает  Embarrassed
должно быть LWnHG9iyy1KVbG8JmhDiFe5QVQdZnxtqGW
roleg (OP)
Newbie
*
Offline Offline

Activity: 40
Merit: 0


View Profile
December 20, 2013, 07:01:50 AM
 #5

нашел решение
в конфиг добавить -txindex=1
и сделать -rescan
тогда без танцов с бубном decoderawtransaction(getrawtransaction(vin['txid'])) и отттуда details[vout]['address']
всем спасибо!  Smiley
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!