MCPcopy Index your code
hub / github.com/airalab/robonomics

github.com/airalab/robonomics @v4.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.2.0 ↗ · + Follow
771 symbols 1,518 edges 108 files 297 documented · 39%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Robonomics Network

Web3 Foundation Grants — Wave Two Recipient

License Release Nightly Downloads Matrix

Robonomics implementation in Rust based on the Polkadot SDK. For more specific guides, like how to be a node, see the Robonomics Wiki.

Robonomics platform includes a set of open-source packages and infrastructure for Robotics, Smart Cities and Industry 4.0 developers.

Quick Start

The fastest way to get started with Robonomics is using Nix flakes to run directly from GitHub, or use pre-built binaries.

Option 1: Run Directly with Nix (Easiest & Recommended)

No downloads, no builds, no setup - just run! Nix will automatically fetch and cache the binary.

  1. Install Nix with flakes support (one-time setup):
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
  1. Run Robonomics directly from GitHub:
# Run the latest version
nix run github:airalab/robonomics

# Run in development mode
nix run github:airalab/robonomics -- --dev

# Run a specific version
nix run github:airalab/robonomics/v4.1.0 -- --dev
  1. Open Polkadot.js Apps to interact with your local node

That's it! Nix handles everything - downloads, dependencies, and caching. Works on Linux, macOS, and Windows (WSL).

Option 2: Using Pre-built Binaries

  1. Download the latest release:
# Visit https://get.robonomics.network
# Or download directly from releases
wget https://github.com/airalab/robonomics/releases/download/v4.1.0/robonomics
chmod +x robonomics
  1. Run a local development node:
./robonomics --dev
  1. Open Polkadot.js Apps to interact with your local node

Try it out

Once you have a node running, you can:

Repository Structure

This repository is organized as a Cargo workspace with the following structure:

Node Binary

  • bin/robonomics/ - Main binary implementation
  • The Robonomics Network Omni Node with CLI interface
  • Built using polkadot-omni-node-lib for maximum compatibility

Runtime

  • runtime/robonomics/ - Robonomics parachain runtime
  • WASM runtime implementation for the Robonomics Network
  • Includes configurations for Kusama and Polkadot relay chains
  • Integrates all custom pallets and standard Substrate pallets

Custom Pallets

  • frame/ - Custom FRAME pallets for IoT and robotics
  • datalog/ - Immutable on-chain data logging with time-series storage
  • digital-twin/ - Digital twin state management and topic-based data organization
  • launch/ - Robot/device launch commands with parameter support
  • liability/ - Smart contract-like agreements for robotics tasks
  • rws/ - Robonomics Web Services (RWS) subscription management
  • cps/ - Cyber-physical Systems pallet for IoT integration
  • claim/ - Pallet for ERC20 token claim support
  • parachain-info/ - Original cumulus pallet extended with relay network info

Chain Specifications

  • chains/ - Chain specification files for different networks

Tools

  • tools/robonet/ - Local network spawner and integration test framework
  • CLI tool for spawning multi-node test networks using ZombieNet SDK
  • Built-in integration tests for XCM, CPS, Claim pallets, and network functionality
  • Multiple network topologies (simple parachain, with AssetHub for XCM testing)
  • Developer-friendly interface with progress indicators and detailed logging
  • See robonet/README.md for detailed documentation

  • tools/libcps/ - Robonomics CPS (Cyber-Physical Systems) library and CLI

  • Comprehensive Rust library for managing hierarchical CPS nodes on-chain
  • Beautiful CLI interface with colored output and tree visualization
  • Multi-algorithm AEAD encryption support (XChaCha20-Poly1305, AES-256-GCM, ChaCha20-Poly1305)
  • MQTT bridge for IoT device integration
  • See libcps/README.md for detailed documentation

Development Infrastructure

  • nix/ - Nix flake modules and build configurations
  • scripts/ - Build, deployment, and testing scripts
  • runtime-benchmarks.sh - Automated runtime benchmarking for all pallets
  • try-runtime.sh - Automated runtime upgrade checks
  • build-deb.sh - Debian package builder
  • build-runtime.sh - Deterministic runtime WASM builder
  • docker/ - Docker configuration and healthcheck scripts
  • weights/ - Weight template for runtime benchmarks

Documentation

Development guidelines available at DEVELOPMENT.md.

Crates API is available at https://crates.robonomics.network.

Each component is designed to be modular and reusable, following Substrate's framework architecture. The workspace structure allows for efficient development and testing of individual components while maintaining consistency across the project.

Contributing

We welcome contributions! Please see our Contributing Guidelines.

Support

  • Robonomics Wiki: https://wiki.robonomics.network
  • GitHub Issues: https://github.com/airalab/robonomics/issues
  • Website: https://robonomics.network

License

Robonomics is licensed under the Apache License 2.0. See LICENSE for details.

Extension points exported contracts — how you extend this code

Config (Interface)
(no doc) [36 implementers]
frame/cps/src/lib.rs
Config (Interface)
(no doc) [6 implementers]
frame/liability/src/lib.rs
Config (Interface)
(no doc) [6 implementers]
frame/teleport/src/lib.rs
Config (Interface)
(no doc) [3 implementers]
frame/launch/src/lib.rs
WeightInfo (Interface)
Weight information for pallet extrinsics. Provides benchmark-derived weights for each extrinsic in the pallet. [1 implementers]
frame/digital-twin/src/weights.rs
WeightInfo (Interface)
Weight information for pallet extrinsics. Provides benchmark-derived weights for each extrinsic in the pallet. [1 implementers]
frame/rws/src/weights.rs
Config (Interface)
(no doc) [3 implementers]
frame/claim/src/lib.rs
Config (Interface)
(no doc) [3 implementers]
frame/datalog/src/lib.rs

Core symbols most depended-on inside this repo

saturating_add
called by 446
frame/cps/src/lib.rs
iter
called by 34
frame/datalog/src/lib.rs
as_ref
called by 32
frame/claim/src/lib.rs
info
called by 31
tools/libcps/src/display/mod.rs
public_key
called by 15
tools/libcps/src/crypto/cipher.rs
weigh_assets
called by 13
runtime/robonomics/src/weights/xcm/mod.rs
progress
called by 12
tools/libcps/src/display/mod.rs
require_keypair
called by 11
tools/libcps/src/blockchain/client.rs

Shape

Method 401
Function 217
Class 100
Enum 28
Interface 25

Languages

Rust100%

Modules by API surface

runtime/robonomics/src/weights/xcm/mod.rs55 symbols
frame/cps/src/tests.rs47 symbols
runtime/robonomics/src/weights/xcm/pallet_xcm_benchmarks_generic.rs32 symbols
frame/datalog/src/lib.rs25 symbols
runtime/robonomics/src/weights/pallet_xcm.rs24 symbols
frame/claim/src/lib.rs23 symbols
frame/rws/src/lib.rs22 symbols
frame/cps/src/lib.rs21 symbols
tools/libcps/src/crypto/types.rs17 symbols
frame/teleport/src/tests.rs17 symbols
frame/liability/src/signed.rs15 symbols
tools/robonet/src/tests/xcm.rs14 symbols

For agents

$ claude mcp add robonomics \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact