Server data from the Official MCP Registry
OpenAI-compatible AI inference, code, embeddings & agent tools for bots — and mine ANM.
OpenAI-compatible AI inference, code, embeddings & agent tools for bots — and mine ANM.
Remote endpoints: streamable-http: https://mcp.animica.org/mcp
Valid MCP server (1 strong, 0 medium validity signals). 5 known CVEs in dependencies ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 2 finding(s) downgraded by scanner intelligence.
Endpoint verified · Open access · 7 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: ANIMICA_API_KEY
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
Animica is a fully decentralized layer-1 blockchain platform for verifiable AI and quantum-secure execution. This repository houses the complete blockchain node implementation, consensus engine, execution layer, cryptographic infrastructure, wallets, SDKs, developer tooling, and supporting services for running and extending the network.
This monorepo contains:
core/, consensus/, execution/, mempool/, rpc/, p2p/, mining/
p2p/): Full peer-to-peer networking with quantum-resistant handshake, gossip protocol, and multi-transport supportconsensus/): PoIES algorithm for decentralized block validationproofs/, zk/, pq/, randomness/wallet-qt/ - Qt desktop wallet with embedded node (macOS/Windows/Linux)wallet/ - Flutter mobile walletwallet-extension/ - Browser extension walletexplorer-web/ - Block explorermining/ (core), apps/miner-gui/ (Qt desktop GUI miner)studio-web/, studio-wasm/, studio-services/, templates/sdk/ (Python/TypeScript/Rust), docs/ (specifications), spec/ (canonical schemas)ops/, tests/devnet/, installers/, chains/ (network metadata)website/ (Astro + TypeScript main site)packages/ (Auth, Billing, Inference, Sandbox, GitHub App services) - See COMPUTE_PLATFORM_QUICKSTART.mdEach module has its own README with detailed information. See the Copilot instructions at the bottom of this file for coding guidelines.
The Animica Compute Platform provides enterprise-ready LLM inference, code execution, and GitHub integration with native ANM token payments.
Quick Start:
make compute-dev # Start all compute services with Docker Compose
See COMPUTE_PLATFORM_QUICKSTART.md for detailed setup instructions.
The production website lives in website/. See website/README.md for local dev and Docker deployment (nginx on port 4321).
Animica is a fully peer-to-peer network where nodes communicate directly without relying on central servers:
127.0.0.1 provide public discovery/sync helpers; run your own node for day-to-day queries and mining.Run your own node to strengthen the network and maintain decentralization. See P2P Networking Guide for details.
venv and pipOn Ubuntu/Debian:
sudo apt-get update
sudo apt-get install -y build-essential pkg-config libssl-dev
On macOS (via Homebrew):
brew install pkg-config openssl
./setup.sh # or: FRESH=1 ./setup.sh --fresh
source .venv/bin/activate
animica network set devnet # mainnet | testnet | devnet | local-devnet
animica network get # confirm selection
animica node up # background (default)
animica node up --no-detach # foreground with logs
animica node up --with-miner # include miner service
animica node status # chain head, peers, sync info
animica node head # latest block header
animica peer list # connected peers (expect >0)
animica sync status # detailed sync progress
💡 Fast Sync with Snapshots:
New nodes can bootstrap much faster using chain snapshots:
# Verify snapshot system is working
python3 scripts/verify_snapshot_system.py
# Enable snapshot sync (enabled by default)
export ANIMICA_SNAPSHOT_SYNC_ENABLED=true
export ANIMICA_SNAPSHOT_RPC_URL=http://snapshots.animica.org:8545/rpc # Optional
# Start node - automatically downloads snapshot if available
animica node up
# Or manually download/import snapshot
animica snapshot list
animica snapshot import /path/to/snapshot
See SNAPSHOT_VERIFICATION_GUIDE.md for complete guide and troubleshooting.
animica peer list --verbose # shows multiaddrs + scores
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet logs -f node1 | grep p2p
If peer count stays 0: verify ANIMICA_P2P_SEEDS (or use defaults), open TCP/QUIC ports on your host, and confirm you selected the right network. For a manual seed bump, set:
export ANIMICA_P2P_SEEDS="/dns4/seed.animica.org/tcp/30333"
animica node down && animica node up
animica wallet create --label mywallet
animica faucet request mywallet # devnet/testnet only
animica wallet show mywallet --source chain
animica tx send --from mywallet --to anim1recipient... --value 1.0
animica tx status <tx_hash>
animica node down # keep data
animica node down --volumes # wipe data (irreversible)
Need a deeper walkthrough? The sections below expand on each CLI area (networking, node ops, wallets, mining, RPC, Studio Services, Docker, non-Docker boot, and troubleshooting).
For users who want a simpler "just works" experience without managing the CLI, the Animica Wallet Qt provides a cross-platform desktop application with an embedded node.
Current Release: v0.1.0 (Coming Soon)
| Platform | Download | Notes |
|---|---|---|
| 🍎 macOS | .dmg installer | Universal (Apple Silicon + Intel) |
| 🪟 Windows | .msi installer | Windows 10/11 (x64) |
| 🐧 Linux | .AppImage or .deb | Universal AppImage or Debian package |
Installation:
chmod +x, and runsudo dpkg -i animica-wallet_*.debSee wallet-qt/README.md for build instructions and wallet-qt/docs/RELEASING.md for packaging releases.
git clone https://github.com/animicaorg/all.git
cd all
The setup.sh script installs all dependencies and configures the environment:
# Standard installation
./setup.sh
# Fresh installation (removes existing .venv)
./setup.sh --fresh
# Using environment variable
FRESH=1 ./setup.sh
Run ./setup.sh --help to see all options:
Options:
--fresh Remove existing .venv and perform a clean installation
-h, --help Show help message
Environment Variables:
FRESH=1 Same as --fresh flag
PIP_INDEX_URL Primary pip package index
PIP_EXTRA_INDEX_URL Additional pip package index (for custom packages)
For internal deployments or testing with custom package repositories:
PIP_EXTRA_INDEX_URL=https://your-index.example.com/simple ./setup.sh
After setup completes:
source .venv/bin/activate
# Check that the CLI is installed
animica --help
# Test PQ cryptography
python -c "from animica.pq import kem_keygen, kem_encaps, kem_decaps; ek,dk=kem_keygen(); k,ct=kem_encaps(ek); assert kem_decaps(dk,ct)==k; print('✓ KEM ok')"
python -c "from animica.pq import sig_keygen, sig_sign, sig_verify; pk,sk=sig_keygen(); m=b'hi'; s=sig_sign(sk,m); assert sig_verify(pk,m,s); print('✓ SIG ok')"
If animica is not in your PATH, use the wrapper:
./animica --help
Animica supports multiple network profiles with isolated data directories and non-conflicting ports:
| Network | Chain ID | RPC Port | P2P Port | Metrics Port | Use Case |
|---|---|---|---|---|---|
| mainnet | 1 | 8545 | 30333 | 9000 | Production network |
| testnet | 2 | 18546 | 31334 | 19000 | Public testing |
| devnet | 1337 | 28545 | 31335 | 29000 | Local development |
| local-devnet | 1337 | 38545 | 31336 | 39000 | Alternative local setup |
The active network determines which configuration and data directory the CLI uses:
# Option 1: Set persistent network preference
animica network set devnet
# Option 2: Set via environment variable (session-only)
export ANIMICA_NETWORK=devnet
# Option 3: Use --network flag per command
animica --network testnet node status
animica network get
animica network list
Each network uses its own data directory to prevent state contamination:
~/.local/share/animica/chain-1/ (Linux) or ~/Library/Application Support/animica/chain-1/ (macOS)~/.local/share/animica/chain-2/~/.local/share/animica/chain-1337/~/.local/share/animica/chain-1337/ANIMICA_NETWORK: Active network name (mainnet, testnet, devnet, local-devnet)ANIMICA_RPC_URL: Override default RPC endpointANIMICA_CHAIN_ID: Override default chain IDAnimica is fully decentralized - nodes connect directly to each other via P2P without any central authority. The public RPC at 127.0.0.1 is provided only for bootstrapping; wallets, miners, and explorers should use a locally run node after syncing.
Verify your node connects to the decentralized network:
# Start a node
animica node up
# Check connected peers (should show 8-16 peers)
animica peer list
# Or via RPC
curl http://localhost:8545/rpc -H 'content-type: application/json' -d '{
"jsonrpc":"2.0","id":1,"method":"p2p.listPeers","params":[]
}' | jq .
# P2P is enabled by default
export ANIMICA_P2P_ENABLE=true
# Set listen addresses (for public nodes)
export ANIMICA_P2P_LISTEN_TCP=0.0.0.0:30333
export ANIMICA_P2P_LISTEN_QUIC=0.0.0.0:443
# Set max peers
export ANIMICA_P2P_MAX_PEERS=64
# Use custom seeds
export ANIMICA_P2P_SEEDS="/dns4/my-seed.com/tcp/30333"
Before starting a node, set the network:
animica network set devnet
# Background mode (default)
animica node up
# Foreground mode with logs
animica node up --no-detach
# Include miner service
animica node up --with-miner
# Skip image rebuild
animica node up --no-build
When you start a node, it automatically uses the correct ports for your active network:
8545, P2P 30333, Metrics 900018546, P2P 31334, Metrics 1900028545, P2P 31335, Metrics 2900038545, P2P 31336, Metrics 39000Override default ports with environment variables:
HOST_RPC_PORT=9545 HOST_P2P_PORT=31337 animica node up
# Stop node (preserve data)
animica node down
# Stop and delete all data (WARNING: irreversible!)
animica node down --volumes
# Get chain status and head block
animica node status
# Get just the chain head
animica node head
# Get specific block
animica node block --height 100
animica node block --hash 0xabc...
# Get transaction
animica node tx --hash 0x123...
With Docker Compose directly:
# For devnet
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet logs -f node1
# For mainnet (when using ops/docker/docker-compose.mainnet.yml)
docker compose -f ops/docker/docker-compose.mainnet.yml logs -f node
# Create new wallet with label
animica wallet create --label mywallet
# For development/testing only (uses fallback crypto if PQ unavailable)
animica wallet create --label devwallet --allow-insecure-fallback
animica wallet list
Output example:
Idx Default Label Address Alg
--- ------- ---------------- ----------------------------------- ----------------
0 * premine anim1zqqjt3258rgnfckqxv686unmg... dilithium3
1 mywallet anim1abc123... dilithium3
# By label
animica wallet show mywallet
# By address
animica wallet show anim1abc123...
# Show balance from chain (requires node running)
animica wallet show mywallet --source chain
# Show secret key (WARNING: sensitive!)
animica wallet show mywallet --show-secret --i-know-what-im-doing
Set the required environment variable:
export ANIMICA_ALLOW_SECRET=1
animica wallet show mywallet --show-secret --i-know-what-im-doing
# From JSON file
animica wallet import --file /path/to/wallet.json
# Override label on import
animica wallet import --file wallet.json --label imported
# Force overwrite existing
animica wallet import --file wallet.json --force
# Export by label
animica wallet export mywallet --out /secure/path/wallet-backup.json
# Export by address
animica wallet export anim1abc... --out wallet-backup.json
animica wallet set-default mywallet
By default, wallets are stored in:
~/.animica/wallets.json~/.animica/wallets.json~/.animica/wallets.jsonOverride with:
export ANIMICA_WALLETS_FILE=/custom/path/wallets.json
# or
animica wallet --wallet-file /custom/path/wallets.json list
pip install --upgrade animica
animica up
animica up is the whole setup. It creates a wallet if you don't have one, then a
single process joins pool.animica.org and the one global model, running —
by capability — SHA3 proof-of-work, ENA useful-work, and (on a GPU) model training
animica up --plan.The pool enforces a minimum miner version (1.0.0) and rejects older miners, so
keep animica upgraded. Full guide: https://pool.animica.org/mining-onboard.
The sections below are advanced/manual paths (animica up runs these for you).
NEW: Production-quality Qt desktop GUI miner with first-run wizard, real-time dashboard, device auto-detection, and live stats.
# Install GUI miner dependencies
cd apps/miner-gui
pip install -e .
# Launch GUI miner
animica gui miner
# Or use the alias
animica-miner-gui
Features:
See apps/miner-gui/README.md for detailed documentation.
# Mine 5 blocks to a wallet (by label)
animica miner mine-blocks --count 5 premine
# Mine to a bech32 address
animica miner mine-blocks --count 10 anim1abc123...
# Mine with verbose output (shows transaction details)
animica miner mine-blocks --count 5 --verbose premine
# Specify RPC URL
animica miner mine-blocks --count 5 --rpc-url http://localhost:8545 mywallet
The miner service is included when using --with-miner:
animica node up --with-miner
Or start miner separately with Docker Compose:
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet up -d miner
Environment variables:
export ANIMICA_MINER_ADDRESS=anim1... # Default payout address
export ANIMICA_MINER_MAX_NONCE=100000 # Max nonce iterations
export ANIMICA_MINER_THREADS=4 # CPU mining threads
# Generate pool payout address
animica miner generate-payout-address --label pool-operator
# Write a starter pool env file
animica pool init --path animica-pool.env
# Run a managed Stratum pool
animica pool up --daemon \
--profile asic_sha256 \
--rpc-url http://localhost:8545/rpc \
--host 0.0.0.0 \
--port 3333 \
--api-host 127.0.0.1 \
--api-port 8550
# Diagnose the node/pool/template path
animica pool doctor
animica pool test-job
animica pool list-workers
# Show status / stop
animica pool status
animica pool down
animica stratum ... remains available as a compatibility alias for the same managed pool commands.
# Send tokens (by wallet label)
animica tx send --from mywallet --to anim1recipient... --value 1.5
# Send with specific nonce
animica tx send --from mywallet --to anim1... --value 1.0 --nonce 5
# Send to a label (resolves address from wallet)
animica tx send --from sender --to recipient --value 0.5
# Get transaction by hash
animica tx status <tx_hash>
# Get transaction receipt
animica tx receipt <tx_hash>
# Using the CLI RPC command
animica rpc call state.getBalance '{"params": ["anim1..."]}'
# Get nonce
animica rpc call state.getNonce '{"params": ["anim1..."]}'
# Call RPC method (no params)
animica rpc call chain.getHead
# Call with parameters (JSON)
animica rpc call state.getBalance '{"params": ["anim1..."]}'
# Call with params (array)
animica rpc call chain.getBlockByNumber '{"params": [100, true]}'
# Get chain head
curl -X POST http://127.0.0.1:8545/rpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"chain.getHead","params":[],"id":1}'
# Get balance
curl -X POST http://127.0.0.1:8545/rpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"state.getBalance","params":["anim1..."],"id":1}'
# Get block by height
curl -X POST http://127.0.0.1:8545/rpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"chain.getBlockByNumber","params":[100],"id":1}'
See spec/openrpc.json for the complete RPC API specification, or visit the OpenAPI documentation when running a node:
http://127.0.0.1:8545/docs
Request test tokens for development and testing:
# Request tokens to a wallet label
animica faucet request mywallet
# Request tokens to a bech32 address
animica faucet request anim1abc123...
# Request specific amount (in nANM)
animica faucet request mywallet --amount 1000000000000000
Note: Faucet is only available on devnet and testnet. Mainnet requires acquiring ANM through exchanges or mining.
Studio Services provide additional developer tools including contract deployment/verification API, artifact storage, and the Explorer web UI.
Studio Services are optional and separate from the node. Start the node first, then start Studio Services:
# Set network
animica network set devnet
# Start node
animica node up
# Start Studio Services (in separate terminal or after)
animica studio up
Or start both together by using docker-compose profiles directly (see Docker Compose section).
# Start Studio Services
animica studio up
animica studio up --no-detach # Foreground mode
# Check status
animica studio status
# View logs
animica studio logs
animica studio logs --follow
# Stop Studio Services
animica studio down
animica studio down --volumes # Also delete storage
When Studio Services is running:
http://127.0.0.1:8081http://127.0.0.1:8081/docshttp://127.0.0.1:5173 (if enabled)# Validate configuration
animica studio config
# Override configuration
animica studio up \
--rpc-url http://localhost:8545 \
--chain-id 1337 \
--storage-dir ./studio-data
For users who prefer direct Docker Compose commands:
# Set network context
export ANIMICA_NETWORK=devnet
# Start node + miner (dev profile)
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet \
--profile dev up -d
# Start node + miner + Studio Services + Explorer (dev + studio profiles)
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet \
--profile dev --profile studio up -d
# Check running containers
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet ps
# View logs
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet logs -f node1
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet logs -f miner
# Stop everything
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet down
# Stop and remove volumes (deletes all data)
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet down -v
# Start mainnet node
docker compose -f ops/docker/docker-compose.mainnet.yml up -d
# View logs
docker compose -f ops/docker/docker-compose.mainnet.yml logs -f node
# Stop
docker compose -f ops/docker/docker-compose.mainnet.yml down
# Start testnet node
docker compose -f ops/docker/docker-compose.testnet.yml up -d
# View logs
docker compose -f ops/docker/docker-compose.testnet.yml logs -f node
# Stop
docker compose -f ops/docker/docker-compose.testnet.yml down
# Override ports via environment variables
HOST_RPC_PORT=9545 HOST_P2P_PORT=31337 HOST_METRICS_PORT=9090 \
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet up -d
For development or when Docker is not available:
# Activate environment
source .venv/bin/activate
# Set network
export ANIMICA_NETWORK=devnet
# Boot the node
python -m core.boot \
--genesis core/genesis/genesis.json \
--db sqlite:///data/animica.db
# Start RPC server
python -m rpc.server \
--db sqlite:///data/animica.db \
--genesis core/genesis/genesis.json \
--chain-id 1337 \
--host 0.0.0.0 \
--port 8545 \
--cors "[*]" \
--log-level INFO
# Start CPU miner
python -m mining.cli.miner start \
--threads 4 \
--device cpu \
--rpc-url http://127.0.0.1:8545
| Variable | Description | Default | Example |
|---|---|---|---|
ANIMICA_NETWORK | Active network profile | mainnet | devnet |
ANIMICA_RPC_URL | Node RPC endpoint | Network-specific | http://127.0.0.1:8545/rpc |
ANIMICA_CHAIN_ID | Override chain ID | Network-specific | 1337 |
ANIMICA_RPC_HOST | RPC server bind host | 0.0.0.0 | 127.0.0.1 |
ANIMICA_RPC_PORT | RPC server bind port | 8545 | 9545 |
ANIMICA_RPC_DB_URI | Database URI for RPC | sqlite:///animica.db | sqlite:////data/chain.db |
ANIMICA_LOG_LEVEL | Logging level | INFO | DEBUG |
ANIMICA_RPC_CORS_ORIGINS | CORS allowed origins | [*] | ["http://localhost:3000"] |
| Variable | Description | Default | Example |
|---|---|---|---|
ANIMICA_MINER_ADDRESS | Default miner payout address | None | anim1abc... |
ANIMICA_MINER_MAX_NONCE | Max nonce iterations per block | 100000 | 1000000 |
MINER_DEVICE | Mining device | cpu | cuda, opencl |
MINER_THREADS | CPU mining threads | Auto | 4 |
MINER_LOG_LEVEL | Miner log level | INFO | DEBUG |
Bootstrap-only mode is disabled by default. Enable it explicitly with
ANIMICA_BOOTSTRAP_NODE=true (or animica node up --bootstrap-node) and disable
it with ANIMICA_BOOTSTRAP_NODE=false or by unsetting the variable. You can also
override the bootstrap RPC endpoint via ANIMICA_BOOTSTRAP_RPC_URL.
| Variable | Description | Default | Example |
|---|---|---|---|
ANIMICA_P2P_SEEDS | Seed node addresses | Network-specific | node1.example.com:30333 |
ANIMICA_P2P_LISTEN | P2P listen address | 0.0.0.0:30333 | 0.0.0.0:31337 |
ANIMICA_BOOTSTRAP_NODE | Enable bootstrap-only RPC mode | false | true |
ANIMICA_BOOTSTRAP_RPC_URL | Override bootstrap RPC endpoint | Network-specific | http://127.0.0.1:8545/rpc |
ANIMICA_BOOTSTRAP_PASSWORD | Bootstrap password (mainnet only) | None | <secure-password> |
| Variable | Description | Default | Example |
|---|---|---|---|
ANIMICA_WALLETS_FILE | Wallet store location | ~/.animica/wallets.json | /secure/wallets.json |
ANIMICA_ALLOW_SECRET | Allow secret key display | 0 | 1 (enable) |
ANIMICA_DEFAULT_ADDRESS | Default wallet address | None | anim1... |
| Variable | Description | Default | Example |
|---|---|---|---|
RPC_URL | Node RPC endpoint | Required | http://127.0.0.1:8545 |
CHAIN_ID | Chain ID | 1337 | 1 |
STORAGE_DIR | Storage directory | ./.data | /var/studio-data |
HOST | Studio API bind host | 0.0.0.0 | 127.0.0.1 |
PORT | Studio API bind port | 8081 | 8080 |
ALLOWED_ORIGINS | CORS origins | None | http://localhost:3000 |
FAUCET_KEY | Faucet private key (dev only) | None | <hex-encoded-key> |
| Variable | Description | Default | Example |
|---|---|---|---|
HOST_RPC_PORT | Host RPC port mapping | Network-specific | 9545 |
HOST_P2P_PORT | Host P2P port mapping | Network-specific | 31337 |
HOST_METRICS_PORT | Host metrics port mapping | Network-specific | 9090 |
| Variable | Description | Default | Example |
|---|---|---|---|
ANIMICA_TESTALL_NO_LINT | Skip linting in testall.sh | 0 | 1 |
ANIMICA_TEST_SIG_ALG | Force signature algorithm in tests | Auto | dilithium3 |
ANIMICA_PQ_MODE | Post-quantum mode | enabled | disabled |
ANIMICA_ALLOW_PQ_PURE_FALLBACK | Allow pure Python PQ fallback | 0 | 1 (dev only) |
# Activate environment
source .venv/bin/activate
# Run complete test suite (Python + Node + Rust)
./testall.sh
# All Python tests
pytest -q
# Specific modules
pytest consensus/tests/ -v
pytest execution/tests/ -v
pytest rpc/tests/ -v
pytest mempool/tests/ -v
pytest p2p/tests/ -v
pytest wallet/tests/ -v
# With coverage
pytest --cov=consensus consensus/tests/
pytest --cov=execution execution/tests/
# Run only fast unit tests (skip slow integration tests)
pytest -m "not slow and not integration" -q
# Run specific test file
pytest tests/test_mining_manual.py -v
# Run specific test function
pytest tests/test_mining_manual.py::test_mining_flow -v
# Run with verbose output and stop on first failure
pytest tests/test_mining_manual.py::test_mining_flow -vv -x --tb=long
# Start devnet
animica network set devnet
animica node up
# Run integration tests against devnet
pytest tests/integration/ --rpc http://127.0.0.1:28545
# Stop devnet
animica node down
Problem: Commands fail with "Error: No network configured"
Solution: Set a network first
animica network set devnet
# or
export ANIMICA_NETWORK=devnet
# or use --network flag
animica --network devnet node status
Problem: docker compose up fails with "port is already allocated"
Solution: Check for existing containers or use custom ports
# Check for existing containers
docker ps
# Stop existing containers
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet down
# Or use custom ports
HOST_RPC_PORT=9545 animica node up
Problem: Node doesn't sync or can't connect to peers
Solution:
# Check P2P connectivity
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet logs node1 | grep p2p
# Verify seed nodes
echo $ANIMICA_P2P_SEEDS
# Check network configuration
animica network get
Problem: animica wallet show returns "Wallet not found"
Solution:
# List all wallets
animica wallet list
# Verify wallet file exists
ls -la ~/.animica/wallets.json
# Check wallet file location
echo $ANIMICA_WALLETS_FILE
Problem: Transaction stays pending and never confirms
Solution: Mine blocks to include the transaction
# Mine blocks to process pending transactions
animica miner mine-blocks --count 5 premine
# Check transaction status
animica tx status <tx_hash>
Problem: Node fails to start with "Genesis file not found"
Solution:
# Copy appropriate genesis file
bash genesis/devnet.sh
# Or specify path explicitly
python -m core.boot --genesis /path/to/genesis.json
Problem: Database initialization or corruption errors
Solution: Remove DB and reinitialize
# For devnet (chain ID 1337)
rm -rf ~/.local/share/animica/chain-1337/
animica node up
# Or use Docker volumes
animica node down --volumes
animica node up
Problem: Docker Compose fails or containers crash
Solution: Reset and rebuild
# Stop everything and remove volumes
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet down -v
# Clean Docker system (careful!)
docker system prune -af
# Rebuild and start
animica node up --build
Problem: Wallet creation fails with PQ errors
Solution:
# Test PQ availability
python -c "from animica.pq import sig_keygen; print('PQ available')"
# For development only: use fallback
animica wallet create --label devwallet --allow-insecure-fallback
# Reinstall PQ package
pip install -e pq/ --force-reinstall
Problem: CLI commands fail with "connection refused"
Solution:
# Check if node is running
docker ps | grep animica
# Check node logs
docker compose -f tests/devnet/docker-compose.yml -p animica-devnet logs node1
# Verify RPC URL
echo $ANIMICA_RPC_URL
# Try connecting manually
curl http://127.0.0.1:8545/rpc
Problem: pytest fails to collect tests
Solution:
# Some test modules require optional dependencies - these are automatically skipped
# Check which tests are being skipped
pytest --collect-only -q | grep SKIPPED
# Install missing dependencies
pip install -e ".[dev]"
# Reinstall all
./setup.sh --fresh
QUICKSTART.md - Fast setup and basic operationsdocs/ARCHITECTURE.md - System design and data flowdocs/dev/CONTRACTS_START.md - Write Python-VM smart contractsspec/openrpc.json - Complete JSON-RPC API specificationspec/abi.schema.json - Contract ABI formatgovernance/GOVERNANCE.md - Protocol upgrade processSECURITY.md - Security policies and reportingwallet/README.md - Flutter wallet documentationexplorer-web/README.md - Block explorer setup<module>/README.md - Component-specific documentationspec/poies_math.md - Consensus algorithm detailsvm_py/specs/GAS.md, vm_py/specs/DETERMINISM.md - Execution modelexecution/specs/RECEIPTS.md - Transaction receipt formataicf/README.md - AI Capability Framework lifecycleWe welcome contributions! Please follow these guidelines:
./testall.sh passes before submittingruff for lintingrustfmt and clippygit checkout -b feature/my-featuregit commit -m "feat: add feature X"git push origin feature/my-featureSee CONTRIBUTING.md for detailed guidelines.
docs/ folderWhen filing an issue, include:
DO NOT open public issues for security vulnerabilities. Instead:
SECURITY.md for our security policyFor security-sensitive topics (keys, proofs, VKs, installer signing), request a security review before merging.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.