Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
83 lines (72 loc) · 4.07 KB
/
Copy path.env.example
File metadata and controls
83 lines (72 loc) · 4.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# xchain-encoder configuration. Copy to .env and fill in values.
# Full description of every variable lives in README.md ("Configuration").
# Required: coin and network (e.g. bitcoin-mainnet, bitcoin-regtest,
# litecoin-testnet, dogecoin-mainnet).
NETWORK=bitcoin-regtest
# Required: coin node RPC connection.
NODE_URL=127.0.0.1
NODE_PORT=8332
NODE_USER=rpcuser
NODE_PASSWORD=rpcpass
# Optional: JSON-RPC API port the encoder listens on (default 3003).
ENCODER_API_PORT=3003
# Optional: xchain-utxo-tracker service location. Without these, the encoder
# falls back to fetching UTXOs from the coin node directly.
UTXO_TRACKER_URL=127.0.0.1
UTXO_TRACKER_API_PORT=3001
# Optional: "remote" makes the tracker mandatory and fails closed. A missing
# URL or port, an unreachable tracker, or a missing, halted, stale or not-ready
# sync state each refuse with a typed error. Default keeps the lenient behaviour.
# UTXO_TRACKER_PROFILE=remote
# Optional: cap fee-rate estimates at this sat/kB ceiling.
# MAX_FEE_RATE_KB=200000
# Optional: relative fee-rate ceiling as a multiple of the node's
# estimatesmartfee(1) estimate (default 100). Caps caller-supplied fee/feePerKb
# so a hostile request cannot drain inputs into miner fee. Set to 0 to disable
# (not recommended; a fixed 100x burn backstop still applies whatever this
# or MAX_FEE_RATE_KB says); an unset/unparseable value keeps the default.
# MAX_FEE_RATE_MULTIPLIER=100
# Optional: ceiling (base units) on the extra fee a transaction spending
# unconfirmed inputs may pay so that its whole mempool package reaches the
# target fee rate. Miners select by ancestor fee rate, so a child behind cheap
# parents stays unmined however much it pays on its own bytes. Default
# 10000000 (0.1 DOGE); 0 turns package-aware sizing off.
# MAX_CPFP_UPLIFT_SAT=10000000
# Optional: multiple of the node's own relay floor to charge on a non-mainnet
# chain when estimatesmartfee has no data to answer with. The default 10 is the
# documented recommended rate, which some quiet chains' miners do not accept:
# on Dogecoin testnet, transactions land at 0.03 and around 1.0 DOGE per kB
# while 0.0102 sits unmined. Measure your own chain and raise this if needed
# (100 gives 0.1 DOGE/kB). Mainnet is unaffected: there a missing estimate
# raises an error rather than a guess.
# FEE_NO_ESTIMATE_RELAY_MULTIPLIER=10
# Optional: floor (base units) on every value output the encoder authors.
# It can only raise the floor. The coin's consensus dust threshold and its
# relay-policy soft-dust floor apply regardless (Dogecoin: 0.01 DOGE, below
# which each output adds the whole limit to the fee the network demands).
# DUST_AMOUNT=
# Optional: API hardening for shared deployments.
# API_KEY=
# ENCODER_RATE_LIMIT_RPM=60
# Global cap on requests served concurrently, across ALL client IPs (default
# 50). The per-IP limit above is blind to a stampede spread over many
# addresses; over this cap the encoder answers 429 + Retry-After immediately
# rather than queueing behind a saturated coin node. GET /status and
# GET /openrpc.json are exempt. 0 disables.
# ENCODER_MAX_CONCURRENT_REQUESTS=50
# Private reserve for those two exempt probe routes (default 16), so
# healthchecks keep answering while the cap above sheds, without the probe
# routes themselves becoming an uncapped bypass. 0 disables.
# ENCODER_MAX_CONCURRENT_PROBES=16
# Express trust proxy setting for the rate limiter's client-IP key. Default
# 'loopback, uniquelocal' covers native (loopback) and containerized (docker
# bridge) deploys behind a same-host fronting proxy. Set to false, a hop
# count, or an address/CIDR list per the Express docs for other topologies.
# ENCODER_TRUST_PROXY=loopback, uniquelocal
# Allowed CORS origin(s). Unset disables CORS. `*` allows any origin; otherwise
# give one origin, or a comma-separated allowlist that is matched per-origin.
# A list is what browser wallet shells need, because each sends a different
# origin: iOS 'capacitor://localhost', Android 'https://localhost', the hosted
# web wallet its own https origin.
# CORS_ORIGIN=*
# CORS_ORIGIN=capacitor://localhost,https://localhost,https://wallet.xchain.io