Создание ink! проекта
Мы собираемся использовать чернила! CLI для создания файлов, необходимых для проекта смарт-контракта Substrate.
Убедитесь, что вы находитесь в своем рабочем каталоге, а затем запустите:
cargo contract new flipper
Эта команда создаст новую папку проекта с именем flipper
, которую мы исследуем:
cd flipper/
Проект ink! контракта
flipper
|
.
├── Cargo.toml
└── lib.rs
Исходный код контракта
Интерфейс командной строки чернил автоматически генерирует исходный код для контракта «Flipper», который представляет собой простейший «умный» контракт, который вы можете создать. Вы можете узнать, что получится, посмотрев исходный код здесь:
Контракт Flipper — это не что иное, как bool
, который переключается с true на false с помощью функции flip()
. Мы не будем так глубоко вдаваться в подробности этого исходного кода, потому что мы проведем вас через этапы создания более сложного контракта!
Проверка вашего контракта
Вы увидите внизу исходного кода простой тест, который проверяет функциональность контракта. Мы можем быстро проверить, что этот код работает должным образом, используя автономную тестовую среду, которую чернила! обеспечивает.
В папке вашего проекта запустите:
cargo +nightly test
На что вы должны увидеть успешное завершение теста:
$ cargo +nightly test
running 2 tests
test flipper::tests::default_works ... ok
test flipper::tests::it_works ... ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Теперь, когда мы уверены, что все работает, мы можем скомпилировать этот контракт в Wasm.