Eigencaster is a frontend that accepts a Farcaster user (address) and displays casts by people not already followed by the given user, using the EigenTrust algorithm to determine the people to display.
Eigencaster is based on Searchcaster.
Simply run:
docker run --name farcaster_db -p 5432:5432 -d karma3labs/farcaster_dbThis image includes Farcaster data, so no crawling is needed. Image is updated every night.
Ensure a local PostgreSQL server is running, then restore from a nightly DB dump. TBD
go-eigentrust is the EigenTrust algorithm and API implementation. We will run its self-hosted API server:
go run k3l.io/go-eigentrust/cmd/eigentrust@latest serve --listen_address :8081ts-farcaster is a Farcaster-specific EigenTrust backend.
Clone and chdir into the repo:
git clone -o Karma3Labs --no-tags https://github.com/Karma3Labs/ts-farcaster.git
cd ts-farcasterConfigure ts-farcaster:
cp .env.template .env
vim .env # customize DB paramsInstall/update dependencies:
yarnBuild everything (do this again after changing code):
yarn buildIf running DB with Docker as above, or if the local database is otherwise populated already, skip this. Otherwise, initialize and populate the database:
createdb farcaster
npx knex migrate:up
yarn scrapeRun the service:
yarn serveClone and chdir into the repo:
git clone -o Karma3Labs --no-tags https://github.com/Karma3Labs/eigencaster.git
cd eigencasterInstall/update dependencies:
yarnConfigure:
cp .env.example .env
vim .env # ensure API_URL=http://localhost:8080 is thereStart the UI server and render the UI:
yarn devVisit the Eigencaster frontend at http://localhost:3000/.