如何获取发件人发送比特币的地址

时间:2017-08-09 06:40:16

标签: java bitcoin

基本上,我正在构建一个服务器,它有一个带有许多接收地址的比特币钱包。地址可以链接到不同的客户端。

如果您将硬币发送到任何地址,他们将最终进入服务器钱包。

问题是,我如何知道比特币发件人发送硬币的地址是什么?

我正在使用BitconJ。服务器是用Java编写的。

1 个答案:

答案 0 :(得分: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
                                }
                            }
                        }
                    }
                }

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