arkecosystem/core

By arkecosystem

Updated 1 day ago

ARK Core

Image
Languages & Frameworks
Networking
Security

2.6K

Ark Core

Introduction

Official production-ready ARK Core images. ARK Core is an Open-Source, Typescript-Based, Layer 1 Blockchain Protocol built to be simple and efficient. ARK Core features eco-friendly DPoS Consensus and has an expandable, modular codebase with customizable transaction logic.

Learn more about ARK Core on the official GitHub repository https://github.com/ArkEcosystem/core

Documentation

API Documentation

ARK Core Relay

Run Relay only node using Docker Compose

DevNet

Create file docker-compose.yml with the following content:

version: '2'
services:
  postgres:
    image: "postgres:alpine"
    container_name: postgres-devnet
    restart: always
    volumes:
      - 'postgres:/var/lib/postgresql/data'
    networks:
      - core
    environment:
     POSTGRES_PASSWORD: password
     POSTGRES_DB: core_devnet
     POSTGRES_USER: node
  core:
    image: arkecosystem/core:devnet
    container_name: core-devnet
    restart: always
    ports:
     - "4002:4002"
     - "4003:4003"
     - "4012:4012"
     - "4022:4022"
     - "4040:4040"
     - "127.0.0.1:4004:4004"
     - "127.0.0.1:8080:8080"
    cap_add:
      - SYS_NICE
      - SYS_RESOURCE
      - SYS_TIME
    volumes:
     - ~/.config/ark-core:/home/node/.config/ark-core
     - ~/.local/share/ark-core:/home/node/.local/share/ark-core
     - ~/.local/state/ark-core:/home/node/.local/state/ark-core
     - /etc/localtime:/etc/localtime:ro
     - ./enc:/run/secrets
    networks:
      - core
    env_file: ./devnet.env
    tty: true
    links:
     - postgres
    depends_on:
      - postgres
volumes:
  postgres:
  core:
networks:
  core:

Create file devnet.env with the following content:

MODE=relay
NETWORK=devnet
CORE_LOG_LEVEL=debug
CORE_LOG_LEVEL_FILE=info
CORE_DB_HOST=postgres-devnet
CORE_DB_USERNAME=node
CORE_DB_PASSWORD=password
CORE_DB_DATABASE=core_devnet
CORE_P2P_HOST=0.0.0.0
CORE_P2P_PORT=4002
CORE_API_HOST=0.0.0.0
CORE_API_PORT=4003
CORE_WEBHOOKS_HOST=0.0.0.0
CORE_WEBHOOKS_PORT=4004
CORE_EXCHANGE_JSON_RPC_HOST=0.0.0.0
CORE_EXCHANGE_JSON_RPC_PORT=8080

MainNet

Create file docker-compose.yml with the following content:

version: '2'
services:
  postgres:
    image: "postgres:alpine"
    container_name: postgres-mainnet
    restart: always
    volumes:
      - 'postgres:/var/lib/postgresql/data'
    networks:
      - core
    environment:
     POSTGRES_PASSWORD: password
     POSTGRES_DB: core_mainnet
     POSTGRES_USER: node
  core:
    image: arkecosystem/core
    container_name: core-mainnet
    restart: always
    ports:
     - "4001:4001"
     - "4003:4003"
     - "4011:4011"
     - "4021:4021"
     - "4040:4040"
     - "127.0.0.1:4004:4004"
     - "127.0.0.1:8080:8080"
    cap_add:
      - SYS_NICE
      - SYS_RESOURCE
      - SYS_TIME
    volumes:
     - ~/.config/ark-core:/home/node/.config/ark-core
     - ~/.local/share/ark-core:/home/node/.local/share/ark-core
     - ~/.local/state/ark-core:/home/node/.local/state/ark-core
     - /etc/localtime:/etc/localtime:ro
     - ./enc:/run/secrets
    networks:
      - core
    env_file: ./mainnet.env
    tty: true
    links:
     - postgres
    depends_on:
      - postgres
volumes:
  postgres:
  core:
networks:
  core:

Create file mainnet.env with the following content:

MODE=relay
NETWORK=mainnet
CORE_LOG_LEVEL=info
CORE_LOG_LEVEL_FILE=info
CORE_DB_HOST=postgres-mainnet
CORE_DB_USERNAME=node
CORE_DB_PASSWORD=password
CORE_DB_DATABASE=core_mainnet
CORE_P2P_HOST=0.0.0.0
CORE_P2P_PORT=4001
CORE_API_HOST=0.0.0.0
CORE_API_PORT=4003
CORE_WEBHOOKS_HOST=0.0.0.0
CORE_WEBHOOKS_PORT=4004
CORE_EXCHANGE_JSON_RPC_HOST=0.0.0.0
CORE_EXCHANGE_JSON_RPC_PORT=8080

If you prefer to use custom DB Name, DB User and DB Password simply adjust variables POSTGRES_PASSWORD, POSTGRES_USER, POSTGRES_DB, CORE_DB_PASSWORD, CORE_DB_USERNAME and CORE_DB_DATABASE correspondingly.

Time to start the relay node:

docker-compose up -d
For more custom settings (including how to run a forger), please visit our Documentation page.

Docker Pull Command

docker pull arkecosystem/core