Skip to content
Shubbu03Public

About

wallet tracking and copy-trading on solana

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

107 Commits

Folders and files

Repository files navigation

waffle

Follow the Whales. Trade with Signal. Not noise.

Follow Solana wallets, review scored PumpSwap buys, and copy trades on Android. Try simulated paper trades or approve real purchases with SOL or USDC from your connected wallet.

Built with Expo, React Native, Bun, Hono, and PostgreSQL.

Android release: coming soon.

Android releases

App versions live in apps/mobile/app.json:

  • expo.version: the version users see, currently 1.0.0. Use 1.0.1 for a fix, 1.1.0 for a feature release, and 2.0.0 for a major release.
  • expo.android.versionCode: the Android build number, currently 1. Increase it for each new release (2, 3, ...), including rebuilds published under the same visible version.

Local Gradle builds read both values from this file. Settings displays the bundled app version. Reuse the same release signing key for updates.

Build the release APK using your configured Android SDK and JDK 17:

cd apps/mobile/android
NODE_ENV=production ./gradlew :app:assembleRelease --no-daemon --max-workers=2 --no-parallel

After testing the APK, copy apps/mobile/android/app/build/outputs/apk/release/app-release.apk to a versioned filename (for example, waffle-v1.0.0.apk). On GitHub, open Releases → Draft a new release, choose the matching tag (for example, v1.0.0) on the commit used for the build, attach the APK, and publish it as the latest release.

Keep website and README download links hidden until the service is ready.

Setup

Requires Bun 1.3.13, PostgreSQL, Android development tools, and an MWA-compatible Solana wallet. Wallet sign-in requires a native Android build.

bun install --frozen-lockfile

cp apps/api/.env.example apps/api/.env
cp apps/watcher/.env.example apps/watcher/.env
cp apps/mobile/.env.example apps/mobile/.env
cp packages/db/.env.example packages/db/.env

Fill in the database and provider settings described in each environment example. Use separate restricted API/watcher database logins; keep the migration-owner connection in packages/db/.env.

Set the mobile API URL and app identity URL. The API's AUTH_URI must match EXPO_PUBLIC_WAFFLE_APP_URI. For push notifications, configure Firebase and add apps/mobile/google-services.json.

bun run db:migrate

Run

Run each app in a separate terminal:

bun run dev:api
bun run dev:watcher
bun run --filter '@waffle/mobile' android

The product website lives in apps/web. Run bun run dev:web for local development and bun run build:web to generate the static site in apps/web/dist.

Checks

bun run lint
bun run typecheck
bun run test

About

wallet tracking and copy-trading on solana

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages