2017-08-09 132 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 
           } 
          } 
         } 
        } 
       } 

您可能會注意到我實際上需要知道我在交易輸出中尋找什麼。

相關問題