bitcoinj로 발신자 주소를 얻는 방법 (중복 없음)?

bitcoinj (자바 구현)를 사용하고 있습니다. 나는 여기에서 많은 답변을 읽었지만 그들 중 어느 것도 내 질문에 대답하지 않습니다. bitcoinj를 사용하여 발신자 주소를 얻는 방법은 무엇입니까?

거래 변수 tx가 있습니다. 나는 그것의 해시를 얻을 수 있고 이것도 사용했다 : https://blockchain.info/tx/myTXhash 그리고 그것은 나에게 거래를 보여 주었다. 문제는 웹에서 발신자를 표시한다는 것조차 아닙니다.

그러나 : 사용하는 경우 .wallet 파일을 생성하고 멀티 비트 (비트 코인 지갑)로 열어서 거래에서 누가 송금했는지 확인할 수 있습니다. 즉, 송금인 주소를 얻는 방법이 있지만 어떻게해야합니까?

편집 : 저는 착각했습니다. 멀티 비트는 돈의 출처를 알지 못합니다. 보여 주었기 때문에 혼란 스러웠습니다. 올바른 주소로 전송되었습니다 (하지만 내가 args에서 설정).

하지만 클라이언트에서 메시지를받을 수있는 가능성이 있습니까? 돈을 보낸 사람인지 아십니까?

댓글

  • 월을 보낸 비트 코인 주소 ey 아니면 어떻게 든 이름을 얻었나요?
  • 예, 돈을 보낸 비트 코인 주소를 의미합니다. 또는 돈이 그 사람에게서 왔는지 확인하는 다른 방법. 끊임없이 돈을받는 지갑이라고 생각하지만, 웹에서 접속하고 싶은 사람에게서 오는지 확인해야합니다.

답변

향후 참조 : bitcoinJ (자바 버전)에서 트랜잭션의 입력 / 출력 주소는 TransactionInput 및 TransactionOutput 개체에 있습니다.

예 : 트랜잭션 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()); } 

일부 거래에는 입력 주소가 없을 수 있습니다. 다음은 getFromAddress () 메서드에 대한 github 설명입니다.

scriptSig를 구문 분석하여이 입력의 보낸 사람 주소를 반환하는 편리한 메서드입니다. “발신 주소”의 개념은 비트 코인에서 잘 정의되어 있지 않으며 거래 발신자가 실제로 서명 할 때 사용한 것과 동일한 주소로 코인을받을 수 있다고 가정해서는 안됩니다 (예 : 공유 지갑에는 해당되지 않음).

답변

A를 보면 송금 및 수취 한 주소를 확인할 수 있습니다. 대부분의 서비스에 대한 거래. 예 :

https://blockchain.info/tx/c6cb02e70442275ffb7b35cc8a9416323ff7e01b5378abc20ae7f5b6e7617884

큰 녹색 화살표는 한 주소 (1B898F2tcWHX1LZWWfD21FRzqWrtXLocXN)에서 다른 주소 2 개로의 전송. 프로그래밍 방식으로 동등한 정보와 함께 JSON을 반환하는 API를 사용할 수 있습니다.

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

그러나 주소가 스크립트에 포함되어 있기 때문에 원시 트랜잭션을 볼 때이 정보를 추출하는 것은 간단하지 않습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다