Skip to main content

Level 5: Internet Computer astronaut

Advanced
Tutorial
  • 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.
  • 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.
  • 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 and user_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.
  • 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.
  • 5.5 Creating an auction dapp:

  • 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.