since months we’re struggling with the issue that the Taggr canister has no Candid interface exposed on the IC dashboard.
The dfx.json file has the “name”: “candid:service” values and the did file gets correctly auto-exported. But for some reason it will not get included in the WASM file.
I have not many clues about what the issue is and would appreciate any help. Thanks!
PS: unfortunately I cannot include links here (probably as a new user), but the source-code repo is linked from the main Taggr-link webpage (see footer).
I just tried it locally and dfx deploy followed by dfx --identity anonymous canister metadata taggr candid:service returns the .did file just fine.
Suspicion: You have a makefile, build.sh, release.sh, and maybe something I overlooked. dfx only adds the metadata if you call dfx build, and the only file that will contain the metadata is in .dfx/<network>/canisters/<canister name>. Is this the file you are grabbing after a build? Or are you using the output of build.sh, which dfx doesn’t touch?
Thanks so much Severin! We definitely do not use this file as I assumed the Candid metadata is addid using export_candid!() macro call… I will change the release file to export the dfx build and let you know in a few weeks (we have a pipeline of changes) if it worked.
If you want to check locally if the metadata is included:
[unzip file somehow]
ic-wasm <file.wasm> metadata # will show metadata sections
ic-wasm <file.wasm> metadata candid:service # will show the content of that section. candid:service is the one the dashboard and all our tooling uses