A hands-on tutorial on elliptic curves
The continuous case uses geogebra. Visit the interactive companion page here:
https://www.geogebra.org/m/baurc6bu
The discrete case uses an interactive dashboard developed for this course.
Visit the following site to run it in your browser http://137.184.28.205:8050/
Alternatively, you may run it locally by following the Setup instructions below.
If you just want to run the dashboard, you'll need to have docker installed on your machine. https://www.docker.com/products/docker-desktop
Once you have docker, then you can run the following command from the base of this repo:
docker compose up
This will start two services:
- elliptic curve dashboard server http://localhost:8050
- jupyter notebook server server http://localhost:8888
!!! note: The notebook server uses an access token which will be printed out to the console when the container starts up.
If you want to run the dashboard on your host machine, you'll need the following requirements
- plotly
- plotly
- dash
- numpy
- dash-bootstrap-components
- dash_daq
- cryptography
You can get any of the above dependencies like this:
pip3 install <dependency>
Also, these are nice to have but not required
- jupyter (if you want to run notebooks)
- jupytext (if you want markdown notebooks)
- jupyter-dash (if you want to prototype a dashboard in a notebook)
You'll also need the psidash
library I made for rapid prototying of dashboards in yaml
pip install --user git+https://github.com/predsci/psidash.git
Finally, you'll need Jimmy Song's programming bitcoin in a sibling path of this repo
git clone https://github.com/jimmysong/programmingbitcoin.git /home/programmingbitcoin