Skip to content

For Developers

Quick Setup

Prerequisites: JDK 25, sbt 1.10.7+, Git

git clone https://github.com/chippr-robotics/fukuii.git
cd fukuii
git submodule update --init --recursive
sbt compile
sbt test

Key Resources

Resource Description
Contributing Guide How to contribute code
Architecture Overview System design and components
Architecture Diagrams C4 diagrams
Repository Structure Codebase navigation
ADR Index Architectural decision records

API

Resource Description
JSON-RPC Reference 77 documented methods
Coverage Analysis Gap analysis vs specification
MCP Integration Model Context Protocol tools and resources

Development Commands

sbt compile           # Compile all modules
sbt test              # Unit tests (~5 min)
sbt it:test           # Integration tests
sbt scalafmtAll       # Format all code
sbt pp                # Pre-PR: format + style + tests
sbt assembly          # Build fat JAR

Test Tiers

Tier Command Duration When
Essential sbt test < 5 min Every change
Standard sbt it:test < 30 min Before PR
Comprehensive sbt pp < 3 hr Pre-merge

ADR Categories

Category Description
Infrastructure Platform, runtime, and build decisions
Consensus Protocol and networking decisions
VM EVM and EIP implementations
Testing Testing strategy and frameworks
Operations Operational tooling decisions

Module Overview

All code uses the package prefix com.chipprbots.ethereum.

Module Purpose
bytes Byte array utilities
crypto Cryptographic operations
rlp RLP encoding/decoding
scalanet P2P networking
src Main Fukuii application

Before Submitting a PR

sbt scalafmtCheckAll   # Formatting check
sbt compile-all        # Compilation
sbt test               # All tests pass

See Contributing Guide for full details.