Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -255,11 +255,11 @@ To invoke onchain contracts, use xref:tools:core-tools.adoc#starknet_foundry[Sta

| Staking
| Invoke the staking contract's https://github.com/starkware-libs/starknet-staking/blob/main/docs/spec.md#stake[`stake`^] function
a| * You should make sure you are xref:responsibilities[running a full node (on Mainnet) and attesting to blocks (on Sepolia)] before staking
a| * You should make sure you are xref:responsibilities[running a full node and attesting to blocks] before staking
* You must first approve the transfer of the amount of STRK tokens to be staked to the staking contract by invoking the STRK contract's `approve` function
* `operational_address` should have sufficient funds to pay for attestation transactions
* `amount` should be equal or greater than the xref:protocol[minimum stake for validators] and denominated in FRI (i.e., 1*10^18^ = 1 STRK)
* `commission` should be entered as a percentage with precision, where 10000 represents 100% (e.g., to set a 5% commission, you enter 500)
* `commission` should be entered as a percentage with precision, where 10,000 represents 100% (e.g., to set a 5% commission, you enter 500)

| Claiming rewards
| Invoke the staking contract's https://github.com/starkware-libs/starknet-staking/blob/main/docs/spec.md#claim_rewards[`claim_rewards`^] function
Expand All @@ -272,7 +272,7 @@ a| * `amount` should be denominated in FRI (i.e., 1*10^18^ = 1 STRK)

| Updating commission
| Invoke the staking contract's https://github.com/starkware-libs/starknet-staking/blob/main/docs/spec.md#update_commission[`update_commission`^] function
a| * `commission` should be entered as a percentage with precision, where 10000 represents 100% (e.g., to set a 5% commission, you enter 500)
a| * `commission` should be entered as a percentage with precision, where 10,000 represents 100% (e.g., to set a 5% commission, you enter 500)
* Commissions can be increased only after xref:commissions[committing to a maximum commission] using https://github.com/starkware-libs/starknet-staking/blob/main/docs/spec.md#set_commission_commitment[`set_commission_commitment`^]

| Changing reward address
Expand All @@ -281,7 +281,7 @@ a| * `commission` should be entered as a percentage with precision, where 10000

| Changing operational address
| Invoke the staking contract's https://github.com/starkware-libs/starknet-staking/blob/main/docs/spec.md#declare_operational_address[`declare_operational_address`^] and https://github.com/starkware-libs/starknet-staking/blob/main/docs/spec.md#change_operational_address[`change_operational_address`^] functions
|
| `declare_operational_address` should be invoked by your new operational address and `change_operational_address` should be invoked by your staking address

| Opening delegation
| Invoke the staking contract's https://github.com/starkware-libs/starknet-staking/blob/main/docs/spec.md#set_open_for_delegation[`set_open_for_delegation`^] function
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@ By now you're successfully running your own Pathfinder full node on Sepolia test

* Learn more about https://eqlabs.github.io/pathfinder/[the Pathfinder full node^]

* Join the https://t.me/+CLZl_F_Nj2RlNjU0[Starknet-Staking Telegram group] (if you haven't already)

Good luck and welcome aboard! Your participation helps strengthen and safeguard Starknet's future 🛡️
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,18 @@ Welcome to the official guide for becoming Starknet validator! ✅

While Starknet is currently still centralized, it is gradually moving towards employing a staking protocol, handing over the responsibilities of producing, attesting, and proving blocks to validators.

[TIP]
====
To learn more about Starknet's staking protocol, see xref:architecture-and-concepts:staking.adoc[_Protocol_].
====

This guide will walk you though all the steps necessary to for becoming a Starknet validator, including:

* xref:staking-on-starknet/prerequisite.adoc[]
* xref:staking-on-starknet/stake.adoc[]
* xref:staking-on-starknet/pathfinder.adoc[]
* xref:staking-on-starknet/next-steps.adoc[]

Ready? Let's go! 🏁
Ready? Let's go! 🏁

[IMPORTANT]
====
Although this guide assumes no prior knowledge, it is highly recommended to go over xref:architecture-and-concepts:staking.adoc[the specifications of Starknet's staking protocol] before following it.

For any questions or inquiries, reach out to us on https://t.me/+CLZl_F_Nj2RlNjU0[Telegram^].
====
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
= Running your Starknet full node

[IMPORTANT]
====
For any questions or inquiries, reach out to us on https://t.me/+CLZl_F_Nj2RlNjU0[Telegram^].
====

== Overview

Welcome to the third installment of the _Becoming a Starknet validator_ guide! ✅
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
= Setting up your environment

[IMPORTANT]
====
For any questions or inquiries, reach out to us on https://t.me/+CLZl_F_Nj2RlNjU0[Telegram^].
====

== Overview

Welcome to the first installment of the _Becoming a Starknet validator_ guide! ✅
Expand All @@ -23,6 +28,11 @@ export ETHEREUM_URL=<YOUR_URL>

Becoming a Starknet validator requires three accounts deployed on either Sepolia or Mainnet. To follow this guide, these account should be configured as follows:

[NOTE]
====
To understand the role of the each account, read more about xref:architecture-and-concepts:staking.adoc#addresses[validator addresses in the staking protocol].
====

* An account with its address exported using:
+
[source,terminal]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
= Staking your STRK tokens

[IMPORTANT]
====
For any questions or inquiries, reach out to us on https://t.me/+CLZl_F_Nj2RlNjU0[Telegram^].
====

== Overview

Welcome to the second installment of the _Becoming a Starknet validator_ guide! ✅
Expand All @@ -9,14 +14,21 @@ To become a validator, you must stake least the minimum required amount of STRK

== Approving STRK transfer

To lock STRK token into the Staking contract, you first need to approve the transfer of STRK tokens from your staking address to the Staking contract. To do so, use your staking address to invoke the STRK token contract's `approve` function with the following parameters:
To lock STRK token into the Staking contract, you first need to approve the transfer of STRK tokens from your staking address to the Staking contract.

[NOTE]
====
To understand the role of the staking address, read more about xref:architecture-and-concepts:staking.adoc#addresses[validator addresses in the staking protocol].
====

To do so, use your staking address to invoke the STRK token contract's `approve` function with the following parameters:

. The Staking contract's address
. The number of STRK tokens to stake
+

[NOTE]
====
This number needs to be greater than or equal to the minimum stake for validators.
The number of STRK tokens to stake must be greater than or equal to xref:architecture-and-concepts:staking.adoc#protocol[the minimum stake for validators].
====

For example, the following can be used to approve the transfer of 1 STRK to the Staking contract on Sepolia:
Expand All @@ -39,14 +51,15 @@ Once the transfer is approved, you can lock your STRK tokens into the Staking co
. The address to set as your rewards address
. The address to set as your operational address
. The number of STRK tokens to stake
+
. `true` to enable delegation pooling and `false` otherwise
. The commission rate to set for your delegation pool (if enabled), as a percentage with precision where 10,000 represents 100%

[NOTE]
====
This number must match the number specified in the `approve` function.
====
To understand the role of the rewards and operational addresses, read more about xref:architecture-and-concepts:staking.adoc#addresses[validator addresses in the staking protocol].

. `true` to enable delegation pooling and `false` otherwise
. The commission rate to set for your delegation pool (if enabled), as a percentage with precision where 10,000 represents 100%
The number of STRK tokens to stake must match the number specified in the `approve` function.
====

For example, the following can be used to stake 1 STRK with delegation pooling enabled and 1% commission on Sepolia:

Expand Down