Skip to content

Latest commit

 

History

History
52 lines (44 loc) · 2.59 KB

todos.md

File metadata and controls

52 lines (44 loc) · 2.59 KB

plugin system

  • implement TestIndividualLoader to test LoadHandler
  • implement TestListCompiledHandlers to test ListCompiledHandlers (should list just the file names in compiled_handlers)
  • implement TestMultipleLoader to test LoadHandlersFromConf (should add some debugging to the function)
  • enable plugins from config.toml
  • develop basic plugins!

grafana

  • find a way to get metrics from memory & go
  • how to integrate/launch the server (should just provide the json for the dashboard?)

plugin ideas

  • Find a way to make a JS/TS sdk! => gRPC
  • Sink to RedisDB/Dragonfly/NoSQL DB (sink to DB) => in process of doing it!
  • Simple cast filter/cast tracker (for example of use of the handler API)

libp2p stuff

  • Do I need to regossip the messages? => Answer from V: no

PostgreSQL

  • Be SURE message type & FID filtering works!
  • Spend some time on data modelling (how to make it simple but efficient) & send a message to Alex for advices!
  • Implement LINKS type message (for follows & unfollows)
  • Disable saving certain types of messages in the chat from config.toml
  • Ask around to see what kind of data modeling would be suitable to Hub messages in the DB
  • Check out Shuttle/Neynar: one big table with IDs to differenciate the messages from one another
  • How to compute cast hashes so you can query them later?
  • Implement VerificationAdd for the message

Hub stuff

  • Absolute path for config.toml. If relay is executed in a folder, search the config from the context of execution.
  • Figure out which timestamp Farcaster uses? => farcaster time
  • Do we receive new messages from the network or sync messages? => find out using timestamps
  • gRPC API to write message & act more as real hub.
  • save private key to file for persistent identity
  • Create a tool to generate the hub_identity file so you can get persistence inside the container

gRPC

  • config.toml to set options of the server
  • TLS auth for getSecureSSLClient()
  • implement GetCurrentPeers
  • implement ValidateMessage

The project in itself

  • Branding & asserts for README.md
  • Choose a license that allows you to make a living out of this
  • Make pre-compiled binaries available in the release

CI/CD & Automatic release

  • Write a Makefile to automatically build the binaries, compress them and release to GitHub
  • Create a Github job to build for different platforms (Mac/Windows)
  • Write documentation so people can extend the jobs & Makefile to build customs plug-ins