# Grant Proposal: Dark Forest on Aztec by LimeChain

**URL:** <https://forum.aztec.network/t/grant-proposal-dark-forest-on-aztec-by-limechain/8342>\
**Category:** Aztec\
**Tags:** noir, rfgp, apps\
**Created:** [January 14, 2026, 6:28pm UTC](https://forum.aztec.network/t/grant-proposal-dark-forest-on-aztec-by-limechain/8342 "2026-01-14T18:28:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![zhivkoto](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.aztec.network/zhivkoto/32/2798_2.png) [@zhivkoto](https://forum.aztec.network/u/zhivkoto)\
**Post date:** [January 14, 2026, 6:28pm UTC](https://forum.aztec.network/t/grant-proposal-dark-forest-on-aztec-by-limechain/8342/1 "2026-01-14T18:28:39Z")

</div>

**Submitted by:** LimeChain

**Date:** January 13, 2026

**Grant Request:** $75,000.00

**Project Duration:** 9 weeks

**Delivery Deadline:** March 22, 2026

* * *

## Contact Details

**Primary Contact:** Zhivko Todorov

**Email:** zhivko@limechain.tech

**Telegram:** zhivkoto

**Website:** [https://limechain.tech](https://limechain.tech)

## Proposal Summary

Our proposal uses a three-layer architecture: a client layer (React frontend with game state management, mining worker, and proof generator), the Aztec network layer (PXE for private execution plus the Dark Forest contract), and ZK circuits written in Noir. The key architectural decision is consolidating the original Dark Forest’s 11-facet Solidity Diamond pattern into a single unified Aztec contract with native privacy—this simplifies the structure while leveraging Aztec’s built-in private/public state separation.

The implementation is split across four phases over 9 weeks. **Phase 1 (Weeks 1-3)** converts the Circom circuits to Noir, including Init, Move, and Reveal circuits plus a Perlin noise implementation for procedural galaxy generation. **Phase 2 (Weeks 4-6)** ports the Solidity game logic to Noir, with their pre-work revealing that core mechanics are abstracted in three libraries (LibLazyUpdate, LibGameUtils, LibPlanet) which makes the port more tractable. **Phase 3 (Weeks 4-9)** adapts the existing Dark Forest browser client rather than rewriting it, integrating with Aztec’s PXE API and WASM-compiled Noir provers. **Phase 4 (Weeks 7-9)** focuses on comprehensive testing with coverage targets of 100% for circuits and 95%+ for contracts, as well as ensuring sub-60-second turn execution.

## About LimeChain

LimeChain is a blockchain development and consulting company contributing to Ethereum and the broader blockchain ecosystem since 2017, with a proven track record of delivering complex infrastructure, developer tooling and applications for protocols, crypto-native startups, and Fortune 500 companies. Over the years, we have worked with and contributed to industry leading protocols and organizations such as the Ethereum Foundation, Coinbase, Arbitrum, Optimism, Polygon, Scroll, The Graph and many others. As the date of this post, LimeChain has no active commercial relationship with any Ethereum L2.

#### **Deep Ethereum L2 & Rollup Expertise**

At LimeChain we care deeply about scaling Ethereum and the L2 ecosystem. We collaborated with the EF on based-sequencing research. In addition, we have contributed to many of the leading rollups with core protocol work such as alternative client implementations. Lastly, we are the creators and maintainers of [Rollup.codes](https://github.com/LimeChain/RollupCodes)—an interactive specification website for the Ethereum Rollup ecosystem that was awarded a RetroPGF grant.

**Zero-Knowledge Proof Experience**

Through our work with Polygon zkEVM, Scroll, Taiko and others, we’ve attained practical expertise in ZK proof technologies, such as Circom, Halo2 and plonky2. We believe this will help us with building Noir-based smart contracts.

**Commitment to Public Goods & Open Source**

LimeChain’s ethos is deeply aligned with Ethereum’s and Aztec core values. We dedicate significant resources to building public goods, open-source software and research.

#### **Gaming Experience**

Although our core expertise is blockchain technologies, throughout the years we have worked with numerous gaming companies such as IMVU, the Sandbox and False9.

#### **Why Aztec**

At LimeChain, we care about Ethereum and we care about privacy. We see this project as the beginning of our long-term contribution to the Aztec ecosystem through apps, and potentially protocol research, infrastructure and tooling.

#### **Our Preparation**

We’re already somewhat familiar with Noir and its recent developments. However, for this proposal we’ve conducted extensive research on the original Dark Forest codebase, including detailed analysis of the Circom circuits, Solidity smart contracts (Diamond pattern with 11 facets), and the game mechanics implemented in libraries like LibLazyUpdate and LibGameUtils. This preparation enables us to hit the ground running with a clear technical roadmap.

## Technical Approach

### Architecture Overview

Our implementation follows a three-layer architecture optimized for Aztec’s privacy-first design:

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/aztec/original/2X/0/0c9ba9ecabe6256e5769a4325b77aee5fb1213f9.png)

### Phase 1: Circuit Conversion (Weeks 1-3)

**Objective:** Convert Dark Forest’s Circom circuits to Noir, Aztec’s native circuit language

**Deliverables**

- Init Circuit (spawn validation)

- Move Circuit (distance & bounds validation)

- Reveal Circuit (coordinate disclosure)

- Perlin Noise implementation

- Supporting modules (hash, utils)

- Comprehensive test suite

### Phase 2: Smart Contract Development (Weeks 4-6)

**Objective:** Port Dark Forest game logic from Solidity Diamond pattern to unified Aztec smart contract

**Challenge:** The original uses 11 separate facets (DFCoreFacet, DFMoveFacet, DFArtifactFacet, etc.). We’re consolidating this into a single Aztec contract with native privacy.

**Architecture Discovery:**

Through pre-development analysis, we asserted that the game logic is abstracted from three libraries (LibLazyUpdate, LibGameUtils, LibPlanet). This insight allows us to port the core mechanics efficiently.

**Contract Structure:**

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/aztec/original/2X/f/fe30b2208beb1f11439dcb25d7abcb7af27b95a1.png)

**Storage Design**

| State Type | Data | Visibility | Purpose |
| --- | --- | --- | --- |
| **Private** | Player init status | Owner only | Hide who has initialized |
| **Private** | Home planet location | Owner only | Strategic secrecy |
| **Private** | Unreviewed planet ownership | Owner only | Hidden exploration |
| **Private** | Artifact ownership | Owner only | NFT privacy |
| **Public** | Planet statistics | All | Revealed/active planets |
| **Public** | Revealed coordinates | All | Public map data |
| **Public** | Pending arrivals | All | Visible movements |
| **Public** | Game configuration | All | Rules and parameters |

**Deliverables**

- `contracts/src/main.nr` - Main Dark Forest contract (~1500 lines)

- `contracts/src/types.nr` - Type definitions (Planet, Player, Arrival, etc.)

- `contracts/src/game_logic.nr` - Core mechanics (combat, growth, planet generation)

- `contracts/src/math.nr` - Fixed-point math library (replacing ABDK Math64x64)

- Comprehensive unit tests for all game mechanics

- Integration tests with circuits

### Phase 3: Frontend Development

**Objective:** Modify the current Browser implementation to utilize the new Circuits, Provers and Contracts, while staying true to the original game implementation.

**Architecture**

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/aztec/original/2X/8/8c87d941685d350c4e5ac9f63fabe4d810c1df06.png)

**Key Components**

1. **Game State Management**

2. **Map Mining System**

3. **Proof Generation Pipeline**

4. **Rendering Engine**

5. **Transaction Management**

**Deliverables**

- Updated React Application

- Updated Mining worker with Perlin PoW

- Proof generation Rework

- Aztec PXE integration layer

- User documentation and tutorials

### Phase 4: Integration & Testing (Weeks 7-9)

**Objective:** Comprehensive testing, optimization, and deployment preparation

**Test Coverage Targets**

| Component | Coverage Target | Test Types |
| --- | --- | --- |
| Circuits | 100% | Unit, property-based |
| Smart Contracts | 95%+ | Unit, integration, fuzzing |
| Game Logic | 95%+ | Unit, scenario-based |
| Frontend | 80%+ | Unit, integration, E2E |

**Test Scenarios:**

1. **Core Gameplay**

2. **Advanced Features**

3. **Performance**

4. **Security**

**Deliverables**

- Comprehensive test suite

- Deployment scripts and documentation

- User acceptance testing results

## Grant Roadmap

### Timeline: 9 Weeks (January 20 - March 22, 2026)

### Milestone 1: Circuit Conversion Complete (Weeks 1-3)

**Deliverables:**

- Init circuit with comprehensive tests

- Move circuit (distance/bounds validation) with edge case coverage

- Reveal circuit with security validation

- Perlin noise implementation with fidelity verification

- Hash module

- Utils module with helper functions

- Comprehensive test suite

- Circuit architecture documentation

- Performance benchmarking report

### Milestone 2: Smart Contract MVP (Weeks 3-9)

**Deliverables:**

- Core Dark Forest contract in Noir

- Type definitions and supporting libraries

- Game logic implementation

- Circuit integration (Init, Move, Reveal)

- Storage layer

- Unit tests for all core functions

- Integration tests with circuits

- Deployment to Aztec devnet

### Milestone 3: Frontend (Weeks 4-9)

**Deliverables**

- React application with game

- Aztec PXE integration

- Core gameplay features:

### Milestone 4: Production Deployment (Week 9)

**Deliverables:**

- Comprehensive testing (E2E, performance, security)

- Production deployment to Aztec network

- Complete documentation

## Team and Budget Rationale

- **Total Request:** $75,000.00

- **Timeline:** 9 weeks

_ **Note: We have NOT included a security audit in the grant scope or budget** _

### Team Lead

**Role:** Project management, architecture design, smart contract development, operational oversight

**Responsibilities:**

- Overall project architecture and technical direction

- Aztec smart contract implementation (game logic, state management)

- Circuit integration with contracts

- Code review and quality assurance coordination

- Stakeholder communication and milestone delivery

- Documentation of architectural decisions

### Rust/Noir Developer

**Role:** Circuit development, Noir programming, ZK proof optimization

**Responsibilities**

- Circom-to-Noir circuit conversion (Init, Move, Reveal)

- Perlin noise implementation in Noir

- Circuit testing and optimization

- Proof generation performance tuning

- Integration with Aztec’s proving system

- Technical documentation for circuit implementations

### Full-Stack Web Developer

**Role:** Frontend development, blockchain integration, user experience

**Responsibilities:**

- Dark Forest web client development

- Aztec PXE (Private Execution Environment) integration

- Game state rendering and visualization

- Transaction handling and proof generation UI

- Mining algorithm implementation (client-side)

- User onboarding and documentation

### Quality Assurance

**Role:** Testing, integration verification, deployment validation

**Responsibilities:**

- Comprehensive test suite development

- Integration testing across contracts, circuits, and frontend

- Performance benchmarking

- Deployment verification on Aztec

- Bug tracking and resolution verification

## Launch and future plans

At LimeChain, we want to contribute to the Aztec ecosystem long-term and see this as our first step on this journey. We plan to cover the hosting/infrastructure costs for the initial 3 months of launching. In addition to that, we’ll invest resources in a marketing campaign and content creation. Based on reception and usage metrics (to be shared in a report to the Aztec community), we’ll evaluate whether to continue hosting, maintaining and potentially further develop the game or focus on contributing in other areas of the Aztec ecosystem.

---

<div class="post-metadata">

**Author:** ![discourse\_ai\_spam](https://avatars.discourse-cdn.com/v4/letter/d/c68b51/32.png) [@discourse\_ai\_spam](https://forum.aztec.network/u/discourse_ai_spam)\
**Post date:** [January 14, 2026, 6:29pm UTC](https://forum.aztec.network/t/grant-proposal-dark-forest-on-aztec-by-limechain/8342/2 "2026-01-14T18:29:28Z")

</div>

Unlisted on January 14, 2026, 6:29pm UTC



---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/aztec/original/2X/1/1733a1911cbe958f30f5adef5cbab2e5b116e422.png) [@system](https://forum.aztec.network/u/system)\
**Post date:** [January 14, 2026, 6:32pm UTC](https://forum.aztec.network/t/grant-proposal-dark-forest-on-aztec-by-limechain/8342/3 "2026-01-14T18:32:55Z")

</div>

Listed on January 14, 2026, 6:32pm UTC


