Skip to content

Commit

Permalink
GITBOOK-55: Add checklist
Browse files Browse the repository at this point in the history
  • Loading branch information
kenrogers authored and gitbook-bot committed Mar 19, 2024
1 parent 3f2b5b6 commit f2eaa17
Showing 1 changed file with 77 additions and 4 deletions.
81 changes: 77 additions & 4 deletions nakamoto-upgrade/running-a-signer.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This document intends to lay out all the steps required to run a signer on testn

### Background and High-Level Process

In order to run a signer, you'll need to run a signer and a Stacks node side-by-side. The signer will monitor for events coming from the stacks node and is in charge of using the generated account (next section) to sign incoming Stacks blocks sent from the Stcks node.
In order to run a signer, you'll need to run a signer and a Stacks node side-by-side. Specifically, you'll want to run a testnet follower node. Instructions for doing this are listed below in the "Running Your Stacks Node" section. The signer will monitor for events coming from the stacks node and is in charge of using the generated account (next section) to sign incoming Stacks blocks sent from the Stcks node.

This doc will provide instructions on how to set up both using either Docker or as a binary building from source. It will also walk through how to set up the config files to get the signer and Stacks node communicating correctly.

Expand All @@ -22,6 +22,81 @@ This doc will provide instructions on how to set up both using either Docker or
* Basic knowledge of [Stacks accounts](../stacks-101/accounts.md)
* Basic knowledge of [stacking](../stacks-101/stacking.md) and the [Nakamoto stacking flow](stacking-flow.md)

<details>

<summary>Signer Checklist</summary>



Detailed steps for each of these are laid out below, but this checklist is being included as a way to quickly reference if you have taken all the appropriate actions to run a signer.

### Pre-Launch Setup

* [ ] Ensure your system meets the following requirements:
* 4 vCPU
* 8GB memory
* 150 GB storage (250 GB if running a Stacks node)
* [ ] Acquire Docker and basic knowledge of Stacks accounts, stacking, and the Nakamoto stacking flow (links provided below).

### Preflight Setup

* [ ] Generate a new private key on testnet using stacks-cli.
* [ ] Save the generated account information securely.

### Configuration Setup

* [ ] Create a `signer-config.toml` file with necessary configurations:
* node\_host
* endpoint
* network
* db\_path
* auth\_password
* stacks\_private\_key
* [ ] Store `signer-config.toml` securely and note down the values used.

### Running the Signer

* [ ] Decide whether to run the signer using Docker (recommended) or as a binary.
* [ ] If using Docker:
* [ ] Ensure the Docker image tag `next` is used.
* [ ] Set up the necessary ports and volumes.
* [ ] Run the Docker container with the appropriate settings.
* [ ] If running as a binary:
* [ ] Build `stacks-core` from source or download the pre-built binary.
* [ ] Run the signer using the command: `stacks-signer run --config <path_to_config>`.

### Verify Signer Operation

* [ ] Check that the signer is listening on its configured endpoint.
* [ ] Confirm that there are no errors and the system is ready for connections.

### Setting Up the Stacks Node

* [ ] Create a `node-config.toml` with the necessary settings:
* block\_proposal\_token
* events\_observer.endpoint (matching the signer configuration)
* [ ] Decide whether to run the Stacks node using Docker or as a binary.
* [ ] If using Docker:
* [ ] Set up the Docker container with the correct ports and volumes.
* [ ] Run the Stacks node Docker container.
* [ ] If running as a binary:
* [ ] Download the appropriate binary.
* [ ] Run it with the command: `./stacks-node start --config <path_to_config>`.

### Verify Stacks Node Operation

* [ ] Check the Stacks node logs for successful connection to the signer.
* [ ] Confirm that the node is syncing Bitcoin headers properly.

### Setup Stacks Accounts

* [ ] Set up a “pool operator” wallet in a Stacks wallet (e.g., Leather or Xverse).
* [ ] Fund the pool operator wallet with STX (testnet) sufficient for transaction fees.
* [ ] Share the pool operator wallet’s STX address with delegating parties.
* [ ] Fund your signer's STX wallet with enough STX to cover transaction fees (recommend at least 100-200 STX).

</details>

### Preflight Setup

Before you get your signer set up, you'll need to [generate a new private key on testnet](https://docs.stacks.co/stacks-101/accounts#creation). The `stacks-cli` provides a mechanism for quickly generating a new account keychain via a simple CLI interface. The linked guide will show you how to create one of those accounts on testnet.
Expand Down Expand Up @@ -239,6 +314,4 @@ Before the Nakamoto transition, signers need a small amount of STX to cover tran
In a previous step, where you generated a keychain, an address field was included in the output. This is your signer wallet’s STX address. You can also choose to use the mnemonic to access the wallet with [Leather](https://leather.io) or [Xverse](https://www.xverse.app).
Transfer funds (or use the faucet) into the signer’s wallet address. We recommend at least 10-20 STX to cover transaction fees.
\
Transfer funds (or use the faucet) into the signer’s wallet address. We recommend at least 100-200 STX to cover transaction fees.\

0 comments on commit f2eaa17

Please sign in to comment.