#Visual Programming Language compile to Move, Solidity, C++, Rust

1 messages · Page 1 of 1 (latest)

weary shale
#

Goal: Make a block based visual programming language like Scratch (Scratch is capable of compiling to Smalltalk in v1.4, Action Script in v2, Java Script and HTML5 in v3) or some flow chart visual programming language for smart contracts that require no code and implement common object oriented design patterns to allow smart contracts to be created for many blockchains all at once and eliminate syntax errors and maximize safety with inbuilt intuitive type validation (color coding and different shapes for different types), buffer overflow protection, etc.

blissful grail
#

👋 This was already a project but I think, while interesting, it didn't get much traction. I think @normal quiver , you know who was making this or what its name was?

polar cradle
#

So, why do you think it did not work out? @hard kernel @blissful grail

#

I think I saw a similar project for another ecosystem and it also did not work well. The problem could be with the audience, like for who this can be for? Developers? They have Rust. Managers? Bad idea to launch a protocol without developers. Smart Contracts are not huge and must tent to be optimized in terms of size and execution performance. And if a contract is automatically generated from the visual blueprint, how optimal it will be? Will you personally rely on it and place the bet (reputation and money) on the generated smart contract? Me personally no. A Smart Contract must be verified and secured with the best available methods. Can such a tool give it?

normal quiver
#

Digicus was one

#

https://ide.digicus.dev/ cant remember the other one but i feel like there was another

raven garnet
#

Feedback here, in the greater community, and even at the local Uni where I talked to folks in the research side of academia really challenged:

  1. if it was good for new folks to glaze over the thorny edges in such a correctness driven domain.
  2. power users will likely not even consider such a tool (at least not unless it acts as a compliment) because they're already comfortable with these
#

So maybe there is some audience in the middle.

#

Our core design was around an intermediate representation that everything would compile to.... and then even enable transpilation away from that as well.

#

In theory you could then setup:

[Soroban (rust)] --->                       ----> [Soroban (rust)]
[Solidity] --------->      [Digicus's IR]   ----> [Solidity]

And yeah you could then do some wonderfully interesting things on that IR such as verification, validation, syntax checking, etc. In my case what I mostly did was the visual.

#

++ on concerns around performance here. Again, likely useful in other domains, here however, much less so (as I learned after much blood sweat and tears).

#

Depending on how interested you are in pursuing this or scratching the itch, always happy to chat.

#

Today I'm still kicking this can down the road, seeing if I can pivot it to another domain (like more "typical SWE"... not another blockchain) to bring back some learnings here. The correctness bit, is, IMO, a very real obstacle for any abstraction but maybe accepting this as a "tool for thought" or a "complimentary interpretation" is the key 🤷‍♂️