Repository: AztecProtocol/aztec-packages
Pull request #12566: chore(testnet): updating script for ignition, change naming
Author: login: signorecello
Created: 2025-03-07T11:31:07Z | Merged: 2025-03-10T12:58:01Z

Thanks @aminsammara for coordinating changes while I was out in Denver :)


Diff:
diff --git a/spartan/releases/README.md b/spartan/releases/README.md
index c206cfec6ba3..f283e9ce81bf 100644
--- a/spartan/releases/README.md
+++ b/spartan/releases/README.md
@@ -22,15 +22,15 @@ mkdir val1 && cd val1
 curl -L sp-testnet.aztec.network | bash
 ```
 
-This will install `aztec-spartan.sh` in the current directory. You can now run it:
+This will install `aztec-sequencer.sh` in the current directory. You can now run it:
 
 ```bash
-./aztec-spartan.sh config
+./aztec-sequencer.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 both a `docker-compose.yml` and an `.env` file. You will also be prompted to choose whether to use a [named volume](https://docs.docker.com/engine/storage/volumes/) (default) or if you want to use a local directory to store the node's data.
 
-Run `./aztec-spartan.sh` without any command to see all available options, and pass them as flags, i.e. `npx aztec-spartan config -p 8080 -p2p 40400`. If you want to use a different key for p2p peer id, pass it with `-pk <your_key>`.
+Run `./aztec-sequencer.sh` without any command to see all available options, and pass them as flags, i.e. `./aztec-sequencer config -p 8080 -p2p 40400`. If you want to use a different key for p2p peer id, pass it with `-pk <your_key>`.
 
 For more options, see the [Node Configuration](#node-configuration) section.
 
@@ -39,7 +39,7 @@ For more options, see the [Node Configuration](#node-configuration) section.
 
 ## 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.
+To spare you a few keystrokes, you can use `./aztec-sequencer [start/stop/logs/update]` to start, stop, output logs or pull the latest docker images.
 
 > [!NOTE]
 > The above deploy script will connect your node to the p2p network where it will register peers and start receiving messages from other nodes on the network. You will not be in the validator set just yet.
@@ -48,15 +48,11 @@ To spare you a few keystrokes, you can use `npx aztec-spartan [start/stop/logs/u
 
 ## Node Configuration
 
-The `aztec-spartan.sh` script will set the following required variables on your behalf. You can ofcourse override the variables set by the script by simply changing the `.env` file directly and re-running `./aztec-spartan.sh`
+The user is prompted to enter some values which will map to corresponding ENV variables. Some are required:
 
-| Variable       | Description                                                                                                                                   |
-| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
-| ETHEREUM_HOSTS | URL to the Ethereum node your validator will connect to. For as long as we're on private networks, please use the value in `aztec-spartan.sh` |
-| BOOTNODE_URL   | URL to a bootnode that supplies L1 contract addresses and the ENR of the bootstrap nodes.                                                     |
-| IMAGE          | The docker image to run                                                                                                                       |
-
-In addition, the user is prompted to enter 1) an IP Address and a P2P port to be used for the TCP and UDP addresses (defaults to 40400) 2) A port for your node (8080) 3) an Ethereum private key 4) `COINBASE` which is the Ethereum address associated with the private key and 5) a path to a local directory to store node data if you don't opt for a named volume.
+1. A Sepolia execution node RPC (for example on [alchemy](https://dashboard.alchemy.com/))
+2. An Ethereum private key
+3. `COINBASE` which is the Ethereum address associated with the private key
 
 On a first run, the script will generate a p2p private key and store it in `$DATA_DIR/var/lib/aztec/p2p-private-key`. If you wish to change your p2p private key, you can pass it on as a CLI arg using the flag `-pk` or update the `PEER_ID_PRIVATE_KEY` in the env file.
 
@@ -66,15 +62,15 @@ The Publisher is the main node component that interacts with the Ethereum L1, fo
 
 The Archiver's primary functions are data storage and retrieval (i.e. L1->L2 messages), state synchronization and re-org handling.
 
-| Variable                       | Description                                                                                                                                         |
-| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
-| ETHEREUM_HOSTS                 | This is the URL to the L1 node your validator will connect to. For as long as we're on private networks, please use the value in `aztec-spartan.sh` |
-| L1_CHAIN_ID                    | Chain ID of the L1                                                                                                                                  |
-| DATA_DIRECTORY                 | Optional dir to store archiver and world state data. If omitted will store in memory                                                                |
-| ARCHIVER_POLLING_INTERVAL_MS   | The polling interval in ms for retrieving new L2 blocks and encrypted logs                                                                          |
-| SEQ_PUBLISHER_PRIVATE_KEY      | This should be the same as your validator private key                                                                                               |
-| SEQ_PUBLISH_RETRY_INTERVAL_MS  | The interval to wait between publish retries                                                                                                        |
-| SEQ_VIEM_POLLING_INTERVAL_TIME | The polling interval viem uses in ms                                                                                                                |
+| Variable                       | Description                                                                                                                                                          |
+| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ETHEREUM_HOSTS                 | List of Ethereum nodes URLs your validator will connect to (comma separated). For as long as we're on private networks, please use the value in `aztec-sequencer.sh` |
+| L1_CHAIN_ID                    | Chain ID of the L1                                                                                                                                                   |
+| DATA_DIRECTORY                 | Optional dir to store archiver and world state data. If omitted will store in memory                                                                                 |
+| ARCHIVER_POLLING_INTERVAL_MS   | The polling interval in ms for retrieving new L2 blocks and encrypted logs                                                                                           |
+| SEQ_PUBLISHER_PRIVATE_KEY      | This should be the same as your validator private key                                                                                                                |
+| SEQ_PUBLISH_RETRY_INTERVAL_MS  | The interval to wait between publish retries                                                                                                                         |
+| SEQ_VIEM_POLLING_INTERVAL_TIME | The polling interval viem uses in ms                                                                                                                                 |
 
 ### Sequencer Config
 
diff --git a/spartan/releases/create-spartan.sh b/spartan/releases/create-spartan.sh
index 5ca03af90c84..7c409f827276 100755
--- a/spartan/releases/create-spartan.sh
+++ b/spartan/releases/create-spartan.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 
-# URL of the aztec-spartan.sh script
-DEFAULT_URL="https://raw.githubusercontent.com/AztecProtocol/aztec-packages/refs/heads/master/spartan/releases/testnet/aztec-spartan.sh"
+# URL of the aztec-sequencer.sh script
+DEFAULT_URL="https://raw.githubusercontent.com/AztecProtocol/aztec-packages/refs/heads/master/spartan/releases/testnet/aztec-sequencer.sh"
 
 # Colors for output
 GREEN='\033[0;32m'
@@ -9,13 +9,13 @@ 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"
+echo "Downloading aztec-sequencer.sh..."
+if curl -L -o aztec-sequencer.sh "${1:-$DEFAULT_URL}"; then
+    chmod +x aztec-sequencer.sh
+    echo -e "${GREEN}✓ aztec-sequencer.sh has been downloaded and made executable${NC}"
+    echo "You can now run it with: ./aztec-sequencer.sh"
 else
-    echo -e "${RED}✗ Failed to download aztec-spartan.sh${NC}"
+    echo -e "${RED}✗ Failed to download aztec-sequencer.sh${NC}"
     exit 1
 fi
 
diff --git a/spartan/releases/testnet/aztec-spartan.sh b/spartan/releases/testnet/aztec-sequencer.sh
similarity index 65%
rename from spartan/releases/testnet/aztec-spartan.sh
rename to spartan/releases/testnet/aztec-sequencer.sh
index d3193abab347..383441bc2525 100755
--- a/spartan/releases/testnet/aztec-spartan.sh
+++ b/spartan/releases/testnet/aztec-sequencer.sh
@@ -10,7 +10,7 @@ YELLOW='\033[1;33m'
 NC='\033[0m' # No Color
 
 # Global variables
-DEFAULT_P2P_PORT="40400"
+DEFAULT_P2P_PORT="40500"
 DEFAULT_PORT="8080"
 DEFAULT_KEY="0x0000000000000000000000000000000000000000000000000000000000000001"
 # Try to get default IP from ipify API, otherwise leave empty to require user input
@@ -21,7 +21,8 @@ DEFAULT_BIND_MOUNT_DIR="$HOME/aztec-data"
 ETHEREUM_HOSTS=
 IMAGE=
 BOOTNODE_URL=
-
+DEFAULT_L1_CONSENSUS_HOST_URL="https://eth-beacon-chain-sepolia.drpc.org/rest"
+LOG_LEVEL=info
 # Parse command line arguments
 parse_args() {
   while [[ $# -gt 0 ]]; do
@@ -42,6 +43,10 @@ parse_args() {
       ETHEREUM_HOSTS="$2"
       shift 2
       ;;
+    -l | --l1-consensus-host-url)
+      L1_CONSENSUS_HOST_URL="$2"
+      shift 2
+      ;;
     -p | --port)
       CLI_PORT="$2"
       shift 2
@@ -66,6 +71,10 @@ parse_args() {
       PEER_ID_PRIVATE_KEY="$2"
       shift 2
       ;;
+    -v | --verbose)
+      LOG_LEVEL=debug
+      shift
+      ;;
     *)
       shift
       ;;
@@ -84,45 +93,6 @@ show_banner() {
   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}"
-    # If macOS
-    if [[ "$(uname -s)" == "Darwin" ]]; then
-      echo -e "${YELLOW}macOS detected. Please install Docker Desktop for Mac:${NC}"
-      echo "https://www.docker.com/products/docker-desktop"
-      return 1
-    else
-      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
-  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}"
@@ -136,32 +106,6 @@ get_public_ip() {
   fi
 }
 
-get_node_info() {
-  echo -e "${BLUE}Fetching node info...${NC}"
-  CMD="get-node-info --node-url ${BOOTNODE_URL} --json"
-  # TODO: use the correct (corresponding) image
-  # Can't do it today because `release/unhinged-unicorn` doesn't support --json flag
-  NODE_INFO=$(curl -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"node_getNodeInfo","params":[],"id":1}' -s ${BOOTNODE_URL})
-
-  # Extract the relevant fields
-  result=$(echo $NODE_INFO | jq -r '.result')
-  L1_CHAIN_ID=$(echo $result | jq -r '.l1ChainId')
-  BOOTSTRAP_NODES=$(echo $result | jq -r '.enr')
-  REGISTRY_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.registryAddress')
-  GOVERNANCE_PROPOSER_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.governanceProposerAddress')
-  FEE_JUICE_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.feeJuiceAddress')
-  ROLLUP_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.rollupAddress')
-  REWARD_DISTRIBUTOR_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.rewardDistributorAddress')
-  GOVERNANCE_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.governanceAddress')
-  COIN_ISSUER_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.coinIssuerAddress')
-  FEE_JUICE_PORTAL_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.feeJuicePortalAddress')
-  INBOX_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.inboxAddress')
-  OUTBOX_CONTRACT_ADDRESS=$(echo $result | jq -r '.l1ContractAddresses.outboxAddress')
-
-  echo -e "${GREEN}Node info fetched successfully${NC}"
-  return 0
-}
-
 # Configure environment
 configure_environment() {
   local args=("$@")
@@ -171,28 +115,52 @@ configure_environment() {
   if [ -n "$NETWORK" ]; then
     NETWORK="$NETWORK"
   else
-    read -p "Network [unhinged-unicorn]: " NETWORK
-    NETWORK=${NETWORK:-unhinged-unicorn}
+    read -p "Network [ignition-testnet]: " NETWORK
+    NETWORK=${NETWORK:-ignition-testnet}
   fi
 
-  # if the network is `unhinged-unicorn`
-  if [ "$NETWORK" = "unhinged-unicorn" ]; then
-    BOOTNODE_URL="${BOOTNODE_URL:-http://34.169.19.201:8080}"
-    ETHEREUM_HOSTS="${ETHEREUM_HOSTS:-http://34.82.214.254:8545}"
-    IMAGE="${IMAGE:-aztecprotocol/aztec:unhinged-unicorn}"
+  # if the network is `ignition-testnet`
+  if [ "$NETWORK" = "ignition-testnet" ]; then
+    REGISTRY_CONTRACT_ADDRESS="${REGISTRY_CONTRACT_ADDRESS:-0x12b3ebc176a1646b911391eab3760764f2e05fe3}"
+    # Determine architecture and set the image accordingly
+    if [[ "$(uname -m)" == "x86_64" ]]; then
+      IMAGE="${IMAGE:-aztecprotocol/aztec:1dc66419e0e7e1543bee081471701f90192fa33e-amd64}"
+    else
+      IMAGE="${IMAGE:-aztecprotocol/aztec:1dc66419e0e7e1543bee081471701f90192fa33e-arm64}"
+    fi
   else
     # unknown network
     echo -e "${RED}Unknown network: $NETWORK${NC}"
   fi
 
-  # Check that bootnode, ethereum host, and image are set
-  if [ -z "$BOOTNODE_URL" ] || [ -z "$ETHEREUM_HOSTS" ] || [ -z "$IMAGE" ]; then
-    echo -e "${RED}Bootnode, Ethereum host, and image are required${NC}"
+  if [ -z "$IMAGE" ] || [ -z "$REGISTRY_CONTRACT_ADDRESS" ]; then
+    echo -e "${RED}Bootstrap Nodes, Ethereum host, image and Registry contract address are required${NC}"
     exit 1
   fi
 
-  # get the node info
-  get_node_info
+  if [ -n "$ETHEREUM_HOSTS" ]; then
+    ETHEREUM_HOSTS="$ETHEREUM_HOSTS"
+  else
+    while true; do
+      read -p "Sepolia Ethereum Host (ex. Infura, Alchemy, etc.): " ETHEREUM_HOSTS
+      if [ -z "$ETHEREUM_HOSTS" ]; then
+        echo -e "${RED}Error: Ethereum Hosts is required${NC}"
+      else
+        break
+      fi
+    done
+  fi
+
+    if [ -n "$L1_CONSENSUS_HOST_URL" ]; then
+    L1_CONSENSUS_HOST_URL="$L1_CONSENSUS_HOST_URL"
+  else
+    read -p "L1 Consensus Host URL [$DEFAULT_L1_CONSENSUS_HOST_URL]: " L1_CONSENSUS_HOST_URL
+    L1_CONSENSUS_HOST_URL=${L1_CONSENSUS_HOST_URL:-$DEFAULT_L1_CONSENSUS_HOST_URL}
+  fi
+
+
+  # # get the node info
+  # get_node_info
 
   if [ -n "$CLI_P2P_PORT" ]; then
     P2P_PORT="$CLI_P2P_PORT"
@@ -278,35 +246,39 @@ 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
+LOG_LEVEL=${LOG_LEVEL:-info}
 AZTEC_PORT=${PORT}
 P2P_ENABLED=true
-L1_CHAIN_ID=${L1_CHAIN_ID}
+L1_CHAIN_ID=11155111
 PROVER_REAL_PROOFS=true
 PXE_PROVER_ENABLED=true
-ETHEREUM_SLOT_DURATION=12sec
+ETHEREUM_SLOT_DURATION=12
 AZTEC_SLOT_DURATION=36
-AZTEC_EPOCH_DURATION=48
-AZTEC_EPOCH_PROOF_CLAIM_WINDOW_IN_L2_SLOTS=13
 ETHEREUM_HOSTS=${ETHEREUM_HOSTS}
+L1_CONSENSUS_HOST_URL=${L1_CONSENSUS_HOST_URL}
 AZTEC_EPOCH_DURATION=32
 AZTEC_PROOF_SUBMISSION_WINDOW=64
 BOOTSTRAP_NODES=${BOOTSTRAP_NODES}
 REGISTRY_CONTRACT_ADDRESS=${REGISTRY_CONTRACT_ADDRESS}
-GOVERNANCE_PROPOSER_CONTRACT_ADDRESS=${GOVERNANCE_PROPOSER_CONTRACT_ADDRESS}
-FEE_JUICE_CONTRACT_ADDRESS=${FEE_JUICE_CONTRACT_ADDRESS}
-ROLLUP_CONTRACT_ADDRESS=${ROLLUP_CONTRACT_ADDRESS}
-REWARD_DISTRIBUTOR_CONTRACT_ADDRESS=${REWARD_DISTRIBUTOR_CONTRACT_ADDRESS}
-GOVERNANCE_CONTRACT_ADDRESS=${GOVERNANCE_CONTRACT_ADDRESS}
-COIN_ISSUER_CONTRACT_ADDRESS=${COIN_ISSUER_CONTRACT_ADDRESS}
-FEE_JUICE_PORTAL_CONTRACT_ADDRESS=${FEE_JUICE_PORTAL_CONTRACT_ADDRESS}
-INBOX_CONTRACT_ADDRESS=${INBOX_CONTRACT_ADDRESS}
-OUTBOX_CONTRACT_ADDRESS=${OUTBOX_CONTRACT_ADDRESS}
+SLASH_FACTORY_CONTRACT_ADDRESS=0x0f216a792a4cc3691010e7870ae2c0f4fadd952a
 P2P_UDP_LISTEN_ADDR=0.0.0.0:${P2P_PORT}
 P2P_TCP_LISTEN_ADDR=0.0.0.0:${P2P_PORT}
 DATA_DIRECTORY=/var/lib/aztec
 PEER_ID_PRIVATE_KEY=${PEER_ID_PRIVATE_KEY}
 COINBASE=${COINBASE}
+TEST_ACCOUNTS=true
+SEQ_MIN_TX_PER_BLOCK=0
+SEQ_MAX_TX_PER_BLOCK=0
+L1_FIXED_PRIORITY_FEE_PER_GAS=3
+L1_GAS_LIMIT_BUFFER_PERCENTAGE=15
+L1_GAS_PRICE_MAX=500
+ARCHIVER_POLLING_INTERVAL_MS=1000
+ARCHIVER_VIEM_POLLING_INTERVAL_MS=1000
+L1_READER_VIEM_POLLING_INTERVAL_MS=1000
+SEQ_VIEM_POLLING_INTERVAL_MS=1000
+VERSION=aztecprotocol/aztec:1dc66419e0e7e1543bee081471701f90192fa33e-arm64
+BOOTSTRAP_NODES=enr:-LO4QDwlKJN0BqMc4hYPsI-MQoR1O7qLVr4TK6DhqGsZT_pPTmg3gS-JD072rKI4vlaR0N4SdeH2gCD09oh-zMVT3JkEhWF6dGVjqDAwLTExMTU1MTExLTAwMDAwMDAwLTAtMmM4ZmM0NjMtMjM3YWFkY2WCaWSCdjSCaXCEI-XzqolzZWNwMjU2azGhA0da3IZGbY1tLdqXgdQKG-SW-Z4D6dvXJBeoXn8EZsCVg3VkcIKd0A,enr:-LO4QPJR493G_BQG1UU0_h-g0TEBnZEJ-zgWYH3YctVAn3GzfM9dWVIO7_TSETXYLy-h34bF6sSoSfpP5O44qsZnp00EhWF6dGVjqDAwLTExMTU1MTExLTAwMDAwMDAwLTAtMmM4ZmM0NjMtMjM3YWFkY2WCaWSCdjSCaXCEIlle64lzZWNwMjU2azGhAwuSF_VE1cRfSc3MvtDZvvaTl2Qo_dJK-Qp7TcnhYWBtg3VkcIKd0A,enr:-LO4QKq488wXvw6vAHToGWJYkxMmKsjQCsFjPs5Pt_MrawlnZ7G-xIfwhkXR1afddf8lFj_RNVZdBfGzHHR262pXNhMEhWF6dGVjqDAwLTExMTU1MTExLTAwMDAwMDAwLTAtMmM4ZmM0NjMtMjM3YWFkY2WCaWSCdjSCaXCEI8VFSYlzZWNwMjU2azGhA2xqOyFaHAARgLAi3dORuPmFHbxgoMDWBZJnnbiatW8jg3VkcIKd0A
+REGISTRY_CONTRACT_ADDRESS=0x12b3ebc176a1646b911391eab3760764f2e05fe3
 EOF
 
   # Generate docker-compose.yml
@@ -342,13 +314,13 @@ volumes:
 EOF
   fi
 
-  echo -e "${GREEN}Configuration complete! Use './aztec-spartan.sh start' to launch your node.${NC}"
+  echo -e "${GREEN}Configuration complete! Use './aztec-sequencer.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}"
+    echo -e "${RED}Configuration not found. Please run './aztec-sequencer.sh config' first.${NC}"
     exit 1
   fi
   echo -e "${BLUE}Starting containers...${NC}"
@@ -392,7 +364,6 @@ show_logs() {
 case "$1" in
 "config")
   show_banner
-  check_docker
   configure_environment "$@"
   ;;
 "start")


Reviews:
user: login: spypsy
state: CHANGES_REQUESTED
author_association: MEMBER
submitted_at: 2025-03-07T14:41:11Z
user: login: spypsy
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-10T12:01:16Z
user: login: spypsy
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-10T12:17:35Z
user: login: spypsy
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-10T12:17:59Z

Review comments:
diff_hunk: @@ -48,13 +48,13 @@ To spare you a few keystrokes, you can use `npx aztec-spartan [start/stop/logs/u
 
 ## Node Configuration
 
-The `aztec-spartan.sh` script will set the following required variables on your behalf. You can ofcourse override the variables set by the script by simply changing the `.env` file directly and re-running `./aztec-spartan.sh`
+The `aztec-sequencer.sh` script will set the following required variables on your behalf. You can of course override the variables set by the script by simply changing the `.env` file directly and re-running `./aztec-sequencer.sh`
 
-| Variable       | Description                                                                                                                                   |
-| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
-| ETHEREUM_HOSTS | URL to the Ethereum node your validator will connect to. For as long as we're on private networks, please use the value in `aztec-spartan.sh` |
-| BOOTNODE_URL   | URL to a bootnode that supplies L1 contract addresses and the ENR of the bootstrap nodes.                                                     |
-| IMAGE          | The docker image to run                                                                                                                       |
+| Variable       | Description                                                                                                                                     |
+| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
+| ETHEREUM_HOSTS | URL to the Ethereum node your validator will connect to. For as long as we're on private networks, please use the value in `aztec-sequencer.sh` |
path: spartan/releases/README.md
user: login: spypsy
body: ```suggestion
| ETHEREUM_HOSTS | List of Ethereum nodes URLs your validator will connect to (comma separated). For as long as we're on private networks, please use the value in `aztec-sequencer.sh` |
```
created_at: 2025-03-07T11:43:33Z
author_association: MEMBER
diff_hunk: @@ -66,15 +66,15 @@ The Publisher is the main node component that interacts with the Ethereum L1, fo
 
 The Archiver's primary functions are data storage and retrieval (i.e. L1->L2 messages), state synchronization and re-org handling.
 
-| Variable                       | Description                                                                                                                                         |
-| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
-| ETHEREUM_HOSTS                 | This is the URL to the L1 node your validator will connect to. For as long as we're on private networks, please use the value in `aztec-spartan.sh` |
-| L1_CHAIN_ID                    | Chain ID of the L1                                                                                                                                  |
-| DATA_DIRECTORY                 | Optional dir to store archiver and world state data. If omitted will store in memory                                                                |
-| ARCHIVER_POLLING_INTERVAL_MS   | The polling interval in ms for retrieving new L2 blocks and encrypted logs                                                                          |
-| SEQ_PUBLISHER_PRIVATE_KEY      | This should be the same as your validator private key                                                                                               |
-| SEQ_PUBLISH_RETRY_INTERVAL_MS  | The interval to wait between publish retries                                                                                                        |
-| SEQ_VIEM_POLLING_INTERVAL_TIME | The polling interval viem uses in ms                                                                                                                |
+| Variable                       | Description                                                                                                                                           |
+| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ETHEREUM_HOSTS                 | This is the URL to the L1 node your validator will connect to. For as long as we're on private networks, please use the value in `aztec-sequencer.sh` |
path: spartan/releases/README.md
user: login: spypsy
body: ```suggestion
| ETHEREUM_HOSTS                 | List of Ethereum nodes URLs your validator will connect to (comma separated). For as long as we're on private networks, please use the value in `aztec-sequencer.sh` |
```
created_at: 2025-03-07T11:44:05Z
author_association: MEMBER
diff_hunk: @@ -171,28 +115,52 @@ configure_environment() {
   if [ -n "$NETWORK" ]; then
     NETWORK="$NETWORK"
   else
-    read -p "Network [unhinged-unicorn]: " NETWORK
-    NETWORK=${NETWORK:-unhinged-unicorn}
+    read -p "Network [ignition-testnet]: " NETWORK
+    NETWORK=${NETWORK:-ignition-testnet}
   fi
 
-  # if the network is `unhinged-unicorn`
-  if [ "$NETWORK" = "unhinged-unicorn" ]; then
-    BOOTNODE_URL="${BOOTNODE_URL:-http://34.169.19.201:8080}"
-    ETHEREUM_HOSTS="${ETHEREUM_HOSTS:-http://34.82.214.254:8545}"
-    IMAGE="${IMAGE:-aztecprotocol/aztec:unhinged-unicorn}"
+  # if the network is `ignition-testnet`
+  if [ "$NETWORK" = "ignition-testnet" ]; then
+    REGISTRY_CONTRACT_ADDRESS="${REGISTRY_CONTRACT_ADDRESS:-0x12b3ebc176a1646b911391eab3760764f2e05fe3}"
+    # Determine architecture and set the image accordingly
+    if [[ "$(uname -m)" == "x86_64" ]]; then
+      IMAGE="${IMAGE:-aztecprotocol/aztec:1dc66419e0e7e1543bee081471701f90192fa33e-amd64}"
+    else
+      IMAGE="${IMAGE:-aztecprotocol/aztec:1dc66419e0e7e1543bee081471701f90192fa33e-arm64}"
+    fi
   else
     # unknown network
     echo -e "${RED}Unknown network: $NETWORK${NC}"
   fi
 
-  # Check that bootnode, ethereum host, and image are set
-  if [ -z "$BOOTNODE_URL" ] || [ -z "$ETHEREUM_HOSTS" ] || [ -z "$IMAGE" ]; then
-    echo -e "${RED}Bootnode, Ethereum host, and image are required${NC}"
+  if [ -z "$IMAGE" ] || [ -z "$REGISTRY_CONTRACT_ADDRESS" ]; then
+    echo -e "${RED}Bootstrap Nodes, Ethereum host, image and Registry contract address are required${NC}"
     exit 1
   fi
 
-  # get the node info
-  get_node_info
+  if [ -n "$ETHEREUM_HOSTS" ]; then
+    ETHEREUM_HOSTS="$ETHEREUM_HOSTS"
+  else
+    while true; do
+      read -p "Sepolia Ethereum Host (ex. Infura, Alchemy, etc.): " ETHEREUM_HOSTS
+      if [ -z "$ETHEREUM_HOSTS" ]; then
+        echo -e "${RED}Error: Ethereum Hosts is required${NC}"
+      else
+        break
+      fi
+    done
+  fi
+
+    if [ -n "$L1_CONSENSUS_HOST_URL" ]; then
+    L1_CONSENSUS_HOST_URL="$L1_CONSENSUS_HOST_URL"
+  else
+    read -p "L1 Consensus Host URL [$DEFAULT_L1_CONSENSUS_HOST_URL]: " L1_CONSENSUS_HOST_URL
+    L1_CONSENSUS_HOST_URL=${L1_CONSENSUS_HOST_URL:-$DEFAULT_L1_CONSENSUS_HOST_URL}
+  fi
+
+
+  # # get the node info
+  # get_node_info
path: spartan/releases/testnet/aztec-sequencer.sh
user: login: spypsy
body: I see calling `get_node_info` here but the function above looks removed?
created_at: 2025-03-10T12:01:16Z
author_association: MEMBER
diff_hunk: @@ -171,28 +115,52 @@ configure_environment() {
   if [ -n "$NETWORK" ]; then
     NETWORK="$NETWORK"
   else
-    read -p "Network [unhinged-unicorn]: " NETWORK
-    NETWORK=${NETWORK:-unhinged-unicorn}
+    read -p "Network [ignition-testnet]: " NETWORK
+    NETWORK=${NETWORK:-ignition-testnet}
   fi
 
-  # if the network is `unhinged-unicorn`
-  if [ "$NETWORK" = "unhinged-unicorn" ]; then
-    BOOTNODE_URL="${BOOTNODE_URL:-http://34.169.19.201:8080}"
-    ETHEREUM_HOSTS="${ETHEREUM_HOSTS:-http://34.82.214.254:8545}"
-    IMAGE="${IMAGE:-aztecprotocol/aztec:unhinged-unicorn}"
+  # if the network is `ignition-testnet`
+  if [ "$NETWORK" = "ignition-testnet" ]; then
+    REGISTRY_CONTRACT_ADDRESS="${REGISTRY_CONTRACT_ADDRESS:-0x12b3ebc176a1646b911391eab3760764f2e05fe3}"
+    # Determine architecture and set the image accordingly
+    if [[ "$(uname -m)" == "x86_64" ]]; then
+      IMAGE="${IMAGE:-aztecprotocol/aztec:1dc66419e0e7e1543bee081471701f90192fa33e-amd64}"
+    else
+      IMAGE="${IMAGE:-aztecprotocol/aztec:1dc66419e0e7e1543bee081471701f90192fa33e-arm64}"
+    fi
   else
     # unknown network
     echo -e "${RED}Unknown network: $NETWORK${NC}"
   fi
 
-  # Check that bootnode, ethereum host, and image are set
-  if [ -z "$BOOTNODE_URL" ] || [ -z "$ETHEREUM_HOSTS" ] || [ -z "$IMAGE" ]; then
-    echo -e "${RED}Bootnode, Ethereum host, and image are required${NC}"
+  if [ -z "$IMAGE" ] || [ -z "$REGISTRY_CONTRACT_ADDRESS" ]; then
+    echo -e "${RED}Bootstrap Nodes, Ethereum host, image and Registry contract address are required${NC}"
     exit 1
   fi
 
-  # get the node info
-  get_node_info
+  if [ -n "$ETHEREUM_HOSTS" ]; then
+    ETHEREUM_HOSTS="$ETHEREUM_HOSTS"
+  else
+    while true; do
+      read -p "Sepolia Ethereum Host (ex. Infura, Alchemy, etc.): " ETHEREUM_HOSTS
+      if [ -z "$ETHEREUM_HOSTS" ]; then
+        echo -e "${RED}Error: Ethereum Hosts is required${NC}"
+      else
+        break
+      fi
+    done
+  fi
+
+    if [ -n "$L1_CONSENSUS_HOST_URL" ]; then
+    L1_CONSENSUS_HOST_URL="$L1_CONSENSUS_HOST_URL"
+  else
+    read -p "L1 Consensus Host URL [$DEFAULT_L1_CONSENSUS_HOST_URL]: " L1_CONSENSUS_HOST_URL
+    L1_CONSENSUS_HOST_URL=${L1_CONSENSUS_HOST_URL:-$DEFAULT_L1_CONSENSUS_HOST_URL}
+  fi
+
+
+  # # get the node info
+  # get_node_info
path: spartan/releases/testnet/aztec-sequencer.sh
user: login: spypsy
body: nvm, outdated
created_at: 2025-03-10T12:17:35Z
author_association: MEMBER

PR comments:
user: login: Maddiaa0
created_at: 2025-03-07T19:08:32Z
body: can we drop the default LOG_LEVEL from debug, its extremely noisy? 
author_association: MEMBER
user: login: signorecello
created_at: 2025-03-10T11:07:40Z
body: done (added a flag)
author_association: CONTRIBUTOR