package com.msgilligan.bitcoinj.spring.config; import com.googlecode.jsonrpc4j.spring.JsonServiceExporter; import com.msgilligan.bitcoinj.rpcserver.BitcoinJsonRpc; import com.msgilligan.bitcoinj.json.conversion.RpcServerModule; import com.msgilligan.bitcoinj.spring.service.PeerService; import org.bitcoinj.core.NetworkParameters; import org.bitcoinj.net.discovery.DnsDiscovery; import org.bitcoinj.net.discovery.PeerDiscovery; import org.bitcoinj.params.MainNetParams; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.fasterxml.jackson.databind.Module; import java.io.FileNotFoundException; /** */ @Configuration public class BitcoinConfig { @Bean public NetworkParameters networkParameters() { return MainNetParams.get(); } @Bean public PeerDiscovery peerDiscovery(NetworkParameters params) throws FileNotFoundException { PeerDiscovery pd; pd = new DnsDiscovery(params); // pd = new SeedPeers(params); return pd; } @Bean public Module bitcoinJMapper() { return new RpcServerModule(); } // @Bean // public AutoJsonRpcServiceExporter jsonRpcServiceExporter() { // return new AutoJsonRpcServiceExporter(); // } @Bean(name="/bitcoinrpc") public JsonServiceExporter bitcoinServiceExporter(PeerService peerService) { JsonServiceExporter exporter = new JsonServiceExporter(); exporter.setService(peerService); exporter.setServiceInterface(BitcoinJsonRpc.class); return exporter; } }