The current steps to set up all the necessary tools to compile WASM smart contracts are many and complicated. For a developer who just wants to write smart contracts using ink! this can be easily overwhelming and/or frustrating.
cargo-contract is the recommended Substrate solution to setting up an ink! smart contract, is non-trivial to install via cargo install as it requires a lot of extra dependencies. It can be used via a Docker image, but the resulting commands are unwieldy and obtuse.
We should try to lower the barrier of entry for e.g. Solidity developers wanting to try out ink!, or general newcomers.
Suggested Solution
A Docker container with all the necessary tools and dependencies can be provided and integrated with VSCode's dev environment feature.
We can also provide extra scripts and helpers in a template repo to simplify the necessary commands.
Another option is to build a cargo-contract-like tool, but provide ready binaries for it, and have it handle all the dependency/walkthrough stuff.
Alternatives
The much simpler option is to simply write a guide (we need to do this anyway) and expect that each new user walks through it on their own.
The other alternative is to do nothing and just let people figure it out on their own.
Description
The current steps to set up all the necessary tools to compile WASM smart contracts are many and complicated. For a developer who just wants to write smart contracts using
ink!
this can be easily overwhelming and/or frustrating.cargo-contract
is the recommended Substrate solution to setting up anink!
smart contract, is non-trivial to install viacargo install
as it requires a lot of extra dependencies. It can be used via a Docker image, but the resulting commands are unwieldy and obtuse. We should try to lower the barrier of entry for e.g. Solidity developers wanting to try outink!
, or general newcomers.Suggested Solution
A Docker container with all the necessary tools and dependencies can be provided and integrated with VSCode's dev environment feature.
We can also provide extra scripts and helpers in a template repo to simplify the necessary commands.
Another option is to build a
cargo-contract
-like tool, but provide ready binaries for it, and have it handle all the dependency/walkthrough stuff.Alternatives
The much simpler option is to simply write a guide (we need to do this anyway) and expect that each new user walks through it on their own.
The other alternative is to do nothing and just let people figure it out on their own.