All Projects → grimadas → BlockchainEngineering

grimadas / BlockchainEngineering

Licence: other
Learn to think like a blockchain designer by solving practical challenges

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to BlockchainEngineering

Scrapbook
A library for recording and reading data in notebooks.
Stars: ✭ 206 (+880.95%)
Mutual labels:  notebook
Yosoro
🍧Beautiful Markdown NoteBook. 🏖
Stars: ✭ 2,595 (+12257.14%)
Mutual labels:  notebook
Toonote
小兔笔记:Markdown 内置数据 跨平台 加密存储
Stars: ✭ 247 (+1076.19%)
Mutual labels:  notebook
Style transfer
CNN image style transfer 🎨.
Stars: ✭ 210 (+900%)
Mutual labels:  notebook
Mindforger Repository
MindForger documentation repository.
Stars: ✭ 221 (+952.38%)
Mutual labels:  notebook
Beakerx
Beaker Extensions for Jupyter Notebook
Stars: ✭ 2,594 (+12252.38%)
Mutual labels:  notebook
Sublimenotebook
📝 Make Sublime Text your favorite note taking/journal application
Stars: ✭ 203 (+866.67%)
Mutual labels:  notebook
Goodreads visualization
A Jupyter notebook where I play with my Goodreads data
Stars: ✭ 51 (+142.86%)
Mutual labels:  notebook
Jupyterlab templates
Support for jupyter notebook templates in jupyterlab
Stars: ✭ 223 (+961.9%)
Mutual labels:  notebook
Cjworkbench
The data journalism platform with built in training
Stars: ✭ 244 (+1061.9%)
Mutual labels:  notebook
Best Of Jupyter
🏆 A ranked list of awesome Jupyter Notebook, Hub and Lab projects (extensions, kernels, tools). Updated weekly.
Stars: ✭ 200 (+852.38%)
Mutual labels:  notebook
Paperboy
A web frontend for scheduling Jupyter notebook reports
Stars: ✭ 221 (+952.38%)
Mutual labels:  notebook
Pluto.jl
🎈 Simple reactive notebooks for Julia
Stars: ✭ 3,430 (+16233.33%)
Mutual labels:  notebook
Mytetra dev
MyTetra - smart crossplatform manager for information collecting / MyTetra - кроссплатформенный менеджер накопления информации / Официальная страница:
Stars: ✭ 207 (+885.71%)
Mutual labels:  notebook
Ipython
Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.
Stars: ✭ 15,107 (+71838.1%)
Mutual labels:  notebook
Rl Tutorial Jnrr19
Stable-Baselines tutorial for Journées Nationales de la Recherche en Robotique 2019
Stars: ✭ 204 (+871.43%)
Mutual labels:  notebook
Applied Reinforcement Learning
Reinforcement Learning and Decision Making tutorials explained at an intuitive level and with Jupyter Notebooks
Stars: ✭ 229 (+990.48%)
Mutual labels:  notebook
crypto-trader
Automating crypto trading with python in a jupyter notebook
Stars: ✭ 35 (+66.67%)
Mutual labels:  notebook
mark-idea
一款私有云笔记,git + markdown
Stars: ✭ 182 (+766.67%)
Mutual labels:  notebook
Kb
A minimalist command line knowledge base manager
Stars: ✭ 2,789 (+13180.95%)
Mutual labels:  notebook


Blockchain Engineering is a collection of jupyter notebooks to teach the fundamentals of any blockchain system.

As opposed to other blockchain courses we follow a different approach - we build the blockchain up from scratch, starting from bottom to the top. The main focus of this notebook is to explain and visually show how to understand distributed systems and think like a blockchain architect.

At the end of this course you will have a better understanding of the challenges faced while designing a blockchain system and how to overcome them.

The notebooks are built as experiments with a discrete simulation SimPy that allows you to simulate unreliable communication, malicious behavior and convergence algorithms.

Start the exercises by forking the repo and go through the notebooks one by one.


Topics covered

  • Distributed systems. Overlays and communication network. Introduction to simulation framework
  • Gossip. Convergence of the transactions, information
  • Faults in distributed systems: crashes and disruptions
  • Malicious nodes, adversary model
  • Consensus and agreement despite malicious nodes

If you notice anything unexpected, or you want more topics, please open an issue and let us know. If you like the project and want to help us, contributions are very welcome! Feel free to open a feature request. We are motivated to constantly make it better.


Getting started

  1. Clone/Fork the repository:
git clone  https://github.com/grimadas/BlockchainEngineering.git
  1. Install python >= 3.7. Alternatively you can also use conda.
  2. Install required dependecies
  • To enable some of the animations used install graphviz.

  • Install required python dependecies:

    pip install -r requirements.txt
  1. You can start the exercises by opening the notebooks via from your cloned directory:
 jupyter lab
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].