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

How to get the address the sender sent bitcoin to

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

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

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

我正在使用 BitconJ。服务器写在Java.

我自己想出来了。这是我的代码,用于确定金额被发送到哪个地址。

                @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
                                }
                            }
                        }
                    }
                }

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