---
title: "Archway HackAtom VI: NFTs Workshop"
tags: workshop, nft, cw721, CosmWasm, cosmos
---
# Archway HackAtom VI: NFTs Workshop
:::warning
You can watch the replays of both workshops in the [HackAtom's event website](https://hackatom.airmeet.com/event/8d99ec40-424e-11ec-868e-f7fade6f497c). Just go to the *Schedule* and navigate to the sessions in their specific dates:
- **Intro to Building dApps on Archway**: Nov 24th
- **How to Build, Mint, and Transfer NFTs on Archway**: Dec 1st
:::
## Agenda
- Smart contract walkthrough
- Mint and Transfer
- Q&A
## HackAtom VI Bounties
#### [HackAtom (see "End-User Apps")](https://hackatom.org/#prizes)
- **1st:** $35,000
- **2nd:** $15,000
#### Requirements
- All projects should be deployed and workable on Archway’s testnet
- Contracts using CosmWasm
- Adhere to standard token interfaces ([CW20](https://github.com/CosmWasm/cw-plus/tree/main/packages/cw20), [CW721](https://github.com/CosmWasm/cw-nfts/tree/main/packages/cw721)) and [wallet signing](https://cosmos.github.io/cosmjs/latest/proto-signing/index.html) for contract deployment and interactions (mint, list, buy, sell, transfer, etc),
- A functional and usable front-end
## Intro
Just a few links and some info to help you on your journey.
Under [Archway](#Archway) you’ll find quick links to dependencies and CLI commands.
Under [Packages, Contracts & Contract Utilities](#Packages-Contracts-amp-Contract-Utilities) contains links to smart contracts that can be used or pilfered from.
Under [dApps & dApp Utilities](#dApps-amp-dApp-Utilties) you’ll find frontend packages and example repositories for dApp frontends built using Archway / CosmWasm.
## Refresher
### Lifecycle of a CosmWasm Smart Contract
1. Compile
1. Store
1. Instantiate
1. Execute / Query
### CW721
- [CW721 Spec](https://github.com/CosmWasm/cw-nfts/tree/main/packages/cw721)
- [Archway cw721 contract example](https://github.com/archway-network/contracts-examples/tree/main/archway-nft)
#### Messages (abbreviated)
##### Execute:
- `Mint{token_id, owner, token_uri}`
- `TransferNft{recipient, token_id}`
##### Query:
- `Tokens{owner}`
- `OwnerOf{token_id}`
## Archway
- [Constantine block explorer](https://explorer.constantine-1.archway.tech/)
- [Install dependencies](https://docs.archway.io/docs/create/getting-started/install)
- [Creating a wallet & new project](https://docs.archway.io/docs/create/getting-started/setup)
- [CLI commands cheat sheet](https://docs.archway.io/docs/create/getting-started/basics)
## Packages, Contracts & Contract Utilities
- [Archway Templates](https://github.com/archway-network/archway-templates)
- [Archway Smart Contracts examples](https://github.com/archway-network/contracts-examples)
- [CosmWasm Plus](https://github.com/CosmWasm/cw-plus)
- [CosmWasm NFTs](https://github.com/CosmWasm/cw-nfts)
- [Cosmons NFT Marketplace](https://github.com/BlockscapeNetwork/hackatom_v/tree/master/contracts/marketplace)
## dApps & dApp Utilties
- [CosmJS](https://cosmos.github.io/cosmjs/)
- [Archway dApp examples](https://github.com/archway-network/dApp-examples)
- [CosmWasm dApps](https://github.com/CosmWasm/dApps)
- [Cosmverse NFT Marketplace](https://github.com/CosmosContracts/cosmverse)
## Other References
### NFTs
- [EIP-721: Non-Fungible Token Standard](https://eips.ethereum.org/EIPS/eip-721)
- [NFT Metadata Standards](https://docs.opensea.io/docs/metadata-standards)
- [The Non-Fungible Token Bible: Everything you need to know about NFTs](https://opensea.io/blog/guides/non-fungible-tokens/)
### IPFS and Storage services
- [IPFS](https://ipfs.io/)
- [Pinata](https://pinata.cloud/)
- [nft.storage](https://nft.storage/)
### Rust
- [Traits](https://doc.rust-lang.org/book/ch10-02-traits.html)
- [Generic Lifetimes](https://doc.rust-lang.org/book/ch10-03-lifetime-syntax.html)