@Provides ObjectMapper provideObjectMapper(RpcConfig config) { return new ObjectMapper() .registerModule(new Jdk8Module()) .registerModule(new RpcClientModule(config.getNetParams())) .registerModule(new RpcServerModule()); }
public RpcClientModule(NetworkParameters netParams) { super("BitcoinJMappingClient", new Version(1, 0, 0, null, null, null)); this.addDeserializer(Address.class, new AddressDeserializer(netParams)) .addDeserializer(Block.class, new BlockHexDeserializer(netParams)) .addDeserializer(Coin.class, new CoinDeserializer()) .addDeserializer(ECKey.class, new ECKeyDeserializer()) .addDeserializer(Sha256Hash.class, new Sha256HashDeserializer()) .addSerializer(Address.class, new AddressSerializer()) .addSerializer(Coin.class, new CoinSerializer()) .addSerializer(ECKey.class, new ECKeySerializer()) .addSerializer(Sha256Hash.class, new Sha256HashSerializer()) .addSerializer(Transaction.class, new TransactionHexSerializer()); } }
/** * Construct a BitcoinClient from Network Parameters, URI, user name, and password. * @param netParams Correct Network Parameters for destination server * @param server URI of the Bitcoin RPC server * @param rpcuser Username (if required) * @param rpcpassword Password (if required) */ public BitcoinClient(NetworkParameters netParams, URI server, String rpcuser, String rpcpassword) { super(server, rpcuser, rpcpassword); this.context = new Context(netParams); mapper.registerModule(new RpcClientModule(context.getParams())); }