Итак, в моем приложении у меня есть следующие функции для получения биткойнов.
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 - это просто textArea в моем java-фрейме, который отображает для меня некоторый текстовый вывод. Что мне нужно сделать сейчас, так это найти адрес отправителя на данный момент, могу ли я сделать это с помощью объекта транзакции tx? Любая помощь будет оценена по достоинству.