Git Product home page Git Product logo

saving-satoshi's Introduction

Saving Satoshi

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!

Contributing

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.

Translation support

To help with translations and review head over to our translation README.md

Local development setup

To run this project locally:

  1. First, make sure you have NodeJS version 16.13.0 or higher installed. Check node -v. Node installation instructions
  2. Install this repository git clone https://github.com/saving-satoshi/saving-satoshi.git
  3. Change into the directory cd saving-satoshi
  4. Run yarn install to download the required code libraries
  5. Run yarn build to build
  6. Run yarn start or yarn dev to spin up the development environment
  7. Open http://localhost:3000 in your browser to access the site

Linting

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.

Roadmap

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.

License

Saving Satoshi is released under the terms of the MIT license. See LICENSE for more information or see https://opensource.org/licenses/MIT.

saving-satoshi's People

Contributors

benalleng avatar afterburn avatar gbks avatar vinayaksh42 avatar daviroo avatar ggwilin avatar ecurrencyhodler avatar 0tuedon avatar shaavan avatar aureleoules avatar sabakhilji avatar samsamskies avatar satsie avatar balogunofafrica avatar pinheadmz avatar btcpy avatar satsdev avatar adamjonas avatar jtymoszczuk avatar superatic avatar 1t1e1 avatar ujwalkumar1995 avatar umarluqman avatar gadabra avatar atsu6 avatar harshita130602 avatar ottosch avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.