Overview
This guide walks through the fastest path from zero to a deployed Python actor on a local Cowboy devnet. You’ll bring up a validator + runner with Docker, point thecowboy CLI at it, and deploy the reference hello actor.
What you’ll learn:
- How to run a local Cowboy network
- How to scaffold a project and manage a wallet
- How to deploy and execute a Python actor
- Where the real examples and SDK live
Prerequisites
- Rust 1.89+ — install via rustup
- Docker (for the local multi-node devnet)
- Node.js 18+ (optional, for the Lasso console)
Everything below assumes you’re at the root of the monorepo (
cowboy/). If you need to orient yourself first, see Repository Layout.1. Start a Local Devnet
Thedocker/ directory has a Compose stack that runs one validator and one runner:
http://localhost:4000 and Prometheus metrics at http://localhost:3001.
For a larger network:
2. Build the CLI
In another terminal, build thecowboy binary from the node/ workspace:
PATH:
3. Scaffold a Project
From wherever you’d like your project to live:.cowboy/ directory with a fresh secp256k1 keypair and a config pointing at http://localhost:4000, plus an actors/ directory with starter templates:
4. Deploy the Hello Actor
The starterhello actor is a tiny counter:
5. Call the Actor
Execute a handler:6. Next Steps
Minimal Actor Walkthrough
Understand the actor programming model
CLI Reference
Every
cowboy subcommand, flags, and semanticsEnd-to-End Example
Study
node/examples/llm_chat/ — an SDK-based actor that calls a runnerFee Model
Learn how Cycles and Cells are metered and priced
Where to Find Things
- Starter actors:
actors/hello/,actors/feed-subscriber/ - Worked examples:
node/examples/llm_chat/,node/examples/ring-demo/,node/examples/token/ - Python SDK:
node/pvm/Lib/cowboy_sdk/(CIP-6 —@actor,runner.continuation,CowboyModel, …) - Lasso console:
lasso/— an interactive React/Ink wrapper over the CLI
Troubleshooting
'cowboy: command not found'
'cowboy: command not found'
Add
node/target/release/ to your PATH, or invoke the binary directly: ./node/target/release/cowboy ….'connection refused' on RPC
'connection refused' on RPC
Verify the Docker stack is up (
docker ps) and that port 4000 is mapped. Check docker logs for validator errors. Re-run cowboy init local if your .cowboy/config.json points somewhere else.Actor deploy fails with 'insufficient gas'
Actor deploy fails with 'insufficient gas'
The default cycle/cell limits are conservative. For larger actors, pass
--cycles-limit and --cells-limit — see cowboy actor.
