# README
Bitcoin JSON-RPC Client - Golang
Another optimized Bitcoin JSON-RPC client implemented by GoLang.
Why we need to re-implement
A picture is worth a thousand words:
Once a time I dig deeper into why my service with really stupid slow response as query bitcoin block via btcd rpc client. I figure out that json unmarshal in Golang standard library cost most of the time.
This repository aim to optimize the performance between Go object and JSON conversion.
# Functions
New creates a new RPC client based on the provided connection configuration details.
# Constants
BitcoindPost19 represents a bitcoind version equal to or greater than 0.19.0.
BitcoindPre19 represents a bitcoind version before 0.19.0.
# Variables
ErrClientShutdown is an error to describe the condition where the client is either already shutdown, or in the process of shutting down.
ErrInvalidAuth is an error to describe the condition where the client is either unable to authenticate or the specified endpoint is incorrect.
# Structs
Client represents a Bitcoin RPC client which allows easy access to the various RPC methods available on a Bitcoin RPC server.
ConnConfig describes the connection configuration parameters for the client.
FutureGetBlockChainInfoResult is a promise to deliver the result of a GetBlockChainInfoAsync RPC invocation (or an applicable error).
FutureGetBlockVerboseTxResult is a future promise to deliver the result of a GetBlockVerboseTxResult RPC invocation (or an applicable error).
# Type aliases
BackendVersion represents the version of the backend the client is currently connected to.