You have the opportunity to engage with EigenLayer’s testnet in several capacities, including as a restaker, operator, or AVS Node Operator.
“Enhancing Ethereum’s Cryptoeconomic Security with EigenLayer’s Restaking Innovation” EigenLayer is a protocol built on Ethereum that introduces restaking, a new primitive in cryptoeconomic security. This primitive enables the rehypothetication of $ETH on the consensus layer. Users that stake $ETH can opt-in to EigenLayer smart contracts to restake their $ETH and extend cryptoeconomic security to additional applications on the network. Part of EigenLayer’s potential lies in its ability to aggregate and extend cryptoeconomic security through restaking and to validate new applications being built on top of Ethereum.
Order & Configure your VPS You can establish your node by either configuring it on a personal computer or by utilizing a Virtual Private Server (VPS), which is well-suited for managing websites, applications, or other internet-based services, including nodes.
For my setup, I selected Contabo, a well-regarded provider of VPS rentals. Opting for a plan with at least 100 GB of storage is advisable to ensure sufficient space for long-term node operation.
My suggestion would be to go for the Cloud VPS M or higher option. https://contabo.com/en/
Choose Cloud VPS M or Higher Select Payment Term Region — Germany Storage Type -400 GB SSD Image — Go to Apps & Panels > Docker
Apps & Panels > Docker 5. Log in & Set a Password for your Server
Set a password 6. Object Storage — Default 7. Networking — Default 8. Add-Ons — Default
After finalizing your payment, you’ll get an email verifying your purchase. Hold tight for a follow-up email, which will provide details about your VPS, encompassing your access credentials.
You’ll need to download and use Putty, a tool that enables you to securely connect to your VPS and utilize its functionalities. Download it here https://www.putty.org/
Enter IP ADDRESS Enter the VPS IP Address then Click OPEN Login : root Password: (Enter your chosen password)
Log in using the password you set earlier. Before Proceeding, you can check the official documentation here.
Preparations Install essential components sudo apt update && sudo apt upgrade -y 2. Install Essential Codes
sudo apt install pkg-config curl git-all build-essential libssl-dev libclang-dev ufw reply Y then proceed
docker version If docker is not installed, run the following command:
sudo apt-get install ca-certificates curl gnupg lsb-release Now add Docker’s official GPG key:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg proceed… We Are to set up Repository: (just copy and paste)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Let’s grant Docker file permission just in case, before updating the package index
sudo chmod a+r /etc/apt/keyrings/docker.gpg sudo apt-get update after granting, updated index, Install latest version of docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin Now install Docker compose :
sudo apt install docker-compose
Press Y then ENTER Lets verify the ENGINE INSTALLATION is successful by running the hello-world
sudo docker run hello-world You should get this.
Now check Docker compose version :
docker-compose -v
Part 1: Node Installation
sudo screen -S Eigenlayer 2. GO LANGUAGE INSTALLATION a. Install
wget https://golang.org/dl/go1.21.4.linux-amd64.tar.gz
b. Extract folder
tar -C /usr/local -xzf go1.21.4.linux-amd64.tar.gz
c. Add Go to your Environment
export PATH=$PATH:/usr/local/go/bin
d. Verify Go bin installation
go version
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
b. Copy file into the system
cp ./build/eigenlayer /usr/local/bin/
c. Verify if Eigen is properly installed
eigenlayer
eigenlayer operator keys create --key-type ecdsa [keyname] eigenlayer operator keys create --key-type bls [keyname] example:
eigenlayer operator keys create --key-type ecdsa EkkoNodes eigenlayer operator keys create --key-type bls EkkoNodes [keyname] — This will be the name of the created key file
This will prompt a password which you can use to encrypt the keys. Keys will be stored in a local disk and will be shown once keys are created. It will also show the private key only once, so that you can back it up in case you lose the password or key file. Make sure to Backup your keys. You can only see this once.
b. View Keys
eigenlayer operator keys list 5. Operator Registration a. Metadata URL Configuration
Create a Github Account Create a repository
Create a new file
Name the file “metadata.json” Paste and edit this { "name": "<OPERATOR_NAME>", "website": "<YOUR_WEBSITE>", "description": "", "logo": "https://www.example.com/logo.png", "twitter": "<YOUR_TWITTER>" } After completing your file, click on “Raw,” to get the link and paste the it into your ‘operator.yaml’ file.
ex: https://raw.githubusercontent.com/Ekkoo09/eigenlayer-Ekko-Nodes/main/metadata.json ‘do not use’ b. Navigate to the config/ folder :
cd pkg/operator/config c. Create the ‘operator.yaml’ folder :
touch operator.yaml d. Edit the config file
nano operator.yaml you will see a blank file;
You need to edit these first before pasting: address: <ADDRESS_OF_YOUR_WALLET> earnings_receiver_address: <ADDRESS_OF_YOUR_WALLET> metadata_url: <METADATA_FILE_RAW> eth_rpc_url: <API_ALCHEMY> (you can use any rpc provider) private_key_store_path: /root/.eigenlayer/operator_keys/<NAME_KEY>.ecdsa.key.json bls_private_key_store_path: /root/.eigenlayer/operator_keys/<NAME_KEY>.bls.key.json
operator:
address: <ADDRESS_OF_YOUR_WALLET>
earnings_receiver_address: <ADDRESS_OF_YOUR_WALLET>
delegation_approver_address: 0x0000000000000000000000000000000000000000
staker_opt_out_window_blocks: 0 metadata_url: <METADATA_FILE_RAW>
el_slasher_address: 0xD11d60b669Ecf7bE10329726043B3ac07B380C22
bls_public_key_compendium_address: 0xc81d3963087Fe09316cd1E032457989C7aC91b19
eth_rpc_url: <API_ALCHEMY>
signer_type: local_keystore
private_key_store_path: /root/.eigenlayer/operator_keys/<NAME_KEY>.ecdsa.key.json
bls_private_key_store_path: /root/.eigenlayer/operator_keys/<NAME_KEY>.bls.key.json
chain_id: 5 see mine for reference:
Exit and Save: Press CTRL+X, then Y, and ENTER. e. Operator Registration
Before proceeding, make sure your wallet has enough gETH to register.
eigenlayer operator register operator.yaml
Enter Password f. Verify Operator status
eigenlayer operator status operator.yaml
or you can view it on the website here (will appear after a few mins) Part 2: EigenLayer AVS Operator Now that your operator is registered on Eigenlayer, you can launch the Eigenlayer node.
You will need to have 32 gETH and enough restaked gETH on your operator to rank among the top 200 validator nodes.
WARNING: As of this writing you will need at least 18,000 gEth restaked to your operator to be on the EigenDA AVS Operator.
https://testnetbridge.com/ Before Proceeding, check the AVS Operator Guide here.
git clone https://github.com/Layr-Labs/eigenda-operator-setup.git cd eigenda-operator-setup b. Update the .env file (Modify the sections marked with TODO to match your environment.)
nano .env sample text file.
NODE_HOSTNAME=<YOUR_IP>
NODE_NGINX_CONF_HOST=./resources/rate-limit-nginx.conf
NODE_CHAIN_RPC=<KEY_API> NODE_CHAIN_ID=5
USER_HOME=/root/ EIGENLAYER_HOME=/root/.eigenlayer EIGENDA_HOME=/root/.eigenlayer/eigenda/
NODE_LOG_PATH_HOST=/root/.eigenlayer/eigenda/logs NODE_G1_PATH_HOST=/root/eigenda-operator-setup/resources/g1.point NODE_G2_PATH_HOST=/root/eigenda-operator-setup/resources/g2.point NODE_DB_PATH_HOST=/root/.eigenlayer/eigenda/db NODE_CACHE_PATH_HOST=/root/eigenda-operator-setup/resources/cache
NODE_ECDSA_KEY_FILE_HOST=/root/.eigenlayer/operator_keys/<NAME_WALLET>.ecdsa.key.json NODE_BLS_KEY_FILE_HOST=/root/.eigenlayer/operator_keys/<NAME_WALLET>.bls.key.json
NODE_PUBLIC_IP_PROVIDER=seeip
NODE_ECDSA_KEY_PASSWORD= NODE_BLS_KEY_PASSWORD= modify the parts between <…>
c. Create local folders which are required by EigenDA:
mkdir -p $HOME/.eigenlayer/eigenda/logs mkdir -p $HOME/.eigenlayer/eigenda/db d. Opt-in into EigenDA
In order to opt-in into EigenDA as an Operator, you must meet the following delegated TVL requirements:
Have a minimum of 32 ETH delegated. Have more than 1.1x current lowest-stake Operator in the active Operator set. Please see EigenDA Churn Approver for more detail. The operator to churn out has less than 10.01% of the total stake Execute the following command to opt-in to EigenDA AVS:
./run.sh opt-in e. Run EigenDA
Start the docker containers:
docker compose up -d If you have successfully opted in to EigenDA and correctly running your EigenDA software, you should see the following logs for your EigenDA container:
If you have successfully opted in to EigenDA and correctly running your EigenDA software, you should see the following logs for your EigenDA container: OPTIONAL Upgrade your node Pull the latest repo
cd eigenda-operator-setup git pull Pull the latest docker images
docker compose pull Stop the existing services
docker compose down Start your services again
docker compose up -d That’s it! Make sure to follow EigenLayer’s Socials to stay updated.
Twitter: https://twitter.com/eigenlayer
Let’s Connect Thank you for spending time reading my article. If you’d like to delve deeper into the topics and have further questions or just want to say hi, don’t hesitate to reach out.
Find me on:
Twitter: @EkkoNodes Support My Work If the node running guides I provide have helped you and you wish to support the continuation and enhancement of this resource, any contribution is greatly appreciated. Below is my dedicated wallet address for those who would like to contribute:
0xCE84bab3ade470A64B7EA26e7940e3149C7Fd016
About Me Hello! I’m Ekko Nodes. After years crunching numbers as an Accountant, I decided to take a leap into the vibrant world of crypto, blockchain, and Web3. With an eye for potential and a knack for discovery, I’m on a quest to unearth the most intriguing projects, the latest airdrops, and the newest nodes in the blockchain universe. My journey is one of constant learning, fueled by my passion for writing, researching, and all things tech. If you’re eager to explore the dynamic landscape of digital currencies and decentralized technologies, let’s embark on this adventure together.
Disclaimer The insights shared here are for educational and entertainment purposes only and are not to be taken as financial advice. Each individual’s journey in the crypto space is unique, and it’s crucial to conduct thorough research and consider seeking professional counsel before making investment decisions. Stay curious, tread carefully, and tailor your choices to fit your personal circumstances.
Making Node Setup Effortless.