Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 38 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,40 @@
# fd-yellowstone

The firedancer/fd-yellowstone repository
(https://github.com/firedancer-io/fd-yellowstone) is a sample geyser
implementation for the full firedancer client. It is meant to mimic
https://github.com/rpcpool/yellowstone-grpc.git .

To build:
1. Clone the repo under src/app in the firedancer source tree. For
example:
* cd firedancer/src/app
* git clone https://github.com/firedancer-io/fd-yellowstone
2. Install grpc (https://github.com/grpc/grpc) somewhere.
3. Tweak the PKG variable in Local.mk and Makefile to correspond to
your grpc installation.
4. Build firedancer normally. You should see a new executable
fd_grpc_geyser in the bin directory.
5. Run the firedancer full client. _Wait until it is processing blocks._
6. In another window, run "fd_grpc_geyser". The --port flag can
specify the service port.
7. Try the unit test (unit-test/test_geyser_client) The --target flag
specifies host:port.
The [fd-yellowstone repository](https://github.com/firedancer-io/fd-yellowstone) is a sample geyser implementation for the full firedancer client.
It is meant to mimic the [original yellowstone-grpc](https://github.com/rpcpool/yellowstone-grpc).

## Build

1. Clone the repo under `src/app` in the **firedancer** source tree.
For example:

```console
$ cd firedancer/src/app
$ git clone https://github.com/firedancer-io/fd-yellowstone
```

2. Install [grpc](https://github.com/grpc/grpc) somewhere.
3. Tweak the `PKG` and `PROTOS_PATH` variables in `Local.mk` and `Makefile` to correspond to your grpc installation.
4. Build **firedancer** normally. You should see a new executable
`fd_grpc_geyser` in the `bin` directory.

## Run

1. Run the **firedancer** full client. _Wait until it is processing blocks._
2. In another window, run `fd_grpc_geyser`.
Available flags are:

| Flag | Default | Description |
| ------------------- | ----------------------- | --------------------------- |
| `--port` | 8754 | Server port for the service |
| `--funk_wksp` | "fd1_funk.wksp" | Funk workspace |
| `--blockstore_wksp` | "fd1_blockstore.wksp" | Blockstore workspace |
| `--notify_wksp` | "fd1_replay_notif.wksp" | Notification link workspace |

## Testing

Try the unit test `unit-test/test_geyser_client`

| Flag | Default | Description |
| ---------- | ---------------- | -------------- |
| `--target` | "localhost:8754" | Server address |