ggxchain / ggxnode

Apache License 2.0
6 stars 5 forks source link

Improve UX for WASM smart contract developers #9

Open ElusiveMori opened 1 year ago

ElusiveMori commented 1 year ago

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 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.

dzmitry-lahoda commented 1 year ago

please checkout nix stuff in repo, it does half of waht is desired, also chopsticks is great