CLI
Development Kit for building with Solayer
The Solayer command-line interface allows you to interact directly with Solayer’s core functionalities, including restaking and managing endogenous Actively Validated Services (AVS). Whether you’re a developer integrating Solayer into your project or an advanced user managing your stake, this CLI provides the tools you need.
Installation
Clone the repository
git clone git@github.com:solayer-labs/solayer-cli.git
Navigate to the project directory
cd solayer-cli
Install the dependencies
yarn install
Restaking
The restaking feature is at the heart of Solayer, allowing you to manage your stake efficiently. Here’s how to use it:
Basic Usage
To start the restaking CLI tool, use:
yarn restaking
This command will guide you through the process interactively.
Partner Restake
To restake native SOL through the partner API endpoint:
yarn restaking --action=partnerRestake --amount=<amount> --referrer=<referrer>
<amount>
: The amount of native SOL to restake<referrer>
: Your partner wallet address for tracking referral stakes
Example:
yarn restaking --action=partnerRestake --amount=10 --referrer=ABcDefG123456789
Unrestake SOL
To withdraw restaked native SOL:
yarn restaking --action=unrestake --amount=<amount>
<amount>
: Amount of SOL to unrestake
Example:
yarn restaking --action=unrestake --amount=5
Endogenous AVS
The endoAVS program allows you to create and manage endogenous Actively Validated Service instances.
Basic Usage
To start the endoAVS CLI tool, use:
yarn endoavs
This command will guide you through the available actions interactively.
Create EndoAVS
To create a new endogenous AVS:
yarn endoavs --action=create --avsName=<avsName> --avsTokenMintKeyPairPath=<avsTokenMintKeyPairPath>
<avsName>
: Name of the new AVS<avsTokenMintKeyPairPath>
: Path to the keypair file for the AVS token mint
Example:
yarn endoavs --action=create --avsName=MyAVS --avsTokenMintKeyPairPath=./my-avs-token-mint-keypair.json
Delegate SOL
To delegate SOL to an endogenous AVS:
yarn endoavs --action=delegate --numberOfSOL=<numberOfSOL> --endoAvsAddress=<endoAvsAddress>
Undelegate SOL
To undelegate SOL from an endogenous AVS:
yarn endoavs --action=undelegate --numberOfSOL=<numberOfSOL> --endoAvsAddress=<endoAvsAddress>
Additional EndoAVS Operations
The CLI supports several other operations for managing your endoAVS:
- Transfer Authority
- Update AVS
- Update/Set Metadata
Transfer Authority
Change the authority of your endoAVS:
yarn endoavs --action=transferAuthority --newAuthorityAddr=<newAuthorityAddr> --endoAvsAddress=<endoAvsAddress>
Update AVS
Update the name and URL of your endoAVS:
yarn endoavs --action=updateAvs --newName=<newName> --newUrl=<newUrl> --endoAvsAddress=<endoAvsAddress>
Update/Set Metadata
Update or set token metadata for your endoAVS:
yarn endoavs --action=updateMetadata --name=<name> --symbol=<symbol> --uri=<uri> --endoAvsAddress=<endoAvsAddress>
Technical Details
For those interested in the underlying mechanics, here are some key technical details:
- The restaking program (sSo1iU21jBrU9VaJ8PJib1MtorefUV4fzC9GURa2KNn) manages the restaking process, including the restake and unrestake operations.
- The EndoAVS program facilitates the creation and management of endogenous AVS instances.
- Both programs involve interaction with multiple accounts, including token mints, user token accounts, vaults, and pools.
For more detailed information, refer to our Restaking Program IDL and EndoAVS Program IDL.
Was this page helpful?