Saving Satoshi is a light-hearted, first point of contact for developers of all ages that want to learn how bitcoin works.
At its core, this is a video game. But if you look beneath the surface, it's much more than that. It’s an interactive science fiction story designed to inspire a generation to fall in love with bitcoin. The goal is to be a 0-to-1 experience that transmits the cultural values of bitcoin. We do this by immersing learners into a fictional world that they navigate with technical lessons.
Gameplay is made up of a mix of technical text and code-based challenges. The challenges should be doable for anyone with basic coding skills.
Learners will complete test-driven, repl-based lessons, while learning some bitcoin history along the way. Beginners can breeze through the basics while more advanced learners can dive into the harder challenges and easter eggs.
Bitcoin is serious, but this game is designed to be fun. We hope you enjoy what we have created and welcome contributions.
Now be quick, Satoshi needs you!
To contribute to the project, use issues and discussions in this GitHub repo (saving-satoshi/saving-satoshi
), or join our Discord channel in the Bitcoin Design Community.
Generally, we have five tracks in this project:
- Story
- Lessons
- Design
- Code
- Translation
The more these are in tune with each other, the better the final user experience. We are currently still in a phase where we try to bring everything together in a coherent and interesting storyline.
The design for this project is handled in this Figma file.
Images are generated via AI tools (initially DiffusionBee, now Midjourney). Images and prompts are organized in this Figma file. See Guidelines for Image Generation for more info.
To help with translations and review head over to our translation README.md
To run this project locally:
- First, make sure you have NodeJS version 16.13.0 or higher installed. Check
node -v
. Node installation instructions - Install this repository
git clone https://github.com/saving-satoshi/saving-satoshi.git
- Change into the directory
cd saving-satoshi
- Run
yarn install
to download the required code libraries - Run
yarn build
to build - Run
yarn start
oryarn dev
to spin up the development environment - Open
http://localhost:3000
in your browser to access the site
Before you write any git commit messages, there is a Husky hook that auto formats all staged files. If you would like to run the auto formatter yourself, before any files are staged, you can use the yarn prettier:check
and/or the yarn prettier
command(s).
The Husky hook will execute when you add a commit message and the changes will be included in the commit.
This project was started during the Bitcoin Designathon in October 2022. It then continued with the bolt.fun Legends of Lightning Tournament.
Our first goal is to launch a V1 that provides a great basic experience. Then we'd like to get feedback from the community to ensure that we are building something that resonates. Ideally, we'd then like to make necessary adjustments and open up contributions to everyone.
Some ideas we have for the future
- Build out 10 chapter lessons
- Extract lessons into their own repository for independent editing
- Authentication using private keys
- Real-time collaboration with other players via public keys
- Built in REPLs (possibly with repl.it)
- Collaborative challenges
- More advanced lessons for learners looking to go deeper
- Localization to other languages if there is interest
Thank you so much for your interest in the project. We'd love to hear your feedback.
Saving Satoshi is released under the terms of the MIT license. See LICENSE for more information or see https://opensource.org/licenses/MIT.