Welcome to froglin
, a mysterious universe hiding treasures and friends within!
Froglins are strange creatures which can be found all around us. They exist solely in cryptography terms, and you can befriend them through the use of Zero-Knowledge Proofs.
This repo is the Froglin game source code.
This project is based on a Linux development environment.
The setup instructions are equivalent for macOS.
If you're using Windows, you'll need to install WSL first.
In support of the development process, the following prerequisites are used:
git clone https://github.com/ZeroK-Labs/froglin
On first run, enable the setup script:
sudo chmod +x ./scripts/setup.sh
NOTE: Since Aztec is updated frequently, it is recommended to run this script instead of the usual bun i
to update prequisites and packages, as it ensures the latest version of the sandbox is avalable locally.
Run the setup:
./scripts/setup.sh
After the script completes successfully, to use the tools you'll need to refresh the environment, or start a new console session. Follow the instructions shown on screen. This reloading will only be needed the very first time the script is run.
An env.config.js
will be created on disk. This is the environment variables file, and it is filled with default values.
The last step in the setup is to add a MAPBOX_ACCESS_TOKEN
to env.config.js
in order to access mapbox
API for development.
This will remove packages from node_modules
and uninstall the prerequisites.
./scripts/cleanup.sh
./scripts/aztec/compile.sh
or
bun aztec:build
./scripts/aztec/start.sh
or
bun aztec:start
./scripts/backend/start.sh
or
bun backend:start
./scripts/webpack/start.sh
or
bun webpack:start
Backend server can be shutdown, as it isn't required for testing.
These tests can take a long time (>5 mins) to complete.
The list can be filtered by editing the test.sh
file.
./scripts/test.sh
or
bun run test
-
.env
- Environment management -
.ssh
- SSH-related scripting -
.ssl
- SSL Certificate management -
aztec
- Aztec Sandbox management and contract compilation -
backend
- Backend management and deployment -
docker
- Docker management (required for Aztec Sandbox) -
git
- GIT hooks and scripting -
packages
- Package update management -
prerequisites
- Individual installation scripts for all prerequisites -
tailwind
- Tailwind management (required for frontend) -
webpack
- Frontend management and deployment
-
contracts
- Aztec L2 Noir contracts
-
endpoints
- HTTP endpoints -
stores
- Server runtime data -
types
- Server-only types -
utils
- helpers, managers, converters, globals
-
adapters
- Package adapters -
assets
- Models, 2D and 3D -
components
- React component files -
pages
- React pages -
enums
- Client-only enums -
types
- Client-only types -
stores
- Client runtime data -
styles
- Tailwind CSS files -
utils
- helpers, managers, converters, globals
tests
- Bun tests
-
setup
- preparation for all tests -
accounts
- setup of accounts and wallets common to all tests -
register
- tests registration and updates to account details -
eventData
- tests event lifecycle management -
leaderboard
- tests leaderboard scoring management -
capture - single
- tests capturing of a single Froglin -
capture - multi
- tests capturing multiple Froglins -
concurrency - register
- tests concurrent registration and updates to account details -
concurrency - capture
- tests concurrent capturing of Froglins
Get in touch with the owners via Noir Discord to be added as a collaborator.
Use the hashtag froglin
.