mirror of
https://github.com/logos-blockchain/logos-blockchain-testing.git
synced 2026-02-17 03:33:08 +00:00
Update testing framework for logos-blockchain rename
This commit is contained in:
parent
28685298ba
commit
50ec0e9506
4389
Cargo.lock
generated
4389
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
82
Cargo.toml
82
Cargo.toml
@ -40,50 +40,50 @@ testing-framework-runner-local = { default-features = false, path = "testing-f
|
||||
testing-framework-workflows = { default-features = false, path = "testing-framework/workflows" }
|
||||
|
||||
# Logos git dependencies (pinned to latest master)
|
||||
broadcast-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
broadcast-service = { package = "logos-blockchain-chain-broadcast-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
cfgsync_tf = { default-features = false, path = "testing-framework/tools/cfgsync_tf" }
|
||||
chain-leader = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8", features = [
|
||||
chain-leader = { package = "logos-blockchain-chain-leader-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71", features = [
|
||||
"pol-dev-mode",
|
||||
] }
|
||||
chain-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
chain-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
common-http-client = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
cryptarchia-engine = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
cryptarchia-sync = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
executor-http-client = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
groth16 = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
key-management-system-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
kzgrs = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
kzgrs-backend = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-api = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-blend-message = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-blend-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-cli = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-core = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-da-dispersal = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-da-network-core = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-da-network-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-da-sampling = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-da-verifier = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-executor = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-http-api-common = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-ledger = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-libp2p = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-network = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-node = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-sdp = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-time = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-tracing = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-tracing-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-utils = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
nomos-wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
poc = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
pol = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
subnetworks-assignations = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
tests = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
tx-service = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
wallet = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
zksign = { default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "06e2738bb83851fa6ba94ef36d03a4b7be8e17a8" }
|
||||
chain-network = { package = "logos-blockchain-chain-network-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
chain-service = { package = "logos-blockchain-chain-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
common-http-client = { package = "logos-blockchain-common-http-client", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
cryptarchia-engine = { package = "logos-blockchain-cryptarchia-engine", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
cryptarchia-sync = { package = "logos-blockchain-cryptarchia-sync", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
executor-http-client = { package = "logos-blockchain-executor-http-client", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
groth16 = { package = "logos-blockchain-groth16", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
key-management-system-service = { package = "logos-blockchain-key-management-system-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
kzgrs = { package = "logos-blockchain-kzgrs", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
kzgrs-backend = { package = "logos-blockchain-kzgrs-backend", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
logos-blockchain-executor = { package = "logos-blockchain-executor", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-api = { package = "logos-blockchain-api-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-blend-message = { package = "logos-blockchain-blend-message", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-blend-service = { package = "logos-blockchain-blend-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-cli = { package = "logos-blockchain-cli", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-core = { package = "logos-blockchain-core", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-da-dispersal = { package = "logos-blockchain-da-dispersal-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-da-network-core = { package = "logos-blockchain-da-network-core", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-da-network-service = { package = "logos-blockchain-da-network-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-da-sampling = { package = "logos-blockchain-da-sampling-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-da-verifier = { package = "logos-blockchain-da-verifier-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-http-api-common = { package = "logos-blockchain-http-api-common", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-ledger = { package = "logos-blockchain-ledger", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-libp2p = { package = "logos-blockchain-libp2p", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-network = { package = "logos-blockchain-network-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-node = { package = "logos-blockchain-node", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-sdp = { package = "logos-blockchain-sdp-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-time = { package = "logos-blockchain-time-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-tracing = { package = "logos-blockchain-tracing", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-tracing-service = { package = "logos-blockchain-tracing-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-utils = { package = "logos-blockchain-utils", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
nomos-wallet = { package = "logos-blockchain-wallet-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
poc = { package = "logos-blockchain-poc", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
pol = { package = "logos-blockchain-pol", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
subnetworks-assignations = { package = "logos-blockchain-subnetworks-assignations", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
tests = { package = "logos-blockchain-tests", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
tx-service = { package = "logos-blockchain-tx-service", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
wallet = { package = "logos-blockchain-wallet", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
zksign = { package = "logos-blockchain-zksign", default-features = false, git = "https://github.com/logos-co/nomos-node.git", rev = "97b411ed0ce269e72a6253c8cd48eea41db5ab71" }
|
||||
|
||||
# External crates
|
||||
async-trait = { default-features = false, version = "0.1" }
|
||||
|
||||
@ -30,8 +30,8 @@ Usage: scripts/build/build-bundle.sh [--platform host|linux] [--output PATH]
|
||||
Options:
|
||||
--platform Target platform for binaries (default: host)
|
||||
--output Output path for the tarball (default: .tmp/nomos-binaries-<platform>-<version>.tar.gz)
|
||||
--rev nomos-node git revision to build (overrides NOMOS_NODE_REV)
|
||||
--path Use local nomos-node checkout at DIR (skip fetch/checkout)
|
||||
--rev logos-blockchain-node git revision to build (overrides NOMOS_NODE_REV)
|
||||
--path Use local logos-blockchain-node checkout at DIR (skip fetch/checkout)
|
||||
--features Extra cargo features to enable (comma-separated); base always includes "testing"
|
||||
--docker-platform Docker platform for Linux bundle when running on non-Linux host (default: auto; linux/arm64 on Apple silicon Docker Desktop, else linux/amd64)
|
||||
|
||||
@ -57,7 +57,7 @@ build_bundle::apply_nomos_node_patches() {
|
||||
return 0
|
||||
fi
|
||||
|
||||
local patch_dir="${NOMOS_NODE_PATCH_DIR:-${ROOT_DIR}/patches/nomos-node}"
|
||||
local patch_dir="${NOMOS_NODE_PATCH_DIR:-${ROOT_DIR}/patches/logos-blockchain-node}"
|
||||
if [ ! -d "${patch_dir}" ]; then
|
||||
return 0
|
||||
fi
|
||||
@ -74,7 +74,7 @@ build_bundle::apply_nomos_node_patches() {
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "==> Applying nomos-node patches from ${patch_dir} (level=${level})"
|
||||
echo "==> Applying logos-blockchain-node patches from ${patch_dir} (level=${level})"
|
||||
local patch base phase
|
||||
for patch in "${patches[@]}"; do
|
||||
base="$(basename "${patch}")"
|
||||
@ -231,7 +231,7 @@ build_bundle::maybe_run_linux_build_in_docker() {
|
||||
node_path_env="/workspace${NOMOS_NODE_PATH#"${ROOT_DIR}"}"
|
||||
;;
|
||||
/*)
|
||||
node_path_env="/external/nomos-node"
|
||||
node_path_env="/external/logos-blockchain-node"
|
||||
extra_mounts+=("-v" "${NOMOS_NODE_PATH}:${node_path_env}")
|
||||
;;
|
||||
*)
|
||||
@ -244,7 +244,7 @@ build_bundle::maybe_run_linux_build_in_docker() {
|
||||
local container_output="/workspace${OUTPUT#"${ROOT_DIR}"}"
|
||||
local target_suffix
|
||||
target_suffix="$(build_bundle::docker_platform_suffix "${DOCKER_PLATFORM}")"
|
||||
local host_target_dir="${ROOT_DIR}/.tmp/nomos-node-linux-target${target_suffix}"
|
||||
local host_target_dir="${ROOT_DIR}/.tmp/logos-blockchain-node-linux-target${target_suffix}"
|
||||
mkdir -p "${ROOT_DIR}/.tmp/cargo-linux" "${host_target_dir}"
|
||||
|
||||
local -a features_args=()
|
||||
@ -265,14 +265,15 @@ build_bundle::maybe_run_linux_build_in_docker() {
|
||||
-e NOMOS_NODE_PATH="${node_path_env}" \
|
||||
-e NOMOS_BUNDLE_DOCKER_PLATFORM="${DOCKER_PLATFORM}" \
|
||||
-e NOMOS_CIRCUITS="/workspace/.tmp/nomos-circuits-linux" \
|
||||
-e LOGOS_BLOCKCHAIN_CIRCUITS="/workspace/.tmp/nomos-circuits-linux" \
|
||||
-e STACK_DIR="/workspace/.tmp/nomos-circuits-linux" \
|
||||
-e HOST_DIR="/workspace/.tmp/nomos-circuits-linux" \
|
||||
-e NOMOS_EXTRA_FEATURES="${NOMOS_EXTRA_FEATURES:-}" \
|
||||
-e BUNDLE_IN_CONTAINER=1 \
|
||||
-e CARGO_HOME=/workspace/.tmp/cargo-linux \
|
||||
-e CARGO_TARGET_DIR="/workspace/.tmp/nomos-node-linux-target${target_suffix}" \
|
||||
-e CARGO_TARGET_DIR="/workspace/.tmp/logos-blockchain-node-linux-target${target_suffix}" \
|
||||
-v "${ROOT_DIR}/.tmp/cargo-linux":/workspace/.tmp/cargo-linux \
|
||||
-v "${host_target_dir}:/workspace/.tmp/nomos-node-linux-target${target_suffix}" \
|
||||
-v "${host_target_dir}:/workspace/.tmp/logos-blockchain-node-linux-target${target_suffix}" \
|
||||
-v "${ROOT_DIR}:/workspace" \
|
||||
"${extra_mounts[@]}" \
|
||||
-w /workspace \
|
||||
@ -286,7 +287,7 @@ build_bundle::prepare_circuits() {
|
||||
echo "==> Preparing circuits (version ${VERSION})"
|
||||
if [ "${PLATFORM}" = "host" ]; then
|
||||
CIRCUITS_DIR="${ROOT_DIR}/.tmp/nomos-circuits-host"
|
||||
NODE_TARGET="${ROOT_DIR}/.tmp/nomos-node-host-target"
|
||||
NODE_TARGET="${ROOT_DIR}/.tmp/logos-blockchain-node-host-target"
|
||||
else
|
||||
CIRCUITS_DIR="${ROOT_DIR}/.tmp/nomos-circuits-linux"
|
||||
# When building Linux bundles in Docker, avoid reusing the same target dir
|
||||
@ -296,10 +297,10 @@ build_bundle::prepare_circuits() {
|
||||
if [ -n "${BUNDLE_IN_CONTAINER:-}" ]; then
|
||||
target_suffix="$(build_bundle::docker_platform_suffix "${NOMOS_BUNDLE_DOCKER_PLATFORM:-}")"
|
||||
fi
|
||||
NODE_TARGET="${ROOT_DIR}/.tmp/nomos-node-linux-target${target_suffix}"
|
||||
NODE_TARGET="${ROOT_DIR}/.tmp/logos-blockchain-node-linux-target${target_suffix}"
|
||||
fi
|
||||
|
||||
NODE_SRC_DEFAULT="${ROOT_DIR}/.tmp/nomos-node-${PLATFORM}-src"
|
||||
NODE_SRC_DEFAULT="${ROOT_DIR}/.tmp/logos-blockchain-node-${PLATFORM}-src"
|
||||
NODE_SRC="${NOMOS_NODE_PATH:-${NODE_SRC_DEFAULT}}"
|
||||
if [ -n "${NOMOS_NODE_PATH}" ]; then
|
||||
[ -d "${NODE_SRC}" ] || build_bundle::fail "NOMOS_NODE_PATH does not exist: ${NODE_SRC}"
|
||||
@ -311,6 +312,7 @@ build_bundle::prepare_circuits() {
|
||||
fi
|
||||
|
||||
export NOMOS_CIRCUITS="${CIRCUITS_DIR}"
|
||||
export LOGOS_BLOCKCHAIN_CIRCUITS="${CIRCUITS_DIR}"
|
||||
mkdir -p "${ROOT_DIR}/.tmp" "${CIRCUITS_DIR}"
|
||||
if [ -f "${CIRCUITS_DIR}/${KZG_FILE:-kzgrs_test_params}" ]; then
|
||||
echo "Circuits already present at ${CIRCUITS_DIR}; skipping download"
|
||||
@ -319,9 +321,9 @@ build_bundle::prepare_circuits() {
|
||||
"${ROOT_DIR}/scripts/setup/setup-circuits-stack.sh" "${VERSION}" </dev/null
|
||||
fi
|
||||
|
||||
NODE_BIN="${NODE_TARGET}/debug/nomos-node"
|
||||
EXEC_BIN="${NODE_TARGET}/debug/nomos-executor"
|
||||
CLI_BIN="${NODE_TARGET}/debug/nomos-cli"
|
||||
NODE_BIN="${NODE_TARGET}/debug/logos-blockchain-node"
|
||||
EXEC_BIN="${NODE_TARGET}/debug/logos-blockchain-executor"
|
||||
CLI_BIN="${NODE_TARGET}/debug/logos-blockchain-cli"
|
||||
}
|
||||
|
||||
build_bundle::build_binaries() {
|
||||
@ -334,7 +336,7 @@ build_bundle::build_binaries() {
|
||||
(
|
||||
cd "${NODE_SRC}"
|
||||
if [ -n "${NOMOS_NODE_PATH}" ]; then
|
||||
echo "Using local nomos-node checkout at ${NODE_SRC} (no fetch/checkout)"
|
||||
echo "Using local logos-blockchain-node checkout at ${NODE_SRC} (no fetch/checkout)"
|
||||
else
|
||||
if [ ! -d "${NODE_SRC}/.git" ]; then
|
||||
git clone https://github.com/logos-co/nomos-node.git "${NODE_SRC}"
|
||||
@ -358,14 +360,16 @@ build_bundle::build_binaries() {
|
||||
fi
|
||||
if [ -n "${BUNDLE_RUSTUP_TOOLCHAIN}" ]; then
|
||||
RUSTFLAGS='--cfg feature="pol-dev-mode"' NOMOS_CIRCUITS="${CIRCUITS_DIR}" \
|
||||
LOGOS_BLOCKCHAIN_CIRCUITS="${CIRCUITS_DIR}" \
|
||||
RUSTUP_TOOLCHAIN="${BUNDLE_RUSTUP_TOOLCHAIN}" \
|
||||
cargo build --features "${FEATURES}" \
|
||||
-p nomos-node -p nomos-executor -p nomos-cli \
|
||||
-p logos-blockchain-node -p logos-blockchain-executor -p logos-blockchain-cli \
|
||||
--target-dir "${NODE_TARGET}"
|
||||
else
|
||||
RUSTFLAGS='--cfg feature="pol-dev-mode"' NOMOS_CIRCUITS="${CIRCUITS_DIR}" \
|
||||
LOGOS_BLOCKCHAIN_CIRCUITS="${CIRCUITS_DIR}" \
|
||||
cargo build --features "${FEATURES}" \
|
||||
-p nomos-node -p nomos-executor -p nomos-cli \
|
||||
-p logos-blockchain-node -p logos-blockchain-executor -p logos-blockchain-cli \
|
||||
--target-dir "${NODE_TARGET}"
|
||||
fi
|
||||
)
|
||||
@ -378,9 +382,9 @@ build_bundle::package_bundle() {
|
||||
mkdir -p "${bundle_dir}/artifacts/circuits"
|
||||
cp -a "${CIRCUITS_DIR}/." "${bundle_dir}/artifacts/circuits/"
|
||||
mkdir -p "${bundle_dir}/artifacts"
|
||||
cp "${NODE_BIN}" "${bundle_dir}/artifacts/"
|
||||
cp "${EXEC_BIN}" "${bundle_dir}/artifacts/"
|
||||
cp "${CLI_BIN}" "${bundle_dir}/artifacts/"
|
||||
cp "${NODE_BIN}" "${bundle_dir}/artifacts/logos-blockchain-node"
|
||||
cp "${EXEC_BIN}" "${bundle_dir}/artifacts/logos-blockchain-executor"
|
||||
cp "${CLI_BIN}" "${bundle_dir}/artifacts/logos-blockchain-cli"
|
||||
{
|
||||
echo "nomos_node_path=${NOMOS_NODE_PATH:-}"
|
||||
echo "nomos_node_rev=${NOMOS_NODE_REV:-}"
|
||||
|
||||
@ -17,8 +17,8 @@ Builds a Linux bundle via scripts/build/build-bundle.sh, then stages artifacts i
|
||||
- testing-framework/assets/stack/kzgrs_test_params (or NOMOS_KZG_DIR_REL)
|
||||
|
||||
Options:
|
||||
--rev REV nomos-node git revision to build (overrides NOMOS_NODE_REV)
|
||||
--path DIR use local nomos-node checkout (skip fetch/checkout)
|
||||
--rev REV logos-blockchain-node git revision to build (overrides NOMOS_NODE_REV)
|
||||
--path DIR use local logos-blockchain-node checkout (skip fetch/checkout)
|
||||
--features LIST extra cargo features (comma-separated); base includes "testing"
|
||||
--docker-platform PLAT docker platform for the Linux build (e.g. linux/amd64, linux/arm64)
|
||||
--tar PATH stage from an existing bundle tarball (skip build)
|
||||
@ -28,7 +28,7 @@ Options:
|
||||
Environment:
|
||||
VERSION circuits version (default from versions.env)
|
||||
NOMOS_CIRCUITS_VERSION legacy alias for VERSION (supported)
|
||||
NOMOS_NODE_REV default nomos-node revision (from versions.env)
|
||||
NOMOS_NODE_REV default logos-blockchain-node revision (from versions.env)
|
||||
NOMOS_KZG_DIR_REL host path for staged circuits dir (default: testing-framework/assets/stack/kzgrs_test_params)
|
||||
EOF
|
||||
}
|
||||
@ -133,9 +133,9 @@ build_linux_binaries::stage_from_bundle() {
|
||||
tar -xzf "${tar_path}" -C "${extract_dir}"
|
||||
|
||||
local artifacts="${extract_dir}/artifacts"
|
||||
[ -f "${artifacts}/nomos-node" ] || common::die "Missing nomos-node in bundle: ${tar_path}"
|
||||
[ -f "${artifacts}/nomos-executor" ] || common::die "Missing nomos-executor in bundle: ${tar_path}"
|
||||
[ -f "${artifacts}/nomos-cli" ] || common::die "Missing nomos-cli in bundle: ${tar_path}"
|
||||
[ -f "${artifacts}/logos-blockchain-node" ] || common::die "Missing logos-blockchain-node in bundle: ${tar_path}"
|
||||
[ -f "${artifacts}/logos-blockchain-executor" ] || common::die "Missing logos-blockchain-executor in bundle: ${tar_path}"
|
||||
[ -f "${artifacts}/logos-blockchain-cli" ] || common::die "Missing logos-blockchain-cli in bundle: ${tar_path}"
|
||||
[ -d "${artifacts}/circuits" ] || common::die "Missing circuits/ in bundle: ${tar_path}"
|
||||
|
||||
local bin_out="${ROOT_DIR}/testing-framework/assets/stack/bin"
|
||||
@ -144,7 +144,7 @@ build_linux_binaries::stage_from_bundle() {
|
||||
|
||||
echo "==> Staging binaries to ${bin_out}"
|
||||
mkdir -p "${bin_out}"
|
||||
cp "${artifacts}/nomos-node" "${artifacts}/nomos-executor" "${artifacts}/nomos-cli" "${bin_out}/"
|
||||
cp "${artifacts}/logos-blockchain-node" "${artifacts}/logos-blockchain-executor" "${artifacts}/logos-blockchain-cli" "${bin_out}/"
|
||||
|
||||
echo "==> Staging circuits to ${circuits_out}"
|
||||
rm -rf "${circuits_out}"
|
||||
|
||||
@ -138,8 +138,8 @@ build_test_image::print_config() {
|
||||
|
||||
build_test_image::have_host_binaries() {
|
||||
# Preserve existing behavior: only require node+executor on the host.
|
||||
# If nomos-cli is missing, the Dockerfile can still build it from source.
|
||||
[ -x "${BIN_DST}/nomos-node" ] && [ -x "${BIN_DST}/nomos-executor" ]
|
||||
# If logos-blockchain-cli is missing, the Dockerfile can still build it from source.
|
||||
[ -x "${BIN_DST}/logos-blockchain-node" ] && [ -x "${BIN_DST}/logos-blockchain-executor" ]
|
||||
}
|
||||
|
||||
build_test_image::restore_from_bundle() {
|
||||
@ -153,13 +153,13 @@ build_test_image::restore_from_bundle() {
|
||||
tar -xzf "${TAR_PATH}" -C "${tmp_extract}"
|
||||
local artifacts="${tmp_extract}/artifacts"
|
||||
|
||||
for bin in nomos-node nomos-executor nomos-cli; do
|
||||
for bin in logos-blockchain-node logos-blockchain-executor logos-blockchain-cli; do
|
||||
[ -f "${artifacts}/${bin}" ] || build_test_image::fail "Bundle ${TAR_PATH} missing artifacts/${bin}"
|
||||
done
|
||||
|
||||
mkdir -p "${BIN_DST}"
|
||||
cp "${artifacts}/nomos-node" "${artifacts}/nomos-executor" "${artifacts}/nomos-cli" "${BIN_DST}/"
|
||||
chmod +x "${BIN_DST}/nomos-node" "${BIN_DST}/nomos-executor" "${BIN_DST}/nomos-cli" || true
|
||||
cp "${artifacts}/logos-blockchain-node" "${artifacts}/logos-blockchain-executor" "${artifacts}/logos-blockchain-cli" "${BIN_DST}/"
|
||||
chmod +x "${BIN_DST}/logos-blockchain-node" "${BIN_DST}/logos-blockchain-executor" "${BIN_DST}/logos-blockchain-cli" || true
|
||||
|
||||
if [ -d "${artifacts}/circuits" ]; then
|
||||
mkdir -p "${CIRCUITS_DIR_HOST}"
|
||||
|
||||
@ -17,7 +17,7 @@ Usage:
|
||||
|
||||
Notes:
|
||||
--rev sets NOMOS_NODE_REV and updates Cargo.toml revs
|
||||
--path sets NOMOS_NODE_PATH (clears NOMOS_NODE_REV) and patches Cargo.toml to use a local nomos-node checkout
|
||||
--path sets NOMOS_NODE_PATH (clears NOMOS_NODE_REV) and patches Cargo.toml to use a local logos-blockchain-node checkout
|
||||
--unskip-worktree clears any skip-worktree flag for Cargo.toml
|
||||
Only one may be used at a time.
|
||||
EOF
|
||||
@ -85,7 +85,7 @@ update_nomos_rev::load_env() {
|
||||
|
||||
update_nomos_rev::update_to_rev() {
|
||||
local rev="$1"
|
||||
echo "Updating nomos-node rev to ${rev}"
|
||||
echo "Updating logos-blockchain-node rev to ${rev}"
|
||||
|
||||
sed -i.bak -E \
|
||||
-e "s/^#?[[:space:]]*NOMOS_NODE_REV=.*/NOMOS_NODE_REV=${rev}/" \
|
||||
@ -101,12 +101,12 @@ cargo_toml = root / "Cargo.toml"
|
||||
txt = cargo_toml.read_text()
|
||||
txt = txt.replace("\\n", "\n")
|
||||
txt = re.sub(
|
||||
r'(?ms)^\[patch\."https://github\.com/logos-co/nomos-node"\].*?(?=^\[|\Z)',
|
||||
r'(?ms)^\[patch\."https://github\.com/logos-co/logos-blockchain-node"\].*?(?=^\[|\Z)',
|
||||
"",
|
||||
txt,
|
||||
)
|
||||
txt = re.sub(
|
||||
r'(git = "https://github\.com/logos-co/nomos-node\.git", rev = ")[^"]+(")',
|
||||
r'(git = "https://github\.com/logos-co/logos-blockchain-node\.git", rev = ")[^"]+(")',
|
||||
r"\g<1>" + rev + r"\2",
|
||||
txt,
|
||||
)
|
||||
@ -118,7 +118,7 @@ PY
|
||||
|
||||
update_nomos_rev::update_to_path() {
|
||||
local node_path="$1"
|
||||
echo "Pointing to local nomos-node at ${node_path}"
|
||||
echo "Pointing to local logos-blockchain-node at ${node_path}"
|
||||
|
||||
[ -d "${node_path}" ] || common::die "path does not exist: ${node_path}"
|
||||
|
||||
@ -146,17 +146,45 @@ root = pathlib.Path(sys.argv[1])
|
||||
node_path = pathlib.Path(sys.argv[2])
|
||||
|
||||
targets = [
|
||||
"broadcast-service", "chain-leader", "chain-network", "chain-service",
|
||||
"common-http-client", "cryptarchia-engine", "cryptarchia-sync",
|
||||
"executor-http-client", "groth16", "key-management-system-service",
|
||||
"kzgrs", "kzgrs-backend", "nomos-api", "nomos-blend-message",
|
||||
"nomos-blend-service", "nomos-core", "nomos-da-dispersal",
|
||||
"nomos-da-network-core", "nomos-da-network-service", "nomos-da-sampling",
|
||||
"nomos-da-verifier", "nomos-executor", "nomos-http-api-common",
|
||||
"nomos-ledger", "nomos-libp2p", "nomos-network", "nomos-node",
|
||||
"nomos-sdp", "nomos-time", "nomos-tracing", "nomos-tracing-service",
|
||||
"nomos-utils", "nomos-wallet", "poc", "pol", "subnetworks-assignations",
|
||||
"tests", "tx-service", "wallet", "zksign",
|
||||
"logos-blockchain-api-service",
|
||||
"logos-blockchain-blend-message",
|
||||
"logos-blockchain-blend-service",
|
||||
"logos-blockchain-chain-broadcast-service",
|
||||
"logos-blockchain-chain-leader-service",
|
||||
"logos-blockchain-chain-network-service",
|
||||
"logos-blockchain-chain-service",
|
||||
"logos-blockchain-common-http-client",
|
||||
"logos-blockchain-cryptarchia-engine",
|
||||
"logos-blockchain-cryptarchia-sync",
|
||||
"logos-blockchain-da-dispersal-service",
|
||||
"logos-blockchain-da-network-core",
|
||||
"logos-blockchain-da-network-service",
|
||||
"logos-blockchain-da-sampling-service",
|
||||
"logos-blockchain-da-verifier-service",
|
||||
"logos-blockchain-executor",
|
||||
"logos-blockchain-executor-http-client",
|
||||
"logos-blockchain-groth16",
|
||||
"logos-blockchain-http-api-common",
|
||||
"logos-blockchain-key-management-system-service",
|
||||
"logos-blockchain-kzgrs",
|
||||
"logos-blockchain-kzgrs-backend",
|
||||
"logos-blockchain-ledger",
|
||||
"logos-blockchain-libp2p",
|
||||
"logos-blockchain-network-service",
|
||||
"logos-blockchain-node",
|
||||
"logos-blockchain-poc",
|
||||
"logos-blockchain-pol",
|
||||
"logos-blockchain-sdp-service",
|
||||
"logos-blockchain-subnetworks-assignations",
|
||||
"logos-blockchain-tests",
|
||||
"logos-blockchain-time-service",
|
||||
"logos-blockchain-tracing",
|
||||
"logos-blockchain-tracing-service",
|
||||
"logos-blockchain-tx-service",
|
||||
"logos-blockchain-utils",
|
||||
"logos-blockchain-wallet",
|
||||
"logos-blockchain-wallet-service",
|
||||
"logos-blockchain-zksign",
|
||||
]
|
||||
|
||||
try:
|
||||
@ -185,7 +213,7 @@ cargo_toml = root / "Cargo.toml"
|
||||
txt = cargo_toml.read_text()
|
||||
txt = txt.replace("\\n", "\n")
|
||||
txt = re.sub(
|
||||
r'(?ms)^\[patch\."https://github\.com/logos-co/nomos-node"\].*?(?=^\[|\Z)',
|
||||
r'(?ms)^\[patch\."https://github\.com/logos-co/logos-blockchain-node"\].*?(?=^\[|\Z)',
|
||||
"",
|
||||
txt,
|
||||
)
|
||||
@ -194,14 +222,14 @@ cargo_toml.write_text(txt)
|
||||
|
||||
if missing:
|
||||
sys.stderr.write(
|
||||
"Warning: missing crates in local nomos-node checkout: "
|
||||
"Warning: missing crates in local logos-blockchain-node checkout: "
|
||||
+ ", ".join(missing)
|
||||
+ "\n"
|
||||
)
|
||||
PY
|
||||
|
||||
update_nomos_rev::maybe_skip_worktree "Cargo.toml"
|
||||
echo "Local nomos-node patch applied; Cargo.toml marked skip-worktree (run --unskip-worktree to clear)."
|
||||
echo "Local logos-blockchain-node patch applied; Cargo.toml marked skip-worktree (run --unskip-worktree to clear)."
|
||||
}
|
||||
|
||||
update_nomos_rev::main() {
|
||||
|
||||
@ -339,12 +339,12 @@ run_examples::bundle_matches_expected() {
|
||||
tar_rev="$(echo "${meta}" | sed -n 's/^nomos_node_rev=//p' | head -n 1)"
|
||||
tar_head="$(echo "${meta}" | sed -n 's/^nomos_node_git_head=//p' | head -n 1)"
|
||||
if [ -n "${tar_rev}" ] && [ "${tar_rev}" != "${NOMOS_NODE_REV}" ]; then
|
||||
echo "Bundle ${tar_path} is for nomos-node rev ${tar_rev}, expected ${NOMOS_NODE_REV}; rebuilding." >&2
|
||||
echo "Bundle ${tar_path} is for logos-blockchain-node rev ${tar_rev}, expected ${NOMOS_NODE_REV}; rebuilding." >&2
|
||||
return 1
|
||||
fi
|
||||
if [ -n "${tar_head}" ] && echo "${NOMOS_NODE_REV}" | grep -Eq '^[0-9a-f]{7,40}$'; then
|
||||
if [ "${tar_head}" != "${NOMOS_NODE_REV}" ]; then
|
||||
echo "Bundle ${tar_path} is for nomos-node git head ${tar_head}, expected ${NOMOS_NODE_REV}; rebuilding." >&2
|
||||
echo "Bundle ${tar_path} is for logos-blockchain-node git head ${tar_head}, expected ${NOMOS_NODE_REV}; rebuilding." >&2
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
@ -388,20 +388,20 @@ run_examples::restore_binaries_from_tar() {
|
||||
RESTORED_BIN_DIR="${src}"
|
||||
export RESTORED_BIN_DIR
|
||||
|
||||
if [ ! -f "${src}/nomos-node" ] || [ ! -f "${src}/nomos-executor" ] || [ ! -f "${src}/nomos-cli" ]; then
|
||||
if [ ! -f "${src}/logos-blockchain-node" ] || [ ! -f "${src}/logos-blockchain-executor" ] || [ ! -f "${src}/logos-blockchain-cli" ]; then
|
||||
echo "Binaries missing in ${tar_path}; provide a prebuilt binaries tarball." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
local copy_bins=1
|
||||
if [ "${MODE}" != "host" ] && ! run_examples::host_bin_matches_arch "${src}/nomos-node"; then
|
||||
if [ "${MODE}" != "host" ] && ! run_examples::host_bin_matches_arch "${src}/logos-blockchain-node"; then
|
||||
echo "Bundled binaries do not match host arch; skipping copy so containers rebuild from source."
|
||||
copy_bins=0
|
||||
rm -f "${bin_dst}/nomos-node" "${bin_dst}/nomos-executor" "${bin_dst}/nomos-cli"
|
||||
rm -f "${bin_dst}/logos-blockchain-node" "${bin_dst}/logos-blockchain-executor" "${bin_dst}/logos-blockchain-cli"
|
||||
fi
|
||||
if [ "${copy_bins}" -eq 1 ]; then
|
||||
mkdir -p "${bin_dst}"
|
||||
cp "${src}/nomos-node" "${src}/nomos-executor" "${src}/nomos-cli" "${bin_dst}/"
|
||||
cp "${src}/logos-blockchain-node" "${src}/logos-blockchain-executor" "${src}/logos-blockchain-cli" "${bin_dst}/"
|
||||
fi
|
||||
|
||||
if [ -d "${circuits_src}" ] && [ -f "${circuits_src}/${KZG_FILE}" ]; then
|
||||
@ -510,8 +510,8 @@ run_examples::validate_restored_bundle() {
|
||||
|
||||
if [ "${MODE}" = "host" ] && ! { [ -n "${NOMOS_NODE_BIN:-}" ] && [ -x "${NOMOS_NODE_BIN:-}" ] && [ -n "${NOMOS_EXECUTOR_BIN:-}" ] && [ -x "${NOMOS_EXECUTOR_BIN:-}" ]; }; then
|
||||
local tar_node tar_exec
|
||||
tar_node="${RESTORED_BIN_DIR:-${ROOT_DIR}/testing-framework/assets/stack/bin}/nomos-node"
|
||||
tar_exec="${RESTORED_BIN_DIR:-${ROOT_DIR}/testing-framework/assets/stack/bin}/nomos-executor"
|
||||
tar_node="${RESTORED_BIN_DIR:-${ROOT_DIR}/testing-framework/assets/stack/bin}/logos-blockchain-node"
|
||||
tar_exec="${RESTORED_BIN_DIR:-${ROOT_DIR}/testing-framework/assets/stack/bin}/logos-blockchain-executor"
|
||||
|
||||
[ -x "${tar_node}" ] && [ -x "${tar_exec}" ] || common::die \
|
||||
"Restored tarball missing host executables; provide a host-compatible binaries tarball."
|
||||
@ -574,6 +574,7 @@ run_examples::run() {
|
||||
TESTNET_PRINT_ENDPOINTS=1 \
|
||||
NOMOS_TESTNET_IMAGE="${IMAGE}" \
|
||||
NOMOS_CIRCUITS="${HOST_BUNDLE_PATH}" \
|
||||
LOGOS_BLOCKCHAIN_CIRCUITS="${HOST_BUNDLE_PATH}" \
|
||||
NOMOS_KZGRS_PARAMS_PATH="${kzg_path}" \
|
||||
NOMOS_NODE_BIN="${NOMOS_NODE_BIN:-}" \
|
||||
NOMOS_EXECUTOR_BIN="${NOMOS_EXECUTOR_BIN:-}" \
|
||||
|
||||
@ -8,7 +8,7 @@ fi
|
||||
# shellcheck disable=SC1091
|
||||
. "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/../lib/common.sh"
|
||||
|
||||
readonly DEFAULT_CIRCUITS_VERSION="v0.3.1"
|
||||
readonly DEFAULT_CIRCUITS_VERSION="v0.3.2"
|
||||
readonly DEFAULT_LINUX_PLATFORM="linux-x86_64"
|
||||
|
||||
readonly DEFAULT_KZG_DIR_REL="testing-framework/assets/stack/kzgrs_test_params"
|
||||
@ -89,7 +89,7 @@ setup_circuits_stack::fetch_bundle() {
|
||||
setup_circuits_stack::fetch_kzg_params() {
|
||||
local dest_dir="$1"
|
||||
local dest_file="${dest_dir}/${KZG_FILE}"
|
||||
local url="${RAW_GITHUB_BASE_URL}/logos-co/nomos-node/${NOMOS_NODE_REV}/${DEFAULT_KZG_PARAMS_RELPATH}"
|
||||
local url="${RAW_GITHUB_BASE_URL}/logos-co/logos-blockchain-node/${NOMOS_NODE_REV}/${DEFAULT_KZG_PARAMS_RELPATH}"
|
||||
|
||||
echo "Fetching KZG parameters from ${url}"
|
||||
curl -fsSL "${url}" -o "${dest_file}"
|
||||
|
||||
@ -5,290 +5,176 @@ if [ -z "${BASH_VERSION:-}" ]; then
|
||||
exec bash "$0" "$@"
|
||||
fi
|
||||
|
||||
readonly DEFAULT_CIRCUITS_VERSION="v0.3.1"
|
||||
readonly DEFAULT_INSTALL_SUBDIR=".nomos-circuits"
|
||||
readonly DEFAULT_CIRCUITS_REPO="logos-co/nomos-circuits"
|
||||
# Setup script for logos-blockchain-circuits
|
||||
#
|
||||
# Usage: scripts/setup/setup-nomos-circuits.sh [VERSION] [INSTALL_DIR]
|
||||
#
|
||||
# Arguments:
|
||||
# VERSION Optional. Version to install (default: v0.3.2)
|
||||
# INSTALL_DIR Optional. Installation directory (default: $HOME/.logos-blockchain-circuits)
|
||||
#
|
||||
# Examples:
|
||||
# scripts/setup/setup-nomos-circuits.sh
|
||||
# scripts/setup/setup-nomos-circuits.sh v0.3.2
|
||||
# scripts/setup/setup-nomos-circuits.sh v0.3.2 /opt/circuits
|
||||
|
||||
readonly DEFAULT_NONINTERACTIVE=0
|
||||
readonly DEFAULT_REBUILD_RAPIDSNARK=0
|
||||
DEFAULT_CIRCUITS_VERSION="v0.3.2"
|
||||
DEFAULT_INSTALL_DIR="${HOME}/.logos-blockchain-circuits"
|
||||
REPO="logos-blockchain/logos-blockchain-circuits"
|
||||
|
||||
readonly CURL_RETRY_COUNT=5
|
||||
readonly CURL_RETRY_DELAY_SECONDS=2
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
readonly ANSI_RED=$'\033[0;31m'
|
||||
readonly ANSI_GREEN=$'\033[0;32m'
|
||||
readonly ANSI_YELLOW=$'\033[1;33m'
|
||||
readonly ANSI_BLUE=$'\033[0;34m'
|
||||
readonly ANSI_RESET=$'\033[0m'
|
||||
print_info() { echo -e "${BLUE}ℹ${NC} $1"; }
|
||||
print_success() { echo -e "${GREEN}✓${NC} $1"; }
|
||||
print_warning() { echo -e "${YELLOW}⚠${NC} $1"; }
|
||||
print_error() { echo -e "${RED}✗${NC} $1"; }
|
||||
|
||||
readonly ICON_INFO="ℹ"
|
||||
readonly ICON_OK="✓"
|
||||
readonly ICON_WARN="⚠"
|
||||
readonly ICON_ERR="✗"
|
||||
VERSION="${1:-${DEFAULT_CIRCUITS_VERSION}}"
|
||||
INSTALL_DIR="${2:-${DEFAULT_INSTALL_DIR}}"
|
||||
|
||||
setup_nomos_circuits::usage() {
|
||||
cat <<EOF
|
||||
Usage: scripts/setup/setup-nomos-circuits.sh [VERSION] [INSTALL_DIR]
|
||||
|
||||
Arguments:
|
||||
VERSION Optional. Version to install (default: ${DEFAULT_CIRCUITS_VERSION})
|
||||
INSTALL_DIR Optional. Installation directory (default: \$HOME/${DEFAULT_INSTALL_SUBDIR})
|
||||
|
||||
Environment:
|
||||
NOMOS_CIRCUITS_PLATFORM Override platform (e.g. linux-x86_64, macos-aarch64)
|
||||
NOMOS_CIRCUITS_NONINTERACTIVE Set to 1 to auto-overwrite without prompt
|
||||
NOMOS_CIRCUITS_REBUILD_RAPIDSNARK Set to 1 to force rapidsnark rebuild
|
||||
GITHUB_TOKEN Optional token for GitHub releases download
|
||||
EOF
|
||||
}
|
||||
|
||||
setup_nomos_circuits::init_vars() {
|
||||
VERSION="${1:-${DEFAULT_CIRCUITS_VERSION}}"
|
||||
DEFAULT_INSTALL_DIR="${HOME}/${DEFAULT_INSTALL_SUBDIR}"
|
||||
INSTALL_DIR="${2:-${DEFAULT_INSTALL_DIR}}"
|
||||
REPO="${DEFAULT_CIRCUITS_REPO}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
NONINTERACTIVE="${NOMOS_CIRCUITS_NONINTERACTIVE:-${DEFAULT_NONINTERACTIVE}}"
|
||||
|
||||
# Colors for output
|
||||
RED="${ANSI_RED}"
|
||||
GREEN="${ANSI_GREEN}"
|
||||
YELLOW="${ANSI_YELLOW}"
|
||||
BLUE="${ANSI_BLUE}"
|
||||
NC="${ANSI_RESET}"
|
||||
}
|
||||
|
||||
setup_nomos_circuits::print_info() { echo -e "${BLUE}${ICON_INFO}${NC} $1"; }
|
||||
setup_nomos_circuits::print_success() { echo -e "${GREEN}${ICON_OK}${NC} $1"; }
|
||||
setup_nomos_circuits::print_warning() { echo -e "${YELLOW}${ICON_WARN}${NC} $1"; }
|
||||
setup_nomos_circuits::print_error() { echo -e "${RED}${ICON_ERR}${NC} $1"; }
|
||||
|
||||
setup_nomos_circuits::detect_platform() {
|
||||
# Detect OS and architecture
|
||||
# Outputs: os-arch like linux-x86_64, macos-aarch64
|
||||
#
|
||||
# Uses same logic as the logos-blockchain-node installer.
|
||||
detect_platform() {
|
||||
local os="" arch=""
|
||||
|
||||
case "$(uname -s)" in
|
||||
Linux*) os="linux" ;;
|
||||
Darwin*) os="macos" ;;
|
||||
MINGW*|MSYS*|CYGWIN*) os="windows" ;;
|
||||
*) setup_nomos_circuits::print_error "Unsupported operating system: $(uname -s)"; exit 1 ;;
|
||||
*) print_error "Unsupported operating system: $(uname -s)"; exit 1 ;;
|
||||
esac
|
||||
|
||||
case "$(uname -m)" in
|
||||
x86_64) arch="x86_64" ;;
|
||||
aarch64|arm64) arch="aarch64" ;;
|
||||
*) setup_nomos_circuits::print_error "Unsupported architecture: $(uname -m)"; exit 1 ;;
|
||||
*) print_error "Unsupported architecture: $(uname -m)"; exit 1 ;;
|
||||
esac
|
||||
|
||||
echo "${os}-${arch}"
|
||||
}
|
||||
|
||||
setup_nomos_circuits::check_existing_installation() {
|
||||
check_existing_installation() {
|
||||
if [ -d "${INSTALL_DIR}" ]; then
|
||||
setup_nomos_circuits::print_warning "Installation directory already exists: ${INSTALL_DIR}"
|
||||
print_warning "Installation directory already exists: ${INSTALL_DIR}"
|
||||
|
||||
if [ -f "${INSTALL_DIR}/VERSION" ]; then
|
||||
local current_version
|
||||
current_version="$(cat "${INSTALL_DIR}/VERSION")"
|
||||
setup_nomos_circuits::print_info "Currently installed version: ${current_version}"
|
||||
print_info "Currently installed version: ${current_version}"
|
||||
fi
|
||||
|
||||
if [ "${NONINTERACTIVE}" = "1" ] || [ ! -t 0 ]; then
|
||||
setup_nomos_circuits::print_info "Non-interactive environment detected, automatically overwriting..."
|
||||
if [ ! -t 0 ]; then
|
||||
print_info "Non-interactive environment detected, automatically overwriting..."
|
||||
else
|
||||
echo
|
||||
read -p "Do you want to overwrite it? (y/N): " -n 1 -r
|
||||
echo
|
||||
if [[ ! ${REPLY} =~ ^[Yy]$ ]]; then
|
||||
setup_nomos_circuits::print_info "Installation cancelled."
|
||||
print_info "Installation cancelled."
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
setup_nomos_circuits::print_info "Removing existing installation..."
|
||||
print_info "Removing existing installation..."
|
||||
rm -rf "${INSTALL_DIR}"
|
||||
fi
|
||||
}
|
||||
|
||||
setup_nomos_circuits::download_release() {
|
||||
download_release() {
|
||||
local platform="$1"
|
||||
local artifact="nomos-circuits-${VERSION}-${platform}.tar.gz"
|
||||
local artifact="logos-blockchain-circuits-${VERSION}-${platform}.tar.gz"
|
||||
local url="https://github.com/${REPO}/releases/download/${VERSION}/${artifact}"
|
||||
local temp_dir
|
||||
temp_dir="$(mktemp -d)"
|
||||
|
||||
setup_nomos_circuits::print_info "Downloading nomos-circuits ${VERSION} for ${platform}..."
|
||||
setup_nomos_circuits::print_info "URL: ${url}"
|
||||
|
||||
local -a curl_args=(
|
||||
curl
|
||||
-fL
|
||||
--retry "${CURL_RETRY_COUNT}"
|
||||
--retry-delay "${CURL_RETRY_DELAY_SECONDS}"
|
||||
)
|
||||
# `curl` is not guaranteed to support `--retry-all-errors`, so check before using it
|
||||
# `curl --help` may be abbreviated on some platforms
|
||||
if (curl --help all 2>/dev/null || curl --help 2>/dev/null) | grep -q -- '--retry-all-errors'; then
|
||||
curl_args+=(--retry-all-errors)
|
||||
fi
|
||||
print_info "Downloading logos-blockchain-circuits ${VERSION} for ${platform}..."
|
||||
print_info "URL: ${url}"
|
||||
|
||||
local curl_cmd="curl -L"
|
||||
if [ -n "${GITHUB_TOKEN:-}" ]; then
|
||||
curl_args+=(--header "authorization: Bearer ${GITHUB_TOKEN}")
|
||||
curl_cmd="$curl_cmd --header 'authorization: Bearer ${GITHUB_TOKEN}'"
|
||||
fi
|
||||
curl_args+=(-o "${temp_dir}/${artifact}" "${url}")
|
||||
curl_cmd="$curl_cmd -o ${temp_dir}/${artifact} ${url}"
|
||||
|
||||
if ! "${curl_args[@]}"; then
|
||||
setup_nomos_circuits::print_error "Failed to download release artifact"
|
||||
setup_nomos_circuits::print_error "Please check that version ${VERSION} exists for platform ${platform}"
|
||||
setup_nomos_circuits::print_error "Available releases: https://github.com/${REPO}/releases"
|
||||
if ! eval "${curl_cmd}"; then
|
||||
print_error "Failed to download release artifact"
|
||||
print_error "Please check that version ${VERSION} exists for platform ${platform}"
|
||||
print_error "Available releases: https://github.com/${REPO}/releases"
|
||||
rm -rf "${temp_dir}"
|
||||
return 1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
setup_nomos_circuits::print_success "Download complete"
|
||||
print_success "Download complete"
|
||||
|
||||
if ! tar -tzf "${temp_dir}/${artifact}" >/dev/null 2>&1; then
|
||||
setup_nomos_circuits::print_error "Downloaded archive is not a valid tar.gz: ${temp_dir}/${artifact}"
|
||||
rm -rf "${temp_dir}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
setup_nomos_circuits::print_info "Extracting to ${INSTALL_DIR}..."
|
||||
print_info "Extracting to ${INSTALL_DIR}..."
|
||||
mkdir -p "${INSTALL_DIR}"
|
||||
|
||||
if ! tar -xzf "${temp_dir}/${artifact}" -C "${INSTALL_DIR}" --strip-components=1; then
|
||||
setup_nomos_circuits::print_error "Failed to extract archive"
|
||||
print_error "Failed to extract archive"
|
||||
rm -rf "${temp_dir}"
|
||||
return 1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf "${temp_dir}"
|
||||
setup_nomos_circuits::print_success "Extraction complete"
|
||||
print_success "Extraction complete"
|
||||
}
|
||||
|
||||
setup_nomos_circuits::handle_macos_quarantine() {
|
||||
setup_nomos_circuits::print_info "macOS detected: Removing quarantine attributes from executables..."
|
||||
handle_macos_quarantine() {
|
||||
print_info "macOS detected: Removing quarantine attributes from executables..."
|
||||
|
||||
if find "${INSTALL_DIR}" -type f -perm -111 -exec xattr -d com.apple.quarantine {} \; 2>/dev/null; then
|
||||
setup_nomos_circuits::print_success "Quarantine attributes removed"
|
||||
if find "${INSTALL_DIR}" -type f -perm +111 -exec xattr -d com.apple.quarantine {} \; 2>/dev/null; then
|
||||
print_success "Quarantine attributes removed"
|
||||
else
|
||||
setup_nomos_circuits::print_warning "Could not remove quarantine attributes (they may not exist)"
|
||||
print_warning "Could not remove quarantine attributes (they may not exist)"
|
||||
fi
|
||||
}
|
||||
|
||||
setup_nomos_circuits::print_circuits() {
|
||||
setup_nomos_circuits::print_info "The following circuits are available:"
|
||||
local dir circuit_name
|
||||
print_circuits() {
|
||||
print_info "The following circuits are available:"
|
||||
|
||||
local dir
|
||||
for dir in "${INSTALL_DIR}"/*/; do
|
||||
if [ -d "${dir}" ]; then
|
||||
circuit_name="$(basename "${dir}")"
|
||||
if [ -f "${dir}/witness_generator" ]; then
|
||||
echo " • ${circuit_name}"
|
||||
fi
|
||||
if [ -d "${dir}" ] && [ -f "${dir}/witness_generator" ]; then
|
||||
echo " • $(basename "${dir}")"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
setup_nomos_circuits::resolve_platform() {
|
||||
local platform_override="${NOMOS_CIRCUITS_PLATFORM:-}"
|
||||
if [ -n "${platform_override}" ]; then
|
||||
PLATFORM="${platform_override}"
|
||||
setup_nomos_circuits::print_info "Using overridden platform: ${PLATFORM}"
|
||||
else
|
||||
PLATFORM="$(setup_nomos_circuits::detect_platform)"
|
||||
setup_nomos_circuits::print_info "Detected platform: ${PLATFORM}"
|
||||
fi
|
||||
}
|
||||
|
||||
setup_nomos_circuits::download_with_fallbacks() {
|
||||
# Outputs:
|
||||
# PLATFORM - platform used for the downloaded bundle
|
||||
# REBUILD_REQUIRED - 0/1
|
||||
REBUILD_REQUIRED="${NOMOS_CIRCUITS_REBUILD_RAPIDSNARK:-${DEFAULT_REBUILD_RAPIDSNARK}}"
|
||||
|
||||
if setup_nomos_circuits::download_release "${PLATFORM}"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ "${PLATFORM}" == "linux-aarch64" ]]; then
|
||||
setup_nomos_circuits::print_warning "Falling back to linux-x86_64 circuits bundle; will rebuild prover for aarch64."
|
||||
rm -rf "${INSTALL_DIR}"
|
||||
PLATFORM="linux-x86_64"
|
||||
setup_nomos_circuits::download_release "${PLATFORM}" || return 1
|
||||
REBUILD_REQUIRED=1
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ "${PLATFORM}" == "macos-x86_64" ]]; then
|
||||
setup_nomos_circuits::print_warning "No macOS x86_64 bundle; falling back to macOS aarch64 circuits bundle and rebuilding prover."
|
||||
rm -rf "${INSTALL_DIR}"
|
||||
PLATFORM="macos-aarch64"
|
||||
if ! setup_nomos_circuits::download_release "${PLATFORM}"; then
|
||||
setup_nomos_circuits::print_warning "macOS aarch64 bundle unavailable; trying linux-x86_64 bundle and rebuilding prover."
|
||||
rm -rf "${INSTALL_DIR}"
|
||||
PLATFORM="linux-x86_64"
|
||||
setup_nomos_circuits::download_release "${PLATFORM}" || return 1
|
||||
fi
|
||||
REBUILD_REQUIRED=1
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
setup_nomos_circuits::maybe_handle_quarantine() {
|
||||
if [[ "${PLATFORM}" == macos-* ]]; then
|
||||
echo
|
||||
setup_nomos_circuits::handle_macos_quarantine
|
||||
fi
|
||||
}
|
||||
|
||||
setup_nomos_circuits::maybe_rebuild_rapidsnark() {
|
||||
if [[ "${REBUILD_REQUIRED}" == "1" ]]; then
|
||||
echo
|
||||
setup_nomos_circuits::print_info "Rebuilding rapidsnark prover for ${PLATFORM}..."
|
||||
"${SCRIPT_DIR}/build/build-rapidsnark.sh" "${INSTALL_DIR}"
|
||||
else
|
||||
setup_nomos_circuits::print_info "Skipping rapidsnark rebuild (set NOMOS_CIRCUITS_REBUILD_RAPIDSNARK=1 to force)."
|
||||
fi
|
||||
}
|
||||
|
||||
setup_nomos_circuits::print_summary() {
|
||||
main() {
|
||||
print_info "Setting up logos-blockchain-circuits ${VERSION}"
|
||||
print_info "Installation directory: ${INSTALL_DIR}"
|
||||
echo
|
||||
setup_nomos_circuits::print_success "Installation complete!"
|
||||
|
||||
local platform
|
||||
platform="$(detect_platform)"
|
||||
print_info "Detected platform: ${platform}"
|
||||
|
||||
check_existing_installation
|
||||
download_release "${platform}"
|
||||
|
||||
if [[ "${platform}" == macos-* ]]; then
|
||||
echo
|
||||
handle_macos_quarantine
|
||||
fi
|
||||
|
||||
echo
|
||||
setup_nomos_circuits::print_info "nomos-circuits ${VERSION} is now installed at: ${INSTALL_DIR}"
|
||||
setup_nomos_circuits::print_circuits
|
||||
print_success "Installation complete!"
|
||||
echo
|
||||
print_info "logos-blockchain-circuits ${VERSION} is now installed at: ${INSTALL_DIR}"
|
||||
print_circuits
|
||||
|
||||
if [ "${INSTALL_DIR}" != "${DEFAULT_INSTALL_DIR}" ]; then
|
||||
echo
|
||||
setup_nomos_circuits::print_info "Since you're using a custom installation directory, set the environment variable:"
|
||||
setup_nomos_circuits::print_info " export NOMOS_CIRCUITS=${INSTALL_DIR}"
|
||||
print_info "Since you're using a custom installation directory, set the environment variable:"
|
||||
print_info " export LOGOS_BLOCKCHAIN_CIRCUITS=${INSTALL_DIR}"
|
||||
echo
|
||||
fi
|
||||
}
|
||||
|
||||
setup_nomos_circuits::main() {
|
||||
if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then
|
||||
setup_nomos_circuits::usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
setup_nomos_circuits::init_vars "${1:-}" "${2:-}"
|
||||
|
||||
setup_nomos_circuits::print_info "Setting up nomos-circuits ${VERSION}"
|
||||
setup_nomos_circuits::print_info "Installation directory: ${INSTALL_DIR}"
|
||||
echo
|
||||
|
||||
setup_nomos_circuits::resolve_platform
|
||||
|
||||
setup_nomos_circuits::check_existing_installation
|
||||
|
||||
setup_nomos_circuits::download_with_fallbacks || exit 1
|
||||
setup_nomos_circuits::maybe_handle_quarantine
|
||||
setup_nomos_circuits::maybe_rebuild_rapidsnark
|
||||
setup_nomos_circuits::print_summary
|
||||
}
|
||||
|
||||
if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
|
||||
setup_nomos_circuits::main "$@"
|
||||
fi
|
||||
main "$@"
|
||||
|
||||
@ -45,6 +45,7 @@ RUN chmod +x \
|
||||
RUN /workspace/testing-framework/assets/stack/scripts/docker/prepare_circuits.sh
|
||||
|
||||
ENV NOMOS_CIRCUITS=/opt/circuits
|
||||
ENV LOGOS_BLOCKCHAIN_CIRCUITS=/opt/circuits
|
||||
|
||||
RUN /workspace/testing-framework/assets/stack/scripts/docker/prepare_binaries.sh
|
||||
|
||||
@ -77,12 +78,13 @@ COPY --from=builder /opt/circuits /opt/circuits
|
||||
# not rely on hostPath volumes.
|
||||
COPY --from=builder /workspace/testing-framework/assets/stack/kzgrs_test_params/kzgrs_test_params /opt/nomos/kzg-params/kzgrs_test_params
|
||||
|
||||
COPY --from=builder /workspace/artifacts/nomos-node /usr/bin/nomos-node
|
||||
COPY --from=builder /workspace/artifacts/nomos-executor /usr/bin/nomos-executor
|
||||
COPY --from=builder /workspace/artifacts/nomos-cli /usr/bin/nomos-cli
|
||||
COPY --from=builder /workspace/artifacts/logos-blockchain-node /usr/bin/logos-blockchain-node
|
||||
COPY --from=builder /workspace/artifacts/logos-blockchain-executor /usr/bin/logos-blockchain-executor
|
||||
COPY --from=builder /workspace/artifacts/logos-blockchain-cli /usr/bin/logos-blockchain-cli
|
||||
COPY --from=builder /workspace/artifacts/cfgsync-server /usr/bin/cfgsync-server
|
||||
COPY --from=builder /workspace/artifacts/cfgsync-client /usr/bin/cfgsync-client
|
||||
|
||||
ENV NOMOS_CIRCUITS=/opt/circuits
|
||||
ENV LOGOS_BLOCKCHAIN_CIRCUITS=/opt/circuits
|
||||
|
||||
EXPOSE 3000 8080 9000 60000
|
||||
|
||||
@ -6,4 +6,4 @@ FROM ${BASE_IMAGE}
|
||||
|
||||
LABEL description="Logos runtime image for compose/k8s testing"
|
||||
|
||||
ENTRYPOINT ["/usr/bin/nomos-node"]
|
||||
ENTRYPOINT ["/usr/bin/logos-blockchain-node"]
|
||||
|
||||
@ -6,4 +6,4 @@ FROM ${BASE_IMAGE}
|
||||
|
||||
LABEL description="Logos testnet image (publishable)"
|
||||
|
||||
ENTRYPOINT ["/usr/bin/nomos-node"]
|
||||
ENTRYPOINT ["/usr/bin/logos-blockchain-node"]
|
||||
|
||||
@ -8,14 +8,14 @@ mkdir -p /workspace/artifacts
|
||||
TARGET_ARCH="$(uname -m)"
|
||||
|
||||
have_prebuilt() {
|
||||
[ -f testing-framework/assets/stack/bin/nomos-node ] && \
|
||||
[ -f testing-framework/assets/stack/bin/nomos-executor ] && \
|
||||
[ -f testing-framework/assets/stack/bin/nomos-cli ]
|
||||
[ -f testing-framework/assets/stack/bin/logos-blockchain-node ] && \
|
||||
[ -f testing-framework/assets/stack/bin/logos-blockchain-executor ] && \
|
||||
[ -f testing-framework/assets/stack/bin/logos-blockchain-cli ]
|
||||
}
|
||||
|
||||
bin_matches_arch() {
|
||||
local info
|
||||
info="$(file -b testing-framework/assets/stack/bin/nomos-node 2>/dev/null || true)"
|
||||
info="$(file -b testing-framework/assets/stack/bin/logos-blockchain-node 2>/dev/null || true)"
|
||||
case "${info}" in
|
||||
*ELF*) : ;;
|
||||
*) return 1 ;;
|
||||
@ -33,9 +33,9 @@ bin_matches_arch() {
|
||||
|
||||
if have_prebuilt && bin_matches_arch; then
|
||||
echo "Using prebuilt nomos binaries from testing-framework/assets/stack/bin"
|
||||
cp testing-framework/assets/stack/bin/nomos-node /workspace/artifacts/nomos-node
|
||||
cp testing-framework/assets/stack/bin/nomos-executor /workspace/artifacts/nomos-executor
|
||||
cp testing-framework/assets/stack/bin/nomos-cli /workspace/artifacts/nomos-cli
|
||||
cp testing-framework/assets/stack/bin/logos-blockchain-node /workspace/artifacts/logos-blockchain-node
|
||||
cp testing-framework/assets/stack/bin/logos-blockchain-executor /workspace/artifacts/logos-blockchain-executor
|
||||
cp testing-framework/assets/stack/bin/logos-blockchain-cli /workspace/artifacts/logos-blockchain-cli
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@ -47,19 +47,20 @@ fi
|
||||
|
||||
echo "Building nomos binaries from source (rev ${NOMOS_NODE_REV})"
|
||||
git clone https://github.com/logos-co/nomos-node.git /tmp/nomos-node
|
||||
cd /tmp/nomos-node
|
||||
cd /tmp/logos-blockchain-node
|
||||
git fetch --depth 1 origin "${NOMOS_NODE_REV}"
|
||||
git checkout "${NOMOS_NODE_REV}"
|
||||
git reset --hard
|
||||
git clean -fdx
|
||||
|
||||
# Enable pol-dev-mode via cfg to let POL_PROOF_DEV_MODE short-circuit proofs in tests.
|
||||
RUSTFLAGS='--cfg feature="pol-dev-mode"' NOMOS_CIRCUITS=/opt/circuits cargo build --features "testing" \
|
||||
-p nomos-node -p nomos-executor -p nomos-cli
|
||||
RUSTFLAGS='--cfg feature="pol-dev-mode"' NOMOS_CIRCUITS=/opt/circuits \
|
||||
LOGOS_BLOCKCHAIN_CIRCUITS=/opt/circuits \
|
||||
cargo build --features "testing" \
|
||||
-p logos-blockchain-node -p logos-blockchain-executor -p logos-blockchain-cli
|
||||
|
||||
cp /tmp/nomos-node/target/debug/nomos-node /workspace/artifacts/nomos-node
|
||||
cp /tmp/nomos-node/target/debug/nomos-executor /workspace/artifacts/nomos-executor
|
||||
cp /tmp/nomos-node/target/debug/nomos-cli /workspace/artifacts/nomos-cli
|
||||
|
||||
rm -rf /tmp/nomos-node/target/debug/incremental
|
||||
cp /tmp/logos-blockchain-node/target/debug/logos-blockchain-node /workspace/artifacts/logos-blockchain-node
|
||||
cp /tmp/logos-blockchain-node/target/debug/logos-blockchain-executor /workspace/artifacts/logos-blockchain-executor
|
||||
cp /tmp/logos-blockchain-node/target/debug/logos-blockchain-cli /workspace/artifacts/logos-blockchain-cli
|
||||
|
||||
rm -rf /tmp/logos-blockchain-node/target/debug/incremental
|
||||
|
||||
@ -6,8 +6,8 @@ role="${1:-validator}"
|
||||
|
||||
bin_for_role() {
|
||||
case "$1" in
|
||||
validator) echo "/usr/bin/nomos-node" ;;
|
||||
executor) echo "/usr/bin/nomos-executor" ;;
|
||||
validator) echo "/usr/bin/logos-blockchain-node" ;;
|
||||
executor) echo "/usr/bin/logos-blockchain-executor" ;;
|
||||
*) echo "Unknown role: $1" >&2; exit 2 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@ cryptarchia-sync = { workspace = true }
|
||||
groth16 = { workspace = true }
|
||||
hex = { version = "0.4.3", default-features = false }
|
||||
key-management-system-service = { workspace = true }
|
||||
logos-blockchain-executor = { workspace = true, default-features = false, features = ["testing", "tracing"] }
|
||||
nomos-api = { workspace = true }
|
||||
nomos-blend-service = { workspace = true, features = ["libp2p"] }
|
||||
nomos-core = { workspace = true }
|
||||
@ -27,7 +28,6 @@ nomos-da-network-core = { workspace = true }
|
||||
nomos-da-network-service = { workspace = true }
|
||||
nomos-da-sampling = { workspace = true }
|
||||
nomos-da-verifier = { workspace = true }
|
||||
nomos-executor = { workspace = true, default-features = false, features = ["testing", "tracing"] }
|
||||
nomos-ledger = { workspace = true, features = ["serde"] }
|
||||
nomos-libp2p = { workspace = true }
|
||||
nomos-node = { workspace = true, default-features = false, features = ["testing"] }
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
use logos_blockchain_executor::config::Config as ExecutorConfig;
|
||||
use nomos_da_dispersal::{
|
||||
DispersalServiceSettings,
|
||||
backend::kzgrs::{DispersalKZGRSBackendSettings, EncoderSettings},
|
||||
@ -10,7 +11,6 @@ use nomos_da_network_service::{
|
||||
common::DaNetworkBackendSettings, executor::DaNetworkExecutorBackendSettings,
|
||||
},
|
||||
};
|
||||
use nomos_executor::config::Config as ExecutorConfig;
|
||||
use nomos_node::{RocksBackendSettings, config::deployment::DeploymentSettings};
|
||||
use nomos_sdp::SdpSettings;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ use nomos_da_network_core::swarm::{
|
||||
DAConnectionMonitorSettings, DAConnectionPolicySettings, ReplicationConfig,
|
||||
};
|
||||
use nomos_libp2p::{Multiaddr, PeerId, ed25519};
|
||||
use nomos_node::NomosDaMembership;
|
||||
use nomos_node::LogosBlockchainDaMembership;
|
||||
use num_bigint::BigUint;
|
||||
use rand::random;
|
||||
use subnetworks_assignations::{MembershipCreator as _, MembershipHandler as _};
|
||||
@ -146,7 +146,7 @@ pub struct GeneralDaConfig {
|
||||
pub node_key: ed25519::SecretKey,
|
||||
pub signer: Ed25519Key,
|
||||
pub peer_id: PeerId,
|
||||
pub membership: NomosDaMembership,
|
||||
pub membership: LogosBlockchainDaMembership,
|
||||
pub listening_address: Multiaddr,
|
||||
pub blob_storage_directory: PathBuf,
|
||||
pub global_params_path: String,
|
||||
@ -239,7 +239,7 @@ pub fn try_create_da_configs(
|
||||
}
|
||||
|
||||
let membership = {
|
||||
let template = NomosDaMembership::new(
|
||||
let template = LogosBlockchainDaMembership::new(
|
||||
SessionNumber::default(),
|
||||
effective_subnetwork_size,
|
||||
da_params.dispersal_factor,
|
||||
|
||||
@ -108,7 +108,7 @@ fn apply_file_logger_override(
|
||||
if let Some(directory) = tf_env::nomos_log_dir() {
|
||||
cfg.tracing_settings.logger = LoggerLayer::File(FileConfig {
|
||||
directory,
|
||||
prefix: Some(format!("nomos-node-{node_index}").into()),
|
||||
prefix: Some(format!("logos-blockchain-node-{node_index}").into()),
|
||||
});
|
||||
cfg.tracing_settings.level = file_log_level();
|
||||
}
|
||||
|
||||
@ -24,10 +24,10 @@ futures = { default-features = false, version = "0.3" }
|
||||
groth16 = { workspace = true }
|
||||
hex = { version = "0.4.3", default-features = false }
|
||||
key-management-system-service = { workspace = true }
|
||||
logos-blockchain-executor = { workspace = true, default-features = false, features = ["testing", "tracing"] }
|
||||
nomos-core = { workspace = true }
|
||||
nomos-da-network-core = { workspace = true }
|
||||
nomos-da-network-service = { workspace = true }
|
||||
nomos-executor = { workspace = true, default-features = false, features = ["testing", "tracing"] }
|
||||
nomos-http-api-common = { workspace = true }
|
||||
nomos-libp2p = { workspace = true }
|
||||
nomos-network = { workspace = true, features = ["libp2p"] }
|
||||
|
||||
@ -41,9 +41,8 @@ impl BinaryResolver {
|
||||
);
|
||||
return shared_bin;
|
||||
}
|
||||
let fallback = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
|
||||
.join("../../")
|
||||
.join(config.fallback_path);
|
||||
let root = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("../../");
|
||||
let fallback = root.join(config.fallback_path);
|
||||
|
||||
debug!(
|
||||
binary = config.binary_name,
|
||||
|
||||
@ -175,7 +175,7 @@ where
|
||||
|
||||
if let Err(err) = ready {
|
||||
// Persist tempdir to aid debugging if readiness fails.
|
||||
let _ = persist_tempdir(&mut handle.tempdir, "nomos-node");
|
||||
let _ = persist_tempdir(&mut handle.tempdir, "logos-blockchain-node");
|
||||
return Err(SpawnNodeError::Readiness { source: err });
|
||||
}
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ use std::{
|
||||
time::Duration,
|
||||
};
|
||||
|
||||
use nomos_executor::config::Config;
|
||||
use logos_blockchain_executor::config::Config;
|
||||
use nomos_tracing_service::LoggerLayer;
|
||||
pub use testing_framework_config::nodes::executor::create_executor_config;
|
||||
use tracing::{debug, info};
|
||||
@ -22,14 +22,14 @@ use crate::{
|
||||
},
|
||||
};
|
||||
|
||||
const BIN_PATH: &str = "target/debug/nomos-executor";
|
||||
const BIN_PATH: &str = "target/debug/logos-blockchain-executor";
|
||||
|
||||
fn binary_path() -> PathBuf {
|
||||
let cfg = BinaryConfig {
|
||||
env_var: "NOMOS_EXECUTOR_BIN",
|
||||
binary_name: "nomos-executor",
|
||||
binary_name: "logos-blockchain-executor",
|
||||
fallback_path: BIN_PATH,
|
||||
shared_bin_subpath: "../assets/stack/bin/nomos-executor",
|
||||
shared_bin_subpath: "../assets/stack/bin/logos-blockchain-executor",
|
||||
};
|
||||
BinaryResolver::resolve_path(&cfg)
|
||||
}
|
||||
@ -49,7 +49,7 @@ impl Deref for Executor {
|
||||
impl Drop for Executor {
|
||||
fn drop(&mut self) {
|
||||
if should_persist_tempdir()
|
||||
&& let Err(e) = persist_tempdir(&mut self.handle.tempdir, "nomos-executor")
|
||||
&& let Err(e) = persist_tempdir(&mut self.handle.tempdir, "logos-blockchain-executor")
|
||||
{
|
||||
debug!(error = ?e, "failed to persist executor tempdir");
|
||||
}
|
||||
|
||||
@ -18,14 +18,14 @@ use crate::{
|
||||
},
|
||||
};
|
||||
|
||||
const BIN_PATH: &str = "target/debug/nomos-node";
|
||||
const BIN_PATH: &str = "target/debug/logos-blockchain-node";
|
||||
|
||||
fn binary_path() -> PathBuf {
|
||||
let cfg = BinaryConfig {
|
||||
env_var: "NOMOS_NODE_BIN",
|
||||
binary_name: "nomos-node",
|
||||
binary_name: "logos-blockchain-node",
|
||||
fallback_path: BIN_PATH,
|
||||
shared_bin_subpath: "../assets/stack/bin/nomos-node",
|
||||
shared_bin_subpath: "../assets/stack/bin/logos-blockchain-node",
|
||||
};
|
||||
BinaryResolver::resolve_path(&cfg)
|
||||
}
|
||||
@ -50,7 +50,7 @@ impl Deref for Validator {
|
||||
impl Drop for Validator {
|
||||
fn drop(&mut self) {
|
||||
if should_persist_tempdir()
|
||||
&& let Err(e) = persist_tempdir(&mut self.handle.tempdir, "nomos-node")
|
||||
&& let Err(e) = persist_tempdir(&mut self.handle.tempdir, "logos-blockchain-node")
|
||||
{
|
||||
debug!(error = ?e, "failed to persist validator tempdir");
|
||||
}
|
||||
|
||||
@ -58,6 +58,9 @@ impl<'a> ReadinessCheck<'a> for DaBalancerReadiness<'a> {
|
||||
}
|
||||
|
||||
fn is_ready(&self, data: &Self::Data) -> bool {
|
||||
if self.topology.validators.len() + self.topology.executors.len() <= 1 {
|
||||
return true;
|
||||
}
|
||||
data.iter().all(|entry| {
|
||||
if entry.threshold == 0 {
|
||||
return true;
|
||||
|
||||
@ -19,9 +19,9 @@ clap = { default-features = false, version = "4" }
|
||||
groth16 = { workspace = true }
|
||||
hex = { workspace = true }
|
||||
key-management-system-service = { workspace = true }
|
||||
logos-blockchain-executor = { workspace = true }
|
||||
nomos-core = { workspace = true }
|
||||
nomos-da-network-core = { workspace = true }
|
||||
nomos-executor = { workspace = true }
|
||||
nomos-libp2p = { workspace = true }
|
||||
nomos-node = { workspace = true }
|
||||
nomos-tracing-service = { workspace = true }
|
||||
|
||||
@ -10,7 +10,7 @@ use cfgsync_tf::{
|
||||
client::{FetchedConfig, get_config},
|
||||
server::ClientIp,
|
||||
};
|
||||
use nomos_executor::config::Config as ExecutorConfig;
|
||||
use logos_blockchain_executor::config::Config as ExecutorConfig;
|
||||
use nomos_libp2p::PeerId;
|
||||
use nomos_node::Config as ValidatorConfig;
|
||||
use serde::{Serialize, de::DeserializeOwned};
|
||||
|
||||
@ -286,7 +286,10 @@ fn override_api_ports(config: &mut Value, ports: &PortOverrides) {
|
||||
}
|
||||
}
|
||||
|
||||
fn inject_da_assignations(config: &mut Value, membership: &nomos_node::NomosDaMembership) {
|
||||
fn inject_da_assignations(
|
||||
config: &mut Value,
|
||||
membership: &nomos_node::LogosBlockchainDaMembership,
|
||||
) {
|
||||
struct SubnetAssignment {
|
||||
subnet_id: String,
|
||||
peers: Vec<String>,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
VERSION=v0.3.1
|
||||
VERSION=v0.3.2
|
||||
NOMOS_BUNDLE_VERSION=v4
|
||||
# Pinned nomos-node revision used for CI builds and binary bundles.
|
||||
NOMOS_NODE_REV=6bdb09567d21cd1e53527846a9cd48493ad49387
|
||||
# Pinned logos-blockchain-node revision used for CI builds and binary bundles.
|
||||
NOMOS_NODE_REV=97b411ed0ce269e72a6253c8cd48eea41db5ab71
|
||||
|
||||
# Optional: local nomos-node checkout override (do not commit absolute paths).
|
||||
# Optional: local logos-blockchain-node checkout override (do not commit absolute paths).
|
||||
# NOMOS_NODE_PATH=
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user