Как сгенерировать содержимое из папки `wasm`?
Я пытаюсь построить с нуля смарт-контракт. я начинаю с
cargo new my-contract
. Я подключил зависимости Elrond, и теперь Cargo Run не жалуется.
Теперь, когда я бегу
erdpy contract build
я получил
FileNotFoundError: [Errno 2] Нет такого файла или каталога:'/home/bogdan/workspace/sc-from-scratch/wasm'
Когда я смотрю на другие шаблоны, я вижу, что содержимое этой папки wasm генерируется. Это соответствующая фиксация для моего вопроса: https://github.com/bogdan-marian/sc-from-scratch/commit/aa6f912e6bca413a91f18c9de52257390645b139
Как создать контент из
wasm
папка?
3 ответа
Я бы посоветовал начать с папки wasm из одного из примеров проектов, соответствующей версии elrond-wasm, которую вы используете.
В более новых версиях содержимое wasm/src/lib.rs будет генерироваться мета-подпроектом, который у вас также должен быть.
В общем, ваша жизнь станет намного проще, если вы будете использовать один из определенных шаблонов, используя новый контракт erdpy, как описано здесь .
Например
erdpy contract new --template adder
Оказывается, в этом вопросе есть нечто большее, чем я изначально думал. В итоге я создал целый учебник о том, как создать смарт-контракт с нуля. Короткая версия
- вам нужно добавить папку wasm вручную
- как только вы добавите мета-ящик позже, содержимое этой папки будет создано для вас. Здесь вы можете увидеть, как я прохожу весь этот поток:https://youtu.be/UYU9Gqw8ldg
Вы пытались сделать
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"