My Experience with ink! and Why Rust Smart Contracts Matter for Polkadot

I understand why Solidity is being supported in PolkaVM. Platforms shouldn’t necessarily be prescriptive and hand down ivory tower pronouncements about how developers should build.

The majority of TVL currently is locked in EVM-compatible smart contracts built primarily with Solidity.

That being said, I 1000% agree with your sentiments @Lynette

The cost of failure is so much higher in smart contracts then in web apps. As you succinctly phrased it, there are no easy rollbacks on-chain.

There’s no feature flag to flip off, there’s no canary deployment to test the waters. Smart contract development has more in common with firmware development then web dev. The cost of failure is extremely high and rolling out a fix is easier said then done.

Smart contract development needs a systems programming language. You want an extremely strict compiler. Solidity’s never-ending parade of security exploits has conclusively demonstrated that relying of “developer vigilance” is insufficient.

Smart contract implementation details are public and their interface is exposed globally with the whole internet population acting as a cybersecurity Red Team. And the financial incentives to exploit smart contracts are high enough to attract the most sophisticated attackers.

We need Procedural Macros that act as explicit guardrails. We need ink!