Skip to main content

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 a MsgStakeSupplier 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 a MsgUnstakeSupplier 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 the Supplier'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