Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geyser - Yellowstone gRPC - Validator Patches Overview #9

Open
grooviegermanikus opened this issue Jan 11, 2024 · 1 comment
Open
Assignees
Labels
documentation Improvements or additions to documentation Solana Upstream Change

Comments

@grooviegermanikus
Copy link
Collaborator

grooviegermanikus commented Jan 11, 2024

(Abstract: Use this issue to track patches floating around - the list is very subjecting from what @grooviegermanikus know and need ATM)

GitHub Sources

BlockInfoV3 backport to Validator 1.16.x

thread '' panicked at 'internal error: entered unreachable code: ReplicaBlockInfoVersions::V0_0_2 is not supported', yellowstone-grpc-geyser/src/plugin.rs:201:21

  • backport of BlockInfoV3

Cluster Info

  • new geyser interface for RPCv2
  • send cluster info over geyser
  • required also for leader schedule calculation

InvalidEntriesCount in Yellowstone-gRPC when reconstruction block

failed reconstruct ... InvalidEntriesCount

Account Deletions notifications over Geyser

  • missing feature
  • tracked on Solana PR
  • not merged (as of 2024-01-11); 1.16.27, 1.17.15

Yellowstone-gRPC Block filter requires special filter option on accounts

banking stage tx error patch

  • patch for validator + yellowstone-grpc
  • inspects banking stage errors which are used on the banking stage tx error dashboard application operated by mango
@grooviegermanikus grooviegermanikus changed the title Geyser - Yellowstone gRPC - Validator Patches Overview and Coordination Geyser - Yellowstone gRPC - Validator Patches Overview Jan 11, 2024
@grooviegermanikus grooviegermanikus added documentation Improvements or additions to documentation Solana Upstream Change labels Jan 11, 2024
@grooviegermanikus
Copy link
Collaborator Author

grooviegermanikus commented Jan 11, 2024

Rolled this setup ATM for local testing of banking stage plugin on solana 1.16:

Patched Solana 1.16

Patched yellowstone_grpc_geyser:

  1. checkout tag-v1.16-mango (https://github.com/blockworks-foundation/yellowstone-grpc.git)
  2. cherry-pick 8b8618dd, resolve conflicts by choosing "Yours"
  3. config: blocks -> account_include_any=true!!!!

Command

RUST_LOG="warn,solana_geyser_plugin_manager=debug,yellowstone_grpc_geyser::plugin=debug" \ solana-test-validator --log --geyser-plugin-config $YELLOWSTONE_CONFIG_FILE

config.json:

{
    "libpath": "libyellowstone_grpc_geyser-tag-v1.16-mango.dylib",
    "log": {
        "level": "info"
    },
    "grpc": {
        "address": "0.0.0.0:10000",
        "snapshot_plugin_channel_capacity": null,
        "snapshot_client_channel_capacity": "50_000_000",
        "channel_capacity": "100_000",
        "unary_concurrency_limit": 100,
        "unary_disabled": false,
        "filters": {
            "accounts": {
                "max": 1,
                "any": false,
                "account_max": 10,
                "account_reject": ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],
                "owner_max": 10,
                "owner_reject": ["11111111111111111111111111111111"]
            },
            "slots": {
                "max": 1
            },
            "transactions": {
                "max": 1,
                "any": false,
                "account_include_max": 10,
                "account_include_reject": ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],
                "account_exclude_max": 10,
                "account_required_max": 10
            },
            "blocks": {
                "max": 1,
                "account_include_max": 10,
                "account_include_any": true,
                "account_include_reject": ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],
                "include_transactions": true,
                "include_accounts" : false,
                "include_entries" : false
            },
            "blocks_meta": {
                "max": 1
            },
            "entry": {
                "max": 1
            }
        }
    },
    "prometheus": {
        "address": "0.0.0.0:8999"
    },
    "block_fail_action": "log"
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation Solana Upstream Change
Projects
None yet
Development

No branches or pull requests

2 participants