Developers—Publish your canisters!

It’s great to see all the services and applications being built. Hopefully this is useful to you all, Canlista beta is now up, and running fully on the IC…

https://k7gat-daaaa-aaaae-qaahq-cai.ic0.app/

Coming up: ic-publish – Publish directly from your projects on the command line.

14 Likes

Is what I’m seeing the npm.io (js) / crates.io (rust) equivalent for canisters? This is great! Thanks for building it!

2 Likes

Indeed, crates.io was quite an influence, glad you spotted that ; )

1 Like

Endpoint updates:

Developers can call the Canlista service to get candid for canisters in any language, Motoko, Rust, C++ etc. (so everyone get listing and add your rust candids!)

dfx canister --network ic call kyhgh-oyaaa-aaaae-qaaha-cai getCandid '(principal "rrkah-fqaaa-aaaaa-aaaaq-cai")'

All candid is checked as valid.

The service now returns an approvedByController flag, it’s part of a chain-of-trust feature for the listings, if this flag is true you are guaranteed that the candid was served by the canister itself or submitted by the canister’s controller.

Currently this will be false while we wait for Motoko features to fetch controller details.

Service signature:

getCandid: (principal) -> (Result) query
type Result = variant { 
	ok:  record { did:text; approvedByController:bool }; 
	err: variant { noCandidFound }
}

Related, @PaulLiu you’ll need to accommodate the new record returned in your air-gap QR scanner if that’s ok (this should be extensible in future now), you can later optionally check for this approval flag too if you find need to.

2 Likes

How close are we to having a motoko candid parser? Would be cool to have some reflection available.

It would if possible, perhaps @nomeata could answer that?

1 Like

Developers now have their own pages too, eg:
https://k7gat-daaaa-aaaae-qaahq-cai.ic0.app/dev/blynn

1 Like

what is this? fetch the controller of a canister?