Awesome! Any reason why this was written in Rust and not Motoko? Is the compiled WASM then deployed to the internet computer?
There is some code in the canister (crypto stuff and CBOR encoding) where Motoko is still a few libraries short, so we opted for Rust.
Yes, the compiled wasm is deployed to the Internet Computer. You can even check which module precisely is running there:
~/dfinity/internet-identity $ dfx canister --network ic --no-wallet info rdmx6-jaaaa-aaaaa-aaadq-cai
Controller: r7inp-6aaaa-aaaaa-aaabq-cai
Module hash: 0xf43dfe544a2612ec3c4a0ee291fb4d69ccd01df5f2836c804619fe6a52a43ea0
Are there any similar examples for clients that arenât web-based?
For example, a CLI written in Rust that integrates with Internet Identity.
No, but itâs rather trivial to write a frontend tool based on the Identityâs did file. I planned to create a dfx subcommand to do that, but didnât get around to doing it yet. Or maybe someone beats us to it? Itâs all out there!
In Chrome on Windows 10, I get to this step and have no idea what it wants and see nothing in Dfinity help or Webauthn Google searches that help.
Now I see Windows 10 allows a security key device like Ubikey. I understand the necessity but itâs sort of a âyou got to be kidding meâ moment that I have to buy a Ubikey, set up 2FA and/or not lose Ubikey and the backups. I donât have the newest phone, so it canât get on either. Ugh. Despite my extreme optimism about Dfinity, it might be a log time before I get on. Let me know if it starts supporting a username, password, and authenticator.
I donât think dfx
is open source, is it?
Not yet, but you can easily do that as a stand alone tool using just agent-rs
, i.e. it does not have to be part of dfx.