bitcoinafterlife a85202b8b8 init
2025-03-23 14:00:09 -04:00
2025-03-23 14:00:09 -04:00
2025-03-23 14:00:09 -04:00
2025-03-23 14:00:09 -04:00
2025-03-23 14:00:09 -04:00
2025-03-23 14:00:09 -04:00
2025-03-23 14:00:09 -04:00
2025-03-23 14:00:09 -04:00

bal-pusher

bal-pusher is a tool that retrieves Bitcoin transactions from a database and pushes them to the Bitcoin network when their locktime exceeds the median time past (MTP). It listens for Bitcoin block updates via ZMQ.

Installation

To use bal-pusher, you need to compile and install Bitcoin with ZMQ (ZeroMQ) support enabled. Then, configure your Bitcoin node and bal-pusher to push the transactions.

Prerequisites

  1. Bitcoin with ZMQ Support: Ensure that Bitcoin is compiled with ZMQ support. Add the following line to your bitcoin.conf file:

    zmqpubhashblock=tcp://127.0.0.1:28332
    
  2. Install Rust and Cargo: If you haven't already installed Rust and Cargo, you can follow the official instructions to do so: Rust Installation.

Installation Steps

  1. Clone the repository:

    git clone <repo-url>
    cd bal-pusher
    
  2. Build the project:

    cargo build --release
    
  3. Install the binary:

    sudo cp target/release/bal-pusher /usr/local/bin
    

Configuration

bal-pusher can be configured using environment variables. If no configuration file is provided, a default configuration file will be created.

Available Configuration Variables

Variable Description Default
BAL_PUSHER_CONFIG_FILE Path to the configuration file. If the file does not exist, it will be created. $HOME/.config/bal-pusher/default-config.toml
BAL_PUSHER_DB_FILE Path to the SQLite3 database file. If the file does not exist, it will be created. bal.db
BAL_PUSHER_ZMQ_LISTENER ZMQ listener for Bitcoin updates. tcp://127.0.0.1:28332
BAL_PUSHER_BITCOIN_HOST Bitcoin server host for RPC connections. http://127.0.0.1
BAL_PUSHER_BITCOIN_PORT Bitcoin RPC server port. 8332
BAL_PUSHER_BITCOIN_COOKIE_FILE Path to Bitcoin RPC cookie file. $HOME/.bitcoin/.cookie
BAL_PUSHER_BITCOIN_RPC_USER Bitcoin RPC username. -
BAL_PUSHER_BITCOIN_RPC_PASSWORD Bitcoin RPC password. -

Running bal-pusher

Once the application is installed and configured, you can start bal-pusher by running the following command:

$ bal-pusher

This will start the service, which will listen for Bitcoin blocks via ZMQ and push transactions from the database when their locktime exceeds the median time past.

Description
No description provided
Readme 40 KiB
Languages
Rust 100%