Paragraph TBD.
1. Overview
This document is a new document containing the PlantUML diagrams previously in the ConsensusJ User Guide.
2. JSON-RPC Clients
The following diagram shows the basic class hierarchy of the core org.consensusj.jsonrpc
and org.consensusj.bitcoin.jsonrpc
modules.
2.1. Groovy
By implementing the DynamicRPCMethodFallback
trait
we can layer dynamic JSON-RPC methods on top of static JSON-RPC methods. The following diagram leaves out some details to focus on the DynamicRPCClient
. It extends JsonRpcClientHttpUrlConnection
and implements the DynamicRPCMethodFallback
trait
. By doing this, it inherits the (static) methods of JsonRpcClientHttpUrlConnection
and falls back to dynamic method resolution for any additional method names that are used.
The following diagram (which also leaves out some details), shows how the BitcoinScriptingClient
extends BitcoinExtendedClient
but adds dynamic methods by implementing the DynamicRPCMethodFallback
trait
.