finds.dev← search

// the find

use-ink/ink

★ 1,459 · Rust · Apache-2.0 · updated Mar 2026

Polkadot's ink! to write smart contracts.

ink! is a Rust eDSL for writing WebAssembly smart contracts targeting the Polkadot/Substrate ecosystem. It uses proc macros to turn annotated Rust structs and methods into contracts with storage, dispatch, and ABI handling baked in. As of January 2026, development has been officially discontinued and the repo is locked to new issues and PRs.

- The proc macro design is genuinely good — #[ink::contract] lets you write idiomatic Rust and handles storage layout, selector dispatch, and SCALE encoding without a separate schema file or codegen step

- Built-in off-chain testing API in ink_env::test lets you unit test contract logic without a running node, which was a real differentiator over Solidity toolchains at the time

- Selector stability via #[ink(selector = N)] means you can rename public methods without breaking callers — a concrete API versioning win that most contract languages ignore

- Two professional security audits on record (OpenZeppelin for v4, SRLabs for v5), which is unusually thorough for ecosystem-specific tooling

- Dead project — officially discontinued January 2026, repo locked, no bug fixes or security patches coming; adopting this is inheriting a frozen codebase with no upstream

- The ecosystem moved on before the formal shutdown: Polkadot's pivot to pallet-revive (EVM-compatible contracts) made ink! architecturally obsolete, which is why the team couldn't justify continued maintenance

- Storage model has real footguns — Mapping access is lazy and each key lookup is a separate storage read, so iterating over a Mapping on-chain is impossible and accidentally O(n) patterns are easy to write

- Wasm smart contracts never got meaningful adoption outside the Substrate ecosystem, so the audience for this toolchain was always small and is now effectively zero for new projects

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →