[RemixIDE] Create a workshop for Solidity

Solidity tutorial directly inside your online IDE

GrandSchtroumpf
Remix Project
4 min readSep 27, 2019

--

You’re building a solidity library and you want developers to know how to use it ? You’re a tutor and need an easy, online environement for your students for learning solidity ? Or you want to provide guidelines to your team ? Everybody has their own reason to create a tutorial on Remix Workshop plugin !

Let’s discover how to create your first workshop.

Setup Environment

First of all you need to have a web3 provider in your browser such as MetaMask extension, and a Github account (optional).

Go to http://remix.ethereum.org, and click on the plugin manager (plug icon on the left).

To create a workshop you need to activate 2 plugins :

  • 3Box Spaces : To store the plugin on IPFS.
  • Remix Workshop : UI to create and run workshops.

Connect Remix Workshop

Remix Workshop plugin is fully decentralised and leverages several technologies :

  • Ethereum Account (via MetaMask): identifies yourself and keeps track of your progress.
  • IPFS (via 3box): stores the content of the workshops and the progress of each student’s work (linked to your account).
  • Ethereum Smart-Contract (on Görli): keeps track of the tutors accounts in order to query the list of public workshops available.

Login with 3box

On Remix Workshop Plugin click on the “Log in” button :

A MetaMask popup should appear to ask your password and the right to connect your account with the “3Box Spaces for Remix” (3box plugin).

Finally it will ask you to sign a message to let the plugin reading and writing on your 3box profile :

Now you’re logged in with 3box ! 👍

Create a Workshop

Click on profile (bottom left).

You will see two buttons in the footer. Let’s focus on Create workshop for now :

A workshop is a divided in a list of steps. Students cannot go to step 2 if they didn’t completed step 1.

Each step can have :

  • Name [required]: Name of the step.
  • Filename [optional]: The name of the solidity file if any.
  • Markdown [required]: Link to a markdown file to display to the tutees.
  • Solidity [optional]: Link to a solidity file to start the step with.
  • Test [optional]: Link to a remix-test solidity file to test the input of the tutees against.

You can store your files on IPFS, Swarm, Github or Gist.

Let’s take two examples :

  • If your step requires the student to enter some code you’ll need to fill all field.
  • If your step only displays some information and requires no action from the tutee, you won’t need to fill the Test and Filename fields.

If you think it’s too long of a process, please wait for the bonus part (see below).

Register yourself as a Tutor

Now that your workshop is ready, you want to make it available for everybody. For that you’ll need to register as a tutor on an Ethereum network (Görli in this case).

Go back to your profile, and click on Register

This will require you to sign a transaction on Görli, so you need to be connected on Görli and have some Görli ethers (you can get some here).

Now you’re register as a tutor, and everybody can play with your workshop 🎉.

[Bonus] Import from Github

Let’s be honest, filling in all those steps for every workshop you write is pretty boring and annoying! 😵

You can store all your workshops on a repository on Github and import them all with one click ! For that you first need to add a Github Access Token to your Remix settings.

  1. Create a Github Access Token.
  2. Inside Remix IDE, go to setting, and paste your new token.

3. Go back to Remix Workshop plugin

Now it’s time to try the Import from Github button in your profile.

From there you can enter any Github repository link, and it will add all the workshops and steps from it directly:

The repository should follow this architecture :

If you add new steps or workshops on the same repository, just import again to keep it in sync. ⚡️

If you have any question about the plugin, please reach us on Gitter :
https://gitter.im/ethereum/remix

--

--

GrandSchtroumpf
Remix Project

I co-founded DappsNation, a Blockchain studio that build awesome decentralized applications. I also work at the Ethereum Foundation for the Remix project.