ThemotivationbehindthisprojectistoenableausertorunhisownElectrumserver,withrequiredhardwareresourcesnotmuchbeyondthoseofafullnode.TheserverindexestheentireBitcoinblockchain,andtheresultingindexenablesfastqueriesforanygivenuserwallet,allowingtheusertokeepreal-timetrackofhisbalancesandhistransactionhistoryusingtheElectrumwallet.Sinceitrunsontheuser's own machine, there is no need for the wallet to communicate with external Electrum servers, thus preserving the privacy of the user'saddressesandbalances."""
[[switch]]
name="verbose"
abbr="v"
doc="Increase logging verbosity"
count=true
[[switch]]
name="timestamp"
doc="Prepend log lines with a timestamp"
[[param]]
name="db_dir"
type="std::path::PathBuf"
doc="Directory to store index database (default: ./db/)"
default="\"./db\".into()"
[[param]]
name="daemon_dir"
type="std::path::PathBuf"
doc="Data directory of Bitcoind (default: ~/.bitcoin/)"
doc="Electrum server JSONRPC 'addr:port' to listen on (default: '127.0.0.1:50001' for mainnet, '127.0.0.1:60001' for testnet and '127.0.0.1:60401' for regtest)"
[[param]]
name="daemon_rpc_addr"
type="crate::config::ResolvAddr"
doc="Bitcoin daemon JSONRPC 'addr:port' to connect (default: 127.0.0.1:8332 for mainnet, 127.0.0.1:18332 for testnet and 127.0.0.1:18443 for regtest)"
[[param]]
name="monitoring_addr"
type="crate::config::ResolvAddr"
doc="Prometheus monitoring 'addr:port' to listen on (default: 127.0.0.1:4224 for mainnet, 127.0.0.1:14224 for testnet and 127.0.0.1:24224 for regtest)"
[[switch]]
name="jsonrpc_import"
doc="Use JSONRPC instead of directly importing blk*.dat files. Useful for remote full node or low memory system"
doc="Number of transactions to lookup before returning an error, to prevent 'too popular' addresses from causing the RPC server to get stuck (0 - disable the limit)"
default="100"
[[param]]
name="server_banner"
type="String"
doc="The banner to be shown in the Electrum console"
default="concat!(\"Welcome to electrs \", env!(\"CARGO_PKG_VERSION\"), \" (Electrum Rust Server)!\").to_owned()"