Hur får jag avsändarnas adress med bitcoinj (inget duplikat)?

Jag använder bitcoinj (Java-implementering). Jag har läst många svar här men ingen av dem svarar på min fråga. Hur får jag avsändarnas adress med bitcoinj?

Jag har transaktionsvariabel tx. Jag kan hämta det, jag har också använt det här: https://blockchain.info/tx/myTXhash och det visade mig transaktionerna. Problemet är inte ens att webben visar avsändaren.

MEN: om jag använder det genererade .wallet-fil och öppna den med multibit (bitcoin-plånbok) Jag kan se där, under transaktioner, från vem var pengarna skickade. Det betyder att det finns ett sätt att få avsändarnas adress, men HUR?

EDIT: Jag tog fel, multibit vet inte vem pengarna kom ifrån, jag var bara förvirrad eftersom den visade mig det skickades till rätt adress (men det ställdes in av mig i args).

Men finns det någon möjlighet att få meddelandet på något sätt från klient till vet om det är han som skickade pengarna?

Kommentarer

  • Menar du att få Bitcoin-adress som skickade mån ey eller på något sätt få ett namn?
  • Ja, jag menar Bitcoin-adress som skickade pengarna. Eller på något annat sätt hur man kontrollerar om pengarna kommer från den personen. Betrakta det som en plånbok som hela tiden tar emot pengar, men jag måste kontrollera om de kommer från de som vill komma åt på webben.

Svar

För framtida referens: I bitcoinJ (Java-version) finns in- / utgångsadresserna för transaktioner i TransactionInput och TransactionOutput-objekt.

Till exempel: för 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()); } 

Tänk på att vissa transaktioner kanske inte har en inmatningsadress. Här är github-beskrivningen av getFromAddress () -metoden:

Bekvämmetod som returnerar från-adressen för denna inmatning genom att analysera scriptSig. Begreppet ”från adress” är inte väl definierat i Bitcoin och du bör inte anta att avsändare av en transaktion faktiskt kan ta emot mynt på samma adress som de använde för att underteckna (t.ex. detta gäller inte för delade plånböcker).

Svar

Du kan se adresserna som skickade och fick pengar när du tittar på en transaktion på de flesta tjänster. Till exempel:

https://blockchain.info/tx/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884

Den stora gröna pilen visar överföringen från en adress (1B898F2tcWHX1LZWWfD21FRzqWrtXLocXN) till de 2 andra. Programmatiskt kan du använda ett API som returnerar JSON med motsvarande information:

https://api.blockcypher.com/v1/btc/main/txs/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884

Det är dock inte enkelt att extrahera denna information när man tittar på en rå transaktion eftersom adresserna är inbäddade i skriptet.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *