7 releases
0.1.6 | Nov 18, 2022 |
---|---|
0.1.5 | Nov 4, 2022 |
0.1.3 | Oct 26, 2022 |
#8 in #bitcoind
25 downloads per month
23KB
348 lines
Bitcoind Rest API
Request data from Bitcoind through rest api endpoints.
☠️⚠️ Work In Progress ⚠️☠️
Install
Add package to Cargo.toml file
$ cargo install bitcoind-rest-api
Setup:
Must have these environment variable set for the terminal to work. Could go in your
.zshrc
or.bashrc
:
export BITCOIND_PASSWORD="..."
export BITCOIND_USERNAME="..."
export BITCOIND_URL="127.0.0.1:8332"
Start Server
To start server at the default host and port of 127.0.0.1:3030
, run:
$ bitcoind-rest-api
To start server at a specified port, pass the PORT argument
$ bitcoind-rest-api 3031
Could optionally pass the environment variable to the script:
BITCOIND_PASSWORD=... BITCOIND_USERNAME=...BITCOIND_URL=... bitcoind-rest-api
Serve over HTTPS
To serve over https, must have the following environment variables set:
IS_TLS_ENABLED=true TLS_CERT_PATH="<CERT_PATH_HERE>" TLS_KEY_PATH="<KEY_PATH_HERE>"
Endpoints
The endpoints used should map directly to rpc commands and parameters, where the command name is the url path and the arguments are query params. If a rpc argument is optional, then the query param is also optional - and same for required arguments. For example, the getchaintxstats command takes two arguments, nblocks
and blockhash
, so the url path to request the same information would be localhost:3030/api/v1/getchaintxstats?nblocks={...}&blockhash={...}
The following endpoints have been implemented:
GET /api/v1/getblockcount
GET /api/v1/getblockstats?hash_or_height={blockhash or height}
GET /api/v1/getchaintxstats?n_blocks={nblocks}&blockhash={blockhash}
GET /api/v1/getdifficutly
GET /api/v1/getnetworkhashps?n_blocks={nblocks}&height={height}
Not: This will take a few seconds (or longer) to return
GET /api/v1/gettxoutsetinfo?hash_type={hash_type}
GET /api/v1/getblockhash?height={height}
GET /api/v1/getblock?blockhash={blockhash}&verbosity={verbosity}
GET /api/v1/getblockchaininfo
Related
- bitcoind-request - Type-safe wrapper around bitcoind RPC commands
- bitcoin-node-query - Query information about the bitcoin network
License
MIT © Joe Gesualdo
Dependencies
~18–32MB
~486K SLoC