project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Midna

Midna helps developer teams track and prove ownership of their smart contracts

Midna

Created At

ETHGlobal New York

Winner of

📬 WalletConnect — 🥈 Best use of Web3Inbox

Project Description

Midna provides an SDK that is added into the hardhat smart contract deploy step to track contracts and sign ownership. Midna gathers details during deployment including the hash of the deployment transaction, the git commit that was deployed from, and the organization the smart contract belongs to. Midna creates a verifiable way to prove ownership of contracts between multiple deployers and the organization they are part of. This is accomplished with a two-way signature of a message "Contract A Belongs to Organization B" signed by both the Contract A Deployer and the Organization B Private Key. For example, a developer or CI step at CoW Swap can deploy a contract and sign a message "NewContractAddress belongs to CoWSwapPublicKey", and a Private Key representing CoW Swap (or a Multi Sig in the future) signs the same message after deployment. Any client can then verify ownership with the only step requiring trust being the name "Cow Swap" associated to the organization's Public Key Midna broadcasts newly published contracts to any self-hosted Midna Server that makes it easy to track all your contracts and provides a UI for searching contracts and viewing the history of past deployments of the same contract. You can see a live version at https://midna.io/ The Midna Server publishes an RSS feed that can be connected into Slack and other messaging apps to be notified of new contract delpoyments. Midna also sends deployment notifications through the WalletConnect Web3Inbox notifications feed, enabling team members to be notified the moment. You can subscribe to deployment notifications by the Midna team at https://inbox.midna.io/

How it's Made

Midna at the core is a typescript SDK that can be plugged into Hardhat or other smart contract deployment scripts. We build ontop of the Ethers library to sign contract ownership and add a simple verify function to prove ownership of a contract between a deployer and an organization. The server itself is build with Next JS and Shadcn UI, and publishes an RSS feed which helped us quickly integrate the deployments feed into Slack. WalletConnect's Web3Inbox API is used to enable team members to subscribe to notifications of new smart contract deployments with their wallet and not need 3rd Party communication apps. The whole setup is made to be self-hosted, so any team can run their own Server + Inbox to track their smart contracts.

background image mobile

Join the mailing list

Get the latest news and updates