/** * Get a "raw" transaction (which we map to a bitcoinj transaction) * @param txid Transaction ID/hash * @return bitcoinj Transaction * @throws JsonRpcStatusException JSON RPC status exception * @throws IOException network error */ public Transaction getRawTransaction(Sha256Hash txid) throws JsonRpcStatusException, IOException { String hexEncoded = send("getrawtransaction", txid); byte[] raw = HexUtil.hexStringToByteArray(hexEncoded); return new Transaction(context.getParams(), raw); }
@Override public Block deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken token = p.getCurrentToken(); switch (token) { case VALUE_STRING: try { byte[] payload = HexUtil.hexStringToByteArray(p.getValueAsString()); // convert to hex return context.getParams().getDefaultSerializer().makeBlock(payload); } catch (ProtocolException e) { throw new InvalidFormatException(p, "Invalid Block", p.getValueAsString(), Block.class); } default: return (Block) ctxt.handleUnexpectedToken(Block.class, p); } } }