2017-08-09 15 views
-1

基本的に、私は多くの受信アドレスを持つビットコインウォレットを持つサーバーを構築しています。アドレスは、異なるクライアントにリンクすることができます。送信者がビットコインを送信するアドレスを取得する方法

いずれかの住所にコインを送ると、サーバーの財布に入れられます。

質問は、ビットコインの送付者がコインを送ったアドレスがどのようなものか分かりますか?

私はBitconJを使用しています。サーバーはJavaで書かれています。

+0

いくつかのコードを共有できますか? – jeanr

+0

コインを受け取った住所を探しているのですか、または取引の送信アドレスが何だったのか把握しようとしていますか?後者の場合、複数のアドレス(またはアドレスではないスクリプトさえも)があるかもしれません。 – cdecker

+0

送信者が入力したアドレスが必要です。 – Juubes

答えて

1

私はそれを自分で考え出しました。これは、どの住所に送付されたのかを把握するためのコードです。

   @Override 
       public void onCoinsReceived(Wallet wallet, Transaction tx, Coin prevBalance, Coin newBalance) { 
        System.out.println("Received a transaction."); 
        for (int i = 0; i < tx.getOutputs().size(); i++) { 
         for (ECKey addr : wallet().getImportedKeys()) { 
          Address expectedAddr = addr.toAddress(Main.PARAMS); 
          for (int j = 0; j < tx.getOutputs().size(); j++) 
           String incoming = tx.getOutputs().get(i).getAddressFromP2PKHScript(Main.PARAMS) 
             .toBase58(); 
           if (incoming.equals(expectedAddr)){ 
           // Enter your code here 
           } 
          } 
         } 
        } 
       } 

実際に私が探しているものをトランザクション出力で知る必要があることがわかります。

関連する問題