rust 如何从`wasm`文件夹生成内容?

fbcarpbf  于 2023-11-19  发布在  其他
关注(0)|答案(3)|浏览(171)

我正在尝试从头开始构建一个智能合约。我从cargo new my-contract开始。我连接了MultiversX依赖项,现在cargo run没有抱怨。
现在当我运行mxpy contract build时,
FileNotFoundError:[Errno 2] No such file or directory:'/home/bogdan/workspace/sc-from-scratch/wasm'
当我查看其他模板时,我看到生成了这个wasm文件夹的内容。
这是我的问题的相关提交:https://github.com/bogdan-marian/sc-from-scratch/commit/aa6f912e6bca413a91f18c9de52257390645b139
如何从wasm文件夹生成内容?

h5qlskok

h5qlskok1#

在构建智能合约之前,你是否尝试过做cargo build
它将安装依赖项,并生成相应的文件夹。如果它仍然没有创建wasm文件夹,那么您是否检查了cargo.toml文件中的依赖项?
你应该有这样的东西:

[package]
name = "router"
version = "0.0.0"
authors = [ "you",]
edition = "2018"
publish = false

[lib]
path = "src/lib.rs"

[features]
wasm-output-mode = [
  "elrond-wasm-node",
  "token_send/wasm-output-mode",
]

[dependencies.token_send]
path = "../../common/modules/token_send"

[dependencies.elrond-wasm]
version = "0.21"
features = ["derive"]

[dependencies.elrond-wasm-derive]
version = "0.21"

[dependencies.elrond-wasm-node]
version = "0.21"
optional = true

[dev-dependencies.elrond-wasm-debug]
version = "0.21"

[dependencies.pair]
path = "../pair"

字符串
source

u5rb5r59

u5rb5r592#

我建议从一个示例项目中的wasm文件夹开始,适合您正在使用的elrond-wasm版本。
在较新的版本中,wasm/src/lib.rs的内容将由您应该拥有的Meta子项目生成。
一般来说,如果您使用这里描述的Erdpy Contract New定义的模板之一,您的生活会轻松得多
例如

erdpy contract new --template adder

字符串

pkln4tw6

pkln4tw63#

事实证明,这个问题比我最初认为的要多。我最终创建了一个关于如何从头开始创建智能合约的完整教程。简短版本是

  • 你需要手工添加wasm文件夹
  • 一旦你稍后添加了Meta crate,这个文件夹的内容就会为你生成。这就是你可以看到我经历整个流程的地方:https://youtu.be/UYU9Gqw8ldg

相关问题