ICP链打包生成子模块/派生模块wasm

我们如何通过不部署模块,获取该模块的wasm文件。
比如这些模块是从Root Canister/ Parent Canister 创建/派生出来的,这些子模块有很多初始化参数,并且都有意义.
我们无法通过 dfx deploy 创建该模块的Canister,或者我们需要构建一个无意义初始化参数创建一个无意义的Canister.
我认为这些并不是必须的,我们只想将该模块代码打包 生成wasm文件用于更新线上canister。

首先,我们需要在 `dfx.json` 文件声明子模块(并不是为了直接dfx deploy)
```
    "spark_user": {
      "main": "src/spark_backend/user.mo",
      "type": "motoko"
    },
```
然后,我们启动本地dfx
`dfx start --background --clean`
我们需要执行canister创建命令,为子模块创建本地canister(只是为了有一个canisterid,否则无法build)
`dfx canister create spark_user`
执行完毕后,我们执行build命令即可生成wasm文件
`dfx build spark_user`

最终生成wasm文件路径(workdir: 项目根目录)
`./.dfx/local/canisters/module-name/spark_user.wasm`

使用场景:通过根模块自动生成创建的子模块,子模块无法直接deploy部署,但是需要它的wasm文件时
全部评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
2025-12-27 22:01
北京邮电大学 Java
蛊界Go学长林剑行:北邮加粗放大
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务