首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么elrond锈蚀合同需要一个main.rs,为什么某个函数调用它?

为什么elrond锈蚀合同需要一个main.rs,为什么某个函数调用它?
EN

Stack Overflow用户
提问于 2022-08-21 18:27:34
回答 1查看 65关注 0票数 0

新来的elrond合同。

我试图弄清楚,在执行erdpy contract build时,获得一个要成功构建的elrond锈蚀合同的绝对最小值是多少。

对我来说,合同只会是src/lib.rs

代码语言:javascript
复制
.
├── Cargo.toml
├── meta
│   ├── Cargo.toml
│   └── src
│       └── main.rs
└── src
    └── lib.rs

meta/src/main.rs文件有:

代码语言:javascript
复制
fn main() {
    println!("hello");
    //elrond_wasm_debug::meta::perform::<crowdfunding::AbiProvider>();
}

如果我在meta/src/main.rs中注释掉了meta/src/main.rs行,并且删除了在构建过程中生成的所有内容:

代码语言:javascript
复制
rm -rf $(find . -name Cargo.lock;
         find . -type d -name target;
         find . -type d -name output;
         find . -type d -name wasm);

然后做建造,我得到:

代码语言:javascript
复制
CRITICAL:cli:No file matches pattern [*.wasm].

如果我不评论这一行,重新做所有的‘清理’,并再次构建,没有错误。

EN

回答 1

Stack Overflow用户

发布于 2022-08-23 08:16:52

编译elrond合同是一个多步骤的过程。首先,你的src的特性正在被编译。然后调用元子项目来生成abi文件和wasm子项目的源代码。然后编译wasm子项目以实际获得wasm文件。

因此,通过删除wasm子项目,您已经销毁了最后一个编译步骤,并且没有接收到wasm文件。注释元子项目中的行将意味着您的abi文件将不再被刷新,并且您将在编译后的wasm中丢失方法。

因此,所有这些都是绝对必要的,您只能安全地删除cargo.lock、输出和目标文件夹:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73437210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档