Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overlap with Helios / Eopsin / Hebi #2

Open
nielstron opened this issue Mar 5, 2023 · 2 comments
Open

Overlap with Helios / Eopsin / Hebi #2

nielstron opened this issue Mar 5, 2023 · 2 comments

Comments

@nielstron
Copy link

nielstron commented Mar 5, 2023

Hey there!

I like this project. The community also supports work in this direction. Actually it supports it so much that there are some projects that already build in this direction. A few pointers.

These don't use the JavaScript AST though.

However as suggested in the description:

For instance, one could write Plutus smart contracts in Python.

This is currently built by @ImperatorLang with eopsin and hebi

Some testimonials for the latter

What is one difficulty you had working with PlutusTx? How did ImperatorLang solve that or make it easier for you?

Plutus requires knowledge of Haskell, functional programming and requires a complicated development environment – Nix. Haskell does not use friendly human-readable syntax. The documentation for all the above is ossified and fragmented. If you already have WSL or a Python environment eopsin literally installs in seconds. With an attentive development team and growing list of example smart contracts the development experience is comparatively pain-free.

How easy was it to start working with ImperatorLang?

It was the easiest smart contract language to start learning because many makers/developers already have access to an environment with python installed (WSL/Ubuntu). After a few interactions with the ImperatorLang team I had a working contract within a day or two and within a few days had made two valid contracts. ImperatorLang is based on python – one of the most ubiquitous and user-friendly languages ever developed. This means there is an enormous amount of free learning material available to help new developers.

How has your general experience been working with ImperatorLang?

ImperatorLang makes smart contract development the easy part of dApp development. I have spent far longer on off-chain code than on implementing smart contracts. I can update, recompile, and use the contracts within transactions in minutes. Because smart contracts are so easy to make, I have opted to use smart contracts to reduce off-chain code. For example, instead of creating a faucet by listening to blockchain events and creating transactions in response, I codified a faucet into an eopsin smart contract which is not only easier than creating an off-chain faucet – it prevents the need to process refunds.

@nielstron
Copy link
Author

I am also starting to assess how efficient the resulting contracts can be in this unified framework:

https://github.com/ImperatorLang/plutus-bench

@nielstron
Copy link
Author

Note that most of the above projects are either hardly funded or not at all and have only few developers behind them. If IOG is interested in going down this path, I suggest you connect with these developers and join forces, similar to how it has been done for Aiken and the Cardano Foundation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant