Skip to content

Commit 5bc554e

Browse files
authored
Merge pull request #728 from ethersphere/staking-page-improvement
Staking page improvement
2 parents e9ba294 + 1318237 commit 5bc554e

File tree

1 file changed

+49
-50
lines changed

1 file changed

+49
-50
lines changed

docs/bee/working-with-bee/staking.md

Lines changed: 49 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ id: staking
55

66
## Quickstart Guide
77

8-
This guide will walk you through **staking xBZZ** and participating in the **redistribution game** to earn storage incentives.
8+
This guide will walk you through **staking xBZZ** and participating in the **redistribution game** to earn storage incentives.
9+
10+
:::warning
11+
Staking requires a fully synced full node and a minimum of 10 xBZZ. See detailed [staking requirements](/docs/bee/working-with-bee/staking#requirements) below.
12+
:::
913

1014
### Step 1: Fund Your Node with xDAI
1115

@@ -16,7 +20,7 @@ Run this command to check how much is required:
1620
```bash
1721
curl localhost:1633/redistributionstate | jq
1822
```
19-
Look at the `"minimumGasFunds"` field in the response.
23+
Check the `"minimumGasFunds"` field in the response.
2024

2125
:::tip
2226
**Recommended:** Deposit at least **0.5 xDAI** to cover fees for the next few weeks/months of active staking.
@@ -43,42 +47,9 @@ curl localhost:1633/stake
4347
**Optional:** Stake **20 xBZZ** if using the [reserve doubling](#reserve-doubling) feature.
4448
:::
4549

46-
### Step 3: Sync Your Node & Check Status
47-
48-
In addition to meeting the 10 xBZZ minimum stake requirements, your node must be ***fully synced*** and ***funded with xDAI*** to participate in staking. Check your node's status with `GET /redistributionstate`:
49-
50-
```bash
51-
curl -X GET http://localhost:1633/redistributionstate | jq
52-
```
53-
54-
Example output:
55-
56-
```bash
57-
{
58-
"minimumGasFunds": "11080889201250000",
59-
"hasSufficientFunds": true,
60-
"isFrozen": false,
61-
"isFullySynced": true,
62-
"phase": "claim",
63-
"round": 212859,
64-
"lastWonRound": 207391,
65-
"lastPlayedRound": 210941,
66-
"lastFrozenRound": 210942,
67-
"lastSelectedRound": 212553,
68-
"lastSampleDuration": 491687776653,
69-
"block": 32354719,
70-
"reward": "1804537795127017472",
71-
"fees": "592679945236926714",
72-
"isHealthy": true
73-
}
74-
```
75-
76-
**Expected values for a healthy staking node:**
77-
78-
- `"isFullySynced": true`
79-
- `"hasSufficientFunds": true`
80-
- `"isFrozen": false`
50+
### Step 3: Check Status
8151

52+
After staking you should [check your node's status](/docs/bee/working-with-bee/staking#check-status) to make sure it is fully synced, fully funded, and operating properly.
8253

8354
### Step 4: Monitor & Maximize Rewards
8455

@@ -104,14 +75,13 @@ To earn storage incentives by participating in the [redistribution game](/docs/c
10475
Only stake your xBZZ if you intend to participate as a full node, as withdrawals are not possible.
10576
:::
10677

107-
In order to participate in the redistribution game for a chance to earn xBZZ, full nodes need to do the following:
78+
### Requirements
10879

109-
- Fully sync all chunks they are responsible for and maintain a healthy connection with their peers in order to get all the newest uploaded chunks
110-
- Maintain a [high-performance RPC endpoint](/docs/bee/working-with-bee/configuration#setting-blockchain-rpc-endpoint) connection to Gnosis Chain to sync blockchain data and issue all redistribution game-related transactions on-chain.
111-
- Deposit stake with the staking contract. The current minimum staking requirement is 10 xBZZ (the requirement is increased if [reserve doubling](/docs/bee/working-with-bee/staking#reserve-doubling) is used).
112-
- Have the disk space to store all the chunks they are responsible for storing and sufficient CPU / RAM (you can benchmark your node with the [`/rchash` endpoint](/docs/bee/working-with-bee/bee-api#rchash)) to generate a hash of a sampling of those chunks fast enough to participate in the redistribution game.
80+
- A [full node](/docs/bee/working-with-bee/node-types) - see full node [recommend specs](/docs/bee/working-with-bee/node-types#recommended-specifications).
81+
- A [high-performance RPC endpoint](/docs/bee/working-with-bee/configuration#setting-blockchain-rpc-endpoint) connection to Gnosis Chain.
82+
- A minimum of 10 xBZZ to be used as ***non-refundable*** stake (the requirement is increased if [reserve doubling](/docs/bee/working-with-bee/staking#reserve-doubling) is used).
11383

114-
## Add xDAI
84+
### Add xDAI
11585

11686
Before staking, a node must first be funded with a small amount of xDAI to pay for Gnosis Chain transaction fees.
11787

@@ -144,11 +114,13 @@ root@user-bee:~# curl localhost:1633/redistributionstate | jq
144114
}
145115
```
146116

147-
The `"3750000030000000"` value listed for `"minimumGasFunds"` is the minimum required amount of xDAI denominated in Wei ($1 \text{xDAI} = 10^{18} \text{ Wei}$) required for staking. That is equivalent to 0.00375000003 xDAI. However, it's recommended to add more than just the minimum amount, since it will quickly be used up by storage incentives related transaction fees. As little as 0.5 xDAI should last for weeks or even months, as the average incentive-related transaction fee can be as low as 0.001 xDAI or less.
117+
The `"3750000030000000"` value listed for `"minimumGasFunds"` is the minimum required amount of xDAI denominated in Wei ($1 \text{xDAI} = 10^{18} \text{ Wei}$) required for staking. That is equivalent to 0.00375 xDAI. However, it's recommended to add more than just the minimum amount, since it will quickly be used up by storage incentives related transaction fees. As little as 0.5 xDAI should last for weeks or even months, as the average incentive-related transaction fee can be as low as 0.001 xDAI or less.
148118

119+
### Add xBZZ
149120

121+
Your node must be funded with a minimum of 10 xBZZ before performing the staking transaction. An additional 10 xBZZ is required if the [reserve doubling](/docs/bee/working-with-bee/staking#reserve-doubling) feature is used. If you don't already have xBZZ, you will need [get some](/docs/bee/installation/fund-your-node#how-to-get-xbzz) and transfer it to your [node's wallet](/docs/bee/installation/fund-your-node#funding-your-wallet).
150122

151-
## Add stake
123+
### Deposit stake
152124

153125
Once your node has xDAI to pay for transaction fees, you can use the `POST /stake` endpoint to add the initial required minimum 10 xBZZ stake. The amount is denominated in [PLUR](/docs/references/glossary#plur), the smallest denomination of xBZZ:
154126

@@ -170,7 +142,7 @@ curl localhost:1633/stake
170142
{"stakedAmount":"100000000000000000"}
171143
```
172144

173-
## Check redistribution status
145+
### Check Status
174146

175147
Use the <a href="/api/#tag/RedistributionState" target="_blank" rel="noopener noreferrer">`/redistributionstate`</a> endpoint of the API to get more information about the redistribution status of the node.
176148

@@ -212,6 +184,32 @@ curl -X GET http://localhost:1633/redistributionstate | jq
212184
Do not shut down or update your node during an active redistribution round as it may cause them to lose out on winnings or become frozen. To see if your node is playing the current round, check if `lastPlayedRound` equals `round` in the output from the [`/redistributionstate` endpoint](/api/#tag/RedistributionState/paths/~1redistributionstate/get).
213185
:::
214186

187+
You should also check the [`/status`](/api/#tag/Node-Status/paths/~1status/get) endpoint:
188+
189+
```bash
190+
curl -s http://localhost:1633/status | jq
191+
```
192+
193+
```bash
194+
{
195+
"peer": "da7e5cc3ed9a46b6e7491d3bf738535d98112641380cbed2e9ddfe4cf4fc01c4",
196+
"proximity": 0,
197+
"beeMode": "full",
198+
"reserveSize": 3747532,
199+
"pullsyncRate": 0,
200+
"storageRadius": 10,
201+
"connectedPeers": 183,
202+
"neighborhoodSize": 12,
203+
"batchCommitment": 133828050944,
204+
"isReachable": true
205+
}
206+
```
207+
**Expected values for a healthy staking node:**
208+
209+
* `"beeMode": full`
210+
* `"pullsyncRate": 0`
211+
* `"isReachable": true`
212+
215213
:::info
216214
If your node is not operating properly such as getting frozen or not participating in any rounds, see the [troubleshooting section](#troubleshooting).
217215
:::
@@ -252,7 +250,11 @@ Although reserve doubling demands twice the disk storage and increases bandwidth
252250

253251
In order to double a node's reserve which has previously been operating without doubling, the `reserve-capacity-doubling` option must be updated from the default of `0` to `1` and restarted. There is also an increase in the xBZZ stake requirement from the minimum of 10 xBZZ to 20 xBZZ.
254252

255-
#### **Step 1**: Stake at least 20 xBZZ
253+
#### **Step 1**: Set `reserve-capacity-doubling` to `1`.
254+
255+
The reserve doubling feature can be enabled by setting the new `reserve-capacity-doubling` config option to `1` using the [configuration method](/docs/bee/working-with-bee/configuration#configuration-methods-and-priority) of your choice.
256+
257+
#### **Step 2**: Stake at least 20 xBZZ
256258

257259
For doubling the reserve of a node which was previously operating which already has 10 xBZZ staked, simply stake an additional 10 xBZZ for a total of 20 xBZZ stake:
258260

@@ -281,9 +283,6 @@ curl -s http://localhost:1633/stake | jq
281283
"stakedAmount": "200000000000000000"
282284
}
283285
```
284-
#### **Step 2**: Set `reserve-capacity-doubling` to `1`.
285-
286-
The reserve doubling feature can be enabled by setting the new `reserve-capacity-doubling` config option to `1` using the [configuration method](/docs/bee/working-with-bee/configuration#configuration-methods-and-priority) of your choice.
287286

288287
#### **Step 3**: Restart node
289288

0 commit comments

Comments
 (0)