## Getting started ## Before you start developing smart contract on Gear, you have to configure the development envorinment. One of the way is to use ``Gitpod``. ``Gitpod`` is a tool allowing developers to launch ready-to-code development environments for your Github projects with a single click. ### Using Gitpod ### 1. The first option to use Gitpod: - In a browser, navigate to your project’s in GitHub or GitLab; - In the browser’s address bar, prefix the entire URL with ``gitpod.io/#`` and press Enter. It will create a cloud development environment and open up a workspace in VS code. - Install the tools required to build smart contract in Rust. Gitpod always comes with the latest available Rust toolchain pre-installed using Rust compiler``rustup``. Let's install a nightly version of the toolchain with``rustup``: ``` rustup toolchain add nightly ``` - As we will be compiling our Rust smart contract to Wasm, we will need a Wasm compiler. Let's add it to the toolchain: ``` rustup target add wasm32-unknown-unknown --toolchain nightly ``` Now the gitpod environment is ready for development of smart contracts on Gear. 2. Another way to get started with gitpod is by installing the gitpod extension which is available on Chrome and Firefox: - [Chrome](https://chrome.google.com/webstore/detail/gitpod-always-ready-to-co/dodmmooeoklaejobgleioelladacbeki) - [Firefox](https://addons.mozilla.org/en-US/firefox/addon/gitpod/) Once you have the extension installed, a gitpod button will shop up on any git repos: ![](https://i.imgur.com/SPo3RzI.png) ### Setting up the local environment ### For this course MacOS and Linux will be the easiest operating systems to use. Windows may be more challenging, however if you’re ok with that, please feel free to join us using whatever operating system that you have access to and are comfortable with. 1. Linux users should generally install ``GCC`` and ``Clang``, according to their distribution’s documentation. Also, one should install ``binaryen`` toolset that contains required wasm-opt tool. For example, on Ubuntu use: ``` sudo apt install -y clang build-essential binaryen ``` On macOS, you can get a compiler toolset and `binaryen` by running: ``` xcode-select --install brew install binaryen ``` 2. Install the tools required to build smart contract in Rust. ``Rustup`` will be used to get Rust compiler ready: ``` curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` 3. Let's install a nightly version of the toolchain and a Wasm compiler with`` rustup``: ``` rustup toolchain add nightly rustup target add wasm32-unknown-unknown --toolchain nightly ```