Level 5: Internet Computer astronaut
5.1 Developing an encrypted notes dapp with vetKeys: The Internet Computer vetKeys feature provides developers with more enhanced privacy, encryption, threshold decryption, and security capabilities for their projects and dapps:
- What is vetKeys?
- Crypto primitives.
- Public key encryption (PKE).
- Identity based encryption (IBE).
- vetKD.
- BLS signatures.
- vetKeys example dapp.
- Prerequisites.
- Closing the
encrypted-notes-dapp-vetkd
example. - Setting up the project.
- Reviewing the project's files.
- Starting a local replica.
- Deploying the Internet Identity canister.
- Deploying the vetKD system API canister.
- Deploying the encrypted notes backend canister.
- Updating the generated canister interface bindings.
- Deploying the frontend canister.
- Starting the local development server.
- Using the dapp.
- What is vetKeys?
5.2 Developing a dapp using the ICP Ethereum integration: In this tutorial, you'll use the DFINITY ICP ETH starter project to deploy a boilerplate dapp that showcases how ICP can query information from the Ethereum network using HTTPS outcalls:
- Deploying the ETH starter project.
- Project technology stack.
- Prerequisites.
- Downloading the starter project’s files.
- Exploring the project's files.
- Creating a testnet wallet.
- Obtaining Sepolia testnet tokens.
- Deploying the project.
- Using the dapp.
- Going further.
- Resources.
- Deploying the ETH starter project.
5.3 Creating a decentralized token swap: In this tutorial, you'll deploy a simple token swap canister that demonstrates how to deposit, swap, and withdraw tokens:
- Decentralized token swap canister.
- Prerequisites.
- Cloning the
icrc2-swap
example. - Reviewing the project's files.
- Starting a local replica.
- Creating identities for
user_a
anduser_b
. - Deploying
token_a
. - Deploying
token_b
. - Exporting the token canister IDs as environmental variables.
- Deploying the swap canister.
- Depositing tokens into the swap canister.
- Performing a token swap.
- Withdrawing tokens.
- Checking token balances.
- Decentralized token swap canister.
5.4 Creating NFTs on ICP: A non-fungible token, commonly referred to as an NFT, is a type of tokenized asset that is assigned a unique identifier that is used to distinguish one NFT from another:
- How do NFTs work?
- NFT standards.
- DIP721.
- ICRC-7.
- Creating and deploying an NFT.
- Prerequisites.
- Cloning the
dip-721-nft-container
example. - Confirm your local identity.
- Reviewing the project's files.
- Starting a local replica.
- Deploying the project’s canister.
- Minting an NFT.
- Transferring an NFT.
- Querying the balance of NFTs for your user principal.
- Querying the maximum amount of NFTs that can be minted.
- Querying the NFT's metadata.
- Querying token IDs owned by your user.
- Querying the NFT’s information.
- Querying the owner of a specific token ID.
- Resources.
How does an auction work?
Creating an auction dapp.
- Prerequisites.
- Cloning the
auction
example. - Reviewing the project's files.
- Creating the backend canister.
- Starting a local replica.
- Deploying the project's canisters.
- Using the dapp.
5.6 Next steps: In this final tutorial, you'll learn about some of the different resources to help guide you further in your personal developer journey:
- Developer grants.
- Developer bounties.
- Hackathons.
- ICP.Hubs.
- Contributing to ICP.
- Developer resources.