Ink: Kraken's dedicated DeFi chain
Ink is an Ethereum OP Stack layer 2 blockchain designed to be the house of DeFi for the Superchain; a powerful baselayer for deploying innovative DeFi protocols.
- Sub-second block times: 1s block times Day 1, sub-second blocks coming soon.
- Smol Gas: Ape more, pay less.
- Security: Sequencer-level security to protect users from malicious intents and exploits.
- Interoperability: A commitment to the seamless flow of capital across the Superchain and beyond.
- Unleashed by Kraken: Ink will leverage Kraken's security and crypto expertise to support builders and users alike as they move towards independent financial sovereignty.
- Scaling Ethereum: Ink is dedicated to scaling Ethereum with a powerful L2 that enhances performance and accessibility.
Why use Ink?
Built on the Superchain and unleashed by Kraken, Ink will serve as a central point in your journey towards onchain financial sovereignty.
Ink features:
- Abstraction: Ink integrates Kraken's infrastructure and enables users to enjoy a unified experience from converting fiat to the cutting edge of DeFi.
- DeFi-first: Ink aims to scale up DeFi's user base and evolve the quality and range of DeFi products.
- UX: Ink pursues a user experience that makes your onchain journey a breeze by leveraging aggregation, automation and abstraction. Check out our Ink Kit here for more.
- Speed: 1s block times on day one with subsecond block times coming soon.
- Security: Kraken's decade-long record of security and reliability will be reflected and pushed forward on Ink.
- Support: Builders can expect rich documentation, expert guidance, workshops, tailored onboarding, dedicated community channels and financial support to bring their ideas to life.
- Low Fees: Harnessing the scalability of Optimism and the security of Ethereum, gas fees on Ink are a fraction of mainnet.
- Open Source, Scaling Ethereum: At Ink, we build in the open, benefiting all.
- EVM compatible: Seamlessly deploy any Solidity contract written for Ethereum Mainnet or other L2s directly on Ink without modifications.
What is Ink built on?
Ink is a Layer 2 built on the OP Stack and part of the Superchain. Aligning with the Optimism Superchain promotes interoperability and the seamless flow of funds from one chain to the next, allowing Ink to push the limits of DeFi.
How to run an Ink Node?
Recommended Hardware
Mainnet
- 16GB+ RAM
- 2 TB SSD (NVME Recommended)
- 100mb/s+ Download
Testnet
- 16GB+ RAM
- 500 GB SSD (NVME Recommended)
- 100mb/s+ Download
Installation and Configuration
Install docker and docker compose
Note: This command installs docker and docker compose for Ubuntu. For windows and mac desktop or laptop, please use Docker Desktop. For other OS, please find instruction in Google.
# Update and upgrade packages
sudo apt-get update
sudo apt-get upgrade -y
### Docker and docker compose prerequisites
sudo apt-get install -y curl
sudo apt-get install -y gnupg
sudo apt-get install -y ca-certificates
sudo apt-get install -y lsb-release
### Download the docker gpg file to Ubuntu
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
### Add Docker and docker compose support to the Ubuntu's packages list
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
sudo apt-get update
### Install docker and docker compose on Ubuntu
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker $(whoami)
### Verify the Docker and docker compose install on Ubuntu
sudo docker run hello-world
(For non-root user) After logged out and logged back in, test if docker is working by running.
docker ps
It should returns an empty container list without having any error. Otherwise, restart your machine if there are errors.
Clone the Repository
git clone https://github.com/inkonchain/node
cd node
Copy .env.example to .env
Make a copy of .env.example named .env.
cp .env.example .env
Open .env with your editor of choice
Mandatory configurations
NETWORK_NAME - Choose which Optimism network layer you want to operate on:
- ink-sepolia - Ink Sepolia (Testnet)
- ink-mainnet - Ink (Mainnet)
NODE_TYPE - Choose the type of node you want to run:
- full (Full node) - A Full node contains a few recent blocks without historical states.
- archive (Archive node) - An Archive node stores the complete history of the blockchain, including historical states.
OP_NODE__RPC_ENDPOINT - Specify the endpoint for the RPC of Layer 1 (e.g., Ethereum mainnet). For instance, you can use the free plan of Quicknode for the Ethereum mainnet.
OP_NODE__L1_BEACON - Specify the beacon endpoint of Layer 1. You can use QuickNode for the beacon endpoint. For example: https://xxx-xxx-xxx.quiknode.pro/db55a3908ba7e4e5756319ffd71ec270b09a7dce
OP_NODE__RPC_TYPE - Specify the service provider for the RPC endpoint you've chosen in the previous step. The available options are:
- alchemy - Alchemy
- quicknode - Quicknode (ETH only)
- erigon - Erigon
- basic - Other providers
Optional configurations
OP_GETH__SYNCMODE - Specify sync mode for the execution client
- Unspecified - Use default snap sync for full node and full sync for archive node
- snap - Snap Sync (Default)
- full - Full Sync (For archive node, not recommended for full node)
IMAGE_TAG__[...] - Use custom docker image for specified components.
PORT__[...] - Use custom port for specified components.
Operating the Node
Start
docker compose up -d --build
Will start the node in a detatched shell (-d), meaning the node will continue to run in the background. We recommended to add --build to make sure that latest changes are being applied.
View logs
docker compose logs -f --tail 10
To view logs of all containers.
docker compose logs <CONTAINER_NAME> -f --tail 10
To view logs for a specific container. Most commonly used <CONTAINER_NAME> are:
- op-geth
- op-node
- bedrock-init
Stop
docker compose down
Will shut down the node without wiping any volumes. You can safely run this command and then restart the node again.
Restart
docker compose restart
Will restart the node safely with minimal downtime but without upgrading the node.
Upgrade
Pull the latest updates from GitHub, and Docker Hub and rebuild the container.
git pull docker compose pull docker compose up -d --build
Will upgrade your node with minimal downtime.
Wipe [DANGER]
docker compose down -v
Will shut down the node and WIPE ALL DATA. Proceed with caution!
Monitoring
Estimate remaining sync time
Run progress.sh to estimate remaining sync time and speed.
Uses Cast command from Foundry tool set. Installation instructions here: https://getfoundry.sh/.
./progress.sh
This will show the sync speed in blocks per minute and the time until sync is completed.
Chain ID: 57073
Please wait
Blocks per minute: ...
Hours until sync completed: ...
Grafana dashboard
Grafana is exposed at http://localhost:3000 and comes with one pre-loaded dashboard ("Simple Node Dashboard"). Simple Node Dashboard includes basic node information and will tell you if your node ever falls out of sync with the reference L2 node or if a state root fault is detected.
Use the following login details to access the dashboard:
- Username: admin
- Password: ink
Navigate over to Dashboards > Manage > Simple Node Dashboard to see the dashboard, see the following gif if you need help: