GnoFundMe is a fundraising/crowdfunding platform built with React, TypeScript and Tailwind CSS.
It allows you to connect your Adena Wallet to identify and make actions/transactions.
Built using the Gno.land tech stack, GnoFundMe utilizes the Gno programming language for its backend, and a classic React UI using vite
.
You can see/contribute to the project idea here on miro.
GnoFundMe consists of a React frontend, and a Gno backend (smart contract). The frontend and backend code can be found at ui/
and api/
respectively.
- NodeJS
- npm
- Go 1.21+
git clone [email protected]:MalekLahbib/gnofundme.git
Create a .env
file in the root of the repo following the template found in
.env.example
.
To do this, your .env
file should contain the following:
VITE_CHAIN_ID=<gno-chain-id>
VITE_CHAIN_RPC=ws://<gno-chain-rpc>/websocket
VITE_REALM_PATH=<onchain-path-to-gnofundme-realm>
for example:
VITE_CHAIN_ID="dev"
VITE_CHAIN_RPC="ws://127.0.0.1:26657/websocket"
VITE_REALM_PATH="gno.land/r/malek/gnofundme"
gnodev
is a tool that allows you to run a local Gno.land node effortlessly.
To get started, install gnodev
. To do this, clone the Gno monorepo:
git clone [email protected]:gnolang/gno.git
From the root of the Gno repo, install the all the necessary binaries and tools following the next steps:
- Install the
gno
&gnodev
binaries with the following command in the root of the cloned monorepo:
make install
- Run the
gnodev
binary in the gnofundme repo, giving it paths to the package and realm:
gnodev ./api/p/gnofundme ./api/r/gnofundme
Running this command will spin up a local node that the GnoFundMe UI will be able to connect to.
Make sure that the chain RPC endpoint that gnodev
is running on matches the one
in the .env
file.
Start by running npm i
in the ui/
folder. After npm
has installed all of
the dependencies, run npm run dev dev
.
Congratulations! You are now officially running a local frontend connected to GnoFundMe!