- Bitcoin regtest node: A local Bitcoin testnet environment.
- EVM localnet nodes: Local Ethereum and Arbitrum test environments. Simply add the localnet details to your EVM wallet to detect and interact.
- Filler bot: Simulates the behavior of a live solver based on predefined strategies.
- Orderbook: Local version of the order book to test how intents are matched and fulfilled.
- Faucet: Generate unlimited test funds for seamless testing.
- Electrum services: Lightweight wallet support for interacting with Bitcoin network.
Installation
Prerequisites: Ensure Docker is installed and running. Download Docker from docker.com.
.merry
directory on your system.
Commands
Merry provides a variety of commands to manage your testing environment.Start Merry
Start all services with:Optional flags
Optional flags
--bare
: Starts multi-chain services only (Bitcoin and Ethereum nodes with explorers) without Garden services--headless
: Starts all services without frontend interfaces for server environments
Stop Merry
Stops all running services:Use
--delete
or -d
to remove data:List all commands
Display all available commands:Get logs
Access logs for specific services:<service>
with the specific service (e.g., filler, orderbook) to view its logs.
Replace a service with local version
Replace a service with your local development version:Make sure you’re in the directory containing the local service’s Dockerfile. You can only replace filler, orderbook, and EVM chain services.
Interact with Bitcoin RPC
Run Bitcoin RPC commands directly:Fund accounts
Use the faucet to fund Bitcoin or Ethereum addresses for testing:Update Docker images
Keep your environment up-to-date by pulling the latest Docker images:Generate auto-completion scripts
Generate scripts for your shell (bash, zsh, fish, powershell):Get version info
Check the version of Merry installed:Supported services
The following services are available when running Merry. Use these ports to connect your applications and tools.
Service | Port | Description |
---|---|---|
Bitcoin regtest node | localhost:18443 & 18444 | Local Bitcoin test network |
Bitcoin esplora frontend | localhost:5050 | Bitcoin blockchain explorer UI |
Bitcoin esplora electrs indexer | localhost:50000 & 30000 | Bitcoin transaction indexer |
Ethereum localnode | localhost:8545 | Local Ethereum test network |
Ethereum otterscan | localhost:5100 | Ethereum blockchain explorer |
Arbitrum localnode | localhost:8546 | Local Arbitrum test network |
Arbitrum otterscan | localhost:5101 | Arbitrum blockchain explorer |
Postgres | localhost:5432 | Database for order storage |
Redis | localhost:6379 | Cache and session storage |
Orderbook | localhost:8080 | Garden orderbook API |
Filler | - | Background solver simulation |