Создание ink! проекта

Мы собираемся использовать чернила! CLI для создания файлов, необходимых для проекта смарт-контракта Substrate.

Убедитесь, что вы находитесь в своем рабочем каталоге, а затем запустите:

cargo contract new flipper

Эта команда создаст новую папку проекта с именем flipper, которую мы исследуем:

cd flipper/

Проект ink! контракта

flipper
|
.
├── Cargo.toml
└── lib.rs

Исходный код контракта

Интерфейс командной строки чернил автоматически генерирует исходный код для контракта «Flipper», который представляет собой простейший «умный» контракт, который вы можете создать. Вы можете узнать, что получится, посмотрев исходный код здесь:

Исходный код примера 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.