Today, we’re excited to launch the Internet Computer Developer Journey tutorial series. This series contains written documentation and corresponding video tutorials that are designed to give both new and existing developers a clear learning path to develop on the Internet Computer.
Starting at level 0 with an introduction to the Internet Computer, terminology, and setting up a developer environment, to level 5 that details building complex dapps, the Developer Journey contains essential information for developers of all skill levels.
Please feel free to use this forum post as a place to provide feedback on the series, ask questions, and connect with other developers on their developer journey!
It is wonderful to see DFINITY build a unified set of learning resources to get a developer from newbie to expert, or at least comfortable writing software for the Internet Computer. Now the only way to learn is to go through the docs, blog posts and presentations such as the Motoko Bootcamp.
I did notice a major gap though, there is no coverage of Rust at all. Rust is the most loved computer language 8 years in a row in StackOverflow:
Rust is also one of the most used languages, very close to the Go language on many surveys, and popular among people who want a C / C++ alternative, and it is also heavily used by the DFINITY developers who are building this blockchain.
Please do add a plan to cover Rust for the IC, many developers will come from that background. Rust also opens unique opportunities for DAPP developers, such as using stable storage similar to a small database by using Stable Structures.
I noticed you use Space Cadet, Explorer, Engineer, and Pilot for the Motoko / IC learning levels. I suggest you keep those, they sound cool and welcoming; just have two tracks one for Motoko and another for Rust.
Thanks for this good news for the developer community!
Thank you for your input! You’ll be glad to know that there are plans to do a Rust ‘track’ in the future, as well as tracks for BTC developers, ETH developers, and other more focused variations.
As a soft way to remind the team to do so, I would suggest adding a track for Rust on the plan you already did here:
That way anyone discovering the page will know Rust support is coming in the developer journey, it will also make it obvious where the Rust pages are not available, I noticed there is much more hand holding and help for Motoko than Rust as of today.
My personal journey as a developer started with Motoko, but I am increasingly going more and more to Rust because I find more tools there, and it is easier to build our DAPP in Rust, many key features need Rust. If there had been resources for Rust from day one our level of skill would be much higher
Still we are very grateful for all that wonderful Motoko content, it is a beautiful language too.
That’s a great idea, I will add info about the future tracks, including the Rust track, to the overview. I’m the primary contributor to the Developer Journey series currently, so I’ll go ahead and make those additions in my next update.
Could you share some of the key features that your dApp needed that were better supported in Rust? I want to make sure that when I begin writing the Rust track I am covering these aspects of the Rust development workflow.
Sure, there are two features that are easier in Rust:
The ability to have stable data structures to build a small database, or API for our users. We are using this: GitHub - dfinity/stable-structures: A collection of data structures for fearless canister upgrades.. This allows us to have canisters that can hold over 90 Gigabytes of data, and also to be able to upgrade the code without the need for pre-upgrade, post upgrade serialization that Motoko needs.
It would be nice to see more in depth guides on how to launch an icrc-1 token, including logo on the IC. Make a YouTube video for dummies, I’m surprised this hasn’t been done yet, including a way to launch tokens easier ( a dapp for launching icrc-1 tokens )
Hi @memetics ! I’m happy to share that how to launch an ICRC-1 token is part of the Developer Journey in the Level 4 section here, which will have a corresponding Youtube video to walk you through everything .
Hello While tryong to install the package on Debian 10 I have received this info:
root@v2202302190634220118:~# dfx --version
dfx: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29' not found (required by dfx) dfx: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.29’ not found (required by dfx)
dfx: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26’ not found (required by dfx)
Hi Jessie, looks like the video series stops at 1.2 is there any news when any new tutorials will be uploaded. I have found them fantastic to behonest and being Dyslexic its hard to move forward with just reading documentation.
The video tutorials that where available are now not on the docs page just get error message
“This content is blocked. Contact the site owner to fix the issue.”
Hi @bluenose10, I’m glad to hear the video tutorials have been helpful! The next video will be released today (Friday, Jan 19), and we strive for a weekly upload of every Friday, however sometimes that may get delayed as it did last week.
As for the videos within the docs, we recently switched to using YouTube’s embedded videos and it appears that something went wrong with that, so thanks for letting us know and I’ll take a look into it now
Multiple users have reported setting up the Internet Identity canister in section 3.5 fails because of an issue with the step requiring dfx dep init generates an Error.
Just a heads-up, the example code for Developer journey 3.2 src/http_get_backend/main.mo has several extraneous lines at the end repeating part of the public query func transform code.
hey, @Jessie , I am currently working on level 1.3of Developer Journey i.e Developing your first dapp.
But, on running the cmd : dfx deploy , I am getting the folllowing error.
Deploying all canisters.
Creating canisters...
Creating canister motoko_level1_backend...
Creating a wallet canister on the local network.
The wallet canister on the "local" network for user "default" is "bnz7o-iuaaa-aaaaa-qaaaa-cai"
motoko_level1_backend canister created with canister id: bkyz2-fmaaa-aaaaa-qaaaq-cai
Creating canister motoko_level1_frontend...
motoko_level1_frontend canister created with canister id: bd3sg-teaaa-aaaaa-qaaba-cai
Building canisters...
Building frontend...
Error: Failed while trying to deploy canisters.
Caused by: Failed while trying to deploy canisters.
Failed to build all canisters.
Failed while trying to build all canisters.
The post-build step failed for canister 'bd3sg-teaaa-aaaaa-qaaba-cai' (motoko_level1_frontend) with an embedded error: Failed to build frontend for network 'local'.: The command 'cd "/mnt/k/developer_journey/motoko_level1" && CANISTER_CANDID_PATH="/mnt/k/developer_journey/motoko_level1/.dfx/local/canisters/motoko_level1_frontend/assetstorage.did" CANISTER_CANDID_PATH_MOTOKO_LEVEL1_BACKEND="/mnt/k/developer_journey/motoko_level1/.dfx/local/canisters/motoko_level1_backend/motoko_level1_backend.did" CANISTER_ID="bd3sg-teaaa-aaaaa-qaaba-cai" CANISTER_ID_MOTOKO_LEVEL1_BACKEND="bkyz2-fmaaa-aaaaa-qaaaq-cai" CANISTER_ID_MOTOKO_LEVEL1_FRONTEND="bd3sg-teaaa-aaaaa-qaaba-cai" DFX_NETWORK="local" DFX_VERSION="0.19.0" "npm" "run" "build"' failed with exit status 'exit status: 1'.
Stdout:
> prebuild
> npm run prebuild --workspaces --if-present
Stderr:
npm ERR! No workspaces found!
Also, I am using dfx version 0.19.0 and I chose Motoko for backend canister , and vanilla Js for frontend canister.
Could you please help me resolve the issue.
Also, In my project setup , there is no webpack.config.js file but only package.json file with above code.
Do, I need to configure the workspace object in the json file so, that it can identify the frontend path?