I was expecting dfx canister metadata [canister_name] tech_stack, and also dfx canister metadata [canister_name] tech_stack:cdk, dfx canister metadata [canister_name] tech_stack:lanuage, etc
There is a limit on the number of metadata sections. So in dfx, we deliberated to group all dfx-specific metadata into a “dfx” metadata which has a JSON content.
Then the clients can get the JSON content and extract interesting value from it.
For anyone reading @lwshang and I had a call, and the situation is not perfect but due to the various constraints on Wasm metadata, the current solution should work fine.
I still think a name other than dfx would be nice, but at least we have a standard that should work well. We can always create our own custom metadata sections and standards if we’d really like to, but this is fine for now.
The next versions of Azle and Kybra will both have this implemented, waiting on releases, possibly waiting for a stable version of dfx extensions with custom canister type.
function convertToBuffer (strings: string[]): ArrayBuffer[][] {
// Create an instance of TextEncoder
const encoder = new TextEncoder();
// Convert each string to an ArrayBuffer
const arrayBuffers = strings.map(str => encoder.encode(str).buffer);
// Wrap each ArrayBuffer into its own array, forming a 2D array
return arrayBuffers.map(buffer => [buffer]);
};
Not that it’s massively less verbose, but I’m always open to adding more “canonical” path aliases to check for if there’s a corresponding ICRC standard for them!
If we added those and knew how to decode them, it could be simplified to:
@ZenVoich ,
I don’t believe I ever provided you with an example canister id for C++.
You can use this one, which is a deployment of llama_cpp_canister: