Supplier Actor
Overviewβ
A Supplier
is responsible for staking POKT in order to earn POKT in exchange for
providing services as a function of volume and time.
Schemaβ
The on-chain representation of a Supplier
can be found at supplier.proto.
Configurationβ
Configurations to stake an Supplier
can be found at supplier_staking_config.md.
Modulesβ
The Supplier
actor depends on both the supplier
and proof
on-chain modules.
These two modules' concerns are separated as follows:
Supplier Moduleβ
- Supplier (un/)staking
- Supplier querying
Proof Moduleβ
- Claim creation & querying
- Proof submission & querying
CLIβ
All of the read (i.e. query) based operations for the Supplier
actor can be
viewed by running the following:
poktrolld query supplier
or
poktrolld query proof
All of the write (i.e. tx) based operations for the Supplier
actor can be
viewed by running the following:
poktrolld tx supplier
or
poktrolld tx proof
Supplier lifecycleβ
The lifecycle of a Supplier
in the network involves several phases, each
with specific actions and status changes. Hereβs a detailed breakdown:
1. Staking Initiationβ
- The
Supplier
sends aMsgStakeSupplier
message to the network, initiating the staking process. - The
Supplier
remains inactive until the beginning of the next session.
2. Activationβ
- The
Supplier
becomes active at the start of the new session and can now provide services to the network.
3. Unsaking Initiationβ
- The
Supplier
sends aMsgUnstakeSupplier
message to the network to start the unstaking process. - The
Supplier
continues to be active until the end of the current session.
4. Unbonding Phaseβ
- In the following session, the
Supplier
enters the unbonding phase, becoming inactive and no longer participating in sessions or providing services. - During this phase, the staked funds are locked, and any pending claims are settled.
5. Completion of Unbondingβ
- After the unbonding period ends, the staked funds are transferred back to the
Supplier
's account, and theSupplier
's record is removed from the network.
Timeline of Eventsβ
Hereβs a visual representation of the Supplier
lifecycle from staking to unbonding
with the following example parameters:
- Unbonding Period: 3 sessions
- Number of Blocks per Session: 10 blocks
- Session End Height to Proof Window Close Height: 15 blocks