testapp

command module
v1.1.0-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

README

Test Application

Reference implementation of a key-value store rollup using ev-node. Includes a KV executor, HTTP server for transaction submission, and a stress test tool targeting 10M req/s.

Build

# Build the testapp binary
go build -o testapp .

# Build the stress test tool
go build -o stress-test ./kv/bench/

Quick Start

You need 3 terminals: one for the local DA, one for the testapp node, and one for the stress test.

# Terminal 1: Start local DA (defaults to localhost:7980)
go run ../../tools/local-da

# Terminal 2: Initialize and start the testapp
./testapp init --evnode.node.aggregator --evnode.signer.passphrase_file examples/passphrase.txt
./testapp start --kv-endpoint localhost:9090 --evnode.node.aggregator --evnode.signer.passphrase_file examples/passphrase.txt

# Terminal 3: Run the stress test
./stress-test --addr localhost:9090 --duration 10s --workers 10000

Commands

Command Description
testapp init Initialize configuration and genesis
testapp start Run the node (aliases: run, node)
testapp rollback Rollback state by one height
testapp version Show version info
testapp keys Manage signing keys
testapp net-info Get info from a running node via RPC
Key Flags for start
Flag Description
--kv-endpoint <addr> Enable the KV HTTP server (e.g. localhost:9090)
--evnode.node.aggregator Run as aggregator (block producer)
--evnode.node.block_time Block interval (default 1s)
--evnode.da.address DA layer address
--home <dir> Data directory (default ~/.testapp)

HTTP Endpoints

When --kv-endpoint is set, the following endpoints are available:

Method Path Description
POST /tx Submit a transaction (key=value body)
GET /kv?key=<key> Retrieve latest value for a key
GET /store List all key-value pairs
GET /stats Get injected/executed tx counts and blocks produced

Stress Test

./stress-test --addr localhost:9090 --duration 10s --workers 1000
Flag Default Description
-addr localhost:9090 Server host:port
-duration 10s Test duration
-workers 1000 Concurrent TCP workers

The test sends transactions via raw persistent TCP connections, reports live RPS, and prints a summary table with avg/peak req/s, server-side block stats, and whether the 10M req/s goal was reached.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
kv
bench command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL