Getting Started¶
This guide will help you install txpark and deploy your first testnet.
Prerequisites¶
Before using txpark, ensure you have the following installed and configured:
Required Tools¶
- kubectl (v1.25+) - Kubernetes command-line tool
- gcloud - Google Cloud SDK
- GitLab access - For CI artifact fetching (optional)
Access Requirements¶
- Access to a GKE cluster with txpark configured
- Kubectl context configured to point to the cluster
- Sufficient permissions to create namespaces and deploy resources
GitLab CLI (glab)¶
For deploying testnets with sequencer nodes, you'll need the GitLab CLI configured:
# Install glab (if not already installed)
# See: https://gitlab.com/gitlab-org/cli
# Authenticate with GitLab
glab auth login
# Verify authentication
glab auth status
The CLI uses glab to fetch build artifacts from GitLab CI pipelines.
Installation¶
Option 1: Install Script (Recommended)¶
Use the install script to automatically download the correct binary for your platform:
The script will:
- Detect your OS and architecture automatically
- Download the latest release
- Install to /usr/local/bin/txpark (may require sudo)
- Verify the installation
Option 2: Build from Source¶
# Clone the repository
git clone https://gitlab.com/tezos-infra/evm/txpark.git
cd txpark
# Build the binary
go build -o bin/txpark cmd/txpark/main.go
# Move to PATH
sudo mv bin/txpark /usr/local/bin/txpark
Verify Installation¶
Expected output:
First Testnet Deployment¶
Let's deploy your first testnet step-by-step.
1. Check Cluster Access¶
Verify you can access the Kubernetes cluster:
2. Deploy a Basic Testnet¶
Deploy a simple testnet with automatic cleanup after 1 hour:
This creates a testnet with:
- Blockscout Explorer
- TzKT Indexer
- Faucet Service
- 1-hour lifetime (auto-cleanup)
3. Deploy with EVM Sequencer¶
To deploy a full testnet with EVM sequencer node:
Prerequisites
You need to run scripts/setup-sequencer.sh my-first-testnet first to generate required keys and configuration.
# Generate sequencer configuration
./scripts/setup-sequencer.sh my-first-testnet
# Deploy with sequencer and fetch binaries from master branch
txpark deploy my-first-testnet --sequencer --build-branch master
This will:
- Trigger a GitLab CI pipeline to build binaries
- Create namespace and Kubernetes resources
- Deploy EVM sequencer, rollup node, and all services
- Configure automatic HTTPS ingress
4. Monitor Deployment¶
Check the status of your testnet:
Example output:
═══════════════════════════════════════════════════════════════
Testnet: my-first-testnet
Namespace: testnet-my-first-testnet
═══════════════════════════════════════════════════════════════
Metadata:
Created: 2026-03-19 14:00:00 UTC (5m ago)
TTL: 1h0m0s
Expires: 2026-03-19 15:00:00 UTC (in 55m)
Endpoints:
Dashboard: https://my-first-testnet.txpark.nomadic-labs.com/
Blockscout Explorer: https://my-first-testnet-blockscout.txpark.nomadic-labs.com/
Faucet: https://my-first-testnet-faucet.txpark.nomadic-labs.com/
EVM RPC: https://my-first-testnet.txpark.nomadic-labs.com/rpc
Smart Rollup Node: https://my-first-testnet.txpark.nomadic-labs.com/rollup
TzKT API: https://my-first-testnet.txpark.nomadic-labs.com/tzkt
Components:
NAME STATUS READY RESTARTS AGE
evm-sequencer-xxx Running 2/2 0 5m
my-first-testnet-blockscout-xxx Running 1/1 0 5m
my-first-testnet-tzkt-api-xxx Running 1/1 0 5m
5. View Logs¶
Watch the EVM sequencer logs:
6. Access Your Testnet¶
Open the dashboard in your browser:
7. Clean Up¶
When you're done, destroy the testnet:
Tip
If you didn't specify --permanent, the testnet will auto-delete after the lifetime expires.
Basic Commands Overview¶
Here are the essential commands you'll use:
| Command | Description |
|---|---|
txpark deploy <name> |
Deploy a new testnet |
txpark list |
List all running testnets |
txpark status <name> |
Show testnet status |
txpark logs <name> <component> |
View component logs |
txpark shell <name> |
Open shell in pod |
txpark upgrade <name> |
Upgrade testnet binaries |
txpark destroy <name> |
Delete testnet |
Common Options¶
Lifetime Management¶
# 1-hour testnet (default)
txpark deploy test-1h --lifetime 1h
# 4-hour testnet
txpark deploy test-4h --lifetime 4h
# Permanent testnet (no auto-deletion)
txpark deploy test-perm --permanent
Resource Profiles¶
# Default resources
txpark deploy test-default --profile default
# High-performance (2x resources)
txpark deploy test-highperf --profile high-performance --sequencer --build-branch master
Next Steps¶
Now that you've deployed your first testnet, explore:
- Command Reference - Detailed documentation for all commands
- Workflows - Real-world usage scenarios
- Best Practices - Tips for effective testnet management
Troubleshooting¶
Command not found¶
If txpark command is not found, ensure /usr/local/bin is in your PATH:
Kubectl context not set¶
Ensure your kubectl context is configured:
gcloud container clusters get-credentials txpark-cluster \
--region europe-west1 \
--project nl-tezos-x-alpha-infra
CI pipeline fails¶
Check your GitLab authentication:
If not authenticated, run: