Ethereal Chain Documentation
  • Introduction
  • Industry use cases
    • Decentralized applications
    • NFT Marketplaces
    • Decentralized finance
  • Wallets
    • Ethereal Wallet Guide
    • App Wallets
      • Ethereal Wallets
  • Web Wallets
    • Web Wallets
  • Command-Line Wallets
    • Command-Line Wallets
    • Paper Wallet
    • File System Wallet
  • Support/ Troubleshooting
  • Staking
    • Staking on Ethereal
    • Stake Account Structure
  • Grants
    • Ethereal's $100 Thousand Grants Program
    • Ethereal's Grants Process
  • Command Line
    • Command-line Guide
    • Install the Ethereal Tool Suite
    • Using Ethereal CLI
    • Connecting to a Cluster
    • Send and Receive Tokens
    • Offline Transaction Signing
    • Durable Transaction Nonces
  • Developing on native Ethereal
    • Programming Model
      • Overview
      • Transactions
      • Accounts
      • Runtime
      • Calling Between Programs
  • Clients
    • JSON RPC API
    • JavaScript API
  • Runtime Facilities
    • Native Programs
    • Sysvar Cluster Data
  • On-chain Programs
    • Overview
    • Developing with Rust
    • Developing with C
    • Deploying
    • Debugging
  • Ethereal Test Validator
  • EVM Integration
    • EVM in Ethereal
    • Legacy Address convention
    • EVM Bridge
  • Integrating
    • Add Ethereal to Your Exchange
  • Validating
    • Running a Validator
    • Validator Requirements
    • Starting a Validator
    • Vote Account Management
    • Staking
    • Monitoring a Validator
    • Publishing Validator Info
  • Clusters
    • Ethereal Clusters
    • Benchmark a Cluster
    • Performance Metrics
  • Architecture
    • Cluster
      • Ethereal Cluster
      • Synchronization
      • Leader Rotation
      • Fork Generation
    • Validator
      • Anatomy of a Validator
      • Blockstore
      • Gossip Service
  • Software
    • Vision Documentation
    • Quick Start
    • Specifications
    • Technical Perspective
  • Tutorials
    • Solidity Tutorials
      • Deploy a NFT (ERC-721) Tutorial
      • Deploy a Smart Contract
      • Deploy a ERC-20 Token
      • How To Build an NFT Marketplace
  • Set up MetaMask (Mainnet)
  • Set up MetaMask (Testnet)
Powered by GitBook
On this page
  • Advantages
  • Installation
  • Running
  • Interacting
  • Appendix I: Status Output

Ethereal Test Validator

During early stage development, it is often convenient to target a cluster with fewer restrictions and more configuration options than the public offerings provide. This is easily achieved with the Ethereal-test-validator binary, which starts a full-featured, single-node cluster on the developer's workstation.

Advantages

  • No RPC rate-limits

  • No airdrop limits

  • Direct on-chain program deployment (--bpf-program ...)

  • Clone accounts from a public cluster, including programs (--clone ...)

  • Configurable transaction history retention (--limit-ledger-size ...)

  • Configurable epoch length (--slots-per-epoch ...)

  • Jump to an arbitrary slot (--warp-slot ...)

Installation

The Ethereal-test-validator binary ships with the EtherealNetwork CLI Tool Suite. Install before continuing.

Running

First take a look at the configuration options

Ethereal-network-test-validator --help

Next start the test validator

Ethereal-network-test-validator

By default, basic status information is printed while the process is running. See Appendix I for details

Ledger location: test-ledger

Log: test-ledger/validator.log

Identity: EPhgPANa5Rh2wa4V2jxt7YbtWa3Uyw4sTeZ13cQjDDB8

Genesis Hash: 4754oPEMhAKy14CZc8GzQUP93CB4ouELyaTs4P8ittYn

Version: 1.6.7

Shred Version: 13286

Gossip Address: 127.0.0.1:1024

TPU Address: 127.0.0.1:1027

JSON RPC URL: http://127.0.0.1:8899

⠈ 00:36:02 | Processed Slot: 5142 | Confirmed Slot: 5142 | Finalized Slot: 5110 | Snapshot Slot: 5100 | Transactions: 5142 | ◎499.974295000

Leave Ethereal-test-validator running in its own terminal. When it is no longer needed, it can be stopped with ctrl-c.

Interacting

Open a new terminal to interact with a running Ethereal-test-validator instance using other binaries from the EtherealNetwork CLI Tool Suite or your own client software.

Etherealconfig set --url http://127.0.0.1:8899

Verify the CLI Tool Suite configuration

Etherealgenesis-hash

  • NOTE: The result should match the Genesis Hash: field in the Ethereal-test-validator status output

Check the wallet balance

Etherealbalance

  • NOTE: Error: No such file or directory (os error 2) means that the default wallet does not yet exist. Create it with Ethereal-keygen new.

  • NOTE: If the wallet has a zero XZO balance, airdrop some localnet ETRL with Etherealairdrop 10

Perform a basic transfer transaction

Etherealtransfer EPhgPANa5Rh2wa4V2jxt7YbtWa3Uyw4sTeZ13cQjDDB8 1

Monitor msg!() output from on-chain programs

Ethereallogs

  • NOTE: This command needs to be running when the target transaction is executed. Run it in its own terminal

Appendix I: Status Output

Ledger location: test-ledger

  • File path of the ledger storage directory. This directory can get large. Store less transaction history with --limit-ledger-size ... or relocate it with --ledger ...

Log: test-ledger/validator.log

  • File path of the validator text log file. The log can also be streamed by passing --log. Status output is suppressed in this case.

Identity: EPhgPANa5Rh2wa4V2jxt7YbtWa3Uyw4sTeZ13cQjDDB8

  • The validator's identity in the [gossip network]

Version: 1.6.7

  • The software version

Gossip Address: 127.0.0.1:1024

TPU Address: 127.0.0.1:1027

JSON RPC URL: http://127.0.0.1:8899

The network address of the [Gossip], [Transaction Processing Unit] and [JSON RPC] service, respectively

⠈ 00:36:02 | Processed Slot: 5142 | Confirmed Slot: 5142 | Finalized Slot: 5110 | Snapshot Slot: 5100 | Transactions: 5142 | ◎499.974295000

Session running time, current slot of the three block commitment levels, slot height of the last snapshot, transaction count, voting authority balance

PreviousDebuggingNextEVM Integration

Last updated 1 year ago

Configure the CLI Tool Suite to target a local cluster by default

#