You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: guides-and-tutorials/sbtc/how-to-run-sbtc-signer.md
+56-35Lines changed: 56 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,39 +1,67 @@
1
1
# How to Run a sBTC Signer
2
2
3
3
{% hint style="warning" %}
4
-
This documentation is for preview purposes only. This should not be used in production. The configuration files and the docker-compose setup will undergo some necessary changes before release, but the setup here is very close to what will be required in production.
4
+
This documentation is for preview purposes only. This should not be used in production.
5
+
{% endhint %}
6
+
7
+
## Testnet configuration
8
+
9
+
{% hint style="warning" %} If you are onboarding to the sBTC signers testnet,
These are the **minimum required specs** to be able to run a sBTC signer, but it is recommended to have more than the minimum for optimal performance. Note that these are in addition to the hardware requirements for running a Stacks node, Bitcoin node, and Nakamoto signer outlined in the How to Run a Signer doc.
16
+
Below are the **minimum required specs** to be able to run a sBTC signer.
10
17
11
18
- 1 cpu
12
19
- 256MB memory
13
20
- 50GB storage
14
21
22
+
Note that these are in _addition_ to the hardware requirements for running a
23
+
Stacks node and Bitcoin node outlined in the [How to Run a Signer doc](../running-a-signer/README.md).
24
+
15
25
## 1. Configure your Bitcoin node
16
26
17
27
Your Bitcoin node must include these settings for sBTC signer operation:
18
28
29
+
### Settings
30
+
19
31
1. Required Settings:
20
32
21
33
-`txindex=1`: Transaction indexing must be enabled
@@ -113,7 +130,7 @@ Defines the signer's identity and network participation:
113
130
[signer]
114
131
private_key = "your-private-key"# 32 or 33-byte hex format
115
132
network = "mainnet"# Network selection: mainnet, testnet, or regtest
116
-
deployer = "sBTCContractDeployerAddress"# Address that deployed sbtc contracts (this will either be provided as a default value or given directly to signers)
133
+
deployer = "<sBTCContractDeployerAddress>"# Address that deployed sbtc contracts (this will either be provided as a default value or given directly to signers)
117
134
```
118
135
119
136
### P2P Network Configuration
@@ -122,25 +139,21 @@ Controls how the signer communicates with other network participants:
The signer operates on port 4122 by default and supports both TCP and QUIC protocols for peer communication. The signer will attempt QUIC connections first for improved performance, automatically falling back to TCP if QUIC is unavailable or blocked on the network.
145
+
The signer operates on port 4122 by default and supports both TCP and QUIC
146
+
protocols for peer communication. The signer will attempt QUIC connections first
147
+
for improved performance, automatically falling back to TCP if QUIC is
148
+
unavailable or blocked on the network.
129
149
130
-
Complete reference configuration:
150
+
### Reference configuration
131
151
132
152
<details>
133
153
134
154
<summary>signer-config.toml example</summary>
135
155
136
156
```toml
137
-
# DISCLAIMER! READ!
138
-
# This configuration file is an example of how it will likely look in production with some
139
-
# values filled in with example placeholders like `your-private-key` and `your-bitcoin-node`.
140
-
# The real production configuration will rely on some hardcoded values that can only be
141
-
# known after initial seed node deployments. This file is not meant to be used as is, but one will
142
-
# be created to be used later, and this documentation will be updated to reflect those changes.
143
-
144
157
# TODO(715): Provide sane/safe configuration defaults. Re-review all of them!
145
158
# TODO(429): Add documentation for all configuration parameters.
The blocklist client provides address screening services for the signer node. It interfaces with external API services to perform risk analysis on Bitcoin addresses. Default implementation uses Chainalysis, but supports custom implementations.
417
+
The blocklist client provides address screening services for the signer node. It
418
+
interfaces with external API services to perform risk analysis on Bitcoin
419
+
addresses. Default implementation uses Chainalysis, but supports custom
420
+
implementations.
405
421
406
-
Specifically, you'll want to use the [sanctioned addresses API](https://www.chainalysis.com/free-cryptocurrency-sanctions-screening-tools) in the `api_url` field of the `blocklist-client-config.toml` file. You can request an API key on that same page.
422
+
Specifically, you'll want to use the [sanctioned addresses
in the `api_url` field of the `blocklist-client-config.toml` file. You can
425
+
request an API key on that same page.
407
426
408
-
Reference configuration:
427
+
### Reference configuration
409
428
410
429
<details>
411
430
@@ -442,7 +461,9 @@ api_key = "your-api-key"
442
461
443
462
## 4. Set up your containers
444
463
445
-
As we crystalize the Docker configuration, the following section displays an example of what the Docker compose file will look like, so that Signers can peek at how the system will look like.
464
+
As we crystalize the Docker configuration, the following section displays an
465
+
example of what the Docker compose file will look like, so that Signers can peek
466
+
at how the system will look like.
446
467
447
468
Remember, this is not production-ready yet and is only for demonstration purposes at the moment.
0 commit comments