SatLab is an open-source educational platform designed to teach the economic and technical foundations of Bitcoin through a highly visualized, interactive and gamified experience. From the principles of Austrian economics to HTLCs on the Lightning Network, SatLab translates highly complex concepts into accessible simulations and friendly explanations for anyone in the world, regardless of their hardware capabilities.
The learning model is strictly sequential, taking the student from the theory of value to second-layer scalability technology through an ecosystem of approximately 25 interactive activities (so far) grouped into four distinct eras:
- Era 1: Prehistory: The fiat money problem, algorithmic scarcity, and the core principles of Austrian economics.
- Era 2: The Discovery: Practical simulations of Hash functions (SHA-256), asymmetric cryptography (public/private keys), and the structural construction of Merkle roots.
- Era 3: The Sovereign Network: The architecture of Proof of Work, blocks, the "blockchain" concept, block mining, mathematical difficulty adjustment, decentralized validation, and much more.
- Era 4: The Lightning: The transition to the Lightning Network, payment channel management, liquidity, instant transaction routing, and more.
SatLab is and will always be a public good. This project is licensed under the GNU Affero General Public License v3.0 (AGPLv3). We guarantee that the core source code and any modifications of it will remain free, auditable, and entirely at the service of the global community. Because education must be freely accessible to every individual.
SatLab is currently in its earliest stages of development. Every idea, piece of feedback, or bug report you share with us—whether submitted through a GitHub issue or directly via our official channels—is crucial to scaling the platform in the right direction.
If you wish to actively contribute to the codebase, you are welcome to fork the repository and submit a Pull Request (PR).
SatLab's architecture is fully containerized to guarantee environmental consistency and eliminate dependency conflicts across any operating system. Currently, during this phase, local instances are orchestrated exclusively via Docker Compose.
Ensure you have the latest version of Docker and Docker Compose installed and running on your host machine.
1. Clone the repository:
git clone https://github.com/SatLab-Learning/satlab-learning2. Change Directory:
cd satlab-learning/3. Build & Initialize Container:
For dev environment run:
docker compose -f docker-compose.dev.yml up --buildFor production deployment, make sure to update the Caddyfile with your domain or IP, then run:
docker compose -f docker-compose.prod.yml up --build -d4. Access your local instance (dev) through:
Access:
localhost:5173/from any web browser to visualize your own instance of SatLab and, when you are done having fun, just hit Ctrl+C in your terminal. Otherwise, run any of the following commands depending on the build:
For dev environment:
docker compose -f docker-compose.dev.yml downFor production environment:
docker compose -f docker-compose.prod.yml down