A cosmos zone with built-in simplistic NFT marketplace and IBC connectivity. The main functions available are setting NFT (i.e. transferred from the zone) on sale with a set price in avstract currency and buying NFT on sale.
- TransferNFTokenToZone(ConnectionID, TokenID) TransferID //Initiates a transfer of NF token through the open connection
- GetTransferStatus(TransferID) Status //Get initiated transfer status (in flight, success, fail)
- PutNFTokenOnTheMarket(TokenID, Price) Status
- BuyNFToken(TokenID) Status
- GetNFTokenData(TokenID) TokenData
- GetNFTokensOnSaleList() []TokenData // Get list of all tokens on sale
- MakeDeposit(Amount) Status // Currency faucet
User X makes a token in Zone A. User makes a "transfer and set price" IBC transactions to benefit from atomic fire-n-forget UI for selling NFTs.
User Y buys a token on the Marketplace, user X gets some currency on the marketplace.
Most basic types and service functions are implemented/stubbed according to the specification, along with some commands.
- Rewrite
./x/hh/client/rest/rest.go
, I haven't removed thenameservice
code there yet. - Add transaction commands to
./x/hh/client/cli/tx.go
, there is only one command implemented. - All the Keeper / Handler logic. Search for
// TODO:
comments throughout the project.
Check out related:
https://github.com/dgamingfoundation/hackatom-zone