Feature complete
A more concise design was adopted and the PR was merged!
{
"tech_stack": {
"language": {
"rust": {
"version": "1.75.0"
}
},
"cdk": {
"ic-cdk": {
"version": "0.13.0"
}
},
"lib": {
"ic-cdk-timers": {},
"ic-stable-structures": {}
},
"other": {
"bitcoin": {
"address": "bcrt1qfe264m0ycx2vcqvqyhs0gpxk6tw8ug6hqeps2d"
}
},
"tool": {
"dfx": {}
}
}
}
Please check the documentation for more details of the final design.
State of the Art
In the same PR, I added corresponding support for canister types known by dfx
.
- For Rust and Motoko canisters,
dfx
setstech_stack
if they don’t definetech_stack
explicitly indfx.json
. - For Azle and Kybra projects created with
dfx new
, the correspondingtech_stack
configuration will be added todfx.json
by default. (cc @lastmjs )
For CDKs not yet known by dfx
(e.g., @icpp), the CDK providers can add this tech_stack
section in dfx.json
of the project templates.
For Canister Explorers (e.g. icp.zone by @ZenVoich), it’s expected that more canisters will have a public metadata with key “dfx”, in which there is a “tech_stack” object.
What’s Next?
We don’t envision that canister developers will define these values in dfx.json
by themselves.
Upcoming work will enable CDK providers to set tech_stack
fields for their users.