/michelson-labs

🎓 Series of Jupyter notebooks for training in Tezos development & analysis

Primary LanguageJupyter NotebookCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

Tezos Labs

Welcome to the Tezos Labs interactive learning course!

It consists of a series of Jupyter notebooks. Code snippets from the notebooks can be executed both online and locally. Also, you can write code yourself — there are exercises at the end of several tutorials for self-evaluation.

Run online

In order to feel what interactive notebooks are you can open course chapters in the Binder service, that provides a temporary Jupyter environment.

Open in Binder

::: warning NOTE Your changes won't be saved unless you download the notebook to your computer.
For regular use consider local setup (options below). :::

Run in Docker

Ensure you have Docker installed.

docker pull bakingbad/michelson-kernel
docker run --rm -it -p 127.0.0.1:8888:8888 -v $(pwd):/home/jupyter/notebooks bakingbad/michelson-kernel

Open http://127.0.0.1:8888 in your browser.

Note, that the notebooks folder is mounted to your local filesystem by default, so you won't loose any changes made.

Run locally

First of all, install several crypto libraries:

  • Ubuntu: sudo apt install libsodium-dev libsecp256k1-dev libgmp-dev
  • MacOS: brew install libsodium libsecp256k1 gmp
  • Windows: follow the guide

Ensure you have a suitable Python version (3.5+). The recomended way is pyenv. Make sure you have installed all the dependencies first.

pip install jupyter michelson-kernel
jupyter notebook

Open the link from the command output, create new notebook with Michelson kernel.

Contribute

Install dependencies:

make install

Convert notebooks to markdown files:

make docs

Run local service:

make dev

Contact us

If you have any questions regarding the tutorials, Michelson kernel, PyTezos library, TzKT API, or you spotted a bug — please reach us:

About

This educational project is supported by Tezos Foundation.

Michelson tutorials: Claude Barde
PyTezos tutorials: Michael Zaikin
Educational platform: Baking Bad