Skip to content

Commit b51a591

Browse files
authored
Add Starknet category and Solo Staking guide to documentation (#494)
* Add Starknet category and Solo Staking guide to documentation * Update starknet/solo.md * Update solo.md * Update solo.md * Update solo.md * Update solo.md
1 parent 50b0219 commit b51a591

File tree

2 files changed

+130
-0
lines changed

2 files changed

+130
-0
lines changed

docs/user/staking/starknet/solo.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# 🚀 Starknet Validator Solo Staking Guide
2+
3+
**Starknet** is a Layer 2 network built on Ethereum, designed for scalability and performance using STARK proofs.
4+
This guide will walk you through the **complete process of becoming a Starknet validator and Solo Staker**, from wallet setup to running your attestation client and validator on DAppNode.
5+
6+
We’ll use **[Ready Wallet](https://www.ready.co/)** and Starknet's block explorer interfaces for all on-chain interactions.
7+
8+
---
9+
10+
## 🛠 Prerequisites
11+
12+
[Ready Wallet](https://www.ready.co/) installed
13+
✅ Access to a synced Starknet full node (Juno or Pathfinder)
14+
✅ Minimum STRK balance:
15+
16+
- **Sepolia:** 1 STRK
17+
- **Mainnet:** 20,000 STRK
18+
19+
---
20+
21+
## 1️⃣ Create Accounts
22+
23+
We’ll use **three Starknet accounts** in Ready:
24+
25+
- **staker** → Holds your stake
26+
- **operator** → Runs the validator
27+
- **rewards** → Receives rewards
28+
29+
👉 Create them directly in Ready Wallet as _Standard Account_
30+
31+
![Ready wallet create account](https://github.com/dappnode/DAppNodePackage-starknetstaking-generic/raw/main/images/argent-create-account.png)
32+
33+
---
34+
35+
## 2️⃣ Fund and Deploy the Accounts
36+
37+
- Fund your **staker** and **operator** accounts with the required STRK amount.
38+
39+
> Remember to add more than the minimum staking amount to cover gas fees.
40+
> On Sepolia, you can use the [Starknet Faucet](https://starknet-faucet.vercel.app).
41+
42+
- Deploy your **accounts** in Ready Wallet following these steps:
43+
![account deploy](https://i.imgur.com/LzwWHl0.gif)
44+
45+
---
46+
47+
## 3️⃣ Export your operator address private key
48+
49+
The _starknetstaking_ package needs your **operator** address private key to make the _attestations_.
50+
You can obtain it from _Ready Wallet_ following these steps:
51+
![export PK](https://github.com/dappnode/DAppNodePackage-starknetstaking-generic/raw/main/images/export-pk.gif)
52+
53+
---
54+
55+
## 4️⃣ Approve spending
56+
57+
1. Go to the block explorer STRK token contract [STRK (Sepolia)](https://sepolia.voyager.online/contract/0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d#writeContract) or [STRK (Mainnet)](https://voyager.online/contract/0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d#writeContract)
58+
2. Connect your **staker** Ready Wallet.
59+
3. In the implementation section, scroll down to the `approve` function (#19 on Sepolia #22 in Mainnet)
60+
4. Click and fill in the data:
61+
- **spender** → Starknet Staking Contract [Starknet Addresses](https://docs.starknet.io/resources/chain-info/#staking)
62+
- **amount** → Amount in FRI (1 STRK = `1000000000000000000`)
63+
5. Click the **Transact** button.
64+
65+
![Voyager approve](https://github.com/dappnode/DAppNodePackage-starknetstaking-generic/raw/main/images/voyager-approve.png)
66+
67+
---
68+
69+
## 5️⃣ Stake STRK
70+
71+
1. Open the [Staking Contract on Voyager (Sepolia)](https://sepolia.voyager.online/contract/0x03745ab04a431fc02871a139be6b93d9260b0ff3e779ad9c8b377183b23109f1#writeContract) or the [Staking Contract on Voyager (Mainnet)](https://voyager.online/contract/0x00ca1702e64c81d9a07b86bd2c540188d92a2c73cf5cc0e508d949015e7e84a7#writeContract).
72+
2. Connect your **staker** Ready Wallet.
73+
3. In the implementation section, scroll down to the `stake` function (#1)
74+
4. Click and fill in the calldata:
75+
- **rewards_address** → Your rewards account
76+
- **operational_address** → Your operator account
77+
- **amount** → Amount in FRI (1 STRK = `1000000000000000000`)
78+
5. Click the **Transact** button.
79+
80+
📌 **Staking contract addresses:** [Starknet Docs – Staking](https://docs.starknet.io/resources/chain-info/#staking)
81+
82+
![Voyager write contract stake](https://github.com/dappnode/DAppNodePackage-starknetstaking-generic/raw/main/images/voyager-stake.png)
83+
84+
---
85+
86+
## 6️⃣ Install the Starknet Staking Package on Dappnode
87+
88+
Now that you’ve staked, you need to set up the validator client on your DAppNode.
89+
90+
1. Open your Dappnode UI.
91+
2. Go to the **DAppStore** and search for `starknetstaking`.
92+
3. Click **Install**.
93+
94+
During the installation process, you will need to enter the following information:
95+
96+
- `Operational Address` → The address for the `operator` Account you created via Ready Wallet in step #1
97+
- `Private Key` → The private key from your operator account (exported from Ready Wallet in step #3)
98+
99+
![Dappnode](https://github.com/dappnode/DAppNodePackage-starknetstaking-generic/raw/main/images/dappnode-package.png)
100+
101+
The attestation process will start automatically, and your validator will be live. You can check rewards and more info via the `staker_info_v1` contract in Voyager [Mainnet](https://voyager.online/contract/0x00ca1702e64c81d9a07b86bd2c540188d92a2c73cf5cc0e508d949015e7e84a7#readContract) or [Sepolia](https://sepolia.voyager.online/contract/0x03745Ab04a431fc02871A139be6B93D9260b0Ff3E779AD9c8B377183B23109F1#readContract)
102+
103+
---
104+
105+
## 🧠 Notes & Tips
106+
107+
- You can **claim rewards** or **increase stake** later from the same Voyager contract UI.
108+
- Make sure your validator client runs **24/7** to avoid penalties.
109+
- Always test your setup on Sepolia before moving to mainnet.
110+
111+
---
112+
113+
**References:**
114+
115+
- [Ready Wallet](https://www.ready.co/)
116+
- [Voyager StarkNet Explorer](https://voyager.online/)
117+
- [Starkscan Starknet Explorer](https://starkscan.co/)
118+
- [Starknet Staking Docs](https://docs.starknet.io/architecture/staking/)
119+
- [Juno Full Node](https://github.com/NethermindEth/juno)

sidebars.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,17 @@ const sidebars = {
264264
},
265265
],
266266
},
267+
{
268+
type: "category",
269+
label: "Starknet",
270+
items: [
271+
{
272+
type: "doc",
273+
label: "Starknet Solo Staking",
274+
id: "user/staking/starknet/solo",
275+
},
276+
],
277+
},
267278
],
268279
},
269280
{

0 commit comments

Comments
 (0)