-
Notifications
You must be signed in to change notification settings - Fork 111
/
sample-tapd.conf
337 lines (243 loc) · 10.5 KB
/
sample-tapd.conf
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
; Sample tapd configuration file.
; The default location for this file is in ~/.tapd/tapd.conf on POSIX OSes,
; $LOCALAPPDATA/Tapd/tapd.conf on Windows,
; ~/Library/Application Support/Tapd/tapd.conf on Mac OS and
; $home/tapd/tapd.conf on Plan9.
; The default location of this file can be overwritten by specifying the
; --configfile= flag when starting tapd.
;
; Boolean values can be specified as true/false or 1/0. Per default booleans are
; always set to false.
; If only one value is specified for an option, then this is also the
; default value used by tapd. In case of multiple (example) values, the default
; is explicitly mentioned.
; If the part after the equal sign is empty then tapd has no default for this
; option.
[Application Options]
; Logging level for all subsystems {trace, debug, info, warn, error, critical}
; You may also specify:
; <global-level>,<subsystem>=<level>,<subsystem2>=<level>,... to set the log
; level for individual subsystems. Use "show" to list available subsystems.
; debuglevel=info
; The base directory that contains tapd's data, logs, configuration file, etc.
; The default is ~/.tapd on POSIX OSes, $LOCALAPPDATA/Tapd on
; Windows, ~/Library/Application Support/Tapd on Mac OS, and $home/tapd
; on Plan9.
; tapddir=~/.tapd
; Path to configuration file
; configfile=~/.tapd/tapd.conf
; The directory to store tapd's data within
; datadir=~/.tapd/data
; Directory to log output
; logdir=~/.tapd/logs
; Maximum logfiles to keep (0 for no rotation)
; maxlogfiles=3
; Maximum logfile size in MB
; maxlogfilesize=10
; Write CPU profile to the specified file
; cpuprofile=
; Enable HTTP profiling on either a port or host:port
; profile=
; The number of confirmations we'll wait for before considering a transaction
; safely buried in the chain
; reorgsafedepth=6
; Default proof courier service address
; proofcourieraddr=universerpc://testnet.universe.lightning.finance:10029
; The number of seconds the custodian waits after identifying an asset transfer
; on-chain and before retrieving the corresponding proof
; custodianproofretrievaldelay=5s
; Network to run on (mainnet, regtest, testnet, simnet, signet)
; network=testnet
; Connect to a custom signet network defined by this challenge instead of using
; the global default signet test network -- can be specified multiple times
; signetchallenge=
; Add an interface/port/socket to listen for RPC connections
; rpclisten=
; Add an interface/port/socket to listen for REST connections
; restlisten=
; Path to write the TLS certificate for tapd's RPC and REST services
; tlscertpath=~/.tapd/tls.cert
; Path to write the TLS private key for tapd's RPC and REST services
; tlskeypath=~/.tapd/tls.key
; Adds an extra ip to the generated certificate
; tlsextraip=
; Adds an extra domain to the generated certificate
; tlsextradomain=
; Re-generate TLS certificate and key if the IPs or domains are changed
; tlsautorefresh=false
; Do not include the interface IPs or the system hostname in TLS certificate
; Use first --tlsextradomain as Common Name instead, if set
; tlsdisableautofill=false
; The duration for which the auto-generated TLS certificate will be valid for
; tlscertduration=10080h
; Disable REST API
; norest=false
; Disable TLS for REST connections
; no-rest-tls=false
; The ping interval for REST based WebSocket connections
; Set to 0 to disable sending ping messages from the server side
; ws-ping-interval=30s
; The time we wait for a pong response message on REST based WebSocket
; connections before the connection is closed as inactive
; ws-pong-wait=5s
; Path to write the admin macaroon for tapd's RPC and REST services if it
; doesn't exist
; macaroonpath=
; Disable macaroon authentication
; Can only be used if server is not listening on a public interface
; no-macaroons=false
; Disable macaroon authentication for universe proof courier RPC endpoints
; allow-public-uni-proof-courier=false
; Disable macaroon authentication for stats RPC endpoints
; allow-public-stats=false
; Add an ip:port/hostname to allow cross origin access from
; To allow all origins, set as "*"
; restcors=
; The directory to store Let's Encrypt certificates within
; letsencryptdir=~/.tapd/letsencrypt
; The IP:port on which lnd will listen for Let's Encrypt challenges
; Let's Encrypt will always try to contact on port 80
; Often non-root processes are not allowed to bind to ports lower than 1024
; This configuration option allows a different port to be used, but must be used
; in combination with port forwarding from port 80
; This configuration can also be used to specify another IP address to listen
; on, for example an IPv6 address
; letsencryptlisten=:80
; Request a Let's Encrypt certificate for this domain
; Note that the certificate is only requested and stored when the first rpc
; connection comes in
; letsencryptdomain=
; The email address to use for Let's Encrypt account registration
; letsencryptemail=
; The database backend to use for storing all asset related data
; databasebackend=sqlite
[hashmailcourier]
; The maximum time to wait for the receiver to acknowledge the proof
; hashmailcourier.receiveracktimeout=6h
; Skip the initial delay before attempting to deliver the proof to the receiver
; or receiving from the sender
; hashmailcourier.skipinitdelay=false
; The amount of time to wait before resetting the backoff counter
; hashmailcourier.backoffresetwait=10m
; The number of proof delivery attempts before the backoff counter is reset
; hashmailcourier.numtries=2000
; The initial backoff time to wait before retrying to deliver the proof to the
; receiver
; hashmailcourier.initialbackoff=30s
; The maximum backoff time to wait before retrying to deliver the proof to the
; receiver
; hashmailcourier.maxbackoff=5m
[universerpccourier]
; Skip the initial delay before attempting to deliver the proof to the receiver
; or receiving from the sender
; universerpccourier.skipinitdelay=false
; The amount of time to wait before resetting the backoff counter
; universerpccourier.backoffresetwait=10m
; The number of proof delivery attempts before the backoff counter is reset
; universerpccourier.numtries=2000
; The initial backoff time to wait before retrying to deliver the proof to the
; receiver
; universerpccourier.initialbackoff=30s
; The maximum backoff time to wait before retrying to deliver the proof to the
; receiver
; universerpccourier.maxbackoff=5m
[lnd]
; lnd instance rpc address
; lnd.host=localhost:10009
; DEPRECATED: Use macaroonpath
; lnd.macaroondir=
; The full path to the single macaroon to use, either the admin.macaroon or a
; custom baked one
; Cannot be specified at the same time as macaroondir
; A custom macaroon must contain ALL permissions required for all subservers to
; work, otherwise permission errors will occur
; lnd.macaroonpath=~/.lnd/data/chain/bitcoin/testnet/admin.macaroon
; Path to lnd tls certificate
; lnd.tlspath=
[sqlite]
; Skip applying migrations on startup
; sqlite.skipmigrations=false
; Skip database backup before schema migration
; sqlite.skipmigrationdbbackup=false
; The full path to the database
; sqlite.dbfile=~/.tapd/data/testnet/tapd.db
[postgres]
; Skip applying migrations on startup
; postgres.skipmigrations=false
; Database server hostname
; postgres.host=localhost
; Database server port
; postgres.port=5432
; Database user
; postgres.user=
; Database user's password
; postgres.password=
; Database name to use
; postgres.dbname=
; Max open connections to keep alive to the database server
; postgres.maxconnections=10
; Max number of idle connections to keep in the connection pool
; postgres.maxidleconnections=
; Max amount of time a connection can be reused for before it is closed
; postgres.connmaxlifetime=
; Max amount of time a connection can be idle for before it is closed
; postgres.connmaxidletime=
; Whether to require using SSL (mode: require) when connecting to the server
; postgres.requiressl=false
[universe]
; Amount of time to wait between universe syncs
; universe.syncinterval=10m
; The host:port of a Universe server peer with
; These servers will be added as the default set of federation servers
; Can be specified multiple times
; universe.federationserver=
; If set, the federation syncer will default to syncing all assets
; universe.sync-all-assets=false
; The public access mode for the universe server, controlling whether remote
; parties can read from and/or write to this universe server over RPC if
; exposed to a public network interface
; This can be unset, 'r', 'w', or 'rw'
; If unset, public access is not enabled for the universe server
; If 'r' is included, public access is allowed for read-only endpoints
; If 'w' is included, public access is allowed for write endpoints
; universe.public-access=
; The amount of time to cache stats for before refreshing them
; universe.stats-cache-duration=
; The maximum number of queries per second across the set of active universe
; queries that is permitted
; Anything above this starts to get rate limited
; universe.max-qps=100
; The burst budget for the universe query rate limiting
; universe.req-burst-budget=10
[address]
; If true, tapd will not try to sync issuance proofs for unknown assets when
; creating an address
; address.disable-syncer=false
[prometheus]
; If true prometheus metrics will be exported
; prometheus.active=false
; The interface we should listen on for prometheus
; prometheus.listenaddr=127.0.0.1:8989
; Enable additional histogram to track gRPC call processing performance
; (latency, etc)
; prometheus.perfhistograms=false
[experimental]
; Price oracle gRPC server address (rfqrpc://<hostname>:<port>)
; To use the integrated mock, use the following value:
; use_mock_price_oracle_service_promise_to_not_use_on_mainnet
; experimental.rfq.priceoracleaddress=
; The default price deviation inparts per million that is accepted by
; the RFQ negotiator.
; Example: 50,000 ppm => price deviation is set to 5% .
; experimental.rfq.acceptpricedeviationppm=50000
; Accept any price quote returned by RFQ peer, skipping price validation
; experimental.rfq.skipacceptquotepricecheck=false
; Mock price oracle static asset units per BTC rate (for example number of USD
; cents per BTC if one asset unit represents a USD cent); whole numbers only,
; use either this or mockoraclesatsperasset depending on required precision
; experimental.rfq.mockoracleassetsperbtc=
; Mock price oracle static satoshis per asset unit rate (for example number of
; satoshis to pay for one USD cent if one asset unit represents a USD cent);
; whole numbers only, use either this or mockoracleassetsperbtc depending on
; required precision
; experimental.rfq.mockoraclesatsperasset=