mirror of
https://github.com/Retropex/bitfeed.git
synced 2025-05-12 19:20:46 +02:00
.. | ||
bitcoinex | ||
config | ||
data | ||
lib | ||
log | ||
priv/static | ||
rel | ||
test | ||
.formatter.exs | ||
.gitignore | ||
artillerytest.yml | ||
bitcoin.conf.example | ||
bitfeed.service | ||
Dockerfile | ||
LICENSE.txt | ||
mix.exs | ||
mix.lock | ||
README.md |
Building and Running the Bitfeed API Server
Prerequisites
- Elixir
- Bitcoin Full Node
- unpruned
- indexed
- running in server mode
- with ZMQ enabled
- (see an example bitcoin.conf file here)
Installation
mix do deps.get
mix do deps.compile
Configuration
The API server expects the following environment variables to be set:
variable | usage |
---|---|
MIX_ENV | compilation environment, either "prod" or "dev" |
PORT | Port to expose the API (front end connects to this) |
LOG_LEVEL | Tailor logging verbosity. either "error", "info" (default) or "debug" |
RPC_POOLS | Number of connection pools for RPC requests to Bitcoin Core |
RPC_POOL_SIZE | Number of connections maintained per pool (RPC_POOLS x RPC_POOL_SIZE should be substantially lower than rpcworkqueue in bitcoin.conf) |
INDEXED | 'true' to build indexes required for certain features (see INDEXES.md for details). Omit this variable to disable indexing |
BITCOIN_HOST | Bitcoin node host address |
BITCOIN_ZMQ_RAWBLOCK_PORT | Bitcoin node ZMQ port for block events (to match zmqpubrawblock in bitcoin.conf) |
BITCOIN_ZMQ_RAWTX_PORT | Bitcoin node ZMQ port for transaction events (to match zmqpubrawtx in bitcoin.conf) |
BITCOIN_ZMQ_SEQUENCE_PORT | Bitcoin node ZMQ port for sequence events (to match zmqpubsequence in bitcoin.conf) |
BITCOIN_RPC_PORT | Bitcoin node RPC port |
either | |
BITCOIN_RPC_USER | Bitcoin node RPC user |
BITCOIN_RPC_PASS | Bitcoin node RPC password |
or | |
BITCOIN_RPC_COOKIE | absolute path to a Bitcoin node RPC authentication .cookie file |
Running in development
Compile and run in an interactive local shell:
iex -S mix
Building for production
mix release
Running production build
_build/prod/rel/prod/bin/prod start