Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Developer Journey Level 3: Space Engineer #1972

Merged
merged 36 commits into from
Oct 18, 2023
Merged

Conversation

jessiemongeon1
Copy link
Collaborator

Level 3: Space engineer

  • 3.1: Motoko package managers

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

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

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

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

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

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

Thank you for your contribution to the IC Developer Portal.
Before submitting your Pull Request, please make sure that:

@jessiemongeon1 jessiemongeon1 marked this pull request as ready for review October 4, 2023 21:11
@jessiemongeon1 jessiemongeon1 requested a review from a team as a code owner October 4, 2023 21:11
Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great work Jessie! the series is coming together very nicely 👍

@domwoe
Copy link
Member

domwoe commented Oct 6, 2023

Hey @jessiemongeon1,

great progress!

I'm just starting to go through and I'm not sure if I find the time to review completely today (and I'm on vacation next week)
My main feedback for the HTTPS Outcalls section would be to stress some points a bit more

  • Please discuss the transform function a bit more. This is often a source of frustration for people. When working locally, the transform function doesn't really matter much, since there's only one node making the call. Then later, when people deploy to the IC they often get an error because not all replicas get the same response (Not sure what's the acutal error, but would be good to show it)
  • The max_response_bytes setting is often ignored by devs, but they can save a lot of cycles by setting appropriatly
  • The final source of frustration when deploying to the IC is that you can only make HTTPS outcalls to APIs that support IPv6. You can check if an API supports IPv6 by using services like: https://ready.chair6.net/

@domwoe domwoe self-requested a review October 18, 2023 05:35
@jessiemongeon1 jessiemongeon1 merged commit 4f1c9f3 into master Oct 18, 2023
4 checks passed
@jessiemongeon1 jessiemongeon1 deleted the dev-journey-3 branch October 18, 2023 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants