Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ericvolp12/bingo
Bingo knows everyone's name-o
https://github.com/ericvolp12/bingo
Last synced: 3 days ago
JSON representation
Bingo knows everyone's name-o
- Host: GitHub
- URL: https://github.com/ericvolp12/bingo
- Owner: ericvolp12
- License: mit
- Created: 2023-08-26T23:05:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-27T19:17:48.000Z (about 1 year ago)
- Last Synced: 2024-06-21T02:12:17.433Z (5 months ago)
- Language: Go
- Size: 42 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bingo
> [Bingo knows everyone's name-o](https://youtu.be/y8OnoxKotPQ?si=TXmIfF6LEYcbwbc7&t=16)Bingo is a DID <-> Handle resolution service for ATProto.
It is built using [ConnectRPC](https://connectrpc.com/) and can be accessed via GRPC, GRPC-Web, or Connect's own HTTP-based protocol.
Bingo runs a Connect server and a Directory Daemon.
- The Connect server responds to RPC requests
- The Directory Daemon discovers `did:plc` entities to track and validates `did:plc <-> handle` relationships regularly## Running Bingo
To run Bingo using `docker compose` run:
```bash
$ make up
```This starts up three containers to support Bingo:
- A Redis instance for lookups
- A Postgres instance to store durable data about entries and to enqueue/track validation status
- The Bingo serverOnce started, you can access the Bingo service at `http://localhost:8923`
## Using Bingo
To use Bingo, you can depend on the Connect client packages like in the example in `cmd/client/main.go`.
An example raw lookup request to resolve `jaz.bsky.social` to its DID and validation status looks like:
```bash
curl --location 'http://localhost:8923/bingo.v1.BingoService/Lookup' \
--header 'Content-Type: application/json' \
--data '{
"handle_or_did": "jaz.bsky.social"
}'
```