### Start Token Faucet (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Starts the web-based token faucet service using Docker Compose. This allows users to obtain test tokens for the Evolve chain. ```bash cd $HOME/evolve-deployment/stacks/eth-faucet docker compose up -d ``` -------------------------------- ### Start Blockchain Explorer (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Launches the Blockscout-based blockchain explorer using Docker Compose. This command navigates to the explorer's stack directory and starts its services. ```bash cd $HOME/evolve-deployment/stacks/eth-explorer docker compose up -d ``` -------------------------------- ### Start Fullnode (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Starts the fullnode service for the Evolve chain using Docker Compose. This command assumes a fullnode stack has been deployed and configured. ```bash cd $HOME/evolve-deployment/stacks/fullnode docker compose up -d ``` -------------------------------- ### Environment Variables for Single Sequencer Configuration Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This snippet shows example environment variables for configuring a single sequencer setup. It includes parameters for chain ID, EVM signer passphrase, Celestia Data Availability (DA) namespaces and settings, and Prometheus ports for metrics. ```bash CHAIN_ID="1234" # Your chain's unique ID EVM_SIGNER_PASSPHRASE="secure_password" # Sequencer signing key protection DA_HEADER_NAMESPACE="your_header_namespace_hex" # Celestia header namespace DA_DATA_NAMESPACE="your_data_namespace_hex" # Celestia data namespace DA_START_HEIGHT="6853148" # Starting block on Celestia DA_RPC_PORT="26658" # Celestia RPC port SEQUENCER_EV_RETH_PROMETHEUS_PORT="9000" # Metrics port for Ev-reth SEQUENCER_EV_NODE_PROMETHEUS_PORT="26660" # Metrics port for Ev-node ``` -------------------------------- ### Deploy and Manage Eth-Faucet Stack Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Instructions for deploying and managing the Eth-Faucet stack. This includes starting the service, configuring private keys, distribution amounts, cooldown periods, and port mappings. The web interface is accessible at http://localhost:8081. ```bash # Navigate to the faucet directory cd stacks/eth-faucet/ # Start the faucet stack docker compose up -d ``` -------------------------------- ### Start Single Sequencer (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Initiates the single-sequencer node for the Evolve chain using Docker Compose. This command navigates to the sequencer's stack directory and starts its services. ```bash cd $HOME/evolve-deployment/stacks/single-sequencer docker compose up -d ``` -------------------------------- ### Create Ethereum Wallet with Foundry (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Demonstrates how to create a new Ethereum wallet using Foundry's `cast` command-line tool. It first ensures Foundry is installed and updated, then generates a new keypair and outputs the address and private key. ```bash # Install Foundry (if you haven't already) curl -L https://foundry.paradigm.xyz | bash foundryup # Create a new wallet cast wallet new # Example output: # Successfully created new keypair. # Address: 0x742d35Cc6634C0532925a3b8D4C9db96590c6C87 # Private key: 0x1234567890abcdef... ``` -------------------------------- ### Install Docker (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Installs Docker and Docker Compose on Ubuntu/Debian systems using a convenience script. It also adds the current user to the docker group for easier access without sudo. ```bash # Install Docker (Ubuntu/Debian) curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # Add user to docker group sudo usermod -aG docker $USER newgrp docker ``` -------------------------------- ### Start Local DA Layer (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Starts a local Data Availability layer using Docker Compose. This is intended for development and testing purposes and is typically simpler than integrating with a remote network like Celestia. ```bash cd $HOME/evolve-deployment/stacks/da-local docker compose up -d ``` -------------------------------- ### Start Celestia DA Layer (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Starts the Celestia Data Availability layer using Docker Compose. It navigates to the specific directory for the Celestia stack and initiates the services in detached mode. ```bash cd $HOME/evolve-deployment/stacks/da-celestia docker compose up -d ``` -------------------------------- ### One-liner Evolve Deployment (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Executes a deployment script for a complete EVM stack via a one-liner command. This script downloads and runs the `deploy-evolve.sh` script interactively, guiding the user through configuration choices. ```bash # One-liner deployment (interactive) bash -c "bash -i <(curl -s https://raw.githubusercontent.com/evstack/ev-toolbox/refs/heads/main/ev-stacks/deploy-evolve.sh)" ``` -------------------------------- ### Deploy Evolve Stack with EV-Stacks (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/README.md Deploys a complete Evolve blockchain stack using EV-Stacks. This script automates the setup of single sequencer, full node, and data availability layers, with Celestia support. It requires internet connectivity to download the deployment script. ```bash bash -c "bash -i <(curl -s https://raw.githubusercontent.com/evstack/ev-toolbox/refs/heads/main/ev-stacks/deploy-evolve.sh)" ``` -------------------------------- ### Environment Variables for Local DA Configuration Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This snippet shows the environment variable for configuring a local Data Availability (DA) setup. It primarily specifies the Docker image tag for the local DA service. ```bash LOCAL_DA_TAG="main" # Docker image version for local DA ``` -------------------------------- ### Switch to Celestia DA Stack Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Procedure to switch the data availability layer from a local DA stack to Celestia. This involves stopping the local DA stack, configuring and starting the Celestia DA stack, and updating the sequencer configuration. ```bash # Stop Local DA stack cd stacks/da-local && docker compose down # Configure and start Celestia DA stack cd stacks/da-celestia && docker compose up -d # Fund the Celestia account and update sequencer configuration ``` -------------------------------- ### Get Celestia Account Address (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Retrieves the address of the default light node account for the Celestia network. This address is used to fund the node with testnet TIA tokens. ```bash # Get the account address to fund docker exec -it celestia-node cel-key list --node.type=light ``` -------------------------------- ### Switch to Local DA Stack Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Procedure to switch the data availability layer from Celestia to a local DA stack. This involves stopping the Celestia DA stack, starting the local DA stack, and updating the sequencer configuration. ```bash # Stop Celestia DA stack cd stacks/da-celestia && docker compose down # Start Local DA stack cd stacks/da-local && docker compose up -d # Update sequencer configuration to use local DA endpoints ``` -------------------------------- ### Celestia Light Node Entrypoint Script Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This script automates the initialization of the Celestia light node. It configures the node to synchronize from a specific block instead of genesis, and generates an authentication token for shared volume export. ```bash #!/bin/bash # Initialize light node with core IP and network configuration celestia light init --corewind $CORE_IP --p2p.network $NETWORK # Configure node to synchronize from a specific block instead of genesis block if [ -n "$DA_TRUSTED_HEIGHT" ] && [ -n "$DA_TRUSTED_HASH" ]; then celestia light unsafe-reset-all --home $HOME/.celestia-light celestia light bootstrap --corewind $CORE_IP --p2p.network $NETWORK --trusted-height $DA_TRUSTED_HEIGHT --trusted-hash $DA_TRUSTED_HASH fi # Generate and export auth token to shared volume AUTH_TOKEN=$(cat $HOME/.celestia-light/auth.token) echo "$AUTH_TOKEN" > /shared/da.tok # Execute the original entrypoint exec celestia light start --corewind $CORE_IP --p2p.network $NETWORK "$@" ``` -------------------------------- ### Deploy and Manage Eth-Indexer Stack Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Instructions for deploying and managing the Eth-Indexer stack. This includes setting up database credentials, Ponder configuration for custom schemas, and port mappings. The Indexer API is accessible via GraphQL at http://localhost:42069. ```bash # Navigate to the indexer directory cd stacks/eth-indexer/ # Start the indexer stack docker compose up -d ``` -------------------------------- ### Deploy and Manage Eth-Explorer Stack Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Instructions for deploying and managing the Eth-Explorer stack. This involves configuring database credentials, secret keys, and port mappings. The Blockscout web interface is available at http://localhost:4000. ```bash # Navigate to the explorer directory cd stacks/eth-explorer/ # Start the explorer stack docker compose up -d ``` -------------------------------- ### Automated Sequencer Entrypoint Script Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This entrypoint script automates the initialization of the single-sequencer Ev-node. It handles signer passphrase configuration, genesis file export, genesis hash retrieval, and JWT/DA token import. ```bash #!/bin/bash # Initialize sequencer configuration with signer passphrase if not present if [ -z "$SIGNER_PASSPHRASE" ]; then SIGNER_PASSPHRASE=$(openssl rand -base64 32) echo "SIGNER_PASSPHRASE=$SIGNER_PASSPHRASE" >> /etc/env/sequencer.env fi # Export genesis.json to shared volume for fullnode access cp /chain/genesis.json /shared/genesis.json # Auto-retrieve genesis hash from reth-sequencer via JSON-RPC GENESIS_HASH=$(jq -r .result /eth-sequencer/genesis.json) echo "GENESIS_HASH=$GENESIS_HASH" >> /etc/env/sequencer.env # Import JWT tokens and DA auth tokens from shared volumes cp /shared/jwt.tok /eth-sequencer/jwt.tok cp /shared/da.tok /eth-sequencer/da.tok # Execute the original entrypoint exec /entrypoint.sh "$@" ``` -------------------------------- ### Download and Run Deployment Script (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Provides an alternative method to deploy the EVM stack by first downloading the `deploy-evolve.sh` script, making it executable, and then running it locally. This allows for inspection or modification of the script before execution. ```bash # Or download and run locally wget https://raw.githubusercontent.com/evstack/ev-toolbox/refs/heads/main/ev-stacks/deploy-evolve.sh chmod +x deploy-evolve.sh ./deploy-evolve.sh ``` -------------------------------- ### Celestia Appd Initialization Script Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This script automates the initialization of the celestia-appd node. It configures the moniker, chain-id, downloads the genesis file, fetches network seeds, and extracts the latest network snapshot for fast synchronization. ```bash #!/bin/bash # Initialize celestia-appd with proper moniker and chain-id celestia-appd init $MONIKER --chain-id $CHAIN_ID # Download genesis file for the specified network (mocha-4) curl -o $HOME/.celestia-app/config/genesis.json $GENESIS_URL # Fetch and configure network seeds SEEDS=$(curl -s $SEEDS_URL | paste -sd,) sed -i "s/^seeds = .*/seeds = \"$SEEDS\"/" $HOME/.celestia-app/config/config.toml # Download and extract latest network snapshot for quick sync curl -L $SNAPSHOT_URL | tar -xz -C $HOME/.celestia-app # Configure gRPC server to be accessible externally (0.0.0.0:9090) sed -i 's/"127.0.0.1:9090"/"0.0.0.0:9090"/' $HOME/.celestia-app/config/config.toml # Execute the original entrypoint exec celestia-appd start "$@" ``` -------------------------------- ### Environment Variables for Token Faucet Configuration Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This snippet shows the environment variables required for the token faucet service. It includes the private key for a funded account and the port for the faucet's web interface. ```bash PRIVATE_KEY="" # Private key of funded account ETH_FAUCET_PORT="8081" # Faucet web interface port ``` -------------------------------- ### Environment Variables for Blockchain Explorer Configuration Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This snippet details environment variables for setting up the blockchain explorer. It includes chain ID, database password, database host, frontend port, and RPC connection details for the EVM execution layer (reth). ```bash CHAIN_ID="" # Must match your chain ID EXPLORER_POSTGRES_PASSWORD="" # Database password (auto-generated) EXPLORER_DB_HOST="blockscout-db" # Database host EXPLORER_FRONTEND_PORT="3000" # Web interface port RETH_HOST="ev-reth-sequencer" # RPC endpoint host RETH_HOST_HTTP_PORT="8545" # RPC HTTP port RETH_HOST_WS_PORT="8546" # RPC WebSocket port ``` -------------------------------- ### Test Blockchain Explorer Interface Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Verifies that the Blockscout-based blockchain explorer is accessible by sending an HTTP HEAD request to its default port (3000). This checks if the web interface is up and running. ```bash curl -I http://localhost:4000 ``` -------------------------------- ### Backup Blockchain Explorer Volumes using Docker Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md These commands back up the persistent volumes for the Blockchain Explorer's PostgreSQL data, statistics data, and Redis data. Similar to Celestia DA backups, they leverage Docker to mount volumes and `tar` to create compressed archives in the current directory. The volumes targeted are `eth-explorer_pg-data`, `eth-explorer_pg-stats-data`, and `eth-explorer_redis-data`. ```bash docker run --rm -v eth-explorer_pg-data:/data -v $(pwd):/backup alpine tar czf /backup/explorer-db-backup.tar.gz -C /data . docker run --rm -v eth-explorer_pg-stats-data:/data -v $(pwd):/backup alpine tar czf /backup/explorer-stats-db-backup.tar.gz -C /data . docker run --rm -v eth-explorer_redis-data:/data -v $(pwd):/backup alpine tar czf /backup/explorer-redis-backup.tar.gz -C /data . ``` -------------------------------- ### Test Ethereum Faucet Interface Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Checks the availability of the Ethereum faucet service by sending an HTTP HEAD request to its default web interface port (8081). This confirms the faucet is running and accessible for requesting test ETH. ```bash curl -I http://localhost:8081 ``` -------------------------------- ### Manage Docker Compose Services Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Common Docker Compose commands for managing the project's services. This includes checking service status, viewing logs, stopping services, pulling updated images, and performing clean restarts. ```bash # Check status of all services docker compose ps # View logs for a specific service docker compose logs -f [service-name] # Stop all services docker compose down # Update and restart services docker compose pull docker compose up -d # Clean restart docker compose down docker system prune -f docker compose up -d ``` -------------------------------- ### Backup Full Node Volumes Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Commands to backup the volumes used by a deployed full node. Similar to sequencer backups, this creates compressed archives of the full node's volume data. ```bash # Backup ev-reth-fullnode-data volume docker run --rm -v ev-reth-fullnode-data:/data -v $(pwd):/backup alpine tar czf /backup/ev-reth-fullnode-data-backup.tar.gz -C /data . # Backup fullnode-data volume docker run --rm -v fullnode-data:/data -v $(pwd):/backup alpine tar czf /backup/fullnode-data-backup.tar.gz -C /data . ``` -------------------------------- ### Backup Sequencer Volumes Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Commands to backup the volumes used by the sequencer. This utilizes Docker to create compressed tar archives of the volume data, allowing for data recovery. ```bash # Backup ev-reth-sequencer-data volume docker run --rm -v ev-reth-sequencer-data:/data -v $(pwd):/backup alpine tar czf /backup/ev-reth-sequencer-data-backup.tar.gz -C /data . # Backup sequencer-data volume docker run --rm -v sequencer-data:/data -v $(pwd):/backup alpine tar czf /backup/sequencer-data-backup.tar.gz -C /data . ``` -------------------------------- ### Backup Celestia DA Volumes using Docker Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This command backs up Celestia DA's application data and node data volumes. It uses Docker to mount the volume to an `alpine` container and then creates a compressed tar archive of the data, saving it to the current directory. Ensure the respective Docker volumes (`celestia-appd-data`, `celestia-node-data`) exist and contain data. ```bash docker run --rm -v celestia-appd-data:/data -v $(pwd):/backup alpine tar czf /backup/celestia-appd-data-backup.tar.gz -C /data . docker run --rm -v celestia-node-data:/data -v $(pwd):/backup alpine tar czf /backup/celestia-node-data-backup.tar.gz -C /data . ``` -------------------------------- ### Enable BBR Congestion Control (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Enables the BBR congestion control algorithm on Linux systems for improved network performance, particularly for Celestia DA. It modifies sysctl settings and requires root privileges. ```bash # Check if BBR is available sysctl net.ipv4.tcp_available_congestion_control # Enable BBR (requires root privileges) echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf sudo sysctl -p # Verify BBR is active sysctl net.ipv4.tcp_congestion_control ``` -------------------------------- ### Environment Variables for Celestia DA Configuration Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This snippet illustrates environment variables for configuring Celestia as the Data Availability (DA) layer. It specifies DA namespaces, Celestia network, Docker image tag, and connection details for the Celestia consensus and light nodes. ```bash DA_HEADER_NAMESPACE="your_header_namespace_hex" # Must match sequencer header namespace DA_DATA_NAMESPACE="your_data_namespace_hex" # Must match sequencer data namespace CELESTIA_NETWORK="mocha-4" # Celestia testnet CELESTIA_NODE_TAG="latest" # Docker image version DA_CORE_IP="celestia-app" # Celestia consensus endpoint DA_CORE_PORT="26657" # Celestia consensus port DA_RPC_PORT="26658" # Light node RPC port ``` -------------------------------- ### Query Celestia DA Light Node RPC Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Interact with the Celestia Light Node RPC for data availability operations. This includes querying for data availability and performing blob submission and retrieval. The default endpoint is http://localhost:26658. ```bash # Example: Querying data availability (replace with actual query) curl http://localhost:26658/availability ``` -------------------------------- ### Restore Sequencer Data Volume using Docker Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This command demonstrates how to restore a sequencer data volume from a previously created backup archive. It mounts the `sequencer-data` volume and the directory containing the backup file into an `alpine` container, then uses `tar` to extract the compressed archive into the volume. Ensure the backup file (`sequencer-data-backup.tar.gz`) exists in the current directory. ```bash docker run --rm -v sequencer-data:/data -v $(pwd):/backup alpine tar xzf /backup/sequencer-data-backup.tar.gz -C /data ``` -------------------------------- ### Test Full Node RPC Endpoint Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Tests the RPC endpoint of a deployed full node. This is similar to testing the sequencer's RPC but targets a potentially different port or instance for redundancy and enhanced connectivity checks. ```bash curl -X POST -H "Content-Type: application/json" \ --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \ http://localhost:8545 # or the configured fullnode RPC port ``` -------------------------------- ### Verify Running Services with Docker Compose Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Command to check if all services within a specific stack are running using Docker Compose. This is a crucial step after deployment to ensure system health. It iterates through common stack directories. ```bash cd $HOME/evolve-deployment/stacks/da-celestia && docker compose ps cd $HOME/evolve-deployment/stacks/da-local && docker compose ps cd $HOME/evolve-deployment/stacks/single-sequencer && docker compose ps cd $HOME/evolve-deployment/stacks/fullnode && docker compose ps cd $HOME/evolve-deployment/stacks/eth-explorer && docker compose ps cd $HOME/evolve-deployment/stacks/eth-faucet && docker compose ps ``` -------------------------------- ### Test Ethereum RPC Endpoint Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Tests the primary Ethereum RPC endpoint (typically on port 8545) by sending a JSON-RPC request to fetch the latest block number. This verifies basic communication with the EVM node. ```bash curl -X POST -H "Content-Type: application/json" \ --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \ http://localhost:8545 ``` -------------------------------- ### Monitor Celestia DA Logs (Bash) Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Streams the logs from the running Celestia Data Availability services. This is useful for monitoring the initialization process and identifying any potential issues. ```bash docker compose logs -f ``` -------------------------------- ### Generate EVM Signer Passphrase Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This command generates a secure passphrase for the sequencer's signing key using OpenSSL. It is crucial for protecting the private key used to sign blocks within the Ev-stack. ```bash openssl rand -base64 32 ``` -------------------------------- ### Generate JWT Tokens for Ev-Reth and Ev-node Communication Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This command generates secure JWT tokens using OpenSSL, which are used for authentication between the Ev-Reth and Ev-node services. These tokens ensure secure internal API calls. ```bash openssl rand -hex 32 ``` -------------------------------- ### Celestia DA Namespace Format Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md This describes the required format for a Celestia DA namespace, which is a unique identifier for a chain's data on Celestia. It must be a 58-character hex string representing a 29-byte identifier. ```plaintext 000000000000000000000000000000000000002737d4d967c7ca526dd5 ``` -------------------------------- ### Modify .env Configuration File Source: https://github.com/evstack/ev-toolbox/blob/main/ev-stacks/README.md Common environment variables in .env files that can be modified to customize the deployment. This includes chain ID, block time, DA settings, and port mappings across different stacks. ```dotenv CHAIN_ID=your_chain_id EVM_BLOCK_TIME=1000ms DA_START_HEIGHT=0 DA_HEADER_NAMESPACE=0x0000000000000000 DA_DATA_NAMESPACE=0x0000000000000000 ETH_FAUCET_PORT=8081 EXPLORER_POSTGRES_PASSWORD=your_db_password SECRET_KEY_BASE=your_secret_key ETH_INDEXER_PORT=42069 ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.