EigenLayer CLI is used to interact with EigenLayer core contracts.
- Operator Keys Creation and Management via local keystore (ECDSA and BLS over bn254 curve) -
eigenlayer keys --help
- Operator Registration, Updates and Status check -
eigenlayer operator --help
- Reward Claiming and Setting Claimers -
eigenlayer rewards --help
- Private Key Hex (not recommended for production use)
- Local Keystore
- Fireblocks backed by AWS KMS for secret management
- Web3Signer
Operating System | Architecture |
---|---|
Linux | amd64 |
Linux | arm64 |
Darwin | amd64 |
Darwin | arm64 |
To download a binary for the latest release, run:
curl -sSfL https://raw.githubusercontent.com/layr-labs/eigenlayer-cli/master/scripts/install.sh | sh -s
The binary will be installed inside the ~/bin
directory.
To add the binary to your path, run:
export PATH=$PATH:~/bin
To download the binary in a custom location, run:
curl -sSfL https://raw.githubusercontent.com/layr-labs/eigenlayer-cli/master/scripts/install.sh | sh -s -- -b <custom_location>
We collect anonymous usage data to improve the CLI. To disable telemetry, set the environment variable EIGENLAYER_CLI_TELEMETRY_ENABLED
to false
.
Note: Some commands might not work as expected as we use some build time variables. We recommend using binary installation for best experience.
First, install the Go programming language following the official instructions. You need at least the 1.21
version.
This command will install the eigenlayer
executable along with the library and its dependencies in your system:
go install github.com/Layr-Labs/eigenlayer-cli/cmd/eigenlayer@latest
The executable will be in your $GOBIN
($GOPATH/bin
).
To check if the GOBIN
is not in your PATH, you can execute echo $GOBIN
from the Terminal. If it doesn't print anything, then it is not in your PATH. To add GOBIN
to your PATH, add the following lines to your $HOME/.profile
:
export GOBIN=$GOPATH/bin
export PATH=$GOBIN:$PATH
Changes made to a profile file may not apply until the next time you log into your computer. To apply the changes immediately, run the shell commands directly or execute them from the profile using a command such as
source $HOME/.profile
.
Note: Some commands might not work as expected as we use some build time variables. We recommend using binary installation for best experience.
With this method, you generate the binary manually (need Go installed), downloading and compiling the source code:
git clone https://github.com/Layr-Labs/eigenlayer-cli.git
cd eigenlayer-cli
mkdir -p build
go build -o build/eigenlayer cmd/eigenlayer/main.go
or if you have make
installed:
git clone https://github.com/Layr-Labs/eigenlayer-cli.git
cd eigenlayer-cli
make build
The executable will be in the build
folder.
In case you want the binary in your PATH (or if you used the Using Go method and you don't have $GOBIN
in your PATH), please copy the binary to /usr/local/bin
:
# Using Go
sudo cp $GOPATH/bin/eigenlayer /usr/local/bin/
# Build from source
sudo cp eigenlayer-cli/build/eigenlayer /usr/local/bin/
Please refer to the full documentation here.
Links to specific sections are provided below.
- Create Keys
- Import Keys
- List Keys
- Export Keys
- Fund Wallet with ETH
- Register Operator
- Operator Status
- Metadata Updates
- Frequently Asked Questions
- Troubleshooting
If you see any issues in documentation please create an issue or PR here
To release a new version of the CLI, follow the steps below:
Note: You need to have write permission to this repo to release new version
-
Checkout the master branch and pull the latest changes:
git checkout master git pull origin master
-
In your local clone, create a new release tag using the following command:
git tag v<version> -m "Release v<version>"
-
Push the tag to the repository using the following command:
git push origin v<version>
-
This will automatically start the release process in the GitHub Actions and will create a draft release to the GitHub Releases with all the required binaries and assets
-
Check the release notes and add any notable changes and publish the release