- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目标是监视一个公共(public)比特币地址,并在向该地址发送钱时打印到控制台。就这样。我暂时使用之前在 Bitcoin Core 中生成的地址。
我正在做以下事情:
NetworkParameters params = MainNetParams.get();
Wallet wallet = Wallet.loadFromFile(file);
BlockStore blockStore = new MemoryBlockStore(params);
BlockChain chain = new BlockChain(params, wallet, blockStore);
PeerGroup peerGroup = new PeerGroup(params, chain);
peerGroup.addPeerDiscovery(new DnsDiscovery(params));
peerGroup.setUseLocalhostPeerWhenPossible(true);
peerGroup.startAsync();
Address add = new Address(params, "1NpxxxxxxxxxxxxxxxaSC4");
wallet.addWatchedAddress(add);
wallet.addEventListener(new AbstractWalletEventListener() {
@Override
public synchronized void onCoinsReceived(Wallet w, Transaction tx, Coin prevBalance, Coin newBalance) {
System.out.println("[main]: COINS RECIEVED!");
System.out.println("\nReceived tx " + tx.getHashAsString());
System.out.println(tx.toString());
}
});
System.out.println("\nDone!\n");
System.out.println(wallet.toString());
我感觉我没有正确处理 AbstractWalletEventListener。当我向地址汇款时,我没有收到我希望在控制台中看到的文本。相反,我只是从 peerGroup.startAsync() 方法中看到来自 [NioClientManager] 的“同行宣布新交易”的连续流。
我做错了什么,我该如何纠正?我花的时间比我应该花的时间多得多,看起来应该是一个如此简单的任务。
附言。我为“loadFromFile”调用的文件只是一个由 bitcoinj 生成的空白默认钱包文件。没什么特别的。
编辑:另外,我不想查看钱包的总余额。我只想知道新交易何时进入。旧交易与我的程序无关。
最佳答案
我终于明白了。花了我足够长的时间。我决定只使用钱包应用程序套件,而不是手动执行此操作。这是我做我想做的事情的最终代码(删除公钥和文件)。
final NetworkParameters params = MainNetParams.get();
try{
//initialize files and stuff here
WalletAppKit kit = new WalletAppKit(params, wakfile, "_wak");
kit.setAutoSave(true);
kit.connectToLocalHost();
kit.startAsync();
kit.awaitRunning();
kit.peerGroup().addPeerDiscovery(new DnsDiscovery(params));
kit.wallet().addWatchedAddress(new Address(params, "1NxxxxxxxxxxxxxxxxC4"));
kit.wallet().addEventListener(new AbstractWalletEventListener() {
@Override
public synchronized void onCoinsReceived(Wallet w, Transaction tx, Coin prevBalance, Coin newBalance) {
System.out.println("[main]: COINS RECIEVED!");
System.out.println("\nReceived tx " + tx.getHashAsString());
System.out.println(tx.toString());
}
});
} catch (IOException e) {
e.printStackTrace();
} catch (AddressFormatException e) {
e.printStackTrace();
}
为什么这行得通而我发布的却行不通,我仍然不完全确定。我肯定错过了什么。如果你看到这篇文章并且知道我在上面做错了什么;请告诉我。对以后的引用还是有用的。
关于java - 如何在 Bitcoinj (java) 中查看某个地址的交易?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27727439/
我正在尝试接收有关 的通知新品 比特币区块链中的区块。我正在使用此代码,但这会从 2010 年左右开始打印数百个块。 import org.bitcoinj.core.*; import org.bi
给定三条信息:消息(字符串)、签名(字符串)和公共(public)地址(字符串),我想验证签名。在 Javascript、Python 和 PHP 库中,这是一个简单的方法调用。然而,在 Bitcoi
我正在尝试按照 BitcoinJS page 上的说明构建 Bitcoinjs 以进行浏览器测试。 (包括在下面)。 $ npm install -g bitcoinjs-lib $ npm -g i
本文整理了Java中org.bitcoinj.wallet.WalletProtobufSerializer类的一些代码示例,展示了WalletProtobufSerializer类的具体用法。这些代
本文整理了Java中org.bitcoinj.crypto.X509Utils类的一些代码示例,展示了X509Utils类的具体用法。这些代码示例主要来源于Github/Stackoverflow/M
我对比特币网络交易的理解是新的。 我可以在同一笔比特币交易中将比特币发送到一个地址,同时将另一笔金额发送到另一个地址吗? 最佳答案 是的,你可以。 大多数比特币交易都有第二个收件人地址 change来
我已经创建了 P2SH 地址并将硬币发送到该地址 https://www.blocktrail.com/tBTC/address/2N8Xu6rNAwssXtP2XPjSTuT2ViWQoPeHr3r
找到一篇解释如何从公钥生成比特币地址的文章: https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresse
我正在尝试使用 bitcoinj 作为一个简单的地址观察器。我正在使用 WalletAppKit,我在其中添加了地址: Address address = new Address(params, "m
我正在尝试学习 bitcoinj API,并在下面编写了测试代码。我创建了一个帐户: http://tpfaucet.appspot.com/ 所以我可以使用假硬币并测试发送/接收。当我登录 URL
我正在开发一个使用比特币支付方式的应用程序。它使用bitcoinj java库。但我有一个问题: 我正在将 BTC 发送到钱包。 它说交易已收到,但当然没有确认。我正在创建 future 的事件监听器
有人可以解释一下我如何使用 bitcoinjs 发送比特币交易吗???我已经使用 bitcoinjs 设置了两个钱包。 我想从这里发送 100000 聪:1G4iprWu7Q8tNbQLA8UBM2G
我的目标是监视一个公共(public)比特币地址,并在向该地址发送钱时打印到控制台。就这样。我暂时使用之前在 Bitcoin Core 中生成的地址。 我正在做以下事情: NetworkParame
我正在尝试使用 bitcoinj 获取原始 block 。我使用 Block.bitcoinSerialize() 来获取每个 block 下载时的字节,但不包括交易。我怎样才能获得完整的原始 blo
首先面临着 BitcoinJ FrameWork 中无休止的待处理交易 主要文档说可以通过Replace-By-Fee来制作。因此,您需要获取旧交易并创建一个新交易,但基于之前的交易。 听起来不错,但
首先,我使用 BIP32 使用 mnemonics 创建 HD Wallet。 现在我想为每次接收使用 xpub 和 xpriv 生成带有私钥的新子地址。 然后,例如,我在 2 个子地址中收到了 BT
本文整理了Java中org.bitcoinj.wallet.WalletProtobufSerializer.byteStringToHash()方法的一些代码示例,展示了WalletProtobuf
本文整理了Java中org.bitcoinj.wallet.WalletProtobufSerializer.readConfidence()方法的一些代码示例,展示了WalletProtobufSe
本文整理了Java中org.bitcoinj.wallet.WalletProtobufSerializer.makeTxProto()方法的一些代码示例,展示了WalletProtobufSeria
本文整理了Java中org.bitcoinj.wallet.WalletProtobufSerializer.writeConfidence()方法的一些代码示例,展示了WalletProtobufS
我是一名优秀的程序员,十分优秀!