Blockchain tooling

Fondant

A blockchain application suite and Ganache-like testing environment for the Casper blockchain, packaging CCTL functionality in a Docker-based UI to improve local development and testing workflows.

RoleBlockchain Developer
Timeline2023-2024
FocusBlockchain tooling

Problem, context, and constraints

Blockchain developers need fast, controllable local environments for testing smart contract behavior without relying only on public or shared environments.

Developer tooling is critical for shipping blockchain software quickly and safely.

Better local environments reduce friction, improve iteration speed, and lower testing costs.

Context
  • Fondant was designed as a developer-experience and infrastructure project for Casper workflows.
  • The project positions Alejandro beyond dApps and into tooling and ecosystem infrastructure.
Constraints
  • The environment needed to be repeatable for local development.
  • It needed to simulate enough blockchain behavior to support useful testing without overbuilding.
  • Developer convenience needed to be balanced against fidelity to real network behavior.

Solution

  • Created a Ganache-like local testing environment for Casper workflows.
  • Packaged CCTL functionality into Docker-based application flows.
  • Built UI surfaces for accounts, blocks, deploys, events, and logs.
  • Added backend proxy endpoints for local node RPC access.
  • Improved local developer feedback loops for contract experimentation and testing.

Before

Slower or more cumbersome Casper testing workflows.

After

A more local, iterative developer experience.

Architecture

A local development and test environment intended to simulate enough blockchain behavior to support iterative smart contract development and experimentation. It packages Casper CCTL functionality into Docker containers and exposes a UI plus RPC access patterns so developers can inspect state and interact with local nodes.

Fondant system architecture
01Frontend
  • TypeScript-heavy frontend
  • Accounts, blocks, deploys, events, and logs views
02Backend
  • Rust / blockchain tooling
  • Backend endpoints
  • Local node RPC proxies
03Infrastructure
  • Docker
  • Docker Compose
  • CCTL
  • Local blockchain environment tooling
04Workflow
  • Contract experimentation
  • Integration testing support
  • Local Casper RPC workflows

Key technical decisions

Prioritize local feedback speed
Context
Developers need rapid iteration while testing smart contract behavior.
Choice
Create a local testing environment inspired by Ganache.
Tradeoff
Faster iteration may require choosing which real-network behaviors to simulate deeply and which to simplify.
Focus on developer experience
Context
Blockchain tooling often creates friction for teams.
Choice
Optimize for practical workflows and repeatable testing.
Tradeoff
Developer convenience must be balanced against fidelity to real network behavior.

Security, scaling, and reliability

  • Environment predictability matters more than distributed scale.
  • Docker-based setup reduces cross-platform friction.
  • UI inspection improves debugging speed.
  • Fast local iteration was prioritized.
  • Fidelity to real network behavior needed to be balanced against simplicity.

Testing

  • Used to support contract and integration testing.

Impact

  • Supported Casper ecosystem developers.
  • Improved local development speed.
  • Reduced dependence on slower shared environments.

What I learned and would improve next

How important tooling is for developer adoption and productivity in blockchain ecosystems.

Reproducing enough blockchain behavior locally without overbuilding the environment.

  • Add stronger documentation.
  • Add broader scenario coverage.
  • Improve developer onboarding.
  • Add clear example workflows.