Crates.io | bitcoind-rest-api |
lib.rs | bitcoind-rest-api |
version | 0.1.6 |
source | src |
created_at | 2022-10-21 18:53:06.770273 |
updated_at | 2022-11-18 16:50:14.408609 |
description | Request data from Bitcoind through rest api endpoints |
homepage | |
repository | |
max_upload_size | |
id | 693835 |
size | 66,139 |
Request data from Bitcoind through rest api endpoints.
☠️⚠️ Work In Progress ⚠️☠️
Add package to Cargo.toml file
$ cargo install bitcoind-rest-api
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"
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
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>"
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
MIT © Joe Gesualdo