Interface JsonRpcClient<T extends Type>

All Superinterfaces:
AsyncSupport, AutoCloseable, JsonRpcTransport<T>
All Known Implementing Classes:
BitcoinClient, BitcoinExtendedClient, DefaultRpcClient, EthereumClient, NamecoinClient, RxBitcoinClient

public interface JsonRpcClient<T extends Type> extends JsonRpcTransport<T>, AutoCloseable
JSON-RPC client interface. This interface is independent of the JSON conversion library (the default implementation uses Jackson) and HTTP client library (currently HttpURLConnection). For historical reasons the interface is mostly synchronous, but AsyncSupport makes it easier to add use of CompletableFuture for special cases. In the future this interface may change to natively asynchronous.

Both JSON-RPC 1.0 and JSON-RPC 2.0 are supported. Implementations should also be (via configuration, perhaps) lenient enough to support Bitcoin Core and similar servers that don't follow the JSON-RPC specifications exactly.

See Also: