Как сгенерировать содержимое из папки `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"

источник

Другие вопросы по тегам