Abyss Eth2 Depositor allows convenient way to send 1 to 100 deposits in one transaction to Eth2 Deposit Contract.
Below is a list of contracts we use for this service:
- Ownable, Pausable
- Openzepellin smart contracts. The first contract allows for managing ownership. The second contract allows for pausing the contract and vice versa.
- AbyssEth2Depositor
- A smart contract that accepts up to 3200 ETH and sends up to 100 transactions with required collateral (32 ETH) to Eth2 Deposit Contract.
To run lockup service, install Homebrew, Node.js, Truffle, OpenZeppelin and pull the repository from GitHub
:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install node
npm install -g truffle
npm install -g @openzeppelin/contracts
mkdir projects
cd projects
git clone https://github.com/abyssfinance/abyss-eth2depositor
cd abyss-eth2depositor
truffle init
Setup your truffle
environment, write migrations:
truffle develop
migrate --reset
Smart contracts should be deployed with such constructor parameters:
AbyssEth2Depositor.sol
(true, 0x0000000000000000000000000000000000000000)
- Choose amount of Eth2 validator nodes you want to create.
- Create array with your pubkeys, withdrawal_credentials, signatures and calldata deposit_data_roots.
- Use deposit() function on
AbyssEth2Depositor
with required ETH value to make deposits to Eth2 Deposit Contract.
MIT
For any concerns or suggestions visit us on Telegram to discuss.
For security concerns, please email security@abyss.finance.
© Copyright 2020, Abyss Finance