Create the cargo project
Create a new cargo project by running following command from the root of your counter project:
cargo new --lib counter-app
You project should look like:
counter/contract/pint.toml
counter/contract/contract.pnt
counter/contract/src/contract.pnt
counter/counter-app/Cargo.toml
counter/counter-app/src/lib.rs
Dependencies
Now add the following dependencies to your rust project:
cd counter-app
cargo add essential-app-utils
cargo add essential-app-utils --features test-utils --dev
cargo add essential-deploy-contract
cargo add essential-hash
cargo add essential-rest-client
cargo add essential-types
cargo add essential-wallet --features test-utils --dev
cargo add anyhow
cargo add tokio --features full
cargo add clap
Your cargo toml should look something like this:
[package]
name = "counter-app"
version = "0.1.0"
edition = "2021"
[dependencies]
anyhow = "1.0.86"
clap = "4.5.8"
essential-app-utils = "0.1.0"
essential-deploy-contract = "0.1.0"
essential-hash = "0.1.0"
essential-rest-client = "0.1.0"
essential-types = "0.1.0"
tokio = { version = "1.38.0", features = ["full"] }
[dev-dependencies]
essential-app-utils = { version = "0.1.0", features = ["test-utils"] }
essential-wallet = { version = "0.1.0", features = ["test-utils"] }
Add a test
Lastly add a test to your front end application:
mkdir tests
touch tests/counter.rs
Your project should now look like:
counter/contract/pint.toml
counter/contract/contract.pnt
counter/contract/src/contract.pnt
counter/counter-app/Cargo.toml
counter/counter-app/tests/counter.rs
counter/counter-app/src/lib.rs