Why do I output variable names as numeric values on the command line

The Candid wire format does not transmit full field names, but only hashes. In most cases the receiver knows which field names to expect (e.g. a Motoko service), and things work. But in dynamic use, e.g. dfx printing Candid value without knowing the expected type, it can’t do much better than printing the hash.

Maybe future versions will be able to fetch the interface to help here, or maybe Candid will change to include the actual field names.

3 Likes

Actually, in your case (dfx talking to a local, named Rust cansiter) it should suffice to include the did file in dfx.json, I believe.

1 Like