Próbuję otrzymywać powiadomienia o blokach bitcoinowych o blokach nowych. Używam tego kodu, ale to drukuje setki bloków od 2010 roku lub więcej w górę.Jak mogę otrzymywać powiadomienia o nowych blokach za pomocą bitcoinj
import org.bitcoinj.core.*;
import org.bitcoinj.net.discovery.DnsDiscovery;
import org.bitcoinj.params.MainNetParams;
import org.bitcoinj.store.BlockStore;
import org.bitcoinj.store.MemoryBlockStore;
public class BlockChainMonitorTest {
BlockChainMonitorTest() throws Exception {
NetworkParameters params = MainNetParams.get();
BlockStore bs = new MemoryBlockStore(params);
BlockChain bc = new BlockChain(params, bs);
PeerGroup peerGroup = new PeerGroup(params, bc);
peerGroup.setUserAgent("PeerMonitor", "1.0");
peerGroup.setMaxConnections(4);
peerGroup.addPeerDiscovery(new DnsDiscovery(params));
bc.addNewBestBlockListener((StoredBlock block) -> {
System.out.println("addNewBestBlockListener");
System.out.println(block);
});
//peerGroup.setFastCatchupTimeSecs(1483228800); // 2017-01-01
peerGroup.start();
peerGroup.waitForPeers(4).get();
Thread.sleep(1000 * 60 * 30);
peerGroup.stop();
}
public static void main(String[] args) throws Exception {
new BlockChainMonitorTest();
}
}
Chciałbym słuchać tylko nowych bloków. Jakieś pomysły ?
Próbowałem setFastCatchupTimeSecs
, ale potem nie otrzymuję żadnych zdarzeń, jak się wydaje.
chciałbym uniknąć konieczności pobierania kompletny blockchain. –