Thanks for helping build the Stellar wallet that lives in WhatsApp.
git clone https://github.com/chillwur/GFMiHashport.git
cd GFMiHashport
pnpm install
cp apps/frontend/.env.example apps/frontend/.env.local
cp apps/backend/.env.example apps/backend/.env
pnpm devFor contract work you additionally need Rust (stable) with the wasm32v1-none target and, ideally, the stellar CLI:
rustup target add wasm32v1-none
cargo install --locked stellar-cliapps/frontend— Next.js landing page/dashboardapps/backend— Fastify WhatsApp webhook + Stellar services; the chat grammar issrc/lib/commands.ts, chain access issrc/services/stellar.tscontracts/hashport-account— Soroban smart account (Rust)
Run the same checks CI runs:
pnpm lint
pnpm typecheck
pnpm test
pnpm build
# if you touched the contract:
pnpm contracts:test
pnpm contracts:build- Branches:
feat/<topic>,fix/<topic>,docs/<topic>. - Commits: Conventional Commits (
feat:,fix:,chore:,docs:,test:). - New chat commands need: parser case in
lib/commands.ts, handler inservices/router.ts, tests intest/commands.test.ts, and a line inHELP_TEXT. - Never commit secrets.
.envfiles are gitignored; only.env.examplefiles belong in the repo. If a change adds an env var, document it in the workspace's.env.exampleand the root.env.examplemap. - Default to testnet in all examples, tests, and defaults.
Use the issue templates. For anything security-sensitive (key handling, webhook auth, contract auth), do not open a public issue — email the maintainers instead.