Moonbit is a very new language designed to embrace WebAssembly (Wasm). Its core development team is based in Hong Kong, and they’ve previously held several meetups in places like Singapore. They also showcased the language at last year’s Rust China conference.Previously, the Moonbit core team had a brief conversation with DFINITY as well.
Currently, Moonbit is gaining significant popularity in Asia, especially among teams working with Wasm. Many of these teams are choosing Moonbit to build their components, particularly for implementing cryptographic algorithms that can be called from JavaScript.
Motoko is an excellent language—I started using it back in 2021 and have built many DApps with it. However, compared to Motoko, Moonbit has broader recognition in the Asian region. The Moonbit team is also heavily focused on integrating AI into the compiler, with the goal of enhancing developer productivity.
Their approach includes:
AI-friendly language design, featuring safety mechanisms, easy testing, and reduced hallucinations from LLMs.
Built-in AI assistant to automate testing and documentation, streamlining development workflows.
Intelligent code generation with high accuracy and fast response times.
I hope to bring these developers into the ICP ecosystem through the moonbit-cdk, so that ICP can be adopted in more non-crypto industries.
Hi, I’ve updated the upcoming Roadmap for ic-moonbit-cdk:
Roadmap
In the next 1–3 months
JSON serialization support JSON will become the default serialization format for accepting arguments and returning values in canisters. Developers will no longer need to manually handle encoding or decoding logic.
Improvements to ic-types-moonbit Extend support for all IC-specific types and provide better tools for debugging type-level behavior.
Enhancements for http_request endpoint and candid-related types To make MoonBit a first-class choice for building on-chain websites, Moonbit CDK will prioritize building components needed for serving HTTP-based content directly from canisters.
Async support for canister-to-canister calls If MoonBit adds native support for async primitives, moonbit-ic-cdk will implement async handling and enable MoonBit-based canisters to perform inter-canister calls.
Future plans (dependent on async support)
Management Canister API support Enable low-level operations such as canister creation, upgrade, and controller management from within MoonBit canisters.
Full-featured CDK API Provide ergonomic abstractions for stable memory, timers, traps, and certified variables—bringing MoonBit CDK closer to Rust’s ic-cdk.
Candid support and implementation in MoonBit Long-term plan includes providing a MoonBit-native implementation of the Candid interface description language.
Hi @sea-snake , I’m glad you’re interested in this topic!
At this stage, it seems that MoonBit can adopt a similar approach to the Rust CDK. While developing the V1 version, I experimented with serialization/deserialization (de/se) of some basic types and found that handling the raw bytes correctly was often sufficient — although it’s necessary to include some additional headers, such as those defined by DIDL (e.g. length prefixes and type descriptors).
However, my current focus is on supporting JSON serialization and deserialization, since MoonBit has relatively good native support for JSON. I believe the first wave of MoonBit CDK users will also be more familiar with JSON-based workflows.
In V2, I plan to prioritize implementation of point 1 and point 2 from the roadmap. Support for Candid will be introduced in V3. Here’s the planned progression:
V1: Developers need to interact with low-level APIs and handle serialization manually in many cases.
V2: Developers will be able to use a higher-level API similar to the Rust CDK, and deploy services such as web server–like frontend hosting directly on IC.
V3: Focus on deeper compatibility with IC blockchain features, such as threshold signatures and certified data (certification).
If you have other suggestions, feel free to reach out — I’m still planning things carefully. Thanks for your interest and support!