EasyEigen Factory is a project inspire from Eigen Layer Restaking Solution. We suggest everyone design their own restake contract and base on our zk and staker contracts.
Staker EEVMOS Contract: 0x4333B9f66eD8b7A1B6B1EA93Ce984F6dEf2b6545
ZK verifier:
0x9C6603BB1F5a9781C9E2Bc5131189557aA350b81
Restake Contract & Cross-Chain: 0x3B5Fbdeb7A99Bda0428b83776F1728f82b7671c4
EasyEigen Factory Github: github.com/kidneyweakx/easyeigen
Frontend: kidneyweakx.com/easyeigen
Demo Video: YouTube
- Solidity(staker and relayer)
contracts
: for staking to EVMOS and restaking to ensure relayer safety. - Circom
circom
: generate ZK proof to slash to evil relayer - Pre-compile Extension
precompiles
: to connect with EVMOS
Our project involves creating a restaking system that utilizes the EEF contract to provide pooled security using the EVMOS consensus. This allows us to create a secure and efficient system that is resistant to attacks and provides users with peace of mind.
In addition to the restaking system, we are also creating a cross-chain bridge that allows other non-Cosmos chains to deliver their data more securely and trustlessly. This bridge utilizes Zero Knowledge proofs to generate fraud proof and slash relayers, ensuring that the system remains secure and reliable.(Optimistic Method like Nomad Bridge)
Our demo provides an optimistic bridge solution that allows users to transfer assets between different chains with ease. The system is designed to be user-friendly and easy to use, allowing users to restake their assets and transfer them between chains with confidence.
Overall, our project aims to create a secure and efficient restaking system that utilizes the latest technologies to provide users with a seamless experience. We believe that our system has the potential to revolutionize the way that assets are restaked and transferred between different chains, and we are excited to continue developing and improving our solution.
Your contribution to this system is greatly appreciated. Your work on the EVMOS pre-compile has been instrumental in scaling the EVM and making it more efficient, which is crucial for achieving system decentralization. We are impressed by your expertise and dedication to improving the performance and security of the system.
User can stake their EVMOS into LSD (Liquidity Staking Derivatives) and get EEVMOS token. This EEVMOS token can "restake" into the bridge to register relayer.
Then the relayer can stake it into another contract and do some cross-chain solutions (we use optimistic way to ensure the cross-chain safety)
If relayers cross fake proof. And Slasher can get their EEVMOS token. It equals to slash relayer's token
- copy
.env.example
to.env
and fill in private key
cp .env.example .env
- deploy Stake contract to stake and store the address
you need to edit deployProcess
// delete the constructer (line 11)
const deployContract = await contractFactory.connect(signer).deploy()
then, deploy the contract
# deploy
npm run deploy:Staker
# stake
npm run stakeEE
- compile zk and deploy verifier contract
# compile zk and generate solidity
npm run circom:dev
# deploy
npm run deploy:zk
- deploy restake contract
write the contract address in deployProcess
then, deploy the contract
npm run deploy:Restake
- now you can register or slash the relayers
register relayer and relay fake data
npx ts-node ./scripts/slash/restake.ts
npx ts-node ./scripts/slash/relayer.ts
slash it
npx ts-node ./scripts/slash/slash.ts
unban slash idenity
npx ts-node ./scripts/slash/unban.ts