Skip to content

Commit e663693

Browse files
authored
Merge pull request Blockstream#50 from mempool/junderw/http-socket-electrum
(Requires merge by @wiz) Feat: Unix sockets for Electrum RPC
2 parents 3b19bfd + 4339a51 commit e663693

File tree

8 files changed

+264
-61
lines changed

8 files changed

+264
-61
lines changed

electrs-start-liquid

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ do
2020
-- \
2121
--network liquid \
2222
--http-socket-file "${HOME}/socket/esplora-liquid-mainnet" \
23+
--rpc-socket-file "${HOME}/socket/electrum-liquid-mainnet" \
2324
--precache-scripts "${HOME}/electrs/contrib/popular-scripts.txt" \
2425
--asset-db-path "${HOME}/asset_registry_db" \
2526
--daemon-dir "${HOME}" \

electrs-start-liquidtestnet

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ do
2020
-- \
2121
--network liquidtestnet \
2222
--http-socket-file "${HOME}/socket/esplora-liquid-testnet" \
23+
--rpc-socket-file "${HOME}/socket/electrum-liquid-testnet" \
2324
--precache-scripts "${HOME}/electrs/contrib/popular-scripts.txt" \
2425
--asset-db-path "${HOME}/asset_registry_testnet_db" \
2526
--daemon-dir "${HOME}" \

electrs-start-mainnet

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ do
3030
--bin electrs \
3131
-- \
3232
--http-socket-file "${HOME}/socket/esplora-bitcoin-mainnet" \
33+
--rpc-socket-file "${HOME}/socket/electrum-bitcoin-mainnet" \
3334
--precache-scripts "${HOME}/electrs/contrib/popular-scripts.txt" \
3435
--daemon-dir "${HOME}" \
3536
--db-dir "/electrs" \

electrs-start-signet

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ do
3131
-- \
3232
--network signet \
3333
--http-socket-file "${HOME}/socket/esplora-bitcoin-signet" \
34+
--rpc-socket-file "${HOME}/socket/electrum-bitcoin-signet" \
3435
--precache-scripts "${HOME}/electrs/contrib/popular-scripts.txt" \
3536
--daemon-dir "${HOME}" \
3637
--db-dir "/electrs" \

electrs-start-testnet

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ do
3131
-- \
3232
--network testnet \
3333
--http-socket-file "${HOME}/socket/esplora-bitcoin-testnet" \
34+
--rpc-socket-file "${HOME}/socket/electrum-bitcoin-testnet" \
3435
--precache-scripts "${HOME}/electrs/contrib/popular-scripts.txt" \
3536
--daemon-dir "${HOME}" \
3637
--db-dir "/electrs" \

src/config.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ pub struct Config {
4141
pub electrum_rpc_addr: SocketAddr,
4242
pub http_addr: SocketAddr,
4343
pub http_socket_file: Option<PathBuf>,
44+
pub rpc_socket_file: Option<PathBuf>,
4445
pub monitoring_addr: SocketAddr,
4546
pub jsonrpc_import: bool,
4647
pub light_mode: bool,
@@ -243,6 +244,14 @@ impl Config {
243244
.takes_value(true),
244245
);
245246

247+
#[cfg(unix)]
248+
let args = args.arg(
249+
Arg::with_name("rpc_socket_file")
250+
.long("rpc-socket-file")
251+
.help("Electrum RPC 'unix socket file' to listen on (default disabled, enabling this ignores the electrum_rpc_addr arg)")
252+
.takes_value(true),
253+
);
254+
246255
#[cfg(feature = "liquid")]
247256
let args = args
248257
.arg(
@@ -384,6 +393,7 @@ impl Config {
384393
);
385394

386395
let http_socket_file: Option<PathBuf> = m.value_of("http_socket_file").map(PathBuf::from);
396+
let rpc_socket_file: Option<PathBuf> = m.value_of("rpc_socket_file").map(PathBuf::from);
387397
let monitoring_addr: SocketAddr = str_to_socketaddr(
388398
m.value_of("monitoring_addr")
389399
.unwrap_or(&format!("127.0.0.1:{}", default_monitoring_port)),
@@ -452,6 +462,7 @@ impl Config {
452462
electrum_banner,
453463
http_addr,
454464
http_socket_file,
465+
rpc_socket_file,
455466
monitoring_addr,
456467
mempool_backlog_stats_ttl: value_t_or_exit!(m, "mempool_backlog_stats_ttl", u64),
457468
mempool_recent_txs_size: value_t_or_exit!(m, "mempool_recent_txs_size", usize),

0 commit comments

Comments
 (0)