over budget
Glow on the PAB
Current Project Status
Unfunded
Amount
Received
$0
Amount
Requested
$300,000
Percentage
Received
0.00%
Solution

Glow is a simple yet efficient language for DApps.

It already works on the EVM, and we propose porting Glow directly to Cardano by making it compatible with the PAB (Plutus Application Backend)

Problem

Cardano lacks a smooth Dev-experience: some tools are powerful, but very hard to use.

Hence, Cardano’s not fueled by the countless people with good ideas but average DApp-development skills…

Impact / Alignment
Feasibility
Auditability

Team

3 members

Glow on the PAB

Please describe your proposed solution.

Developers will be able to use the Glow language to code their DApps for a fraction of the time and budget of a DApp made with another solution: no steep learning curve where you have to learn a lot before coding, and roughly 10x fewer lines of code compared to other solutions that often require a second language on top of the one dedicated to the DApp:

  • Solidity+javascript on ETH
  • Plutus+haskell on Cardano
  • C+Rust on Polkadot
  • Vyper, Scylla, derivatives of Michelson, and so on!

Also, Glow will have a built-in formal verification so that the safety of a smart contract is mathematically proven.

Please describe how your proposed solution will address the Challenge that you have submitted it in.

A shorter code is cheaper both to write and to audit, but also safer (less risks of bugs).

Low-level programming languages allow a huge range of possible programs but are difficult to use because of their complexity making DApp-development expensive and risky. Business logic is what matters the most for people with ideas, and DApps will become mainstream only when the tools are made simpler.

With this in mind, we developed the Glow language to simplify DApp development, by providing high-level, common functionality that DApp developers will use.

We firmly believe that making Glow compatible with the PAB will allow many DApp-developers to give life to their ideas, without having to master the good but challenging tools that are currently used.

On top of that, since Glow’s portability frees Glow programs from being tied exclusively to any blockchain, providing Glow to the Cardano ecosystem will make it easier to attract more developers to Cardano. Any Glow developer will be able to run their DApp on Cardano, no matter what ecosystem they started in, so learning the nuances of development on Cardano will no longer be a barrier to entry in the Cardano ecosystem.

What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

The main risk would be to realize that there is a fundamental incompatibility between Glow and the PAB: we mitigated that risk by developing a first version of Glow to make sure it works before spending consequent funds. Glow was released in beta on the Cardano testnet (using EVM emulation) in February 2021. Since then we have developed a proof of concept for running a simple smart contract (buy_sig) written in Glow directly on Cardano via the PAB. We are now ready to expand this proof of concept to support the full Glow language and improve the usability of the end-user tooling.

Another risk would be to have a community too small to keep the language alive: we mitigate this risk by planning a step-by-step MOOC (a few first modules have been released) and above all by planning to use the language ourselves: Mutual Knowledge Systems is already using its homemade tools with its customers in order to develop them further.

Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

Technical Goals

High-complexity DApps written in Glow will be able to run directly on Cardano via the PAB. To make that happen, we need to implement a few things missing from our proof of concept.

First, we will need to ensure that Glow is able to send transactions to the Cardano blockchain as the DApp runs. This will be needed to deploy on-chain code and share data with other users. This will be done by extending parts of the runtime to dispatch transactions to Cardano via the PAB.

Next, we will need to watch for and respond to blockchain events as contracts run. This also will be done by extending the runtime to fetch data from the Cardano blockchain via the PAB.

Finally, the on-chain code must support the interpretation of all Glow consensus primitives. Our prototype supports a minimal subset, which we need to expand and test more thoroughly.

Timeline

Updating the Glow Runtime code to interface with the PAB will take us 4 weeks.

After that, we'll update the Glow Runtime code to observe the Cardano Blockchain for consensus events. That step will take 4 weeks.

Then we'll spend 8 weeks updating the interpreter of the consensus code and developing a few more functionalities of Glow.

At last, we'll run integration tests for 6 weeks.

The length of this project will be 22 weeks total (a bit less than six months). We anticipate that in six months, the community will be able to test Glow on the PAB and that after 9 months, Glow will be ready for commercial deployment: our metric at this time will be the number of smart contracts deployed on Cardano.

Please provide a detailed budget breakdown.

Budget breakdown by milestone:

  • Glow Runtime code to interface with PAB: $40,000
  • Observing the blockchain: $40,000
  • Updating the interpreter: $90,000
  • Glow functionalities: $40,000
  • Integration tests: $90,000

Budget breakdown by expense:

  • one project manager - 6 months
  • 2 senior-level developers full time - 6 months
  • Operating costs - 6 months
  • 2 senior-level developrs full time - 4 months
  • documentation writer - 3 months

Please provide details of the people who will work on the project.

François-René Rideau, our co-founder, is going to supervise the development of the language architecture.

One of our teammates is going to work on the compiler and also work in a tight relationship with another person from our team (but outside of the project) who is our formal methods lead.

Another senior-level developer is going to work on the interface with the PAB itself.

Two are going to work on Glow's functionalities.

Two members of our team are already hired full-time, but due to the culture of privacy that often influences the people in the blockchain industry, they prefer not being named online.

We are already conducting interviews for our project manager:

If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

Yes, we will: we will need to fund Glow's formal verification to ensure more safety for the end-users.

Also, we're definitely going to produce an extensive MOOC to make it even easier for people to learn Glow.

There are also other technologies we can build, not for developers but for end-users, that will be improved by the presence of Glow in the Cardano ecosystem.

Please describe what you will measure to track your project's progress, and how will you measure these?

We will provide monthly reports of our written code: of course, everything we publish is open source.

We will provide monthly examples of the functionalities testers can use.

The way to measure our progress is basically the number of smart contracts supported natively by the PAB, and the number of successful test attempts.

What does success for this project look like?

An installation process so simple that a dev can start making a DApp knowing what they're doing after a few minutes.

A DApp made by a developer who isn't a multi-PhD in computer science and cryptography: something that feels like an honorable and safe smart contract, without needing too much effort: we want Glow to be the wordpress of blockchain.

Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

While technically not a continuation, we have a long-lasting relationship with Catalyst: our formal verification of the Glow Language's proof of concept has been funded through catalyst5 (and we delivered) and the first development of Glow has been funded by an angel bridge from IOG, one of the legal entities behind Cardano.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00