Skip to content

bntzio/crab.so

Repository files navigation

crab 🦀

Decentralized Communities in Web3

What is crab?

Crab is a community-driven, open-source, decentralized network for thriving communities in Web3.

Read the presentation here.

How does crab work?

Crab utilizes the Spling Social Protocol to interact with the Shadow Drive, a decentralized file system by GenesysGo in the Solana blockchain.

You can try the official and most recent version of crab at crab.so 🦀

Development

Crab is open-source and you can contribute to the project by opening a pull request or an issue.

It is built with Next.js and Tailwind CSS.

Requirements

Setup

1. Clone the repository
git clone git@github.com:bntzio/crab.so.git
2. Start Docker and the Supabase container
# inside apps/web directory
supabase start
3. Install dependencies
# inside the root directory
pnpm install
4. Add and fill the environment variables
# create a .env.local file inside apps/web directory
HELIUS_API_KEY=
NEXT_PUBLIC_HELIUS_API_KEY=
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
5. Start the development server
pnpm run dev --filter web
6. Start developing

Go to http://localhost:3000 with your browser to see the app up and running.

Happy hacking! 🦀

Getting the environment variables

  • HELIUS_API_KEY and NEXT_PUBLIC_HELIUS_API_KEY are the API keys required to run the RPC, you can get one by creating an account in helius labs.

  • NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY and SUPABASE_SERVICE_ROLE_KEY can be found in your terminal right after you start the Supabase container.

Getting login emails locally

Supabase starts a local inbucket SMTP server that you can use to get login emails locally at http://localhost:54324.