version
This commit is contained in:
4
Cargo.lock
generated
4
Cargo.lock
generated
@@ -124,8 +124,8 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bal-server"
|
name = "bal_server"
|
||||||
version = "0.1.0"
|
version = "0.2.3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.22.1",
|
"base64 0.22.1",
|
||||||
"bitcoin",
|
"bitcoin",
|
||||||
|
|||||||
56
Cargo.toml
56
Cargo.toml
@@ -1,33 +1,33 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "bal-server"
|
name = "bal_server"
|
||||||
version = "0.1.0"
|
version = "0.2.3"
|
||||||
edition = "2021"
|
edition = "2024"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
[dependencies]
|
[dependencies]
|
||||||
base64 = "0.22.1"
|
base64 = { version = "0.22.1" }
|
||||||
bs58 = "0.4.0"
|
bs58 = { version = "0.4.0" }
|
||||||
bytes = "1.2"
|
bytes = { version = "1.2" }
|
||||||
bitcoin = { version = "0.32.5" }
|
bitcoin = { version = "0.32.5" }
|
||||||
bitcoincore-rpc = "0.19.0"
|
bitcoincore-rpc = { version = "0.19.0" }
|
||||||
bitcoincore-rpc-json = "0.19.0"
|
bitcoincore-rpc-json = { version = "0.19.0" }
|
||||||
byteorder = "1.5.0"
|
byteorder = { version = "1.5.0" }
|
||||||
confy = "0.6.1"
|
confy = { version = "0.6.1" }
|
||||||
chrono = "0.4.40"
|
chrono = { version = "0.4.40" }
|
||||||
env_logger = "0.11.5"
|
env_logger = { version = "0.11.5" }
|
||||||
hex = "0.4.3"
|
hex = { version = "0.4.3" }
|
||||||
hex-conservative = "0.1.1"
|
hex-conservative = { version = "0.1.1" }
|
||||||
hyper = { version = "1.3.1", features = ["http1","server"] }
|
hyper = { version = "1.3.1", features = ["http1","server"] }
|
||||||
hyper-util = { version = "0.1.3", features = ["tokio"] }
|
hyper-util = { version = "0.1.3", features = ["tokio"] }
|
||||||
http-body-util = "0.1"
|
http-body-util = { version = "0.1" }
|
||||||
log = "0.4.21"
|
log = { version = "0.4.21" }
|
||||||
openssl = { version = "0.10.74", features = ["vendored"] }
|
openssl = { version = "0.10.74", features = ["vendored"] }
|
||||||
sha2 = "0.10.8"
|
sha2 = { version = "0.10.8" }
|
||||||
serde = { version = "1.0.152", features = ["derive"] }
|
serde = { version = "1.0.152", features = ["derive"] }
|
||||||
serde_json = "1.0.116"
|
serde_json = { version = "1.0.116" }
|
||||||
sqlite = "0.34.0"
|
sqlite = { version = "0.34.0" }
|
||||||
regex = "1.10.4"
|
regex = { version = "1.10.4" }
|
||||||
reqwest = { version = "0.12.24", features = ["json","socks"] }
|
reqwest = { version = "0.12.24", features = ["json","socks"] }
|
||||||
tokio = { version = "1", features = ["rt", "net","macros","rt-multi-thread"] } # Keep only necessary runtime components
|
tokio = { version = "1", features = ["rt", "net","macros","rt-multi-thread"] } # Keep only necessary runtime components
|
||||||
zmq = "0.10.0"
|
zmq = { version = "0.10.0" }
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ To use `bal-pusher`, you need to compile and install Bitcoin with ZMQ (ZeroMQ) s
|
|||||||
Once the application is installed and configured, you can start `bal-pusher` by running the following command:
|
Once the application is installed and configured, you can start `bal-pusher` by running the following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ bal-pusher
|
$ bal-pusher [bitcoin|testnet|regtest|]
|
||||||
```
|
```
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|||||||
@@ -12,5 +12,5 @@ BAL_PUSHER_SEND_STATS=true
|
|||||||
WELIST_SERVER_URL=http://welist.bitcoin-after.life
|
WELIST_SERVER_URL=http://welist.bitcoin-after.life
|
||||||
SSL_KEY_PATH=/home/bal/privkey.pem
|
SSL_KEY_PATH=/home/bal/privkey.pem
|
||||||
|
|
||||||
#your server domain. do not add https or final / only domain.
|
#your server domain. do not final / only domain.
|
||||||
BAL_SERVER_URL="https://we.bitcoin-after.life"
|
BAL_SERVER_URL="https://we.bitcoin-after.life"
|
||||||
|
|||||||
@@ -316,8 +316,10 @@ async fn send_stats_report(cfg: &MyConfig, bcinfo: GetBlockchainInfoResult) -> R
|
|||||||
|
|
||||||
let client = rClient::new();
|
let client = rClient::new();
|
||||||
let url = format!("{}/ping",welist_url);
|
let url = format!("{}/ping",welist_url);
|
||||||
|
debug!("welist url: {}",url);
|
||||||
let chain=bcinfo.chain.to_string().to_lowercase();
|
let chain=bcinfo.chain.to_string().to_lowercase();
|
||||||
let message = format!("{0}{1}{2}{3}{4}",cfg.url,chain,bcinfo.blocks,bcinfo.median_time,bcinfo.best_block_hash);
|
let message = format!("{0}{1}{2}{3}{4}",cfg.url,chain,bcinfo.blocks,bcinfo.median_time,bcinfo.best_block_hash);
|
||||||
|
trace!("message to be sent: {}",message);
|
||||||
let sign = sign_message(cfg.ssl_key_path.as_str(),&message.as_str());
|
let sign = sign_message(cfg.ssl_key_path.as_str(),&message.as_str());
|
||||||
let response = client.post(url)
|
let response = client.post(url)
|
||||||
.header("User-Agent", format!("bal-pusher/{}",VERSION))
|
.header("User-Agent", format!("bal-pusher/{}",VERSION))
|
||||||
@@ -330,7 +332,11 @@ async fn send_stats_report(cfg: &MyConfig, bcinfo: GetBlockchainInfoResult) -> R
|
|||||||
"last_block_hash": bcinfo.best_block_hash,
|
"last_block_hash": bcinfo.best_block_hash,
|
||||||
"signature": sign,
|
"signature": sign,
|
||||||
}))
|
}))
|
||||||
.send().await?;
|
.send().await?;
|
||||||
|
if !response.status().is_success() {
|
||||||
|
warn!("Non-success response: {} {}", response.status(), response.status().canonical_reason().unwrap_or(""));
|
||||||
|
}
|
||||||
|
|
||||||
let body = &(response.text().await?);
|
let body = &(response.text().await?);
|
||||||
info!("Report to welist({})\tSent: {}", welist_url,body);
|
info!("Report to welist({})\tSent: {}", welist_url,body);
|
||||||
}else {
|
}else {
|
||||||
|
|||||||
@@ -26,15 +26,10 @@ use log::{ info, error, trace, debug};
|
|||||||
use serde_json;
|
use serde_json;
|
||||||
use chrono::Utc;
|
use chrono::Utc;
|
||||||
|
|
||||||
#[path = "../db.rs"]
|
use bal_server::db::{ create_database, get_next_address_index, insert_xpub, save_new_address, get_last_used_address_by_ip, execute_insert };
|
||||||
mod db;
|
use bal_server::xpub::new_address_from_xpub;
|
||||||
use crate::db::{ create_database, get_next_address_index, insert_xpub, save_new_address, get_last_used_address_by_ip, execute_insert };
|
|
||||||
|
|
||||||
|
const VERSION:&str=env!("CARGO_PKG_VERSION");
|
||||||
#[path = "../xpub.rs"]
|
|
||||||
mod xpub;
|
|
||||||
use crate::xpub::new_address_from_xpub;
|
|
||||||
const VERSION:&str="0.2.2";
|
|
||||||
const NETWORKS : [&str; 4]= ["bitcoin","testnet","signet","regtest"];
|
const NETWORKS : [&str; 4]= ["bitcoin","testnet","signet","regtest"];
|
||||||
#[derive(Debug, Clone,Serialize, Deserialize)]
|
#[derive(Debug, Clone,Serialize, Deserialize)]
|
||||||
struct NetConfig {
|
struct NetConfig {
|
||||||
|
|||||||
Reference in New Issue
Block a user