Skip to content

Commit 4410cce

Browse files
authored
docs: Improve snark market intro (#572)
1 parent c92d213 commit 4410cce

File tree

1 file changed

+32
-5
lines changed

1 file changed

+32
-5
lines changed

documentation/en/experimental-features/Snark-Market.md

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ This guide will walk you through how to:
2828
Before enabling the Snark Market on your node:
2929

3030
* You must be running a Curio node with GPU capabilities.
31-
* You must have a working web UI.
31+
* You must have a working web UI (Your browser can access ports exposed by Curio).
32+
* You need a Lotus node installed and the Filecoin mainnet chain synced.\
33+
Refer to lotus documentation here:\
34+
[https://lotus.filecoin.io/lotus/install/linux/](https://lotus.filecoin.io/lotus/install/linux/)
3235
* You need **YugabyteDB** installed.\
3336
👉 Follow the official setup instructions here:\
3437
[https://docs.curiostorage.org/setup#setup-yugabytedb](https://docs.curiostorage.org/setup#setup-yugabytedb)
@@ -38,13 +41,26 @@ Before enabling the Snark Market on your node:
3841
## ⚙️ System Requirements
3942

4043
* Modern **NVIDIA GPU** (recommended 12GB+ VRAM)
44+
* 70GB base system RAM + ~220 GB Per GPU
45+
* Lower amount is acceptable, but you won't be able to use the much faster SupraSeal C2 feature\
46+
Meaning ~10mins/proof instead of 2.
4147
* Curio from `origin/feat/snkss` branch (Snark Market support)
4248
* FIL balance on Mainnet
4349

4450
***
4551

4652
## 🚀 Setup Instructions
4753

54+
### 0. (Optional/Recommended) Benchmark your system
55+
56+
You can skip most of the complex setup and learn how your hardware performs with lotus-bench
57+
* Follow build instructions from [https://lotus.filecoin.io/storage-providers/operate/benchmarks/](https://lotus.filecoin.io/storage-providers/operate/benchmarks/)
58+
* For faster Supraseal C2 lotus-bench do:\
59+
`RUSTFLAGS="-C target-cpu=native -g" FFI_BUILD_FROM_SOURCE=1 FFI_USE_CUDA_SUPRASEAL=1 make clean deps lotus-bench`
60+
* Download example snark inputs from [https://pub-08ae819c828244bdbe5f615fd8c5e144.r2.dev/c1.json](https://pub-08ae819c828244bdbe5f615fd8c5e144.r2.dev/c1.json) (~51MB)
61+
* Run `./lotus-bench simple commit2 c1.json`, wait a few minutes for results\
62+
On the first run lotus-bench may need to download the SNARK proving parameters
63+
4864
### 1. Install Curio
4965

5066
First, install dependencies (as per the [main install guide](https://docs.curiostorage.org/setup)):
@@ -63,9 +79,18 @@ git submodule update
6379
make clean
6480
RUSTFLAGS="-C target-cpu=native -g" FFI_BUILD_FROM_SOURCE=1 FFI_USE_CUDA_SUPRASEAL=1 make clean build all
6581
sudo make install
66-
sudo systemctl start curio.service
6782
```
6883

84+
Run basic setup.
85+
* If needed set database variables (defaults work with local YugabyteDB install)\
86+
`CURIO_DB_NAME`, `CURIO_DB_USER`, `CURIO_DB_HOST` (can be a comma separated list of tserver IPs, one is also ok), `CURIO_DB_PASSWORD`
87+
* Ensure your lotus-node is running
88+
* Run `curio guided-setup` -> select `Setup non-Storage Provider cluster`
89+
* Create empty snark-provider configuration layer -> `echo | curio config create --title snark-provider`
90+
91+
After all is done, [setup, enable and start the curio service](https://docs.curiostorage.org/curio-service#service-file-for-curio)
92+
* For `CURIO_LAYERS` use `gui,snark-provider`
93+
6994
***
7095

7196
## 🛠️ Step-by-step Setup
@@ -74,9 +99,9 @@ sudo systemctl start curio.service
7499

75100
Ensure you're **not running on a WindowPoSt node**. This is only supported on GPU-based PoRep or Snap nodes. In the Web UI:
76101

77-
1. Go to `Overview``Configuration`
102+
1. Go to `Overview``Configuration`, select the `snark-provider` if created previously
78103
2. Find the **Subsystems** section
79-
3. Enable `proof_share` or `Enable Snark Market`
104+
3. Set `EnableProofShare` to true
80105
4. Save and restart the node
81106

82107
<figure><img src="https://github.com/user-attachments/assets/1c36e939-de4e-45ad-ba18-ce55e188c61c" alt="Enable PROOFSHARE toggle in configuration"><figcaption><p>Enable <code>PROOFSHARE</code> from the configuration layer</p></figcaption></figure>
@@ -89,6 +114,7 @@ Navigate to `Snark Market` in the sidebar. Under **Provider Settings**:
89114

90115
* Enable the settings checkbox
91116
* **Create a new `f1` wallet** (do _not_ reuse existing wallet)\
117+
Use `lotus wallet new secp256k1` in the CLI\
92118
⚠️ _Please note: This wallet can be changed later, but it is tricky_
93119
* Set **Price (FIL/p)** to `0.005` (recommended for testing)
94120
* Single proof (`p`) should take roughly two minutes to compute, your price should be calculated based on how many proofs per hour per GPU you expect to compute and your cost to run the GPU. The snark marketplace automatically adjusts the market price to match supply to demand.
@@ -108,6 +134,7 @@ Once you've configured the provider settings:
108134
* SNARK Queue
109135
* Payment Summaries
110136
* Recent Settlements
137+
* You can also view the [global public dashboard](https://mainnet.snass.fsp.sh/ui/)
111138

112139
<figure><img src="https://github.com/user-attachments/assets/c8636728-4b2e-4b69-b3b3-445c735bca8d" alt="Snark Market Dashboard"><figcaption><p>Overview showing queue, asks, settlements, and active proofs</p></figcaption></figure>
113140

@@ -124,7 +151,7 @@ Once you've configured the provider settings:
124151
## 📈 Pricing & Payments
125152

126153
* Price is set per \~130M proof constraints (default granularity)
127-
* Suggested testing price: `0.005 FIL`
154+
* Suggested starting point price: `0.005 FIL`
128155
* Settlements occur automatically when network gas fee to settle is less than 0.2% of the balance to settle
129156

130157
***

0 commit comments

Comments
 (0)