
The Problem
While smart contract development on Stellar has taken many leaps forward since I wrote about it six years ago, the barriers to entry are still numerous... it's an intimidating field only the most technically savvy (or at least the most curious learners) can break into. Put simply, developing smart contracts is hard.
Specifically:
While Rust (the most well supported Soroban SDK) is one of the most admired languages, it is far from one of the most popular.
More mature and seasoned smart contract platforms are complicated and error prone.
Thus, how can we help existing developers succeed? Even more importantly, how can we lower the barrier to entry for community newcomers? And as a stretch, how easy can we make it for non-technical folks to participate and even create their own smart contracts?
Today, various tools exist to solve this problem. Grouped generally, there are a few approaches:
Allow folks to use the programming language they are most familiar with (Hyperledger Fabric)
Give folks the best damn developer experience possible (Stellar with: all SDF Soroban tooling, SCF participants like Okashi, etc.)
Provide a set of re-usable, well vetted, well tested, and well understood boiler-plate, templated smart contracts (tons of this in the Ethereum ecosystem, a few SCF projects, etc.)
We propose a fourth approach: making the smart contract language itself more approachable.
The Solution
With the above problem in mind, consider the following:
65% of the general population are visual learners.
Scratch is an incredible first language, in fact it’s also more popular than Rust.
Digicus is a block-based Soroban native, smart contract programming language complete with an easy to use, low-code IDE. It attempts to leverage the existing programming on-boarding paradigms to give folks an opportunity to get their hands dirty while also requiring only the minimal amount of technical expertise to get started; we want Stellar developers to be writing contracts without requiring them to understand Rust, investigate WASM binaries, etc. Many schools (from elementary to college) use Scratch in their coding 101 class for exactly this reason!
Once folks become familiar with smart contracts via Digicus, there are two paths forward:
Transition to using the SDF supported Rust SDK (Digicus can target the Rust SDK so this transition can initially be a hybrid). This is akin to CS-201 where folks begin to use languages like Python and Java to learn data structures and algorithms.
Adopt Digicus as the IDE and programming language of choice for Soroban smart contract development. In this case, we will work to adopt and integrate into the IDE other community initiatives, projects, and efforts such as vulnerability analysis frameworks, auto-complete tooling, etc.
Existing, similar solutions in the blockchain space include:
SmartBuilder (very similar to what we're proposing here, built for Hyperledger)
Toolblox (Ethereum)
Blocks Editor (unsure what chain)
The Audience
There are a few audiences we target:
[primary] net new members to the Soroban developer community
[primary] existing, less technically savvy members of the Soroban developer community
[secondary] existing, technically savvy members of the Stellar developer community who have only just started experimenting with Soroban
While we might see Soroban power users adopt our tooling, we are not (at least initially) developing with this community in mind.
Onboarding
Digicus is a beginner friendly tool for developing smart contracts. Beginner here means many things: 1. no tools need to be downloaded (folks will be able to do all development in browser) 2. there is no specific programming language learning (or even that much programming knowledge) as a pre-requisite 3. for more tech savvy folks, it offers a natural progression. Folks can begin investigating the generated code (i.e. the contract in Rust) and decide to begin writing contracts in a supported programming language of their choice
Thus, we will promote it as a beginner smart contract creation tool.
We will investigate a few avenues to do so: 1. generate our own tutorial/"how to" content in various forms (video, blog post, etc.) 2. work with SDF to incorporate it into the official tutorial documentation (at some point once it is feature complete) 3. actually use it ourselves, proving it is functional for real use cases
For folks new to the ecosystem, we'd expect them to learn about Digicus via avenues (1) and (2). For existing folks in the ecosystem, they may also learn about Digicus via (1) and (2) but also potentially (3); maybe they are a Ruby developer at heart and have been frustrated by the Rust language/toolchain, waiting for a simpler way to develop smart contracts.
$100.0K
Senior software engineer who strives for clean, discoverable, simple code. Past experience in blockchain world includes a couple years with SDF (‘18-‘19) and co-leader of largest developer only blockchain meetup in San Francisco (‘17-‘18).

