Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://aszepieniec.github.io/stark-brainfuck/
Tutorial for designing and impementing a STARK-compatible VM, along with a fully functional Brainfark instruction set architecture, virtual machine, prover, and verifier.
https://aszepieniec.github.io/stark-brainfuck/
Last synced: about 1 month ago
JSON representation
Tutorial for designing and impementing a STARK-compatible VM, along with a fully functional Brainfark instruction set architecture, virtual machine, prover, and verifier.
- Host: GitHub
- URL: https://aszepieniec.github.io/stark-brainfuck/
- Owner: aszepieniec
- License: apache-2.0
- Created: 2021-12-08T14:21:32.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T07:37:03.000Z (4 months ago)
- Last Synced: 2024-11-09T00:34:34.804Z (about 1 month ago)
- Language: Python
- Size: 457 KB
- Stars: 46
- Watchers: 6
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zkvm - stark brainfuck
- awesome-zkvm - stark brainfuck
README
# stark-brainfuck
Tutorial for designing and impementing a STARK-compatible VM, along with a fully functional Brainfuck instruction set architecture, virtual machine, prover, and verifier.
## Go to the Tutorial
The tutorial is available at [Github-Pages](https://aszepieniec.github.io/stark-brainfuck/).
## Running locally (the website, not the tutorial)
1. Install ruby
2. Install bundler
3. Change directory to `docs/` and install Jekyll: `$> sudo bundle install`
4. Run Jekyll: `$> bundle exec jekyll serve`
5. Surf to [http://127.0.0.1:4000/](http://127.0.0.1:4000/)## LaTeX and Github Pages
Github-Pages uses Kramdown as the markdown processor. Kramdown does not support LaTeX. Instead, there is a javascript header that loads MathJax, parses the page, and replaces LaTeX maths instructions with their proper formulae. Here is how to do it:
1. Open `_includes/head-custom.html` and paste the following code:
```javascriptMathJax.Hub.Config({
TeX: {
equationNumbers: {
autoNumber: "AMS"
}
},
tex2jax: {
inlineMath: [ ['$', '$'], ['\\(', '\\)'] ],
displayMath: [ ['$$', '$$'], ['\\[', '\\]'] ],
processEscapes: true,
}
});
MathJax.Hub.Register.MessageHook("Math Processing Error",function (message) {
alert("Math Processing Error: "+message[1]);
});
MathJax.Hub.Register.MessageHook("TeX Jax - parse error",function (message) {
alert("Math Processing Error: "+message[1]);
});```