🤖 The open-source Web3 bounties platform. Built with Solana.
Learn more »
Introduction ·
Features .
Tech Stack .
Architecture .
Contributing .
Docs
Tesior is an advanced open-source platform tailored for the Web3 (Solana) ecosystem, enabling seamless bounty management and cryptocurrency transactions.
- Automated GitHub Integration for Bounties: Instantly reward contributors with crypto (solana) with Tesior Bot via GitHub comments using
/bounty <amount>
. - Enhanced Security Measures: Utilize multi-cloud Kubernetes clusters and Shamir’s Secret Sharing for robust private key management.
- Blockchain Indexing via Helius: Efficiently index blockchain data using Helius to not miss any transaction to/from tesior wallet.
- Workspace Creation and Management: Create and manage workspaces linked to GitHub repositories for centralized project control.
- Multi-Project Management: Manage multiple projects each with distinct user groups from a single account.
- Dashboard Task Management: Add, approve, and pay for custom tasks directly through the Tesior dashboard.
- Transaction Transparency: Access detailed transaction logs for both incoming and outgoing funds.
- Wallet and Payments: Manage Solana funds and track all wallet transactions through the Tesior interface.
- Contributor Recognition with Leaderboard: Feature and motivate contributors using a leaderboard based on task completion and bounties.
- Next.js – framework
- TypeScript – language
- Tailwind – CSS
- Upstash – redis
- Neon - database
- Prisma - ORM
- NextAuth.js – auth
- Solana Web3.js - payments
- Turborepo – monorepo
- Helius - indexer webhook
- Kubernetes - private key management
- Cloudflare Workers – github bot and helius webhook
- Vercel – deployments
- Shadcn/ui
- Aceternity UI
- Dub.co
- Precedent
- Radix UI
- Tanstack
- Zod
- SWR
- Sonner
- Ideogram AI
- Tesior Bot
- Shamir Secret Sharing
We love our contributors! Here's how you can contribute:
- Open an issue if you believe you've encountered a bug.
- Follow the local development setup guide below to get your local dev environment set up.
- Make a pull request to add new features/make quality-of-life improvements/fix bugs.
A guide on how to run Tesior's codebase locally
-
Clone the repo into a public GitHub repository (or fork https://github.com/jogeshwar01/tesior-web).
git clone https://github.com/jogeshwar01/tesior-web.git
-
Go to the project folder.
cd tesior-web
-
Install packages with yarn.
yarn install
-
Set up your
.env
file-
Duplicate
.env.example
to.env
. -
Use
openssl rand -base64 32
to generate a key and add it underNEXTAUTH_SECRET
in the.env
file. -
Add the
APP_WALLET_ADDRESS
- public key to receive payments. -
Setup Github app to configure NextAuth. Add the respective
GITHUB_CLIENT_ID
ANDGITHUB_CLIENT_SECRET
. -
For developing locally, start postgres and redis locally.
cd docker docker compose up
-
For cloud deployments, setup database on Neon and redis on Upstash.
-
-
Private key management -
-
To send payments, you would need the private key of your wallet. This can be secured using multi-cloud kubernetes clusters and shamir secret sharing. This has been implemented here - Tesior-pkm.
-
To test locally, go through the
shamir-secret-sharing
module here. Create 5 shares using the createShares function. Update fetchShares to get shares from.env
instead of api calls to multi-cloud servers.
-
-
Build and Start the Nextjs app.
yarn build yarn dev
Tesior is open-source under the MIT License. You can find it here.