Skip to content

Commit 2bf3853

Browse files
kenrogersgitbook-bot
authored andcommitted
GitBook: No commit message
1 parent 0430c8a commit 2bf3853

20 files changed

+109
-112
lines changed

docs/operate/readme/run-a-bitcoin-node.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
{% stepper %}
44
{% step %}
5-
### Requirements
5+
#### Requirements
66

77
This guide is written for a Unix based system. It's reasonable to expect some modifications will be required for other operating systems.
88

@@ -23,7 +23,7 @@ When started, the Bitcoin node will take several days to reach chain tip.
2323
{% endstep %}
2424

2525
{% step %}
26-
### Add bitcoin user and set file ownership
26+
#### Add bitcoin user and set file ownership
2727

2828
Run the following commands:
2929

@@ -38,7 +38,7 @@ $ sudo chown -R bitcoin:bitcoin /bitcoin /etc/bitcoin/
3838
{% endstep %}
3939

4040
{% step %}
41-
### Bitcoin config
41+
#### Bitcoin config
4242

4343
Below is a sample config used to sync a bitcoin node - feel free to adjust as needed.
4444

@@ -107,7 +107,7 @@ disablewallet=1
107107
{% endstep %}
108108

109109
{% step %}
110-
### Systemd unit file
110+
#### Systemd unit file
111111

112112
Reference: https://github.com/bitcoin/bitcoin/blob/master/contrib/init/bitcoind.service
113113

@@ -198,7 +198,7 @@ WantedBy=multi-user.target
198198
{% endstep %}
199199

200200
{% step %}
201-
### Enable and start the Bitcoin service
201+
#### Enable and start the Bitcoin service
202202

203203
Run:
204204

@@ -212,7 +212,7 @@ $ sudo systemctl start bitcoin.service
212212
{% endstep %}
213213

214214
{% step %}
215-
### Track sync progress
215+
#### Track sync progress
216216

217217
{% hint style="info" %}
218218
Once started, you may track the sync progress:

docs/operate/readme/run-a-node-with-digital-ocean.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,37 @@ Build code is hosted on this [Github repository](https://github.com/stacksfounda
1010

1111
{% stepper %}
1212
{% step %}
13-
### Create the Droplet from the Marketplace
13+
#### Create the Droplet from the Marketplace
1414

1515
Go to the [Stacks Blockchain page](https://marketplace.digitalocean.com/apps/stacks-blockchain) in DigitalOcean's marketplace. Click on `Create Stacks Blockchain Droplet`.
1616
{% endstep %}
1717

1818
{% step %}
19-
### Choose plan and region
19+
#### Choose plan and region
2020

2121
Choose a plan (it will only allow you to select a droplet that meets the minimum requirements) and your preferred datacenter region.
2222
{% endstep %}
2323

2424
{% step %}
25-
### Authentication
25+
#### Authentication
2626

2727
Enter a root password or [enable SSH keys](https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/) if you prefer.
2828
{% endstep %}
2929

3030
{% step %}
31-
### Create the Droplet
31+
#### Create the Droplet
3232

3333
You can leave the rest of the options as they are and click on `Create Droplet`.
3434
{% endstep %}
3535

3636
{% step %}
37-
### Wait for creation
37+
#### Wait for creation
3838

3939
You will need to wait a few seconds for the droplet to get created. Once created click on it to see more information.
4040
{% endstep %}
4141

4242
{% step %}
43-
### Access the Droplet
43+
#### Access the Droplet
4444

4545
Congratulations! You are now running the Stacks Blockchain. You can click on `Console` for a terminal window to open or login using SSH to the public IP you've been assigned to with user `root`.
4646
{% endstep %}

docs/operate/readme/run-a-node-with-docker.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The `<network>` placeholder used below can be replaced with one of:
3333

3434
{% stepper %}
3535
{% step %}
36-
### Clone the repository
36+
#### Clone the repository
3737

3838
Clone the stacks-blockchain-docker repository locally and change into the directory:
3939

@@ -45,7 +45,7 @@ git clone https://github.com/stacks-network/stacks-blockchain-docker && cd stack
4545
{% endstep %}
4646

4747
{% step %}
48-
### Start the services
48+
#### Start the services
4949

5050
Start the docker-compose services for the chosen network:
5151

docs/operate/readme/run-a-node-with-quicknode.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
{% stepper %}
66
{% step %}
7-
### Create a QuickNode account
7+
#### Create a QuickNode account
88

99
Sign up on QuickNode: https://www.quicknode.com/signup
1010
{% endstep %}
1111

1212
{% step %}
13-
### Create an endpoint
13+
#### Create an endpoint
1414

1515
Once signed in, click "Create an endpoint". Select:
1616

@@ -22,13 +22,13 @@ After that you'll have an API endpoint URL you can use to connect to Stacks.
2222
{% endstep %}
2323

2424
{% step %}
25-
### Install the Stacks network package
25+
#### Install the Stacks network package
2626

2727
Install the `@stacks/network` package in your frontend project.
2828
{% endstep %}
2929

3030
{% step %}
31-
### Import the network class
31+
#### Import the network class
3232

3333
In your frontend code, import the network class:
3434

@@ -40,7 +40,7 @@ import { StacksTestnet } from "@stacks/network";
4040
{% endstep %}
4141

4242
{% step %}
43-
### Configure the network with your QuickNode endpoint
43+
#### Configure the network with your QuickNode endpoint
4444

4545
Create the network instance using your QuickNode endpoint URL:
4646

@@ -54,7 +54,7 @@ Replace \<QUICKNODE\_ENDPOINT\_HERE> with the full endpoint URL provided by Quic
5454
{% endstep %}
5555

5656
{% step %}
57-
### Use with @stacks/transactions
57+
#### Use with @stacks/transactions
5858

5959
You can now call transactions and other Stacks RPC methods as you normally would using the `@stacks/transactions` library, passing the `network` instance where required.
6060

docs/operate/readme/run-a-pruned-bitcoin-node.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ What this means is that in practice, a stacks-blockchain node:
3636

3737
{% stepper %}
3838
{% step %}
39-
### Add bitcoin user and set file ownership
39+
#### Add bitcoin user and set file ownership
4040

4141
```shell
4242
$ sudo mkdir -p /bitcoin/mainnet
@@ -47,7 +47,7 @@ $ sudo chown -R bitcoin:bitcoin /bitcoin /etc/bitcoin/
4747
{% endstep %}
4848

4949
{% step %}
50-
### Bitcoin Config
50+
#### Bitcoin Config
5151

5252
Below is a sample config used to sync a pruned bitcoin node - feel free to adjust as needed.
5353

@@ -136,7 +136,7 @@ disablewallet=1
136136
{% endstep %}
137137

138138
{% step %}
139-
### Systemd unit file
139+
#### Systemd unit file
140140

141141
ref: https://github.com/bitcoin/bitcoin/blob/master/contrib/init/bitcoind.service
142142

@@ -223,7 +223,7 @@ WantedBy=multi-user.target
223223
{% endstep %}
224224

225225
{% step %}
226-
### Enable and start the Bitcoin service
226+
#### Enable and start the Bitcoin service
227227

228228
```shell
229229
$ sudo systemctl daemon-reload
@@ -233,7 +233,7 @@ $ sudo systemctl start bitcoin.service
233233
{% endstep %}
234234

235235
{% step %}
236-
### Track sync progress
236+
#### Track sync progress
237237

238238
{% hint style="info" %}
239239
Once started, you may track the sync progress:

docs/operate/run-a-miner/miner-prerequisites.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ Two options here — either are fine but it's recommended to mount the chainstat
2323

2424
{% stepper %}
2525
{% step %}
26-
### Separate disks for chainstate(s) and OS
26+
#### Separate disks for chainstate(s) and OS
2727

2828
* mount a dedicated disk for bitcoin at `/bitcoin` of 1TB
2929
* mount a dedicated disk for stacks-blockchain at `/stacks-blockchain` of at least 100GB
3030
* root volume `/` of at least 25GB
3131
{% endstep %}
3232

3333
{% step %}
34-
### Combined Disk for all data
34+
#### Combined Disk for all data
3535

3636
* root volume `/` of at least 1TB
3737
{% endstep %}

docs/operate/run-a-sbtc-signer/README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# How to Run sBTC Signer
1+
# Run a sBTC Signer
22

33
{% hint style="info" %}
44
This documentation provides guidelines, best-practices and recommendations for running an sBTC Signer. Review it and adapt it to your infrastructure policy before deploying it.
@@ -14,19 +14,19 @@ It is of the utmost importance to follow the recommendations below.
1414

1515
{% stepper %}
1616
{% step %}
17-
### Prevent unauthorized access to signer infrastructure
17+
#### Prevent unauthorized access to signer infrastructure
1818

1919
Prevent unauthorized access to the sBTC Signer infrastructure (the signer itself, its private key, and the associated PostgreSQL database).
2020
{% endstep %}
2121

2222
{% step %}
23-
### Keep an offline, secure backup of the Signer private key
23+
#### Keep an offline, secure backup of the Signer private key
2424

2525
Keep an offline, secure backup of the sBTC Signer private key.
2626
{% endstep %}
2727

2828
{% step %}
29-
### Regularly backup PostgreSQL database
29+
#### Regularly backup PostgreSQL database
3030

3131
Regularly backup the PostgreSQL database and store it in a secure location.
3232
{% endstep %}
@@ -42,11 +42,11 @@ Below are the **minimum required specs** to be able to run a sBTC signer.
4242
* 4GB memory
4343
* 50GB storage
4444

45-
Note that these are in _addition_ to the hardware requirements for running a Stacks node and Bitcoin node outlined in the [How to Run a Signer doc](https://app.gitbook.com/s/4cpTb2lbw0LAOuMHrvhA/run-a-signer).
45+
Note that these are in _addition_ to the hardware requirements for running a Stacks node and Bitcoin node outlined in the [How to Run a Signer doc](../run-a-signer/).
4646

4747
## Connection diagram
4848

49-
<figure><img src="../.gitbook/assets/image (8).png" alt=""><figcaption></figcaption></figure>
49+
<figure><img src="../.gitbook/assets/image%20(8).png" alt=""><figcaption></figcaption></figure>
5050

5151
## Configure your Bitcoin node
5252

@@ -69,19 +69,19 @@ The signer connects to Bitcoin Core via RPC and polls for new bitcoin blocks. Th
6969

7070
{% stepper %}
7171
{% step %}
72-
### Bitcoin Core validates a new block
72+
#### Bitcoin Core validates a new block
7373

7474
Bitcoin Core validates a new block.
7575
{% endstep %}
7676

7777
{% step %}
78-
### Signer detects the block via RPC polling
78+
#### Signer detects the block via RPC polling
7979

8080
Signer detects the block via RPC polling.
8181
{% endstep %}
8282

8383
{% step %}
84-
### Signer processes relevant sBTC transactions
84+
#### Signer processes relevant sBTC transactions
8585

8686
Signer processes relevant sBTC transactions.
8787
{% endstep %}

docs/operate/run-a-sbtc-signer/best-practices-for-running-an-sbtc-signer.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Best Practices for running an sBTC Signer
1+
# Best Practices for Running a sBTC Signer
22

33
The following best practices suggest how to create a resilient setup for running your sBTC Signer.
44

@@ -16,13 +16,13 @@ The following best practices suggest how to create a resilient setup for running
1616

1717
{% stepper %}
1818
{% step %}
19-
### Import the backup
19+
#### Import the backup
2020

2121
Import the backup into a fresh PostgreSQL instance. The database alone is sufficient — you do not need to spin up a Stacks or Bitcoin node or the sBTC signer.
2222
{% endstep %}
2323

2424
{% step %}
25-
### Run the verification query
25+
#### Run the verification query
2626

2727
Execute the following query:
2828

@@ -51,7 +51,7 @@ The most recent `aggregate_key` is the first row.
5151
{% endstep %}
5252

5353
{% step %}
54-
### Compare with the on-chain aggregate key
54+
#### Compare with the on-chain aggregate key
5555

5656
Fetch the current aggregate pubkey from the sbtc-registry contract and compare it to the most recent `aggregate_key` from the DB query:
5757

@@ -118,4 +118,3 @@ You can use Prometheus metrics to monitor signer health. For example, see how Al
118118
* Ensure that multiple, trusted system administrators can manage and maintain your sBTC Signer instance.
119119
* Where feasible, system administrators should span different time zones.
120120
* Document your operations procedures and ensure that relevant personnel have access to them.
121-

0 commit comments

Comments
 (0)