Skip to main content

Run EN using docker

Download the image​

Choose an image tag from https://hub.docker.com/r/kaiachain/kaia/tags. kaiachain/kaia:latest is the recent release version. But you can choose a specific version. Currently, only linux/amd64 platform is supported. The container might not work correctly in Windows or Mac hosts.


docker pull kaiachain/kaia:latest # Latest release
docker pull kaiachain/kaia:v1.0.2 # Specific version

Prepare configuration file​

You can start from the existing configuration file. To obtain the template kend.conf configuration file,


mkdir -p conf
docker run --rm kaiachain/kaia:latest cat /klaytn-docker-pkg/conf/kend.conf > conf/kend.conf

Then edit the configuration. At least the DATA_DIR and LOG_DIR has to be specified. This guide will assume /var/kend/data.


echo "DATA_DIR=/var/kend/data" >> conf/kend.conf
echo "LOG_DIR=/var/kend/logs" >> conf/kend.conf

(Optional) Download Chaindata Snapshot​

Syncing from the genesis block is time-consuming. You may use Chaindata Snapshot to skip the Full Sync process. Download and decompress the chaindata snapshot. Then mount the decompressed directory to the container.

Start the container​

Expose the RPC port, which is 8551 unless you have modified in the kend.conf. Mount the configuration directory conf/ and chaindata directory data/. Then run kend start to start the daemon and tail -f to print the logs.


mkdir -p data
docker run -d --name ken \
-p 8551:8551 \
-v $(pwd)/conf:/klaytn-docker-pkg/conf \
-v $(pwd)/data:/var/kend/data \
kaiachain/kaia:latest \
/bin/bash -c "kend start && touch /var/kend/logs/kend.out && tail -f /var/kend/logs/kend.out"

Attaching to the console​


docker exec -it ken ken attach --datadir /var/kend/data

Stopping the container​

To prevent chaindata corruption, gracefully shut down the ken.


docker exec -it ken kend stop
docker stop ken
docker rm ken

Make this page better