Merge pull request 'shibarium: build bor + heimdall from source (bone fork, chain 109)' (#12) from shibarium-bone-fork-fix into main
Reviewed-on: #12
This commit was merged in pull request #12.
This commit is contained in:
33
shibarium/bor.Dockerfile
Normal file
33
shibarium/bor.Dockerfile
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Shibarium bor execution client — BUILT FROM SOURCE.
|
||||||
|
#
|
||||||
|
# shibaone publishes NO bor docker image (and vanilla 0xpolygon/bor is the WRONG
|
||||||
|
# fork — Polygon, chainId 137). We mirror the upstream shibaone/bor Dockerfile
|
||||||
|
# (`make bor` -> build/bin/bor) but clone the pinned tag so the image is
|
||||||
|
# self-contained. Running `bor server --chain=shibarium` self-configures the
|
||||||
|
# shibarium genesis (builder/files/genesis-shibarium.json, chainId 109) and the
|
||||||
|
# bootnodes bundled in builder/files/config.toml.
|
||||||
|
#
|
||||||
|
# Build args:
|
||||||
|
# BOR_REPO - bor source repo (default: https://github.com/shibaone/bor)
|
||||||
|
# BOR_VERSION - bor version tag (passed by the template, e.g. v1.3.9-bone)
|
||||||
|
|
||||||
|
ARG BOR_REPO=https://github.com/shibaone/bor
|
||||||
|
ARG BOR_VERSION=v1.3.9-bone
|
||||||
|
|
||||||
|
FROM golang:1.22.1
|
||||||
|
|
||||||
|
ARG BOR_REPO
|
||||||
|
ARG BOR_VERSION
|
||||||
|
|
||||||
|
RUN apt-get update -y && apt-get upgrade -y \
|
||||||
|
&& apt-get install -y --no-install-recommends build-essential git ca-certificates \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /var/lib/bor
|
||||||
|
RUN git clone --depth 1 --branch ${BOR_VERSION} ${BOR_REPO} . \
|
||||||
|
&& make bor \
|
||||||
|
&& cp build/bin/bor /usr/bin/
|
||||||
|
|
||||||
|
RUN mkdir -p /root/.bor
|
||||||
|
EXPOSE 8545 8546 8547 30303 30303/udp
|
||||||
|
ENTRYPOINT ["bor"]
|
||||||
@@ -1,25 +1,40 @@
|
|||||||
# Shibarium heimdall node Dockerfile
|
# Shibarium heimdall consensus node — BUILT FROM SOURCE.
|
||||||
# Build from the base heimdall image + copy entrypoint scripts.
|
#
|
||||||
# Uses the standard cometbft-node pattern from vibe-node.
|
# shibaone publishes NO heimdall docker image (only source + release .deb config
|
||||||
|
# packages), so we cannot `FROM shibaone/heimdall:<tag>` — that tag does not exist
|
||||||
|
# on any registry. Instead we mirror the upstream shibaone/heimdall Dockerfile
|
||||||
|
# (`make install`) but clone the pinned tag, then layer the vibe-node CometBFT
|
||||||
|
# bootstrap entrypoint (init.sh + cometbft-common.sh).
|
||||||
#
|
#
|
||||||
# Build args:
|
# Build args:
|
||||||
# CL_IMAGE - base heimdall image (default: shibaone/heimdall)
|
# CL_REPO - heimdall source repo (default: https://github.com/shibaone/heimdall)
|
||||||
# CL_VERSION - heimdall version tag
|
# CL_VERSION - heimdall version tag (passed by the template, e.g. v1.0.7-bone)
|
||||||
#
|
#
|
||||||
# The entrypoint is init.sh which sources cometbft-common.sh and bootstraps
|
# `make install` puts heimdalld + heimdallcli on /go/bin (already on PATH).
|
||||||
# the node before exec'ing heimdalld start.
|
# The entrypoint is init.sh: it sources cometbft-common.sh, runs heimdalld init
|
||||||
|
# --chain shibarium, fetches the heimdall-109 genesis from GENESIS_URL, sets the
|
||||||
|
# shibarium seeds/persistent_peers, then exec's `heimdalld start --rest-server`.
|
||||||
|
|
||||||
ARG CL_IMAGE=shibaone/heimdall
|
ARG CL_REPO=https://github.com/shibaone/heimdall
|
||||||
ARG CL_VERSION=TODO_VERIFY_VERSION
|
ARG CL_VERSION=v1.0.7-bone
|
||||||
|
|
||||||
FROM ${CL_IMAGE}:${CL_VERSION}
|
FROM golang:1.22
|
||||||
|
|
||||||
# Copy the shared CometBFT helpers and chain-specific entrypoint
|
ARG CL_REPO
|
||||||
|
ARG CL_VERSION
|
||||||
|
|
||||||
|
RUN apt-get update -y && apt-get upgrade -y \
|
||||||
|
&& apt-get install -y --no-install-recommends build-essential git curl jq ca-certificates \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /var/lib/heimdall
|
||||||
|
RUN git clone --depth 1 --branch ${CL_VERSION} ${CL_REPO} . \
|
||||||
|
&& make install
|
||||||
|
|
||||||
|
# vibe-node CometBFT bootstrap entrypoint (context is ./shibarium)
|
||||||
COPY ./scripts/cometbft-common.sh /usr/local/bin/cometbft-common.sh
|
COPY ./scripts/cometbft-common.sh /usr/local/bin/cometbft-common.sh
|
||||||
COPY ./scripts/init.sh /usr/local/bin/init.sh
|
COPY ./scripts/init.sh /usr/local/bin/init.sh
|
||||||
|
RUN chmod +x /usr/local/bin/init.sh /usr/local/bin/cometbft-common.sh
|
||||||
|
|
||||||
# Make init.sh executable
|
EXPOSE 1317 26656 26657
|
||||||
RUN chmod +x /usr/local/bin/init.sh
|
|
||||||
|
|
||||||
# Set entrypoint to our init script
|
|
||||||
ENTRYPOINT ["init.sh"]
|
ENTRYPOINT ["init.sh"]
|
||||||
|
|||||||
@@ -31,10 +31,13 @@ set -e
|
|||||||
. /usr/local/bin/cometbft-common.sh
|
. /usr/local/bin/cometbft-common.sh
|
||||||
|
|
||||||
CMT_HOME="${CMT_HOME:-/root/.heimdalld}"
|
CMT_HOME="${CMT_HOME:-/root/.heimdalld}"
|
||||||
CHAIN_ID="${CHAIN_ID:-shibarium-mainnet}"
|
CHAIN_ID="${CHAIN_ID:-heimdall-109}"
|
||||||
CHAIN="${CHAIN:-mainnet}"
|
CHAIN="${CHAIN:-shibarium}"
|
||||||
P2P_PORT="${P2P_PORT:-26656}"
|
P2P_PORT="${P2P_PORT:-26656}"
|
||||||
MONIKER="${MONIKER:-d${DOMAIN:-local}}"
|
MONIKER="${MONIKER:-d${DOMAIN:-local}}"
|
||||||
|
# Shibarium heimdall mainnet seeds (verified from shibaone/node-ansible branch shibarium)
|
||||||
|
# These are the persistent peers that match the bor bootnodes
|
||||||
|
PERSISTENT_PEERS="${PERSISTENT_PEERS:-96f333f77d5e2f877d3afe4a3643e4f99949ef5c@44.204.200.100:26656,e6676c16d8a9ec98bbbce8d137a3765632720328@18.136.201.99:26656,8c71c016de039e50e48f74683784054f46bd0a1c@3.99.233.157:26656,fb613910f04f0ae0001d93b70552d4d5c358ad78@63.32.53.219:26656,08c3509327941a593eef258f23ab568c10d28905@52.12.214.141:26656}"
|
||||||
|
|
||||||
ct_log "Starting heimdalld bootstrap for chain ${CHAIN_ID} (home=${CMT_HOME})"
|
ct_log "Starting heimdalld bootstrap for chain ${CHAIN_ID} (home=${CMT_HOME})"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user