DEV Community

Morgan Metz
Morgan Metz

Posted on

NFTs as first class citizens

The idea

NFTs are a staple of crypto technology, and are still being integrated as an afterthought, even on the most powerful blockchain framework around; cosmos. This plan will make it easy to make NFTs (And developers) first class citizens on cosmos, with a new Cosmos SDK module.

The plan

This will be made possible by building a series of native cosmos SDK modules which will derive the CW721 spec, as well as modules for the native exchange of NFTs on a chain based order-book, similar to Injective's chain order-book and AMM for CW20 tokens.

Modules

There will be 3 modules:

  • CW721 - The core chain module which allows for the storage of data on-chain. This will be primary functions like minting, sending, burning, etc.
  • Exchange - The primary order-book system. This will allow for the buying, selling, and auctioning of NFTs.
  • Registry - an index and global registry of all NFTs. NFTs will be stored with unique identifiers. (more later on)

Core module - CW721

The core module will be a standard implementation of CW721 version 18 (or latest at time of development), or, will implement x/NFT (ADR 43) if it passes. This may, however, become a purely custom module, and will not be implemented in the standard cosmos-sdk.

Exchange

This will likely be a global order-book, which allows for buying, selling, listing, and offering. These will all be native messages. This will allow for seamless UI integration and easy white-labeling. this takes most of the work, as well as the "Who does it best" from the exchange side of things, and allows projects to focus on top-tier UI, better client offerings, etc.

Registry

This will be a global, indexable, registry of all NFTs on chain. This will allow for easy searching of all NFTs on chain by their UUID. This UUID will be a base64 (otherwise TBD) name comprised of the token's contract/classID and TokenID concatenated together like class:token. The registry will store on-chain metadata, the owner of a token, and the URI to the media. This will also allow for an easy integration of domains, which can be indexed via hash-table to get the ID, then indexed by the registry for owner and metadata info.

Tech

The modules will likely function as a smart contract with a native wasm interpreter layer, using the go based wasmvm as its interpreter, this will mean a fork of wasmvm/wasmd and adding either the unbuilt contracts and having a build layer, or a built wasm contract embeded. All repos will be available on the Nebula github org.

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more