compare ease of development near/holochain #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Story: Build a Fixed-Rate Liquidity Pool
Holochain vs NEAR – Dev Productivity Benchmark
Goal
Measure how easy and fast it is to build a non-trivial financial app on:
Starting from a short spec and using an AI agent.
App Definition (Same on Both)
Fixed-Rate Liquidity Pool
Core Requirements
Roles
Admin
User
Accounting Model
System always knows:
No fractional ambiguity
No negative balances
Operations
deposit(user, asset, amount)withdraw(user, asset, amount)set_rate(admin, asset_a, asset_b, rate)swap(user, asset_a, asset_b, amount)get_positions(user)get_pool_state()Platform Comparison Requirements
1. Bootstrapping
Measure:
2. Development Velocity
Measure:
3. State & Consistency
Evaluate:
4. Client Interaction
Requirements:
Rust client can:
Minimal config / ceremony
5. Change Scenario (Critical)
Add:
Measure:
AI-Assisted Benchmark
Explicitly record:
Can AI generate:
Where AI fails:
Comparison Output (Per Platform)
Definition of Done
Implemented with AI (Claude Code - Opus 4.5) on both platforms.
Flow:
holochainandhccargo-nearlocally so the near project can be bootstrapped more easilyAfter the planning stage both implementations were done in around 1 hour. Near appeared to be slightly faster. In both cases, there were some issues with dependecy versions. Specifically, for holochain it initially implemented calls with a wrong signature, this was corrected after it compiled the documentation and looked at it. After getting it to work it also refactored to remove deprecated calls. For near, there were some initial compilation issues due to dependecies where the latest version does not compile on the pinned rust version (boostrapping the near project pins the rust compiler to 1.86 currently, down from the current 1.92 latest release). After noticing this it immediately downgraded the affected components and continued implementation. In both cases, issues were handled without user intervention. In the case of near, the argument could be made to remove the pinned rust compiler version, though with wasm this might lead to other errors down the line which could increase development time (there is likely a reason the compiler version gets pinned by the near team).
All in all performance on both platforms seems comparable.