forked from lightninglabs/taproot-assets
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sample-tapd.conf
377 lines (273 loc) · 12.2 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
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
; 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. Valid time units are
; {s, m, h}.
; 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.
; Valid time units are {s, m, h}.
; 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. Valid time units are {s, m, h}.
; 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. Valid time units are
; {s, m, h}.
; 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. Valid time
; units are {s, m, h}.
; 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. Valid time
; units are {s, m, h}.
; 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. Valid time units are {s, m, h}.
; hashmailcourier.initialbackoff=30s
; The maximum backoff time to wait before retrying to deliver the proof to the
; receiver. Valid time units are {s, m, h}.
; 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. Valid time
; units are {s, m, h}.
; 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. Valid time units are {s, m, h}.
; universerpccourier.initialbackoff=30s
; The maximum backoff time to wait before retrying to deliver the proof to the
; receiver. Valid time units are {s, m, h}.
; 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=
; The timeout to use for RPC requests to lnd; a sufficiently long duration
; should be chosen to avoid issues with slow responses. Valid time units are
; {s, m, h}.
; lnd.rpctimeout=1m
[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. Valid
; time units are {s, m, h}.
; postgres.connmaxlifetime=
; Max amount of time a connection can be idle for before it is closed. Valid
; time units are {s, m, h}.
; 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. Valid time units are {s, m, h}.
; 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 default Universe server (available for testnet and mainnet) will
; not be added to the list of universe servers on startup
; universe.no-default-federation=false
; 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. Valid time units
; are {s, m, h}.
; 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
[multiverse-caches]
; The number of proofs that are cached per universe. (default: 5)
; universe.multiverse-caches.proofs-per-universe=5
; The number of universes that can have a cache of leaf keys. (default: 2000)
; universe.multiverse-caches.leaves-num-cached-universes=2000
; The number of leaf keys that are cached per cached universe. (default: 50)
; universe.multiverse-caches.leaves-per-universe=50
; If the syncer cache is enabled.
; universe.multiverse-caches.syncer-cache-enabled=false
; The pre-allocated size of the syncer cache. (default: 100000)
; universe.multiverse-caches.syncer-cache-pre-alloc-size=100000
; The size of the root node page cache for all requests that aren't served by
; the syncer cache. (default: 10240)
; universe.multiverse-caches.root-node-page-cache-size=10240
[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=