~ ~ THIS IS A SEED OF BLOG POST, COME BACK IN A FEW WEEKS ~ ~
Introduction
Cards on the table - I do not share the same generational excitement for moving all aspects of life into an instrumented economy.
..but also, I am not able to propose better solution..
I am obliged to follow technology (impacts on human life with surgical precision) and I have noticed (still in the development) rising new way of thinking about smart contracts called !ink. By writing new way I think about execution environment, in the case of ink is web assembly. Idea is very promising but as a drawback I see barrier to deliver more complicated business logic. From the technological point of view, in my opinion comparing Solidity and ink! I conclude that Solidity was just a proof of concept.
Example
1// We are importing the default ink! types2use ink_lang as ink;34#[ink::contract]5mod MyContract {67 // Our struct will use those default ink! types8 #[ink(storage)]9 pub struct MyContract {10 // Store some AccountId11 my_account: AccountId,12 // Store some Balance13 my_balance: Balance,14 }15 /* --snip-- */16}
As we can see ink! is like Rust but with special annotations. As far as I know, for now a project can have only one file, there is no possibility to build a project with multiple files. Beginnings, but we should know that to deliver something solid must take time. Delivering Rust code is not obvious - I personally struggle with that, for now without bigger results.
This is the draft of the post, I am going to share my experience with the technology in the post, so come back here in a few weeks.
Ecosystem of ink!
Sol2Ink
Sol2Ink we are living in the times of protocol wars so that, protocols compete with each other. Ink naturally wants to overtake market of Solidity and thanks to the tool you can* easily migrate Solidity source code into Ink!.
Sol2Ink just transpile Solidity code into Ink compatible file, because behind Ink! is to write any critical parts of information systems to Rust, like in the poster:
My doubt about Sol2Ink: Delivering solid Solidity source code is quite close to magic (by “shadowy super coder”) and I have serious doubts that such kind of automated transpilation is ready for production - for sure it will be the subject of observation (and experiments!).