Report Date | Date of submission (2025/01/09) |
Submitted by | Cedric Decoster |
Explain why your contributions in relation to the Polkadot SDK are worthy of retention/promotion. Refer to the terms in Section 6 of the Manifesto and provide links to relevant content (i.e code, articles, media, etc.) to show that you are meeting all the requirements.
I have been actively contributing to the Substrate ecosystem since 2020 (first commit), working on open-source repositories and projects such as Ajuna Network, SubstrateGaming, and PolkadotPlay. As Founder and Core Contributor of Ajuna Network, and as core developer behind the entire Substrate C# Stack, including the Polkadot SDK for Unity.
GitHub handle: https://github.com/darkfriend77
Since September 2020, I have been working on the C# Stack for Substrate, focusing on building and maintaining critical projects that form the foundation of the C# Stack for Substrate, and also the base for the Polkadot SDK for Unity. These tools are essential for enabling game developers to utilize C# as the programming language for Substrate-based projects. Below are the key projects I have architected, developed, and continue to maintain:
Polkadot SDK for Unity Technical Verification: Successfully developed, published and passed the technical verification for the Polkadot SDK for Unity in early 2024. LINK
Async Backing Adoption: Led Ajuna Network to adopt asynchronous backing with runtime upgrades on Kusama and Polkadot, becoming the first non-common-good parachains to do so through runtime upgrades. Big learnings after breaking our rococo parachain as early adopters of async backing. LINK
BBB Android App: Developed and published the first production mobile Unity app/game in the Google Play Store, a full-onchain game running on top of a non-EVM Polkadot Parachain (ajuna network). LINK
S.A.G.E. Framework: Currently leading the architecture and development on the asset state transition engine for game backends. This framework abstracts Substrate/Rust code into basic transition functions and verification rules with free-to-play modules, anti-account farming measures, tournaments, rewards, and much more. LINK
One personal highlight from the past year was my new solution for representing Rust enums in C#. Rust enums posed a challenge due to their design in Rust versus the strongly-typed nature of C#. My initial implementation worked effectively with Mono for Unity but caused unexpected crashes when using Unity's IL2CPP (Intermediate Language to C++ scripting backend).
The crash occurred during the creation of production builds for the BBB game. After extensive debugging, I identified that IL2CPP had issues handling an excessive number of generic functions with varying argument counts—up to 255. These functions were generated as part of the Rust enum wrapper abstraction in the SDK. The issue was reported to Unity to raise awareness: Bug Report on Unity Discussions.
I redesigned the BaseEnumRust representation in the Substrate C# SDK to reduce unused code and unnecessary complexity in the wrapper abstraction.
Over the past four years, I have contributed to numerous artifacts and projects as part of various initiatives, including:
For many of these contributions, I played different multiple roles—some I authored and developed directly, while others I focused on providing solution architecture only. In all cases, I was responsible for inventing and shaping the ideas, as well as driving the vision and the narrative behind them.
If needed, I am happy to provide additional evidence of these contributions.
I have represented substrate-based projects and tools at various conferences, personally and as lead of the Ajuna team:
I was also a core contributor of Team Hexalem, which won at the Polkadot Winter Hackathon 2023
Additionally, there is a short bio presented by Nicholas at Polkadot Decoded 2022: Video link (timestamped)
Provide your voting record in relation to required thresholds for your rank.
Question(s):
Concern(s):
Comment(s):