Summary
Kryha is proposing to add a smart-contract that enables dynamic NFTs on the Agoric chain. This contract will serve as the backbone of the Mainnet dapp KREAd (kread.app) previously mentioned in Upgrade #49. KREAd is a dapp that allows users to mint their own Citizen and customize their appearance and influence within the Sages Universe created by the artist Enmanuel(Instagram, Twitter). KREAd will be the first mainnet partner dapp launching on the Agoric chain, with a target release date of: 2 October 2023 (Cosmoverse).
Application Overview
The KREAd dapp serves as the first implementation of dynamic NFTs on the Agoric chain. The app will let users mint their own characters with a personalized name, receiving a character NFT that is then further composed of several items that are equipped to it (SFTs). The owner of this character is then able to customize this NFT by equipping more items, unequipping currently equipped items and replacing items with new items that more suit the user’s style and abilities.
These personalized characters play a pivotal role within the Sages universe created by Enmanuel, as they allow the token holders to alter the course of the universe and collaborate on the story being created thus, creating an ever-changing community built narrative around these characters.
Users are able to interact with each-other by buying and selling their assets (characters and items) on the in-dapp marketplace, trying to assemble the perfect for them character.
Background
KREAd was ideated, built and deployed by Kryha, a Web3 lab with over 6 years of experience in the space. Working with a multitude of platforms including but not limited to: Ethereum, Dfinity and Aleo.
Kryha’s first big collaboration with the Agoric platform was at the Cross-chain hackathon 2020, where the team worked on an initial implementation of Semi-fungible tokens, which were later added as ERTP assets.
During the development of KREAd, the Kryha team has worked closely with Agoric engineering to share learning and provide platform improvements where possible, contributing to several components of the Agoric platform.
Contract/Component Details
The contract will provide the following functionality for end-users:
Minting of a character (NFT):
- The user pays a fee in IST for minting and are allowed to choose their own character name
- The NFT gets a random base character image assigned + accompanying information
- The character inventory seat gets 3 items assigned to it (the character now owns these items)
- 2 common items
- 1 uncommon or better item
Managing of their characters inventory:
- Equipping a new item
- Unequipping a currently equipped item
- Swapping equipped and unequipped items
- Unequipping all items
Character Page
Buying and selling of KREAd assets (items and character):
Item details in character management view
- Adding their sell listing to the marketplace (i.e. selling a character or item for IST)
- Buying a listed character or item from another user
- Buying a listed item from the initial artist collection
Character marketplace view
The contract will provide the following functionality for the artist:
-
Contract governance
-
Defining the base characters and base items on core-eval proposal
-
Listing a collection of items in the marketplace through governance (invoke API)
- This is done through governance to allow the current governing body to release new collections if they desire to do so, all existing items and collections will be available as is
- In future releases the decision to add collections will be decided upon by the KREAd community
-
Receiving royalties from transactions made on the marketplace and for the minting of the character
The contract will provide the following functionality for Kryha:
- Contract governance
- Receiving platform fees from transactions made on the marketplace and for the minting of the character
Deployment Checklist and Security Review
Kryha and Agoric OpCo have jointly completed the Mainnet-2 partners checklist: Mainnet 2 Deployment Checklist · Agoric/agoric-sdk · Discussion #8280 · GitHub
Resources
Links to relevant and important resources such as website, company/team website, GitHub links, social media profiles.
Kryha:
KREAd:
- Website: kread.app
- Twitter: @0xKREAd
- Discord: SAGES by KREAd
- Github: GitHub - Kryha/KREAd: KREAd is an application that uses and implements composable NFTs on Agoric, the application allows users to customize their own characters by equipping and unequipping items.
Testnet/Launch Milestones
By running long-lived testnets and using that environment to evaluate software before promoting it to mainnet, validators play a vital role in maintaining a healthy, robust network for the Agoric community. Qualifying or certifying any new software or smart contract as production ready requires significant testing, and it is recommended that validators evaluate the following milestones before launching an on-chain governance proposal on the agoric-3 mainnet.
Include a numbered list of milestones for testing during the Emerynet period going into mainnet.
– Kryha publishes KREAd bundle to emerynet on: Monday the 25th of september
– Kryha publishes KREAd core-eval proposal to start contracts on Emerynet on: Monday the 25th of september
– The Kryha team uses Emerynet to verify all on chain functionality of contract, ensuring the above listed contract details function as expected
– The Kryha team, Emerynet validator community, and Agoric OpCo monitor on-chain behavior and performance, noting abnormalities where they arise and provide fixes before the mainnet proposal.
- Areas of attention:
- Chain responses
- Storage node behavior and usage
- RPC interactions of KREAd.app and Emerynet
– Keep the community updated on testnet progress by posting updates to this thread or sharing details about this release in Discord or Twitter so that the entire community can follow progress towards launch.
– After successful testing with no abnormalities on Emerynet, Kryha will publish the KREAd bundle to mainnet
– Kryha will start the contract on mainnet through a core-eval proposal with minimal changes, the changes only being to the assets (characters and items) available to the contract (baseCharacters array and baseItems array). Date to be on-chain: 2nd of October 2023 (at Cosmoverse)
- Kryha uses the invoke API method on governance to publish a collection of items to the mainnet KREAd marketplace