Verified against the f1r3node-rust implementation (Rust shard).
- Language Overview -- Process calculus, names vs processes, core model
- Syntax Reference -- Complete syntax for all language constructs
- Data Types -- Primitives, strings, byte arrays, URIs, booleans
- Operators -- Arithmetic, comparison, logical, string, interpolation
- Pattern Matching -- Patterns, connectives, destructuring, type guards
- Collections -- Lists, tuples, sets, maps with all methods
- PathMaps and Zippers -- Hierarchical trie structures and navigation
- Numeric Types -- Float, BigInt, BigRat, FixedPoint
- Channels and Concurrency -- Send, receive, persistent, peek, join, parallel
- Contracts and State -- Contract patterns, mutable cells, CRUD
- System Channels -- All
rho:*URIs: I/O, crypto, registry, vaults, AI - Registry -- Registry operations, TreeHashMap, URI generation
- Vaults and Tokens -- SystemVault, MakeMint, transfers, auth keys
- Cost Model -- Phlogiston accounting, cost functions, gas scaling
- Design Patterns -- Security, capabilities, common idioms
- Rhox Macros --
.rhoxtemplate format - Testing with RhoSpec -- Test framework, writing contract tests
- Deployment Workflow -- Deploy, propose, finalize, exploratory deploy
- Real-World Applications -- Embers template system, production patterns
- Crate Overview -- Interpreter crate architecture, compilation pipeline, system processes
- Language Analysis -- Analysis of 88 .rho files: patterns, complexity levels, compiler implications
- Rholang Tutorial -- Foundational language tutorial
- Pattern Matching Tutorial -- Deep dive into matching semantics
- Ollama Integration -- Local LLM integration guide
Working examples are in rholang/examples/:
| File | Topic |
|---|---|
tut-hello.rho |
Contracts, channels, ack pattern |
tut-lists-methods.rho |
List operations |
tut-maps-methods.rho |
Map operations |
tut-sets-methods.rho |
Set operations |
tut-strings-methods.rho |
String operations |
tut-pathmap-all-methods.rho |
PathMap operations |
tut-pathmap-zippers.rho |
Zipper navigation (18 examples) |
tut-hash-functions.rho |
SHA256, Blake2b, Keccak256 |
tut-registry.rho |
Registry insert/lookup |
tut-philosophers.rho |
Dining philosophers (concurrency) |
numeric-types.rho |
BigInt, BigRat, Float, FixedPoint |
user-crud-example.rho |
Full CRUD with mutable state |
vault_demo/ |
Vault address, balance, transfer |
Production contracts are in casper/src/main/resources/:
| File | Purpose |
|---|---|
Registry.rho |
Registry + TreeHashMap implementation |
SystemVault.rho |
Fund management and transfers |
MakeMint.rho |
Token/currency factory |
ListOps.rho |
Functional list operations library |
Either.rho |
Either monad (success/failure) |
Stack.rho |
LIFO stack data structure |
NonNegativeNumber.rho |
Constrained non-negative integers |
AuthKey.rho |
Authentication key management |
MultiSigSystemVault.rho |
Multi-signature vault |
PoS.rhox |
Proof-of-Stake validator contract (macro) |
Sophisticated contract tests in casper/src/test/resources/ using the RhoSpec framework. See Testing with RhoSpec.