Promote Cedric Decoster to rank 1

Rejected
Edited
Reply
Up
Share

Evidence for Promotion

Evidence-0001: Promotion to Rank 1

Report Date Date of submission (2025/01/09)
Submitted by Cedric Decoster

Member details

  • Matrix username: @roxontox:matrix.org
  • Polkadot address: 14MVAs6jPc7bPW33fC7eTwz4Zf1pD3KWW4tQtrHWUd9w1Phx
  • Current rank: 0
  • Date of initial induction: 2025/01/09
  • Date of last report: N/A
  • Area(s) of Expertise/Interest:
    • Substrate C# Stack
      • Code Generators (CodeDom & Roslyn)
      • Rust Primitive Base Wrappers
      • Scale Decode and Encoding
      • Wallet Functionalities
    • Polkadot SDK for Unity
    • On-Chain Gaming with Substrate
    • Game Simulation and Automations

Reporting period

  • Start date: 2020/09/07
  • End date: 2025/01/09

Evidence

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.


Key Projects & Contributions

GitHub handle: https://github.com/darkfriend77

Substrate C# Stack Architected, Developed & Maintained by Me

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:

  • Substrate .NET API: The core of the Substrate C# Stack, providing essential functionality for wrapping Rust primitives and managing JSON-RPC calls to connect, access, and interact with Substrate nodes.
  • Substrate .NET Toolchain: A vital component for utilizing the C# Stack, is the Toolchain, the code generator creates a full SDK based on a node's metadata.
    • Extends the core API client with typed access to storage elements and extrinsics.
    • Recently updated to support JSON-RPC 2.0 transaction handling ('transactionWatch_v1_submitAndWatch') and enhanced event tracking via 'TransactionEventInfo'.
    • Refactored code generation to Roslyn instead of CodeDom. PR
  • Substrate .NET Wallet: A comprehensive C# wallet stack supporting functionalities like key derivation and account creation, mirroring features available in Polkadot.JS.
  • Substrate Chains .NET: A repository of pre-generated SDK artifacts for various Polkadot relay and parachains.
    • These SDKs are released as NuGet packages for easy integration into C# projects.
    • Example: Polkadot C# SDK and its published NUGet package.

Highlights and Achievements in 2024

  • 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

A Personal Coding highlight

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).

Problem Identification and Reporting

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.

Solution Implementation

I redesigned the BaseEnumRust representation in the Substrate C# SDK to reduce unused code and unnecessary complexity in the wrapper abstraction.

Additional Work

Over the past four years, I have contributed to numerous artifacts and projects as part of various initiatives, including:

  • The Substrate Builders Program and its three milestones, which we successfully accomplished.
  • Web3 Foundation Grants.
  • My role as the Founder of Ajuna.
  • And my personal passion as a dedicated Substrate and Polkadot enthusiast.

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.

Engagement

I have represented substrate-based projects and tools at various conferences, personally and as lead of the Ajuna team:

  • Substrate Seminar | Build .NET and Unity parachain apps LINK
  • Sub0 2022 | Substrate .NET Toolchain & Unity LINK
  • DOTMog Presentation LINK

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)

Voting record

Provide your voting record in relation to required thresholds for your rank.

Misc

  • Question(s):

  • Concern(s):

  • Comment(s):

Status
Decision30d
Confirmation
1hr
Attempts
0
Tally
33.3%Aye
60.0%Threshold
66.7%Nay
Aye3
Nay6
  • 0.0%
  • 0.0%

    Threshold

  • 0.0%
Bare Aye1
Max Voters23
All votes
Check how referenda works here.
Call
Metadata
Timeline4
Comments

Unfortunately, I have to vote nay here. Not because the work is not useful (it absolutely is in my opinion). A client library just doesn't fall within the scope. To quote the manifesto:

In short, if expertise on a technology (or a specific implementation of it) is required and primarily used for the Polkadot (Main) Network to continue operating and improving, then it is covered. If it is not then it is not.

Reply
Up

Thank you, Alex, for your feedback.

I have presented what I believe to be my most valuable contributions. While my work has not directly contributed to the Polkadot SDK itself, I have developed and contributed to several pallets that have been used in proof-of-concept projects, are running in production on our parachain, or have been designed to enable real use cases on Substrate:

Additionally, the solution architecture and their underlying use-case for all of the pallets in the following repository were designed by me, even though the execution and development were carried out by my team:

I still believe that the client library and the Polkadot SDK for Unity have the greatest impact on the Polkadot ecosystem, as they provide essential tooling for developers and drive mainstream adoption by enabling the integration of Polkadot into gaming environments.

Reply
Up

I have to agree with Alex. The contributions outlined here are out of scope when it comes to the Fellowship, which only covers core of the Polkadot and not the ecosystem as a whole. It's not an issue of whether they're valuable or how impactful they are, and this is not a value judgement on our part - the rules of the Fellowship simply say that we're not allowed to accept them as evidence.

Reply
Up

Thank you for your feedback, Alex and Jan.

I understand that the Fellowship’s scope, as outlined in the manifesto, currently excludes client libraries and ecosystem tooling from being considered core contributions. However, I strongly believe this is a limitation that should be re-evaluated for the long-term health and growth of Polkadot.

The manifesto was written with a clear purpose: to ensure that the Polkadot network retains, incentivizes, and recognizes expertise critical to its continued operation and improvement. While the focus on protocol-level contributions makes sense, it also overlooks a vital component of the ecosystem—the tooling and infrastructure that allow developers to actually interact with Polkadot’s core technology.

Without client libraries, SDKs, and essential tools such as:

  • Polkadot API (PAPI)
  • polkadot.js
  • Kagome
  • .NET SDK

and others, the Polkadot SDK would remain largely inaccessible to builders. These components are not just "nice-to-haves"; they are the interfaces, the gateways, and the doors to the Polkadot SDK. They enable widespread developer adoption, integration into real-world applications, and ultimately, the mainstream usability of Polkadot.


A Call for Evolution in the Fellowship Scope

If the goal of the Fellowship is to recognize and retain expertise essential to Polkadot’s long-term success, then the exclusion of those who build these foundational tools is a significant oversight.

I believe it is time to consider an amendment to the manifesto that formally acknowledges the importance of client libraries, ecosystem SDKs, and interoperability tools. Without these, Polkadot remains an isolated system with barriers to entry. If we only recognize protocol developers but not those who build the necessary interfaces, we risk alienating the very builders who enable real-world adoption.

I would welcome a discussion on how the Fellowship can evolve to recognize these contributions while maintaining its core principles. I am happy to contribute to shaping this conversation further.

Reply
Up

If the goal of the Fellowship is to recognize and retain expertise essential to Polkadot’s long-term success

That's not the goal of the Fellowship. (: We don't have to speculate here; the manifesto explicitly says what is the goal:

"goal of the organisation is [...] that of building technical knowledge critical for the continued existance and evolution of the network protocol itself."

the exclusion of those who build these foundational tools is a significant oversight

It's not an oversight; it's a deliberate decision to keep the Fellowship focused.

Let me give you a real life analogy. Let's say you're a a wall painter. And you apply to join the American Society of Plumbers, because, well, both wall painters and plumbers are needed to build a house, right? And then you get rejected because you're not a plumber. So what do you do? Should you lobby the American Society of Plumbers to also include wall painting into its scope and accept wall painters as its members? Or maybe you should join the Painting Contractors Association, which is the association for wall painters, hm? (:

This is exactly the same situation. The scope of the Fellowship is the core of the network, and only the core. It helps to keep the Fellowship focused. But the Fellowship is not anything special, it's a fellowship, not the fellowship. There can exist multiple! If you don't like the fact that the Fellowship doesn't accept ecosystem work, well, create one that does! In fact, as far as I know, most of the Fellowship members (including me) would love to see an Ecosystem Fellowship and would support it.

Reply
Up 1

I agree with Jan and Alex, and switching my vote.

I would welcome a discussion on how the Fellowship can evolve to recognize these contributions while maintaining its core principles. I am happy to contribute to shaping this conversation further.

The right approach here is to start/push for an Ecosystem Technical Fellowship - which should grow into an even bigger and arguably more impactful fellowship than the current Polkadot Technical Fellowship.

The Polkadot Technical Fellowship shall remain focused on the critical core infrastructure.

Reply
Up

Hmm, I am a little bit surprised by the arguments here. I absolutely agree that these contributions would not count as evidence for retention or promotion for ranks higher than one. However, my take on this is:

  • With all his contributions, he shows that he for sure has deep understanding of some relevant part of the core architecture, including ownership of a parachain runtime, which I think matters for entering the fellowship with rank I.
  • Additionally, he has been in contact with people from parity/web3 foundation and pushing core technologies like NFT-xcm stuff, but all those discussions are off-chain, and sadly he did not bring them up in his evidence.

As I said before, I believe it is about showing evidence for retention/promotion, I absolutely agree with above perspectives, but for entering Rank I, would have assumed that some technical understanding and long-term ecosystem activity (where he is outstanding) should be more than enough.

Reply
Up

Establishing a separate Ecosystem Fellowship is impractical, and will not happen due to the immense challenges in defining its scope, evaluating diverse technologies, and maintaining governance. However, limiting the recognition of client library contributors to Rank 1 would mitigate these risks while ensuring that those who build critical tooling—such as SDKs, APIs, and integrations—are acknowledged.

This approach maintains the Fellowship’s core principles while preventing unnecessary fragmentation and governance overhead. If the Fellowship’s goal is to retain expertise vital to Polkadot’s longevity, then recognizing client library developers at Rank 1 is the most feasible and balanced solution.

I’ve said all I wanted to on this matter. Whether now or in the future, I hope this conversation helps shape a more inclusive approach.

Reply
Up