over budget

Imperative Smart Contracts

$70,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
Solution

Imperator is a language for SCs that looks and feels like JavaScript/Solidity, well known imperative languages popular among developers.

Problem:

Many programmers are unfamiliar with functional programming languages like Haskell/Plutus. Let's develop an imperative SC language for them!

Yes Votes:
₳ 48,852,441
No Votes:
₳ 16,497,305
Votes Cast:
268

  • download
  • download

[IMPACT]

The project is aimed at all developers, be they from a Smart Contract background on other Chains, on Cardano or even the average Software Engineer or Front-End developer.

Many developers want to join the Cardano community, but have trouble adjusting to the functional programming paradigma of Haskell. It is unintuitive for some, and mostly just very different from what they are used to. Therefore a lot of experience in development is also lost due to the need to change the programming style completely.

Imperator features a fully featured imperative language for Smart Contracts, that looks and feels like JavaScript or Solidity, widespread and popular imperative language.

The toolchain will include example Smart Contracts, detailed guides for compiling the Contracts and submitting validating transactions to them.

By feeling like more popular languages like JavaScript or Solidity, this project will attract a large amount of developers to expand the Cardano Ecosystem with creative and new contracts, the backbone of any DApp!

By feeling like more popular languages like JavaScript or Solidity, this project will attract a large amount of developers to expand the Cardano Ecosystem with creative and new contracts, the backbone of any DApp!

It makes it easy for newcomers and maybe even support experienced developers on Cardano to adapt to the validator style of smart contract and come up with new solutions. This reduces the overhead of learning a very special new language when onboarding on Cardano.

The project should be among the recommended ways to implement Cardano Smart Contracts and will be suggested as resource for existing and onboarding developers.

The main issue will be to make to reach out to developers and get their feedback on the design of the language. After all, it is most important for them to feel comfortable with it.

For this purpose, I will stay in close contact to existing developers, and try to reach out to many more, whether they are on Cardano or not. This way, I get rich feedback on the direction and design of the language, such that it is usable and comfortable for developers from any background.

[FEASIBILITY]

I have already developed a prototype of the language, which can be accessed here:

https://github.com/nielstron/imperator

I plan to further develop the project within the next months and be ready to compile a simple Smart Contract within three months. After that, another six months are scheduled to incrementally extend the language with libraries and tools for common operations (kind of a standard library), suiting the developers needs.

Developers: 50000

For nine months total, a skilled developer has to work on this project, to design the new language and bridge it to the functional backbone of plutus smart contracts. The developer moreover needs to create easily understandable and accessible resources to interact with the project.

Marketing, Outreach, Documentation: 20000

The project has to be marketed and managed by an experienced marketing expert, that knows well about Cardano and the ecosystem. Moreover, some detailed documentation has to be developed that is easily accessible.

The Team will consist of me. I will also need support from a writer/marketing expert, that I will engage after the submission has been accepted.

Further, collaboration will existing DApps on both Cardano and Ethereum is planned, as well as contacting aspiring Cardano developers.

[AUDITABILITY]

The Estimated Impact is very high!

It can be measured by two numbers:

One is the number of stars/forks/downloads of the github project of the language. This indicates the number of people that actively use the language for development.

The second number is the number of unique smart contracts deployed on Cardano. It is expected that this number will sharply increase with the onboarding of many more developers on the ecosystem.

Success means that developing a Smart Contract on Cardano is realistically and comfortably approachable in at least two ways:

Either by taking the Plutus pioneer program or by reading through a short tutorial on the imperative SC language.

This proposal is an entirely new proposal.

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00