2014-05-07 18:14:39 +02:00
|
|
|
btcrpcclient
|
|
|
|
============
|
|
|
|
|
2015-01-16 04:21:20 +01:00
|
|
|
[![Build Status](https://travis-ci.org/btcsuite/btcrpcclient.png?branch=master)]
|
|
|
|
(https://travis-ci.org/btcsuite/btcrpcclient)
|
|
|
|
[![GoDoc](https://godoc.org/github.com/btcsuite/btcrpcclient?status.png)]
|
|
|
|
(http://godoc.org/github.com/btcsuite/btcrpcclient)
|
2014-05-09 08:16:47 +02:00
|
|
|
|
2014-05-10 09:47:59 +02:00
|
|
|
btcrpcclient implements a Websocket-enabled Bitcoin JSON-RPC client package
|
|
|
|
written in [Go](http://golang.org/). It provides a robust and easy to use
|
|
|
|
client for interfacing with a Bitcoin RPC server that uses a btcd/bitcoin core
|
|
|
|
compatible Bitcoin JSON-RPC API.
|
2014-05-07 18:14:39 +02:00
|
|
|
|
2014-05-10 09:47:59 +02:00
|
|
|
## Status
|
|
|
|
|
|
|
|
This package is currently under active development. It is already stable and
|
|
|
|
the infrastructure is complete. However, there are still several RPCs left to
|
|
|
|
implement and the API is not stable yet.
|
2014-05-07 18:14:39 +02:00
|
|
|
|
2014-05-10 03:48:05 +02:00
|
|
|
## Documentation
|
2014-05-02 06:18:43 +02:00
|
|
|
|
2015-01-16 04:21:20 +01:00
|
|
|
* [API Reference](http://godoc.org/github.com/btcsuite/btcrpcclient)
|
|
|
|
* [btcd Websockets Example](https://github.com/btcsuite/btcrpcclient/blob/master/examples/btcdwebsockets)
|
2014-06-06 03:58:47 +02:00
|
|
|
Connects to a btcd RPC server using TLS-secured websockets, registers for
|
|
|
|
block connected and block disconnected notifications, and gets the current
|
|
|
|
block count
|
2015-01-16 04:21:20 +01:00
|
|
|
* [btcwallet Websockets Example](https://github.com/btcsuite/btcrpcclient/blob/master/examples/btcwalletwebsockets)
|
2014-06-06 03:58:47 +02:00
|
|
|
Connects to a btcwallet RPC server using TLS-secured websockets, registers for
|
|
|
|
notifications about changes to account balances, and gets a list of unspent
|
|
|
|
transaction outputs (utxos) the wallet can sign
|
2015-01-16 04:21:20 +01:00
|
|
|
* [Bitcoin Core HTTP POST Example](https://github.com/btcsuite/btcrpcclient/blob/master/examples/bitcoincorehttp)
|
2014-05-10 03:48:05 +02:00
|
|
|
Connects to a bitcoin core RPC server using HTTP POST mode with TLS disabled
|
|
|
|
and gets the current block count
|
|
|
|
|
2014-05-10 09:47:59 +02:00
|
|
|
## Major Features
|
|
|
|
|
|
|
|
* Supports Websockets (btcd/btcwallet) and HTTP POST mode (bitcoin core)
|
|
|
|
* Provides callback and registration functions for btcd/btcwallet notifications
|
|
|
|
* Supports btcd extensions
|
2014-05-10 22:48:14 +02:00
|
|
|
* Translates to and from higher-level and easier to use Go types
|
|
|
|
* Offers a synchronous (blocking) and asynchronous API
|
2014-05-10 09:47:59 +02:00
|
|
|
* When running in Websockets mode (the default):
|
|
|
|
* Automatic reconnect handling (can be disabled)
|
|
|
|
* Outstanding commands are automatically reissued
|
|
|
|
* Registered notifications are automatically reregistered
|
|
|
|
* Back-off support on reconnect attempts
|
|
|
|
|
2014-05-10 03:48:05 +02:00
|
|
|
## Installation
|
|
|
|
|
|
|
|
```bash
|
2015-01-16 04:21:20 +01:00
|
|
|
$ go get github.com/btcsuite/btcrpcclient
|
2014-05-10 03:48:05 +02:00
|
|
|
```
|
2014-05-02 06:18:43 +02:00
|
|
|
|
2014-05-07 18:14:39 +02:00
|
|
|
## License
|
|
|
|
|
|
|
|
Package btcrpcclient is licensed under the [copyfree](http://copyfree.org) ISC
|
|
|
|
License.
|