Skip to main content

Level 3: Space engineer

Intermediate
Tutorial
  • 3.1 Motoko package managers: To use packages developed outside of the Motoko base library, a Motoko package manager can be used. This module covers:

    • What is a package manager?
    • Installing Mops.
    • Installing Vessel.
    • Using Mops.
      • Creating a new project.
      • Configuring your project to use Mops.
      • Initializing Mops.
      • Adding packages to mops.toml.
    • Publishing a package.
    • Using Vessel.
    • Importing packages into your Motoko code.
  • 3.2 Using HTTPS outcalls: HTTPS outcalls are a feature of canisters on ICP that allow smart contracts to directly make calls to HTTPS servers that are external to ICP. This module covers:

    • Supported HTTPS methods.
    • Cycles.
    • HTTPS outcalls API.
    • HTTPS GET.
      • Prerequisites.
      • Creating a new project.
      • Creating an HTTP GET request.
      • Calling the HTTP GET request.
    • HTTPS POST.
      • Prerequisites.
      • Creating a new project.
      • Creating an HTTP POST request.
      • Calling the HTTP POST request.
  • 3.3 Certified data: Certified data utilizes chain-key cryptography at the canister level to generate a digital signature that can be validated using a permanent, public key that belongs to the Internet Computer, whose private key counterpart is constantly distributed across many different nodes on the network. This module covers:

    • How data is certified.
      • Data certificates.
      • How canisters certify data.
      • Certified data API methods.
    • How Developers can certify data.
      • Certified data Motoko module.
      • Certified data Rusk CDK module.
    • Generating an HTTPS response.
      • Example.
    • Using certified variables.
      • Prerequisites.
      • Creating a new project.
      • Creating an HTTP request.
      • Interacting with certified variables.
    • Resources.
  • 3.4 Introduction to agents: On the Internet Computer, an agent is a library used to make calls to ICP's public interface. This module covers:

    • What does an agent do?
      • Structuring data.
      • Decoding data.
      • Managing authentication.
        • Accepted identities.
    • Available agents.
    • Using the JavaScript agent.
      • Prerequisites.
      • Creating a new project.
      • Generating Candid declarations.
      • Creating the JavaScript agent.
      • Using the agent.
  • 3.5 Identities and authentication: When developing on the Internet Identity, there are several types of identities and methods of authentication that you'll encounter. This module covers:

    • Types of identity.
    • Internet Identity.
      • Internet Identity architecture.
      • What is a passkey?
    • Creating an Internet Identity.
    • Integrating an Internet Identity into your app.
      • Prerequisites.
      • Creating a new project.
      • Creating an actor.
      • Importing the auth-client package.
      • Pulling the Internet Identity canister.
      • Interacting with the integration.
  • 3.6 Motoko level 3: In this Motoko level, you'll look into caller identification, adding access control with identities, plus other non-identity related functionalities such as pattern matching and periodic tasks. This module covers:

    • Principals and caller identification.
    • Adding access control with identities.
      • Prerequisites.
      • Creating a new project.
      • Creating an owner identity.
      • Writing backend code with access control.
      • Interacting with the dapp.
    • Pattern matching.
    • Periodic timers.