Skip to content

A next.js based React webapp for interacting with Farcaster Node gRPC daemon.

License

Notifications You must be signed in to change notification settings

farcaster-project/farcaster-gui

Repository files navigation

Build Static Analysis License: MIT

Farcaster GUI

This is the Farcaster Node web application GUI. It allows to interact with your Farcaster Node through the gRPC daemon service. This GUI is built around the Next.js framework, i.e. this is a simple React based web application bundeled as a Docker image.

🔍 You can run this app on your machine or on a server. The server running the app has no access to the node you connect to in the app, only your browser will (and needs access to) your Farcaster Node.

You can install the node with

cargo install farcaster_node

Make sure you have the gRPC service enabled in your .farcaster/farcasterd.toml config file

[grpc]
enable = true
bind_port = 50051
bind_ip = "127.0.0.1"

Then run the app with

docker run --rm -p 3000:3000 ghcr.io/farcaster-project/faracster-gui/app:latest

Getting Started

First install the deps with npm install and generate gRPC client files with npm run gen (see instructions below), and then run the development server

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

This is tested with node.js version 16, libprotoc 3.21, and the code generator plugin protoc-gen-grpc-web.

Generated files related to proto/farcaster.proto aren't committed, you need to run npm run gen to generate them. (You need protoc and the code generator plugin protoc-gen-grpc-web)

Build and Run the production App

You can build and run a production version of the app either with a Docker image or on your host.

To build and run the Docker image

docker build -t farcaster-gui .
docker run -p 3000:3000 farcaster-gui

🐋 The Docker image runs the production application in an Buster Slim Node.js 16 environement.

To build the production app and run it on your host

npm run build && npm run start
# or
yarn build && yarn start

Licensing

The code in this project is licensed under the MIT License.