Documentation Source: docs/GETTING_STARTED.md

This page is automatically synced from the icn repository

Developer Onboarding

Welcome to the InterCooperative Network (ICN) developer onboarding program. This structured curriculum will take you from zero to productive ICN contributor, whether youโ€™re new to Rust or an experienced systems programmer.

What is ICN?

ICN is a decentralized coordination substrate for cooperative organizations. Unlike blockchains that focus on trustless consensus, ICN focuses on:

  • Trust-based coordination: Social relationships inform system behavior
  • Cooperative economics: Mutual credit, clearing, and fair value exchange
  • Federation: Independent cooperatives working together across boundaries
  • Privacy and sovereignty: Members control their own data and identity

The system is built in Rust using an actor-based architecture, with components for identity, trust, networking, gossip synchronization, ledger accounting, smart contracts, and inter-cooperative federation.

Choose Your Track

Foundations Track (5-6 weeks)

  • New to Rust or havenโ€™t used it in production
  • Familiar with programming concepts from other languages
  • Want to learn Rust idioms through real-world ICN code

Accelerated Track (3-4 weeks)

  • Comfortable with Rust ownership, lifetimes, and async
  • Experience with distributed systems or P2P networking
  • Want to focus on ICN architecture and contribute quickly

Curriculum Overview

Core Modules (0-10)

ModuleTopicWhat Youโ€™ll Learn
0SetupBuild environment, tooling, project structure
1Rust FundamentalsOwnership, error handling, async patterns
2ArchitectureLayer stack, crate responsibilities, integration points
3Runtime & ActorsSupervisor, actor lifecycle, shutdown coordination
4Identity & TrustDIDs, keystore, trust graphs, key rotation
5Network & GossipQUIC transport, mDNS, topic subscriptions
6Ledger & ContractsMutual credit, Merkle-DAG, CCL execution
7Gateway & SDKREST API, WebSocket, JWT auth, SDK usage
8Web UIPilot UI, data flow, session handling
9OperationsDeployment, monitoring, production hardening
10ContributingTests, CI, PR workflow, git conventions

Advanced Module

ModuleTopicWhat Youโ€™ll Learn
11FederationInter-coop agreements, clearing, netting, attestations

Hands-on Workshops

Each module has a corresponding workshop with practical exercises:

WorkshopFocus Area
Workshop 0Local Build and Repo Orientation
Workshop 1Rust Fundamentals Exercises
Workshop 2Architecture Deep Dive
Workshop 3Runtime & Actor Patterns
Workshop 4Identity & Trust Operations
Workshop 5Network & Gossip Protocol
Workshop 6Ledger & Contract Development
Workshop 7Gateway API & SDK Usage
Workshop 8Web UI Development
Workshop 9Operations & Deployment
Workshop 10Contributor Workflow
Workshop 11Federation Patterns

Learning Path

Foundations Track (6 weeks)

Week 1: Setup + Rust Fundamentals
Week 2: Architecture + Runtime
Week 3: Identity + Network
Week 4: Ledger
Week 5: Gateway + UI
Week 6: Ops + Contributing + Capstone

Accelerated Track (4 weeks)

Week 1: Setup โ†’ Runtime
Week 2: Identity โ†’ Ledger
Week 3: Gateway + UI
Week 4: Ops + Contributing + Capstone

Supporting Materials

Quick Start

# Clone and build
git clone https://github.com/InterCooperative-Network/icn.git
cd icn/icn
cargo build

# Run tests
cargo test --workspace --lib

# Start the daemon (requires initialized identity)
export ICN_PASSPHRASE="your-passphrase"
./target/debug/icnctl id init
./target/debug/icnd

# Format and lint before contributing
cargo fmt --all
cargo clippy --workspace

Current Status

  • 18 phases complete - Core infrastructure fully built
  • 2,400+ tests - Comprehensive test coverage
  • 26 crates - Modular architecture
  • Live on K3s - Running in production cluster since December 2025

Getting Help

Full Curriculum

For the complete onboarding curriculum including all modules, workshops, and supporting materials:

View Full Onboarding Curriculum on GitHub