Hoe het adres van de afzender te krijgen met bitcoinj (geen duplicaat)?

Ik gebruik bitcoinj (Java-implementatie). Ik heb hier veel antwoorden gelezen, maar geen van hen beantwoordt mijn vraag. Hoe kan ik het adres van de afzender krijgen met bitcoinj?

Ik heb transactievariabele tx. Ik kan het “s hash krijgen, ik heb dit ook gebruikt: https://blockchain.info/tx/myTXhash en het liet me de transacties zien. Het probleem is niet eens dat internet me de afzender laat zien.

MAAR: als ik dat gebruik gegenereerd .wallet-bestand en het openen met multibit (bitcoin-portemonnee) Ik kan daar onder transacties zien van wie het geld is verzonden. Dat betekent dat er een manier is om het adres van de afzender te krijgen, maar HOE?

EDIT: Ik heb me vergist, multibit weet niet van wie het geld vandaan kwam, ik was gewoon in de war omdat het me het liet zien is naar het juiste adres gestuurd (maar dat is door mij ingesteld in args).

Maar is er een mogelijkheid om het bericht op de een of andere manier van de klant naar weten of hij het is die het geld heeft gestuurd?

Reacties

  • Bedoel je dat je de Bitcoin-adres dat de mon ey of op de een of andere manier een naam krijgen?
  • Ja, ik bedoel het Bitcoin-adres dat het geld heeft verzonden. Of een andere manier om te controleren of het geld van die persoon kwam. Beschouw het als een portemonnee die constant geld ontvangt, maar ik moet controleren of het afkomstig is van degenen die toegang willen tot internet.

Antwoord

Ter referentie: in bitcoinJ (java-versie) bevinden de invoer- / uitvoeradressen van transacties zich in de objecten TransactionInput en TransactionOutput.

Bijvoorbeeld: voor 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()); } 

Houd er rekening mee dat sommige transacties mogelijk geen invoeradres hebben. Hier is de github-beschrijving van de methode getFromAddress ():

Gemaksmethode die het from-adres van deze invoer retourneert door de scriptSig te ontleden. Het concept van een “van-adres” is niet goed gedefinieerd in Bitcoin en u moet er niet van uitgaan dat afzenders van een transactie daadwerkelijk munten kunnen ontvangen op hetzelfde adres dat ze hebben gebruikt om te ondertekenen (dit geldt bijvoorbeeld niet voor gedeelde portefeuilles).

Antwoord

U kunt de adressen zien die geld hebben verzonden en ontvangen wanneer u naar een transactie op de meeste services. Bijvoorbeeld:

https://blockchain.info/tx/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884

De grote groene pijl toont de overdracht van het ene adres (1B898F2tcWHX1LZWWfD21FRzqWrtXLocXN) naar de 2 andere. Programmatisch zou je een API kunnen gebruiken die JSON retourneert met gelijkwaardige informatie:

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

Het is echter niet eenvoudig om deze informatie te extraheren wanneer u naar een onbewerkte transactie kijkt, aangezien de adressen in het script zijn ingesloten.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *