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
This repository contains materials for a [StratumV2 Reference Implementation](https://github.com/stratum-mining/stratum) workshop.
2
3
3
-
# Slides
4
-
Slides leverage [`marp`](https://marp.app/). They are compiled from `md` to `html` via `marp.sh` (which assumes nix flakes are available on your system).
4
+
* For useful materials see the [materials/](https://github.com/stratum-mining/sv2-workshop/blob/main/materials) directory.
5
5
6
-
As an alternative to `marp.sh`, you can just install `marp` on the system and do:
7
-
```
6
+
These instructions cover the setup required for the instructor running the Stratum V2 workshop.
7
+
8
+
1. Configuring and hosting the slides to be accessible by the participants.
9
+
2. Configuring a publicly accessible Genesis node for participants to sync their nodes.
10
+
3. Configuring the block explorer to display participants' mined blocks.
11
+
12
+
## Slides
13
+
14
+
### Config
15
+
The `html/index.html` is built with [`marp`](https://marp.app/) and is based on the
-`signet`? Well, we need the audience to be able to mine blocks.
22
-
-`testnet4`? Well, we want a controlled hashrate environment.
40
+
1. Remote into the SRI VM.
41
+
2. Create a new `tmux` session.
42
+
3.`cd ~/sv2-workshop`.
43
+
4. Make sure the correct `workshop` branch (or branch of your choosing) is checked out.
44
+
5. Run the HTTP server.
23
45
24
-
Therefore, this workshop is based on a custom signet that does not require coinbase signatures. This way, the audience can deploy pools + hashers and emulate a confined hashrate environment.
46
+
> Note: This can be done on any machine, however the slides specifically point the user to the SRI
47
+
VM URL. If you choose to host the slides on another machine, remember to update the slides with the
48
+
update endpoint.
25
49
26
-
The `signet_genesis_node.sh` is responsible for:
27
-
- Deploy a local signet.
28
-
- Mine 16 blocks as bootstrapping for the SRI pool.
50
+
## Custom Signet
51
+
This workshop uses a custom `signet` for the following reasons:
29
52
30
-
In order to use this script, you should first export some environment variables. For example:
31
-
```
53
+
- We want a confined hashrate environment, so `mainnet`, `testnet3`, `testnet4` and the public `signet` are ill suited.
54
+
-`regtest` is too isolated and requires manual block generation, which is not practical for a collaborative workshop setting.
55
+
- We will mine on a custom `signet` that does not require coinbase signatures.
56
+
- This way, we can deploy pools + hashers and emulate a confined hashrate environment.
57
+
58
+
Participants will connect to this Genesis node to sync their blocks.
59
+
60
+
### Genesis Node
61
+
The instructor can use the existing Genesis node hosted on the SRI VM, or spin up their own. The
62
+
Genesis node should be configured via the [materials/signet-genesis-node.sh](https://github.com/stratum-mining/sv2-workshop/blob/main/materials/signet-genesis-node.sh) script which:
63
+
64
+
* Deploys a local signet.
65
+
* Mines 16 blocks as bootstrapping for the SRI pool.
66
+
67
+
Before executing the script, ensure the following environment variables are defined:
Useful configuration files or other materials both the instructor and participants.
3
+
4
+
## Instructor
5
+
*[`block-explorer-bitcoin.conf`](https://github.com/stratum-mining/sv2-workshop/blob/main/materials/block-explorer-bitcoin.conf): `bitcoin.conf` for the node use with the block explorer.
0 commit comments