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

您可能会注意到我实际上需要知道我在交易输出中寻找什么。

相关问题