diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27f6df05ded1..99625e35fb3e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -875,6 +875,19 @@ jobs: timeout-minutes: 40 run: earthly-ci -P --no-output +test --box=${{ matrix.box }} --browser=${{ matrix.browser }} --mode=cache + rough-rhino-installer: + needs: [configure] + runs-on: ${{ needs.configure.outputs.username }}-x86 + steps: + - uses: actions/checkout@v4 + with: { ref: "${{ github.event.pull_request.head.sha }}" } + - uses: ./.github/ci-setup-action + with: + concurrency_key: rough-rhino-installer + - name: Rough Rhino Installer Helper Script + working-directory: ./spartan/releases/rough-rhino + run: earthly-ci +test-all + protocol-circuits-gates-report: needs: [build, configure] if: needs.configure.outputs.non-docs == 'true' && needs.configure.outputs.non-barretenberg-cpp == 'true' diff --git a/.github/workflows/publish-aztec-packages.yml b/.github/workflows/publish-aztec-packages.yml index d28c577f8758..bf12f93e2d47 100644 --- a/.github/workflows/publish-aztec-packages.yml +++ b/.github/workflows/publish-aztec-packages.yml @@ -312,6 +312,18 @@ jobs: --VERSION=$VERSION \ --DRY_RUN=${{ (github.event.inputs.publish == 'false') && '1' || '0' }} + - name: Publish spartan NPM package + run: | + DEPLOY_TAG=${{ env.DEPLOY_TAG }} + VERSION=${DEPLOY_TAG#aztec-packages-v} + earthly-ci \ + --no-output \ + --secret NPM_TOKEN=${{ env.NPM_TOKEN }} \ + ./spartan/releases/rough-rhino+publish-npm \ + --DIST_TAG=latest \ + --VERSION=$VERSION \ + --DRY_RUN=${{ (github.event.inputs.publish == 'false') && '1' || '0' }} + publish-aztec-up: needs: [configure, publish-manifests] runs-on: ubuntu-latest diff --git a/spartan/releases/rough-rhino/.gitignore b/spartan/releases/rough-rhino/.gitignore new file mode 100644 index 000000000000..23ce2843a4a2 --- /dev/null +++ b/spartan/releases/rough-rhino/.gitignore @@ -0,0 +1,176 @@ +# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore + +# Logs + +logs +_.log +npm-debug.log_ +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Caches + +.cache + +# Diagnostic reports (https://nodejs.org/api/report.html) + +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# Runtime data + +pids +_.pid +_.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover + +lib-cov + +# Coverage directory used by tools like istanbul + +coverage +*.lcov + +# nyc test coverage + +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) + +.grunt + +# Bower dependency directory (https://bower.io/) + +bower_components + +# node-waf configuration + +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) + +build/Release + +# Dependency directories + +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) + +web_modules/ + +# TypeScript cache + +*.tsbuildinfo + +# Optional npm cache directory + +.npm + +# Optional eslint cache + +.eslintcache + +# Optional stylelint cache + +.stylelintcache + +# Microbundle cache + +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history + +.node_repl_history + +# Output of 'npm pack' + +*.tgz + +# Yarn Integrity file + +.yarn-integrity + +# dotenv environment variable files + +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) + +.parcel-cache + +# Next.js build output + +.next +out + +# Nuxt.js build / generate output + +.nuxt +dist + +# Gatsby files + +# Comment in the public line in if your project uses Gatsby and not Next.js + +# https://nextjs.org/blog/next-9-1#public-directory-support + +# public + +# vuepress build output + +.vuepress/dist + +# vuepress v2.x temp and cache directory + +.temp + +# Docusaurus cache and generated files + +.docusaurus + +# Serverless directories + +.serverless/ + +# FuseBox cache + +.fusebox/ + +# DynamoDB Local files + +.dynamodb/ + +# TernJS port file + +.tern-port + +# Stores VSCode versions used for testing VSCode extensions + +.vscode-test + +# yarn v2 + +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store +docker-compose.yml diff --git a/spartan/releases/rough-rhino/Earthfile b/spartan/releases/rough-rhino/Earthfile new file mode 100644 index 000000000000..53e1f6365a78 --- /dev/null +++ b/spartan/releases/rough-rhino/Earthfile @@ -0,0 +1,101 @@ +VERSION 0.7 + +FROM ubuntu:22.04 +WORKDIR /app + +deps: + RUN apt-get update && apt-get install -y \ + curl \ + git \ + make \ + nodejs \ + npm \ + unzip + +test-setup: + FROM +deps + COPY aztec-spartan.sh . + RUN chmod +x aztec-spartan.sh + # Mock docker and docker compose commands for testing + RUN mkdir -p /usr/local/bin && \ + echo '#!/bin/bash\necho "Docker command: $@"' > /usr/local/bin/docker && \ + echo '#!/bin/bash\necho "Docker compose command: $@"' > /usr/local/bin/docker-compose && \ + chmod +x /usr/local/bin/docker /usr/local/bin/docker-compose + +test-help: + FROM +test-setup + RUN ./aztec-spartan.sh | grep -q "Commands:" && \ + echo "✅ Help command test passed" || \ + (echo "❌ Help command test failed" && exit 1) + +test-no-config: + FROM +test-setup + RUN if ./aztec-spartan.sh start 2>&1 | grep -q "Configuration not found"; then \ + echo "✅ No config test passed"; \ + else \ + echo "❌ No config test failed" && exit 1; \ + fi + +test-install: + FROM +test-setup + # Test installation with CLI arguments + RUN echo -e "\n\n" | ./aztec-spartan.sh config \ + -p 8080 \ + -p2p 40400 \ + -ip 1.2.3.4 \ + -k 0x00 \ + -n test-validator + # Verify docker-compose.yml was created and contains correct values + RUN test -f docker-compose.yml && \ + grep -q "name: test-validator" docker-compose.yml && \ + grep -q "P2P_UDP_ANNOUNCE_ADDR=1.2.3.4:40400" docker-compose.yml && \ + grep -q "AZTEC_PORT=8080" docker-compose.yml && \ + grep -q "VALIDATOR_PRIVATE_KEY=0x00" docker-compose.yml && \ + echo "✅ Config test passed" || \ + (echo "❌ Config test failed" && exit 1) + +test-docker-check: + FROM +deps + COPY aztec-spartan.sh . + RUN chmod +x aztec-spartan.sh + # Remove docker to test docker installation check + RUN rm -f /usr/local/bin/docker /usr/local/bin/docker-compose + # Test docker check (should fail since docker is not installed) + RUN if ./aztec-spartan.sh config 2>&1 | grep -q "Docker or Docker Compose not found"; then \ + echo "✅ Docker check test passed"; \ + else \ + echo "❌ Docker check test failed" && exit 1; \ + fi + +test-start-stop: + FROM +test-setup + # First install with test configuration + RUN echo -e "\n\n" | ./aztec-spartan.sh config \ + -p 8080 \ + -p2p 40400 \ + -ip 1.2.3.4 \ + -k 0x00 \ + -n test-validator + # Test start command + RUN ./aztec-spartan.sh start 2>&1 | grep -q "Starting containers" && \ + echo "✅ Start command test passed" || \ + (echo "❌ Start command test failed" && exit 1) + # Test stop command + RUN ./aztec-spartan.sh stop 2>&1 | grep -q "Stopping containers" && \ + echo "✅ Stop command test passed" || \ + (echo "❌ Stop command test failed" && exit 1) + +test-update: + FROM +test-setup + RUN ./aztec-spartan.sh update 2>&1 | grep -q "Pulling latest images" && \ + echo "✅ Update command test passed" || \ + (echo "❌ Update command test failed" && exit 1) + +test-all: + BUILD +test-help + BUILD +test-no-config + BUILD +test-install + BUILD +test-docker-check + BUILD +test-start-stop + BUILD +test-update + diff --git a/spartan/releases/rough-rhino/README.md b/spartan/releases/rough-rhino/README.md new file mode 100644 index 000000000000..7e64b12a3aab --- /dev/null +++ b/spartan/releases/rough-rhino/README.md @@ -0,0 +1,37 @@ +# Aztec Spartan + +This tool helps easing the entry barrier to boot an Aztec Sequencer and Prover (S&P) Testnet. + +![Aztec Sparta Meme](./assets/banner.jpeg) + +For once, there's no rocket science here. This script does the following: + +- Checks for the presence of Docker in your machine +- Prompts you for some environment variables +- Outputs a templated docker-compose file with your variables +- Runs the docker compose file + +It should work in most UNIX-based machines. + +## Installation + +To configure a new node, create a new directory and run the install script: + +```bash +cd val1 +curl -L https://raw.githubusercontent.com/AztecProtocol/aztec-packages/refs/heads/master/spartan/releases/rough-rhino/create-spartan.sh | bash +``` + +This will install `aztec-spartan.sh` in the current directory. You can now run it: + +```bash +./aztec-spartan.sh config +``` + +If you don't have Docker installed, the script will do it for you. It will then prompt for any required environment variables and output a `docker-compose.yml` file. + +You can run the command without any command to see all available options, and pass them as flags, i.e. `npx aztec-spartan config -p 8080 -p2p 40400 -n nameme`. + +## Running + +To spare you a few keystrokes, you can use `npx aztec-spartan [start/stop/logs/update]` to start, stop, output logs or pull the latest docker images. diff --git a/spartan/releases/rough-rhino/assets/banner.jpeg b/spartan/releases/rough-rhino/assets/banner.jpeg new file mode 100644 index 000000000000..e91ed867f600 Binary files /dev/null and b/spartan/releases/rough-rhino/assets/banner.jpeg differ diff --git a/spartan/releases/rough-rhino/aztec-spartan.sh b/spartan/releases/rough-rhino/aztec-spartan.sh new file mode 100755 index 000000000000..5198a7bf78c8 --- /dev/null +++ b/spartan/releases/rough-rhino/aztec-spartan.sh @@ -0,0 +1,285 @@ +#!/bin/bash + +# Colors and formatting +BLUE='\033[0;34m' +GREEN='\033[0;32m' +RED='\033[0;31m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Global variables +ARCH=$(uname -m) +DEFAULT_P2P_PORT="40400" +DEFAULT_PORT="8080" +DEFAULT_KEY="0x0000000000000000000000000000000000000000000000000000000000000001" +# Try to get default IP from ipify API, otherwise leave empty to require user input +DEFAULT_IP=$(curl -s --connect-timeout 5 https://api.ipify.org?format=json | grep -o '"ip":"[^"]*' | cut -d'"' -f4 || echo "") +DEFAULT_NAME="validator-1" + +# Parse command line arguments +parse_args() { + while [[ $# -gt 0 ]]; do + case $1 in + -p|--port) + CLI_PORT="$2" + shift 2 + ;; + -p2p|--p2p-port) + CLI_P2P_PORT="$2" + shift 2 + ;; + -ip|--ip) + CLI_IP="$2" + shift 2 + ;; + -k|--key) + CLI_KEY="$2" + shift 2 + ;; + -n|--name) + CLI_NAME="$2" + shift 2 + ;; + *) + shift + ;; + esac + done +} + +# Show banner function +show_banner() { + echo -e "${BLUE}" + echo " _ ____ _____ _____ ____ _____ _____ ____ _____ _ _ _____ _____ " + echo " / \ |_ /|_ _| ____| _ \ |_ _| ____/ ___|_ _| \ | | ____|_ _|" + echo " / _ \ / / | | | _| | |_) | | | | _| \___ \ | | | \| | _| | | " + echo " / ___ \/ /_ | | | |___| _ < | | | |___ ___) || | | |\ | |___ | | " + echo "/_/ \_\____| |_| |_____|_| \_\ |_| |_____|____/ |_| |_| \_|_____| |_| " + echo -e "${NC}" +} + +# Check if Docker is installed +check_docker() { + echo -e "${BLUE}Checking Docker installation...${NC}" + if command -v docker >/dev/null 2>&1 && command -v docker compose >/dev/null 2>&1; then + echo -e "${GREEN}Docker and Docker Compose are installed${NC}" + return 0 + else + echo -e "${RED}Docker or Docker Compose not found${NC}" + read -p "Would you like to install Docker? [Y/n] " -n 1 -r + echo + if [[ $REPLY =~ ^[Yy]$ ]] || [[ -z $REPLY ]]; then + install_docker + return $? + fi + return 1 + fi +} + +# Install Docker +install_docker() { + echo -e "${BLUE}Installing Docker...${NC}" + if curl -fsSL https://get.docker.com | sh; then + sudo usermod -aG docker $USER + echo -e "${GREEN}Docker installed successfully${NC}" + echo -e "${YELLOW}Please log out and back in for group changes to take effect${NC}" + return 0 + else + echo -e "${RED}Failed to install Docker${NC}" + return 1 + fi +} + +# Get public IP +get_public_ip() { + echo -e "${BLUE}Fetching public IP...${NC}" + PUBLIC_IP=$(curl -s https://api.ipify.org?format=json | grep -o '"ip":"[^"]*' | cut -d'"' -f4) + if [ -n "$PUBLIC_IP" ]; then + echo -e "${GREEN}Public IP: $PUBLIC_IP${NC}" + return 0 + else + echo -e "${YELLOW}Failed to get public IP${NC}" + return 1 + fi +} + +# Configure environment +configure_environment() { + local args=("$@") + parse_args "${args[@]}" + + echo -e "${BLUE}Configuring environment...${NC}" + + # Use CLI arguments if provided, otherwise use defaults or prompt + if [ -n "$CLI_NAME" ]; then + NAME="$CLI_NAME" + else + read -p "Validator Name [$DEFAULT_NAME]: " NAME + NAME=${NAME:-$DEFAULT_NAME} + fi + + if [ -n "$CLI_P2P_PORT" ]; then + P2P_PORT="$CLI_P2P_PORT" + else + read -p "P2P Port [$DEFAULT_P2P_PORT]: " P2P_PORT + P2P_PORT=${P2P_PORT:-$DEFAULT_P2P_PORT} + fi + + if [ -n "$CLI_PORT" ]; then + PORT="$CLI_PORT" + else + read -p "Node Port [$DEFAULT_PORT]: " PORT + PORT=${PORT:-$DEFAULT_PORT} + fi + + if [ -n "$CLI_KEY" ]; then + KEY="$CLI_KEY" + else + while true; do + read -p "Validator Private Key: " KEY + if [ -z "$KEY" ]; then + echo -e "${RED}Error: Validator Private Key is required${NC}" + else + break + fi + done + fi + + if [ -n "$CLI_IP" ]; then + IP="$CLI_IP" + else + if [ -z "$DEFAULT_IP" ]; then + while true; do + read -p "Public IP: " IP + if [ -z "$IP" ]; then + echo -e "${RED}Error: Public IP is required${NC}" + else + break + fi + done + else + read -p "Public IP [$DEFAULT_IP]: " IP + IP=${IP:-$DEFAULT_IP} + fi + fi + + # Generate docker-compose.yml + cat > docker-compose.yml << EOF +name: ${NAME} +services: + validator: + network_mode: host + restart: unless-stopped + environment: + - P2P_UDP_ANNOUNCE_ADDR=${IP}:${P2P_PORT} + - P2P_TCP_ANNOUNCE_ADDR=${IP}:${P2P_PORT} + - COINBASE=0xbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + - VALIDATOR_DISABLED=false + - VALIDATOR_PRIVATE_KEY=${KEY} + - SEQ_PUBLISHER_PRIVATE_KEY=${KEY} + - L1_PRIVATE_KEY=${KEY} + - DEBUG=aztec:*,-aztec:avm_simulator*,-aztec:circuits:artifact_hash,-aztec:libp2p_service,-json-rpc*,-aztec:world-state:database,-aztec:l2_block_stream* + - LOG_LEVEL=debug + - AZTEC_PORT=${PORT} + - P2P_ENABLED=true + - L1_CHAIN_ID=1337 + - PROVER_REAL_PROOFS=true + - PXE_PROVER_ENABLED=true + - ETHEREUM_SLOT_DURATION=12sec + - AZTEC_SLOT_DURATION=36 + - AZTEC_EPOCH_DURATION=32 + - AZTEC_EPOCH_PROOF_CLAIM_WINDOW_IN_L2_SLOTS=13 + - ETHEREUM_HOST=http://34.48.76.131:8545 + - BOOTSTRAP_NODES=enr:-Jq4QO_3szmgtG2cbEdnFDIhpGAQkc1HwfNy4-M6sG9QmQbPTmp9PMOHR3xslfR23hORiU-GpA7uM9uXw49lFcnuuvYGjWF6dGVjX25ldHdvcmsBgmlkgnY0gmlwhCIwTIOJc2VjcDI1NmsxoQKQTN17XKCwjYSSwmTc-6YzCMhd3v6Ofl8TS-WunX6LCoN0Y3CCndCDdWRwgp3Q + - REGISTRY_CONTRACT_ADDRESS=0x5fbdb2315678afecb367f032d93f642f64180aa3 + - GOVERNANCE_PROPOSER_CONTRACT_ADDRESS=0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0 + - FEE_JUICE_CONTRACT_ADDRESS=0xe7f1725e7734ce288f8367e1bb143e90bb3f0512 + - ROLLUP_CONTRACT_ADDRESS=0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6 + - REWARD_DISTRIBUTOR_CONTRACT_ADDRESS=0x5fc8d32690cc91d4c39d9d3abcbd16989f875707 + - GOVERNANCE_CONTRACT_ADDRESS=0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9 + - COIN_ISSUER_CONTRACT_ADDRESS=0xdc64a140aa3e981100a9beca4e685f962f0cf6c9 + - FEE_JUICE_PORTAL_CONTRACT_ADDRESS=0x0165878a594ca255338adfa4d48449f69242eb8f + - INBOX_CONTRACT_ADDRESS=0xed179b78d5781f93eb169730d8ad1be7313123f4 + - OUTBOX_CONTRACT_ADDRESS=0x1016b5aaa3270a65c315c664ecb238b6db270b64 + - P2P_UDP_LISTEN_ADDR=0.0.0.0:${P2P_PORT} + - P2P_TCP_LISTEN_ADDR=0.0.0.0:${P2P_PORT} + image: aztecprotocol/aztec:698cd3d62680629a3f1bfc0f82604534cedbccf3-${ARCH} + command: start --node --archiver --sequencer +EOF + + echo -e "${GREEN}Configuration complete! Use './aztec-spartan.sh start' to launch your node.${NC}" +} + +# Docker commands +start_node() { + if [ ! -f "docker-compose.yml" ]; then + echo -e "${RED}Configuration not found. Please run './aztec-spartan.sh config' first.${NC}" + exit 1 + fi + echo -e "${BLUE}Starting containers...${NC}" + if docker compose up -d; then + echo -e "${GREEN}Containers started successfully${NC}" + else + echo -e "${RED}Failed to start containers${NC}" + exit 1 + fi +} + +stop_node() { + echo -e "${BLUE}Stopping containers...${NC}" + if docker compose down; then + echo -e "${GREEN}Containers stopped successfully${NC}" + else + echo -e "${RED}Failed to stop containers${NC}" + exit 1 + fi +} + +update_node() { + echo -e "${BLUE}Pulling latest images...${NC}" + if docker compose pull; then + echo -e "${GREEN}Images updated successfully${NC}" + else + echo -e "${RED}Failed to update images${NC}" + exit 1 + fi +} + +show_logs() { + echo -e "${BLUE}Fetching logs...${NC}" + if ! docker compose logs -f; then + echo -e "${RED}Failed to fetch logs${NC}" + exit 1 + fi +} + +# Main script +case "$1" in + "config") + show_banner + check_docker + configure_environment "$@" + ;; + "start") + start_node + ;; + "stop") + stop_node + ;; + "update") + update_node + ;; + "logs") + show_logs + ;; + *) + echo "Usage: $0 {config|start|stop|update|logs}" + echo "Commands:" + echo " config - Install and configure Aztec Testnet node" + echo " start - Start Aztec Testnet node" + echo " stop - Stop Aztec Testnet node" + echo " update - Update Aztec Testnet node images" + echo " logs - Show Aztec Testnet node logs" + exit 1 + ;; +esac diff --git a/spartan/releases/rough-rhino/create-spartan.sh b/spartan/releases/rough-rhino/create-spartan.sh new file mode 100755 index 000000000000..870263926eb3 --- /dev/null +++ b/spartan/releases/rough-rhino/create-spartan.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# URL of the aztec-spartan.sh script +DEFAULT_URL="https://raw.githubusercontent.com/AztecProtocol/aztec-packages/refs/heads/zpedro/testnet_docker_compose/spartan/releases/rough-rhino/aztec-spartan.sh" + +# Colors for output +GREEN='\033[0;32m' +RED='\033[0;31m' +NC='\033[0m' # No Color + +# Download the script +echo "Downloading aztec-spartan.sh..." +if curl -L -o aztec-spartan.sh "${1:-$DEFAULT_URL}"; then + chmod +x aztec-spartan.sh + echo -e "${GREEN}✓ aztec-spartan.sh has been downloaded and made executable${NC}" + echo "You can now run it with: ./aztec-spartan.sh" +else + echo -e "${RED}✗ Failed to download aztec-spartan.sh${NC}" + exit 1 +fi diff --git a/spartan/releases/rough-rhino/full-node.sh b/spartan/releases/rough-rhino/full-node.sh deleted file mode 100755 index 75a0d33bca1f..000000000000 --- a/spartan/releases/rough-rhino/full-node.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -set -eu - -# get host arch -ARCH=$(uname -m) -IMAGE="aztecprotocol/aztec:698cd3d62680629a3f1bfc0f82604534cedbccf3-${ARCH}" - -docker run --rm --network=host \ - -e P2P_UDP_ANNOUNCE_ADDR=$PUBLIC_IP:$P2P_PORT \ - -e P2P_TCP_ANNOUNCE_ADDR=$PUBLIC_IP:$P2P_PORT \ - -e COINBASE=0xbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \ - -e DEBUG="aztec:*,-aztec:avm_simulator*,-aztec:circuits:artifact_hash,-aztec:libp2p_service,-json-rpc*,-aztec:world-state:database,-aztec:l2_block_stream*" \ - -e LOG_LEVEL=debug \ - -e AZTEC_PORT=$NODE_PORT \ - -e P2P_ENABLED=true \ - -e VALIDATOR_DISABLED=true \ - -e L1_CHAIN_ID=1337 \ - -e PROVER_REAL_PROOFS=true \ - -e PXE_PROVER_ENABLED=true \ - -e ETHEREUM_SLOT_DURATION=12sec \ - -e AZTEC_SLOT_DURATION=36 \ - -e AZTEC_EPOCH_DURATION=32 \ - -e AZTEC_EPOCH_PROOF_CLAIM_WINDOW_IN_L2_SLOTS=13 \ - -e ETHEREUM_HOST=http://34.48.76.131:8545 \ - -e BOOTSTRAP_NODES=enr:-Jq4QO_3szmgtG2cbEdnFDIhpGAQkc1HwfNy4-M6sG9QmQbPTmp9PMOHR3xslfR23hORiU-GpA7uM9uXw49lFcnuuvYGjWF6dGVjX25ldHdvcmsBgmlkgnY0gmlwhCIwTIOJc2VjcDI1NmsxoQKQTN17XKCwjYSSwmTc-6YzCMhd3v6Ofl8TS-WunX6LCoN0Y3CCndCDdWRwgp3Q \ - -e REGISTRY_CONTRACT_ADDRESS=0x5fbdb2315678afecb367f032d93f642f64180aa3 \ - -e GOVERNANCE_PROPOSER_CONTRACT_ADDRESS=0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0 \ - -e FEE_JUICE_CONTRACT_ADDRESS=0xe7f1725e7734ce288f8367e1bb143e90bb3f0512 \ - -e ROLLUP_CONTRACT_ADDRESS=0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6 \ - -e REWARD_DISTRIBUTOR_CONTRACT_ADDRESS=0x5fc8d32690cc91d4c39d9d3abcbd16989f875707 \ - -e GOVERNANCE_CONTRACT_ADDRESS=0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9 \ - -e COIN_ISSUER_CONTRACT_ADDRESS=0xdc64a140aa3e981100a9beca4e685f962f0cf6c9 \ - -e FEE_JUICE_PORTAL_CONTRACT_ADDRESS=0x0165878a594ca255338adfa4d48449f69242eb8f \ - -e INBOX_CONTRACT_ADDRESS=0xed179b78d5781f93eb169730d8ad1be7313123f4 \ - -e OUTBOX_CONTRACT_ADDRESS=0x1016b5aaa3270a65c315c664ecb238b6db270b64 \ - -e P2P_UDP_LISTEN_ADDR=0.0.0.0:$P2P_PORT \ - -e P2P_TCP_LISTEN_ADDR=0.0.0.0:$P2P_PORT \ - $IMAGE start --node --archiver --sequencer diff --git a/spartan/releases/rough-rhino/validator.sh b/spartan/releases/rough-rhino/validator.sh deleted file mode 100755 index 246e59527bbc..000000000000 --- a/spartan/releases/rough-rhino/validator.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -set -eu - -# get host arch -ARCH=$(uname -m) -IMAGE="aztecprotocol/aztec:698cd3d62680629a3f1bfc0f82604534cedbccf3-${ARCH}" - -docker run --rm --network=host \ - -e P2P_UDP_ANNOUNCE_ADDR=$PUBLIC_IP:$P2P_PORT \ - -e P2P_TCP_ANNOUNCE_ADDR=$PUBLIC_IP:$P2P_PORT \ - -e COINBASE=0xbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \ - -e VALIDATOR_DISABLED=false \ - -e VALIDATOR_PRIVATE_KEY=$VALIDATOR_PKEY \ - -e SEQ_PUBLISHER_PRIVATE_KEY=$VALIDATOR_PKEY \ - -e L1_PRIVATE_KEY=$VALIDATOR_PKEY \ - -e DEBUG="aztec:*,-aztec:avm_simulator*,-aztec:circuits:artifact_hash,-aztec:libp2p_service,-json-rpc*,-aztec:world-state:database,-aztec:l2_block_stream*" \ - -e LOG_LEVEL=debug \ - -e AZTEC_PORT=$NODE_PORT \ - -e P2P_ENABLED=true \ - -e L1_CHAIN_ID=1337 \ - -e PROVER_REAL_PROOFS=true \ - -e PXE_PROVER_ENABLED=true \ - -e ETHEREUM_SLOT_DURATION=12sec \ - -e AZTEC_SLOT_DURATION=36 \ - -e AZTEC_EPOCH_DURATION=32 \ - -e AZTEC_EPOCH_PROOF_CLAIM_WINDOW_IN_L2_SLOTS=13 \ - -e ETHEREUM_HOST=http://34.48.76.131:8545 \ - -e BOOTSTRAP_NODES=enr:-Jq4QO_3szmgtG2cbEdnFDIhpGAQkc1HwfNy4-M6sG9QmQbPTmp9PMOHR3xslfR23hORiU-GpA7uM9uXw49lFcnuuvYGjWF6dGVjX25ldHdvcmsBgmlkgnY0gmlwhCIwTIOJc2VjcDI1NmsxoQKQTN17XKCwjYSSwmTc-6YzCMhd3v6Ofl8TS-WunX6LCoN0Y3CCndCDdWRwgp3Q \ - -e REGISTRY_CONTRACT_ADDRESS=0x5fbdb2315678afecb367f032d93f642f64180aa3 \ - -e GOVERNANCE_PROPOSER_CONTRACT_ADDRESS=0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0 \ - -e FEE_JUICE_CONTRACT_ADDRESS=0xe7f1725e7734ce288f8367e1bb143e90bb3f0512 \ - -e ROLLUP_CONTRACT_ADDRESS=0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6 \ - -e REWARD_DISTRIBUTOR_CONTRACT_ADDRESS=0x5fc8d32690cc91d4c39d9d3abcbd16989f875707 \ - -e GOVERNANCE_CONTRACT_ADDRESS=0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9 \ - -e COIN_ISSUER_CONTRACT_ADDRESS=0xdc64a140aa3e981100a9beca4e685f962f0cf6c9 \ - -e FEE_JUICE_PORTAL_CONTRACT_ADDRESS=0x0165878a594ca255338adfa4d48449f69242eb8f \ - -e INBOX_CONTRACT_ADDRESS=0xed179b78d5781f93eb169730d8ad1be7313123f4 \ - -e OUTBOX_CONTRACT_ADDRESS=0x1016b5aaa3270a65c315c664ecb238b6db270b64 \ - -e P2P_UDP_LISTEN_ADDR=0.0.0.0:$P2P_PORT \ - -e P2P_TCP_LISTEN_ADDR=0.0.0.0:$P2P_PORT \ - $IMAGE start --node --archiver --sequencer