See
https://blog.conformal.com/btcrpcclient-bitcoin-rpc-made-easy/ for the full blog, but I've syndicated the major points here.
Major Features of the btcrpcclient Package:
- Supports Websockets (btcd and btcwallet) and HTTP POST mode (Bitcoin Core)
- Provides callback and registration functions for btcd and btcwallet notifications
- Supports btcd and btcwallet extensions
- Translates to and from high-level statically-typed Go types
- Offers a synchronous (blocking) and asynchronous (non-blocking) API
- When running in Websockets mode (the default):
- Provides automatic reconnect handling (can be disabled if desired)
- Outstanding commands are automatically reissued on reconnect
- Registered notifications are automatically re-registered on reconnect
- Back-off support on reconnect attempts