Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Ansible playbooks and templates for deploying and managing Solana gRPC Geyser streaming nodes with Yellowstone or Richat plugins.
Ansible playbooks and templates for deploying and managing Solana gRPC Geyser streaming nodes with Yellowstone or Richat plugins.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Ansible playbooks and Jinja2 templates for deploying and managing Solana gRPC Geyser streaming nodes.
ConfigDescriptionYellowstone gRPCStandard Geyser gRPC plugin (Triton/rpcpool)Richat gRPCRichat Geyser plugin (lamports-dev)
ansible/ mainnet-rpc/ — Playbooks (gRPC Geyser uses mainnet-rpc playbooks) cmn/ — Shared common playbooks jinja/ mainnet-rpc/ — Jinja2 templates cmn/ — Shared templates
gRPC Geyser nodes are managed via slv r (RPC) commands with rpc_type set to Geyser gRPC or Index RPC + gRPC. CLI CommandPlaybookDescriptionslv r deploymainnet-rpc/init.ymlFull gRPC Geyser node initializationslv r startmainnet-rpc/start_node.ymlStart nodeslv r stopmainnet-rpc/stop_node.ymlStop nodeslv r restartmainnet-rpc/restart_node.ymlRestart nodeslv r build:solanamainnet-rpc/install_solana.ymlBuild Solana from sourceslv r update:geysermainnet-rpc/update_geyser.ymlUpdate Geyser pluginslv r update:scriptmainnet-rpc/update_startup_config.ymlUpdate start-validator.shslv r setup:firedancermainnet-rpc/setup_firedancer.ymlSetup Firedancer
PlaybookDescriptioninit.ymlFull gRPC Geyser node initializationinit_richat_geyser.ymlRichat Geyser initializationgeyser_build.ymlBuild Yellowstone gRPC from GitHub sourcegeyser_richat_build.ymlBuild Richat plugin from GitHub sourceinstall_richat.ymlInstall Richat pluginupdate_geyser.ymlUpdate Geyser pluginrestart_node.ymlRestart nodestart_node.yml / stop_node.ymlStart/stop nodeupdate_startup_config.ymlUpdate start-validator.sh from templatesetup_firedancer.ymlSetup Firedancerrun_snapshot_finder.ymlFind and download best snapshotrun_restarter.ymlRun restarter script
Clones from https://github.com/rpcpool/yellowstone-grpc Builds with cargo build --release Produces libyellowstone_grpc_geyser.so Config template: jinja/mainnet-rpc/geyser.json.j2
Clones from https://github.com/lamports-dev/richat Builds with cargo build --release Produces librichat_plugin_agave.so Config template: jinja/mainnet-rpc/geyser-richat.json.j2 Service template: jinja/mainnet-rpc/richat.service.j2 Settings template: jinja/mainnet-rpc/richat-setting.yml.j2
VariableDescriptionDefaultrpc_typeMust be Geyser gRPC or Index RPC + gRPC—validator_typeClient type (agave, jito, firedancer-agave, etc.)—solana_versionSolana/Agave version—yellowstone_grpc_versionYellowstone gRPC version tag—richat_versionRichat plugin version (e.g. richat-v8.1.0)—snapshot_urlSnapshot download URL—port_grpcgRPC listen port10000limit_ledger_sizeLedger size limit100000000
TemplateDescriptionstart-validator.sh.j2Main start script (branches by rpc_type)start-mainnet-rpc-grpc.sh.j2gRPC-specific start scriptgeyser.json.j2Yellowstone gRPC configgeyser-richat.json.j2Richat gRPC configrichat-setting.yml.j2Richat settingsrichat.service.j2Richat systemd servicefiredancer-config.toml.j2Firedancer configfiredancer.service.j2Firedancer systemd servicesolv.service.j2Solv systemd servicegenerate_configs.sh.j2Config generation script
Both plugins are built from source (no binary downloads): Yellowstone gRPC: https://github.com/rpcpool/yellowstone-grpc Richat: https://github.com/lamports-dev/richat
# Deploy a new gRPC Geyser node ansible-playbook -i inventory mainnet-rpc/init.yml \ -e '{"rpc_type":"Geyser gRPC","solana_version":"3.1.8","yellowstone_grpc_version":"v6.0.0","snapshot_url":"https://..."}' # Build/update Richat plugin ansible-playbook -i inventory mainnet-rpc/geyser_richat_build.yml \ -e '{"richat_version":"richat-v8.1.0"}' No versions.yml required — all variables can be passed via extra_vars.
See AGENT.md for the full step-by-step flow and examples/inventory.yml for output format.
VariablePromptValidationserver_ip"Target server IP?"Valid IPv4region"Server region?"Stringrpc_type"Geyser gRPC or Index RPC + gRPC?"Geyser gRPC, Index RPC + gRPCvalidator_type"Underlying client?"agave, jito, jito-bam, firedancer-agavesolana_version"Solana version? (default: 3.1.8)"Semveridentity_account"Node identity pubkey?"Base58 pubkeysnapshot_url"Snapshot URL? (auto for ERPC)"URL (cannot be empty for init)
PluginVersion VariableSourceOutputYellowstone gRPCyellowstone_grpc_versiongithub.com/rpcpool/yellowstone-grpclibyellowstone_grpc_geyser.soRichatrichat_versiongithub.com/lamports-dev/richatlibrichat_plugin_agave.so Both are built from source (no pre-built binaries). Build time: ~15-30 min. Only collect the version variable for the selected plugin.
VariableWhen Requiredjito_versionjito/jito-bam typesfiredancer_versionfiredancer typesshred_receiver_addressjito/jito-bam (auto by region)block_engine_urljito/jito-bam (auto by region)
VariableDefaultWhen Requiredssh_usersolvAlwaysport_grpc10000Alwaysport_rpc8899 (ERPC: 7211)Alwayslimit_ledger_size100000000Alwaysdynamic_port_range8000-8025Alwaysallowed_ssh_ips—Strongly recommended (UFW)allowed_ips—Optional (UFW)
VariableDescriptionDefaultreference_rpc_urlReference RPC endpoint for slot sync comparison (e.g., ERPC)— ERPC API keys are free at https://erpc.global — enables full slot sync monitoring during deployment and updates.
ansible-playbook -i inventory.yml cmn/add_solv.yml \ -e '{"ansible_user":"ubuntu"}' --become
All paths relative to skill's ansible/ directory: cd /path/to/slv-grpc-geyser/ansible/ ansible-playbook -i inventory.yml mainnet-rpc/init.yml \ -e '{"rpc_type":"Geyser gRPC","solana_version":"<version>","richat_version":"<version>"}'
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.