-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathconfig.env
More file actions
123 lines (97 loc) · 4.34 KB
/
config.env
File metadata and controls
123 lines (97 loc) · 4.34 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/bin/sh
set -o allexport
source /home/node/app/docker/my-dojo/.env
export HOST_IP=$(ip -4 route list match 0/0 | awk '{print $3}')
export BITCOIND_TYPE=$(yq e '.bitcoin-node.type' /root/start9/config.yaml)
export BITCOIND_IP="${BITCOIND_TYPE}.embassy"
export BITCOIND_RPC_USER=$(yq e '.bitcoin-node.username' /root/start9/config.yaml)
export BITCOIND_RPC_PASSWORD=$(yq e '.bitcoin-node.password' /root/start9/config.yaml)
export BITCOIND_ZMQ_BLK_HASH=28332
export BITCOIND_ZMQ_RAWTXS=28333
if [ "$BITCOIND_TYPE" = "bitcoind-testnet" ]; then
export COMMON_BTC_NETWORK=testnet
export BITCOIND_RPC_PORT=48332
else
export COMMON_BTC_NETWORK=mainnet
export BITCOIND_RPC_PORT=8332
fi
export MYSQL_USER=samourai
export MYSQL_PASSWORD=samourai
export MYSQL_DATABASE=samourai-main
export NET_DOJO_MYSQL_IPV4=127.0.0.1
# API key required for accessing the services provided by the server
# Keep this API key secret!
# Provide a value with a high entropy!
# Type: alphanumeric
export NODE_API_KEY=$(yq e '.api-key' /root/start9/config.yaml)
# API key required for accessing the admin/maintenance services provided by the server
# Keep this Admin key secret!
# Provide a value with a high entropy!
# Type: alphanumeric
export NODE_ADMIN_KEY=$(yq e '.admin-key' /root/start9/config.yaml)
# BIP47 Payment Code used for admin authentication
# Type: alphanumeric
export NODE_PAYMENT_CODE=$(yq e '.payment-code' /root/start9/config.yaml)
# Secret used by the server for signing Json Web Token
# Keep this value secret!
# Provide a value with a high entropy!
# Type: alphanumeric
export NODE_JWT_SECRET=$(yq e '.jwt-secret' /root/start9/config.yaml)
# FEE TYPE USED FOR FEES ESTIMATIONS BY BITCOIND
# Allowed values are ECONOMICAL or CONSERVATIVE
export NODE_FEE_TYPE=ECONOMICAL
# Indexer or third-party service used for imports and rescans of addresses
export S9_INDEXER_TYPE=$(yq e '.indexer.type' /root/start9/config.yaml)
# Values: local_bitcoind | local_indexer | third_party_explorer
export NODE_ACTIVE_INDEXER=local_indexer
export INDEXER_IP=${S9_INDEXER_TYPE}.embassy # fulcrum or electrs
export INDEXER_RPC_PORT=50001
export INDEXER_BATCH_SUPPORT=active
export INDEXER_PROTOCOL=tcp
export NET_DOJO_TOR_IPV4=${HOST_IP}
export TOR_SOCKS_PORT=9050
# This value is necessary to make dojo use the external explorer
export EXPLORER_INSTALL=on
# Soroban configuration
export SOROBAN_INSTALL=on
SOROBAN_ANNOUNCE_CONFIG=$(yq e '.soroban-announce.enabled // "disabled"' /root/start9/config.yaml)
if [ "$SOROBAN_ANNOUNCE_CONFIG" = "enabled" ]; then
export SOROBAN_ANNOUNCE=on
else
export SOROBAN_ANNOUNCE=off
fi
# PandoTx Process is only available when Soroban announce is enabled
S9_PANDOTX_PROCESS=$(yq e '.soroban-announce.pandotx-process // false' /root/start9/config.yaml)
if [ "$SOROBAN_ANNOUNCE_CONFIG" = "enabled" ] && [ "$S9_PANDOTX_PROCESS" = "true" ]; then
export NODE_PANDOTX_PROCESS=on
else
export NODE_PANDOTX_PROCESS=off
fi
# Push transaction through PandoTx (Soroban network)
S9_PANDOTX_PUSH=$(yq e '.pandotx-push' /root/start9/config.yaml)
if [ "$S9_PANDOTX_PUSH" = "true" ]; then
export NODE_PANDOTX_PUSH=on
else
export NODE_PANDOTX_PUSH=off
fi
# Soroban networking
export NET_DOJO_SOROBAN_IPV4=127.0.0.1
export SOROBAN_ONION_FILE=/var/lib/tor/hsv3soroban/hostname
# Soroban P2P configuration
#export SOROBAN_P2P_PEERSTORE_FILE=/home/soroban/data/peerstore.json
# Soroban domain and P2P configuration for mainnet
#export SOROBAN_DOMAIN_MAIN=dojo.samourai.io
#export SOROBAN_P2P_ROOM_MAIN=/dojo/1.0.0
#export SOROBAN_P2P_BOOTSTRAP_MAIN=/ip4/51.159.213.61/tcp/9042/p2p/12D3KooWBmace3XzTGpAy1VbWVa8NoLCEhWvdUZQr9HZtYkqkCKM
#export SOROBAN_ANNOUNCE_KEY_MAIN=dojo
# Soroban domain and P2P configuration for testnet
#export SOROBAN_DOMAIN_TEST=dojo-testnet.samourai.io
#export SOROBAN_P2P_ROOM_TEST=/dojo-testnet/1.0.0
#export SOROBAN_P2P_BOOTSTRAP_TEST=/ip4/51.159.213.61/tcp/9043/p2p/12D3KooWBmace3XzTGpAy1VbWVa8NoLCEhWvdUZQr9HZtYkqkCKM
#export SOROBAN_ANNOUNCE_KEY_TEST=dojo-testnet
# Fallback mode
# convenient: a push will ultimately be processed through the local node (soroban or bitcoind)
# secure: it will fail if it can't be processed through a randomnly selected Soroban node
export NODE_PANDOTX_FALLBACK_MODE=$(yq e '.pandotx-fallback-mode' /root/start9/config.yaml)
# Max number of retries in case of a failed push
export NODE_PANDOTX_NB_RETRIES=$(yq e '.pandotx-retries' /root/start9/config.yaml)