SuiPatent
SuiPatent: dApp on Sui for patent creation. Upload IP docs, encrypt with Seal, store on Walrus
Problem Statement
SuiPatent is all about. It’s a decentralized app built on the Sui blockchain, aimed at shaking up how people protect their intellectual property—like inventions, designs, or NFT art. Tired of the old patent system with its crazy $5,000-$20,000 fees and 2-3 year waits? SuiPatent fixes that by letting users mint a "Patent Proof" NFT for just about $1 in SUI gas fees. This opens the door for small creators, artists, and even those without bank accounts to claim ownership without middlemen, creating a vibrant IP world on Sui.Here’s how it works: You connect your Sui wallet—maybe Slush—and optionally link a cool SuiNS name like inventor.sui for a personal touch. Then, you upload your IP—think sketches, blueprints, or PDFs (up to 10MiB)—through a simple drag-and-drop on the site. Behind the scenes, we merge the image with details like title and description into a single PNG using Node.js and the Canvas library, making it a neat visual patent. That file gets locked tight with Seal SDK encryption—post-quantum secure—so only approved folks can peek, and it’s stored safely as a blob on Walrus, giving you a unique blob ID.
Solution
I used Next.js with TypeScript for the frontend because it's fast for building responsive UIs, and Tailwind CSS to style everything quickly On the backend, I went with Node.js and Express in TypeScript—it's lightweight and perfect for handling file uploads. I integrated the Seal SDK for client-side encryption of images and PDFs, ensuring data stays private before hitting the server. Walrus SDK was key for storing those encrypted blobs; Piecing it together: The frontend connects to a Slush wallet via @mysten/dapp-kit for signing. Users upload an image and metadata (title, description, optional SuiNS), which hits the /create-nft endpoint. Backend uses Canvas to merge the image with metadata into a PNG, encrypts with Seal, stores on Walrus, and returns blob/key IDs. Then, /attest calls a Sui Move contract to mint the NFT with blob ID in metadata. Whitelisting updates the contract, and /verify decrypts for authorized wallets. I used axios for API calls and useState for managing wallet, IDs, and errors—nothing fancy, but it flows smoothly.
Hackathon
ETHGlobal New Delhi
2025
Contributors
- krnkiran22
9 contributions