bal-pusher readme
This commit is contained in:
		
							parent
							
								
									d154567aeb
								
							
						
					
					
						commit
						afd21a5f2a
					
				
							
								
								
									
										68
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								README.md
									
									
									
									
									
								
							| @ -28,3 +28,71 @@ The `bal-server` application can be configured using environment variables. The | |||||||
| | `BAL_SERVER_TESTNET_FIXED_FEE` | Fixed fee for the testnet environment. | 50000 | | | `BAL_SERVER_TESTNET_FIXED_FEE` | Fixed fee for the testnet environment. | 50000 | | ||||||
| | `BAL_SERVER_BITCOIN_ADDRESS` | Bitcoin address for the mainnet environment. | - | | | `BAL_SERVER_BITCOIN_ADDRESS` | Bitcoin address for the mainnet environment. | - | | ||||||
| | `BAL_SERVER_BITCOIN_FIXED_FEE` | Fixed fee for the mainnet environment. | 50000 | | | `BAL_SERVER_BITCOIN_FIXED_FEE` | Fixed fee for the mainnet environment. | 50000 | | ||||||
|  | # 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](https://www.rust-lang.org/tools/install). | ||||||
|  | 
 | ||||||
|  | ### Installation Steps | ||||||
|  | 
 | ||||||
|  | 1. Clone the repository: | ||||||
|  | 
 | ||||||
|  |    ```bash | ||||||
|  |    git clone <repo-url> | ||||||
|  |    cd bal-pusher | ||||||
|  |    ``` | ||||||
|  | 
 | ||||||
|  | 2. Build the project: | ||||||
|  | 
 | ||||||
|  |    ```bash | ||||||
|  |    cargo build --release | ||||||
|  |    ``` | ||||||
|  | 
 | ||||||
|  | 3. Install the binary: | ||||||
|  | 
 | ||||||
|  |    ```bash | ||||||
|  |    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: | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | $ 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. | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user