Používám bitcoinj (implementace Java). Četl jsem zde mnoho odpovědí, ale žádná z nich neodpovídá na mou otázku. Jak získat adresu odesílatele pomocí bitcoinj?
Mám transakční proměnnou tx. Mohu získat hash, použil jsem také toto: https://blockchain.info/tx/myTXhash a ukázalo mi transakce. Problém není ani v tom, že mi web ukazuje odesílatele.
ALE: pokud ho použiji vygenerovaný soubor .wallet a otevřít jej s multibit (bitcoinová peněženka), kde v transakcích vidím, od koho byly peníze odeslány. To znamená, že existuje způsob, jak získat adresu odesílatele, ale JAK?
EDIT: Mýlil jsem se, multibit neví, od koho peníze přišly, byl jsem zmatený, protože mi to ukázal byl odeslán na správnou adresu (ale to jsem nastavil já v args).
Existuje ale nějaká možnost, jak dostat zprávu nějak od klienta víte, jestli je to on, kdo poslal peníze?
Komentáře
- Máte na mysli získání Bitcoinová adresa, která poslala mon jo nebo nějak získat jméno?
- Ano, mám na mysli bitcoinovou adresu, která peníze poslala. Nebo jiným způsobem, jak zkontrolovat, zda peníze pocházely od této osoby. Považujte to za peněženku, která neustále přijímá peníze, ale musím zkontrolovat, zda pochází od těch, kteří chtějí získat přístup na webu.
Odpověď
Pro budoucí použití: Ve verzi bitcoinJ (verze Java) jsou vstupní / výstupní adresy transakcí umístěny v objektech TransactionInput a TransactionOutput.
Například: pro Transaction tx :
List<TransactionInput> inputs = tx.getInputs(); List<TransactionOutput> outputs = tx.getOutputs(); for(TransactionOutput out : outputs){ System.out.println(out.getAddressFromP2PKHScript(params)); System.out.println(out.getAddressFromP2SH(params)); } for(TransactionInput in : inputs){ System.out.println(in.getFromAddress()); }
Pamatujte, že některé transakce nemusí mít vstupní adresu. Tady je popis github metody getFromAddress ():
Pohodlná metoda, která vrací adresu z tohoto vstupu analýzou skriptu scriptSig. Koncept „adresy odesílatele“ není v bitcoinu dobře definován a neměli byste předpokládat, že odesílatelé transakce mohou ve skutečnosti přijímat coiny na stejné adrese, kterou použili k podpisu (např. To neplatí pro sdílené peněženky).
Odpověď
Adresy, které odesílaly a přijímaly peníze, můžete vidět při pohledu na transakce u většiny služeb. Například:
https://blockchain.info/tx/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884
Zobrazuje se velká zelená šipka převod z jedné adresy (1B898F2tcWHX1LZWWfD21FRzqWrtXLocXN) na 2 další. Programově můžete použít API, které vrací JSON s ekvivalentními informacemi:
Není však jednoduché tyto informace extrahovat, když se díváme na nezpracovanou transakci, protože adresy jsou vloženy do skriptu.