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_nodeMake 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:latestFirst 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 devOpen 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)
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 startThe code in this project is licensed under the MIT License.