Repository navigation
Expand file tree
/
Copy pathconfig.toml.example
More file actions
167 lines (150 loc) · 5.95 KB
/
Copy pathconfig.toml.example
File metadata and controls
167 lines (150 loc) · 5.95 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
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
# fork-observer configuration file
# Database path of the key value store. Will be created if non-existing.
database_path = "example_db_dir"
# path to the location of the static www files
www_path = "./www"
# Interval in seconds for checking for new blocks.
#
# For Bitcoin Core nodes (unless `use_waitfornewblock = false` is set on the
# node) this is the *maximum* time between checks: the node reacts to new blocks
# almost immediately via the `waitfornewblock` RPC long-poll and only falls back
# to this interval as an upper bound. For all other backends this is the fixed
# polling interval.
query_interval = 15
# Webserver listen address
address = "127.0.0.1:2323"
# RSS feeds need a URL of the site. This is optional. If unset,
# the RSS feeds might not be valid according to the RSS 2.0 specification.
# Some RSS readers might complain.
rss_base_url = "https://fork-observer.example.com/"
# Optional: enables the activity log, a timestamped per-node log of e.g.
# tip changes, reorgs, and reachability changes. Nodes opt in individually
# with `activity_log = true`. Recent events are served via
# /api/<network_id>/activity.json.
# [activity]
# Path of the activity log SQLite database (separate from database_path).
# Will be created if non-existing.
# database_path = "./activity.sqlite"
# Directory the retention task writes monthly archive files
# (activity-archive-YYYY-MM.sqlite) to before purging old events from the
# live database. Required if any retention is configured.
# archive_directory = "./activity-archive"
# Optional: events older than this many days are archived and then purged.
# Networks can override this with `activity_retention_days`. If unset,
# events are kept forever.
# retention_days = 90
# Custom footer for the site.
footer_html = """
<div class="my-2">
<div>
<span class="text-muted">This site is hosted by</span>
<br>
<!-- uncomment this -->
<!-- span>YOUR NAME / PSEUDONYM</span-->
<!--remove this-->
<span class="badge bg-danger">FIXME: PLACEHOLDER in config.toml</span>
</div>
</div>
"""
[[networks]]
id = 1
name = "Mainnet"
description = "An example mainnet node."
# Optional URL-friendly identifier used for friendly URLs like /mainnet and
# ?network=mainnet. When omitted it is derived from the name (here: "mainnet").
# Slugs must be unique across networks.
# slug = "mainnet"
min_fork_height = 0
max_interesting_heights = 100
# Optional: override [activity].retention_days for this network.
# activity_retention_days = 30
[networks.pool_identification]
enable = true
network = "Mainnet"
# Optional countdown to a specific block height, shown in the frontend
# (e.g. a halving). At most one per network; omit this table for none.
# [networks.countdown]
# height = 1050000
# label = "Halving"
[[networks.nodes]]
id = 0
name = "Node A"
description = "A node with a signet-miner that is always mining blocks"
# rpc_cookie_file = "~/.bitcoin/.cookie"
rpc_host = "127.0.0.1"
rpc_port = 38342
rpc_user = "forkobserver"
rpc_password = ""
# React to new blocks via Bitcoin Core's `waitfornewblock` RPC long-poll
# instead of polling every `query_interval` seconds. Defaults to true. Set
# to false if `waitfornewblock` is not on the RPC whitelist, or if a reverse
# proxy in front of the node kills long-held connections.
# use_waitfornewblock = true
# Record this node's events in the activity log (requires the [activity]
# section). Defaults to false.
# activity_log = true
[[networks.nodes]]
id = 1
name = "Node B"
description = "R node with a signet-miner that is always mining blocks"
# rpc_cookie_file = "~/.bitcoin/.cookie"
rpc_host = "127.0.0.1"
rpc_port = 38332
rpc_user = "forkobserver"
rpc_password = ""
# Electrum never reports stale/fork blocks (see README) - only add it to a
# network that already has at least one Bitcoin Core (or btcd) node.
[[networks.nodes]]
id = 3
name = "Electrum Emzy"
description = "URL electrum.emzy.de:50002"
rpc_host = "ssl://electrum.emzy.de"
rpc_port = 50002
implementation = "electrum"
# Reports fork tips, but can't reconstruct fork history on its own (see
# README) - only add it to a network that already has at least one Bitcoin
# Core (or btcd) node. Keep query_interval conservative and min_fork_height
# close to the tip: this is a public, rate-limited API.
[[networks.nodes]]
id = 4
name = "mempool.space"
description = "mempool.space public API"
# For testnet, use "https://mempool.space/testnet/api" instead.
rpc_host = "https://mempool.space/api"
implementation = "mempoolspace"
[[networks.nodes]]
id = 5
name = "block-dn.org"
description = "public block-dn instance"
rpc_host = "https://block-dn.org"
implementation = "block-dn"
# Show another fork-observer instance's nodes and headers alongside the
# ones configured above. The remote's data is fetched via its HTTP API
# every query_interval seconds and merged into this network's header tree.
# `node_id_offset` is added to the remote's node ids to avoid colliding
# with the node ids configured above; it must be unique per remote source
# and larger than any locally used node id. See the README for what is
# (and isn't) imported and verified.
# [[networks.forkobservers]]
# name = "b10c's observer"
# description = "Another fork-observer instance"
# url = "https://fork-observer.example.com"
# network_id = 1
# node_id_offset = 1000
[[networks]]
id = 0xFFFFFFFE
name = "FFFFFFFE testnetwork"
description = "example"
min_fork_height = 5
max_interesting_heights = 200
[pool_identification]
enable = false
[[networks.nodes]]
id = 0
name = "Node A"
description = "A node. Just A node."
# rpc_cookie_file = "~/.bitcoin/.cookie"
rpc_host = "127.0.0.1"
rpc_port = 38342
rpc_user = "forkobserver"
rpc_password = ""