Sign inSign up

arkecosystem/mainsail-core

By arkecosystem

•Updated 18 days ago

Mainsail Core

Image
Networking
Security
Languages & frameworks
0

1.1K

arkecosystem/mainsail-core repository overview

⁠Mainsail Core Docker

⁠Introduction

Welcome to the home of Mainsail, a highly modular, TypeScript-based, layer 1 blockchain protocol. Mainsail is the next evolution of the 'ARK Core' blockchain protocol and features a new consensus engine that greatly improves the finality, security, and reliability of our blockchain solution.

Learn more about Mainsail Core on the official GitHub repository https://github.com/ArkEcosystem/mainsail⁠

⁠Documentation

⁠Mainsail Core

Run Mainsail Core node using Docker Compose⁠

TestNet

mkdir -p ~/mainsail-docker/core
cd ~/mainsail-docker/core

Create docker network:

docker network create core

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

services:
  core:
    image: arkecosystem/mainsail-core:testnet
    container_name: mainsail-testnet
    restart: always
    ports:
     - "4000:4000"
     - "127.0.0.1:4004:4004"
     - "127.0.0.1:4006:4006"
     - "4007:4007"
     - "4008:4008"
    cap_add:
      - SYS_NICE
      - SYS_RESOURCE
      - SYS_TIME
    volumes:
     - ~/.config/mainsail:/home/node/.config/mainsail
     - ~/.local/share/mainsail:/home/node/.local/share/mainsail
     - ~/.local/state/mainsail:/home/node/.local/state/mainsail
     - /etc/localtime:/etc/localtime:ro
     - ./enc:/run/secrets
    networks:
      - core
    env_file: testnet.env
    tty: true
volumes:
  core:
networks:
  core:
    external: true

Create file testnet.env with the following content:

MODE=relay
TOKEN=ark
NETWORK=testnet

#Set `DB_REST=true` for syncing from scratch
DB_RESET=false

#API - set `API=true` if you want to run an API server
API=false
CORE_DB_HOST=postgres-api
CORE_DB_PORT=5432
CORE_DB_DATABASE=api_testnet
CORE_DB_USERNAME=node
CORE_DB_PASSWORD=password

#Core variables
MAINSAIL_LOG_LEVEL=debug
MAINSAIL_LOG_LEVEL_FILE=info
MAINSAIL_P2P_HOST=0.0.0.0
MAINSAIL_P2P_PORT=4000
MAINSAIL_WEBHOOKS_HOST=0.0.0.0
MAINSAIL_WEBHOOKS_PORT=4004
MAINSAIL_API_DEV_ENABLED=true
MAINSAIL_API_DEV_HOST=0.0.0.0
MAINSAIL_API_DEV_PORT=4006

Note

If you want to run a Validator node set `MODE=validator` in your `testnet.env`. Additionally you would need to protect your validator private key with a password and encrypt it. To do so download the encryption script⁠ and run it.

Start:

docker-compose up -d

Monitor:

docker logs --tail 50 mainsail-testnet -f

Stop and remove:

docker-compose down -v --rmi all

Tag summary

Content type

Image

Digest

sha256:5a43a6ab1…

Size

143.1 MB

Last updated

18 days ago

docker pull arkecosystem/mainsail-core:testnet