如何在收到交易后在BitcoinJ中找到发件人比特币地址

时间:2016-08-22 07:38:52

标签: java bitcoin bitcoinj

所以在我的应用程序中,我有以下接收比特币的功能

kit.wallet().addCoinsReceivedEventListener(new WalletCoinsReceivedEventListener() {
            @Override
            public void onCoinsReceived(Wallet wallet, Transaction tx, Coin prevBalance, Coin newBalance) {
                txtLog.append("-----> coins resceived: " + tx.getHashAsString() + "\n");
                txtLog.append("received: " + tx.getValue(wallet) + "\n");  

            Futures.addCallback(tx.getConfidence().getDepthFuture(1), new FutureCallback<TransactionConfidence>() {
                @Override
                public void onSuccess(TransactionConfidence result) {
                    txtLog.append("\nSuccess! Recieved: " + tx.getValue(wallet) + "\n");
                    //Find address of sender here
                }

                @Override
                public void onFailure(Throwable t) {
                    throw new RuntimeException(t);
                }
            });
        }
    });

这很有效,一旦确认交易并将其添加到我的钱包中,OnSuccess就会正确触发。 txtLog只是我的java框架中的textArea,它为我显示了一些文本输出。我现在需要做的是在此时找到发件人的地址,我可以使用Transaction对象tx吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

找到解决方案!不幸的是,它使用折旧方法。我刚刚在适当的位置添加了以下内容。

var collection = "normal,user,student";
var jsarray = collection.split(",");
alert(jsarray[0]);
alert(jsarray[1]);
alert(jsarray[2]);