Skip to content

Nuffle

nuffle banner

At this initial testnet stage, operators need to be whitelisted . If you are interested and have not already been whitelisted, please contact the NFFL team!

Minimal Hardware Specifications

ComponentSpecifications
CPUx86_64 (Intel, AMD) processor with at least 8 physical cores
CPU FeaturesCMPXCHG16B, POPCNT, SSE4.1, SSE4.2, AVX
RAM32GB DDR4
Storage1.5TB SSD (NVMe SSD is recommended)
Operating SystemLinux (tested on Ubuntu 22.04 LTS)

Introduction

Rollups on the Ethereum network are gaining traction, indicating a new phase in the development of decentralized applications (dApps) and smart contracts. However, as the ecosystem continues to evolve towards a rollup-centric roadmap, it confronts new challenges such as state and liquidity fragmentation and extended finality time.

In order to solve this problem, the Nuffle Fast Finality Layer (NFFL, formerly SFFL) was designed. Through it, various chains can, while supplying block data to NEAR DA, rely on the economic security of an EigenLayer AVS to provide a faster block finality to various protocols and use-cases while also including an additional public DA layer into their stack.

This universal, secure and fast finality leads to major advancements in interoperability protocols, enabling or improving designs such as general bridging and chain abstraction.

For more details, refer to Protocol Design. NFFL is under active development and is not yet available on any publicly accessible environments.

1. Install Docker & Docker compose
Terminal window
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
docker version
Terminal window
VER=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)
curl -L "https://github.com/docker/compose/releases/download/"$VER"/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
2. Install EigenLayer CLI
Terminal window
curl -sSfL https://raw.githubusercontent.com/layr-labs/eigenlayer-cli/master/scripts/install.sh | sh -s
export PATH=$PATH:~/bin
eigenlayer --version
3. Clone NFFL repo
Terminal window
git clone https://github.com/NethermindEth/near-sffl.git
cd near-sffl/setup/plugin
cp .env.example .env
4. Create/Import Eigenlayer wallet

# Generate encrypted ECDSA and BLS keys using the CLI:

Terminal window
eigenlayer operator keys create --key-type ecdsa "wallet_name"

!!! Set password & save your private key

Terminal window
eigenlayer operator keys create --key-type bls "wallet_name"

!!! Set password & save your private key

# Import an old key (optional)
Terminal window
eigenlayer operator keys import --key-type ecdsa "wallet_name" PRIVATEKEY
Terminal window
eigenlayer operator keys import --key-type bls "wallet_name" PRIVATEKEY
5. Fund your Eigen wallet

You’ll need at least 1 Holesky ETH to cover the gas cost of the operator registration.

Link faucet Holesky ETH: https://cloud.google.com/application/web3/faucet/ethereum/holesky
https://holesky-faucet.pk910.de/

6. Config & register operator
Terminal window
eigenlayer operator config create
  • Enter your operator address: your Eigenlayer address
  • Enter your earnings address (default to your operator address): `your Eigenlayer address`
  • Enter your ETH rpc url: https://ethereum-holesky-rpc.publicnode.com
  • Select your network: `holesky`
  • Select your signer type: `local_keystore`
  • Enter your ecdsa key path: /root/.eigenlayer/operator_keys/joseph-test1.ecdsa.key.json
7. Edit metadata.json
Terminal window
nano /root/chainbase-avs-setup/holesky/metadata.json

Sample:

Terminal window
{
"name": "JosephTran",
"website": "https://www.josephtran.xyz",
"description": "Blockchain enthusiast and validator",
"logo": "https://raw.githubusercontent.com/Josephtran102/chainbase/main/Jlogo.png",
"twitter": "https://x.com/josephtran102"
}
  • Create a Public repositry in github
  • Upload logo.png and metadata.jsonthere.
8. Edit operator.yaml
Terminal window
nano /root/chainbase-avs-setup/holesky/operator.yaml

Set URL metadatar with raw file link:

  • metadata_url: https://raw.githubusercontent.com/Josephtran102/chainbase/main/metadata.json
9. Register Eigenlayer Operator (holesky)
Terminal window
eigenlayer operator register operator.yaml

You Operator link:
https://holesky.eigenlayer.xyz/operator/0xeE6226ceF7c173665dC55E3194D11FB7993d8215

Check status:

Terminal window
eigenlayer operator status operator.yaml
10. Setup & Register NFFL Operator

At this initial testnet stage, operators need to be whitelisted . If you are interested and have not already been whitelisted, please contact the NFFL team!

To be continued....