Full lesson
elyse
What it does
From the project README:
The **"Elyse"** project is a versatile infrastructure in cryptocurrencies and blockchain, intending to unite diverse crypto projects into a unified space to simplify the use of blockchain technology for users worldwide.
- Original
- s11leo/elyse
- SuperStack fork
- Blockchains/elyse @
77b39eb - Stars
- 0
- Last push (original)
- 2024-07-02
- Languages
- CSS, JavaScript, HTML, SCSS
- Detected stack
- web3.js
- Categories
- Other
- Licence
- MIT
Architecture
51 source files. By extension: .js ×51.
| Top-level directory | Source files |
|---|---|
app_page | 28 |
elyse-app | 22 |
(root) | 1 |
✅ Operational, verified 2026-11-02 Tested on 2026-11-02: full log results.json
Build it yourself: step-by-step guide
Every command below was run on 2026-11-02 by tests/run_fork.py against the pinned commit, and the results come from that run. The full output is in the committed log.
1. Prerequisites (versions we tested with)
- Rust:
rustc 1.99.1 (58cf8f9c3 2026-10-13) - Solana CLI (Agave):
solana-cli 1.18.17 (src:c027cfc3; feat:4215500110, client:Agave) - Node.js:
v24.22.1 - npm:
11.21.1 - pnpm:
10.34.6
2. Clone at the tested commit
git clone https://github.com/Blockchains/elyse.git && cd elyse
git checkout 77b39ebe97763dc1ab86b10699e99ba616ed8e283. Configure
No environment file is needed.
4. Install dependencies
| Directory | Command | Result | Time |
|---|---|---|---|
elyse-app | npm install --no-audit --no-fund --legacy-peer-deps | ✅ pass | 14s |
app_page | npm install --no-audit --no-fund --legacy-peer-deps | ✅ pass | 4s |
5. Build
| Directory | Command | Result | Time |
|---|---|---|---|
elyse-app | npm run build | ✅ pass | 9s |
app_page | npm run build | ✅ pass | 1s |
7. Deploy to a local validator
8. Run and exercise it
| Directory | Command | Result | Time |
|---|---|---|---|
elyse-app | bash /workspace/sol-college/repo/tests/serve_probe.sh 3103 / python3 -m http.server 3103 -d dist | ✅ pass | 2s |
app_page | bash /workspace/sol-college/repo/tests/serve_probe.sh 3104 / python3 -m http.server 3104 | ✅ pass | 2s |
Extend it
- Add an integration test that runs the main flow end to end and asserts every account state change.
- Add a negative test: call each instruction with the wrong signer or account and check that it fails.
- Make the frontend read the cluster from an env var, deploy it to GitHub Pages and point it at your devnet program.
- Wire the build into CI by copying this site's verify-forks workflow.
Open the dapp
Open the dapp The fork's own webpack frontend (wallet dashboard). It reads balances from public RPCs; it has no on-chain program of its own. Connect your own wallet; every transaction is signed in your wallet. Use devnet with free SOL from faucet.solana.com. Mainnet uses real tokens: alpha software, high risk.
Built with dapps/static_build.sh elyse.
Key code, explained
Excerpts chosen automatically where the code uses the most Solana concepts, pinned to the fork's commit.
app_page/token_faucet/faucet.js L1–24 @ 77b39eb · MIT · originalconst express = require('express');const bodyParser = require('body-parser');const fetch = require('node-fetch');const { Connection, Keypair, PublicKey, Transaction } = require('@solana/web3.js');const { sendAndConfirmTransaction } = require('@solana/web3.js');const { getOrCreateAssociatedTokenAccount, createTransferInstruction, getAccountInfo } = require('@solana/spl-token');const https = require('https');const app = express();const cors = require('cors');const fs = require('fs');// const moment = require('moment'); app.use(bodyParser.json()); const corsOptions = { origin: 'https://hackathon-test-project.space',}; app.use(cors(corsOptions)); const serverOptions = { key: fs.readFileSync('/etc/letsencrypt/live/hackathon-test-project.space/privkey.pem'), cert: fs.readFileSync('/etc/letsencrypt/live/hackathon-test-project.space/fullchain.pem')};- Line 5
const { sendAndConfirmTransaction } = require('@solana/web3.js');: Submits the signed transaction to the cluster. - Line 6
const { getOrCreateAssociatedTokenAccount, createTransferInstruction, getAccountInfo } = r: An SPL token transfer through the Token Program.
How to run, build and test
These commands come from the repo's own manifests (package.json scripts, Anchor.toml, Cargo, go.mod, Makefile). Check the README for prerequisites and environment variables.
| Directory | Command | Runs |
|---|---|---|
elyse-app | npm run start | webpack serve --config webpack.config.js --mode development |
elyse-app | npm run build | webpack --config webpack.config.js --mode production |
app_page | npm run dev | webpack serve --open --mode development |
app_page | npm run build | webpack --mode production |
app_page/kumeka | npm run start | react-scripts start |
app_page/kumeka | npm run build | react-scripts build |
app_page/kumeka | npm run test | react-scripts test |
app_page/token_faucet | npm run test | echo "Error: no test specified" && exit 1 |
What you could build from it
- Fork the SuperStack copy and extend it within the Other gaps listed on the idea page.
- Learn the pattern first: Program Derived Addresses (PDAs)
- Learn the pattern first: Cross-Program Invocations (CPIs)