Slv Rpc

# SLV RPC Skill

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Slv Rpc" with this command: npx skills add POPPIN-FUMI/slv-rpc

SLV RPC Skill

Ansible playbooks and Jinja2 templates for deploying and managing Solana RPC nodes (mainnet, testnet, devnet).

Supported RPC Types

TypeDescription
RPCStandard RPC node
Index RPCFull-index RPC node (with Old Faithful/yellowstone-faithful)
Geyser gRPCRPC with Geyser gRPC streaming
Index RPC + gRPCFull-index + gRPC streaming

Directory Structure

ansible/
  mainnet-rpc/   — Mainnet RPC playbooks
  testnet-rpc/   — Testnet RPC playbooks
  devnet-rpc/    — Devnet RPC playbooks
  cmn/           — Shared common playbooks
jinja/
  mainnet-rpc/   — Mainnet Jinja2 templates
  testnet-rpc/   — Testnet Jinja2 templates
  devnet-rpc/    — Devnet Jinja2 templates
  cmn/           — Shared templates

CLI Command ↔ Playbook Mapping

The slv r CLI commands map directly to these playbooks. {net} = mainnet-rpc, testnet-rpc, or devnet-rpc.

CLI CommandPlaybookDescription
slv r deploy{net}/init.ymlFull RPC node initialization and deployment
slv r start{net}/start_node.ymlStart RPC node
slv r stop{net}/stop_node.ymlStop RPC node
slv r restart{net}/restart_node.ymlRestart RPC node
slv r build:solana{net}/install_solana.ymlBuild Solana from source
slv r install:solanacmn/install_solana.ymlInstall Solana binary (deprecated, prefer build)
slv r setup:firedancer{net}/setup_firedancer.ymlSetup Firedancer
slv r update:firedancercmn/update_firedancer.ymlUpdate Firedancer binary
slv r update:script{net}/update_startup_config.ymlUpdate start-validator.sh from template
slv r update:geyser{net}/update_geyser.ymlUpdate Geyser plugin
slv r get:snapshot{net}/wget_snapshot.ymlDownload snapshot via aria2c
slv r cleanupcmn/rm_ledger.ymlRemove ledger/snapshot files
slv r list(no playbook)List RPC nodes (CLI only)
slv r update:allowed-ips(no playbook)Update allowed IPs (CLI only)
slv r init(no playbook)Interactive wizard (CLI only)

All Playbooks

Mainnet RPC (mainnet-rpc/)

PlaybookDescription
init.ymlFull RPC node initialization
init_richat_geyser.ymlInitialize Richat Geyser configuration
restart_node.ymlRestart RPC node
start_node.ymlStart RPC node
stop_node.ymlStop RPC node
install_solana.ymlBuild Solana from source
install_agave.ymlBuild Agave from source
install_jito.ymlBuild Jito from source
install_rust.ymlInstall Rust toolchain
install_package.ymlInstall system packages
install_richat.ymlInstall Richat gRPC plugin
install_of1.ymlInstall Old Faithful (yellowstone-faithful)
install_of1_service.ymlSetup Old Faithful systemd service
geyser_build.ymlBuild Yellowstone gRPC from source
geyser_richat_build.ymlBuild Richat gRPC plugin from source
update_geyser.ymlUpdate Geyser plugin
update_startup_config.ymlUpdate start-validator.sh from template
update_ubuntu.ymlUpdate Ubuntu packages
setup_firedancer.ymlSetup Firedancer for RPC
setup-solv-service.ymlSetup systemd service
start-solv-service.ymlStart systemd service
setup_ufw.ymlConfigure UFW firewall
setup_logrotate.ymlSetup log rotation
setup_norestart.ymlDisable auto-restart
configure_hugetlbfs.ymlConfigure hugepages for Firedancer
fail2ban_solana_rate_limit.ymlSetup fail2ban rate limiting
fail2ban_sshd.ymlSetup fail2ban for SSH
allow_ufw.ymlAdd UFW allow rules
add_solv.ymlAdd solv user
copy_keys.ymlCopy node keys
create-start-validator-sh.ymlGenerate start script from template
create-symlink.ymlCreate version symlinks
mount_disks.ymlMount and format disks
optimize_system.ymlOptimize system settings
run_restarter.ymlRun restarter script
run_snapshot_finder.ymlFind and download best snapshot

Testnet RPC (testnet-rpc/)

PlaybookDescription
init.ymlFull testnet RPC initialization
restart_node.ymlRestart node
start_node.yml / stop_node.ymlStart/stop node
install_solana.ymlBuild Solana from source
install_agave.yml / install_jito.ymlBuild client from source
install_richat.ymlInstall Richat plugin
geyser_build.ymlBuild Yellowstone gRPC
geyser_richat_build.ymlBuild Richat plugin from source
update_geyser.ymlUpdate Geyser plugin
update_firedancer.ymlUpdate Firedancer
update_startup_config.ymlUpdate start script
setup_firedancer.ymlSetup Firedancer
setup_solv_service.ymlSetup systemd service
create-start-validator-sh.ymlGenerate start script
wget_snapshot.ymlDownload snapshot

Devnet RPC (devnet-rpc/)

PlaybookDescription
init.ymlFull devnet RPC initialization
restart_node.ymlRestart node
start_node.yml / stop_node.ymlStart/stop node
install_solana.ymlBuild Solana from source
install_agave.yml / install_jito.ymlBuild client from source
install_richat.ymlInstall Richat plugin
geyser_build.ymlBuild Yellowstone gRPC
geyser_richat_build.ymlBuild Richat plugin from source
update_geyser.ymlUpdate Geyser plugin
update_startup_config.ymlUpdate start script
setup_firedancer.ymlSetup Firedancer
setup_solv_service.ymlSetup systemd service
create-start-validator-sh.ymlGenerate start script

Shared Common (cmn/)

PlaybookDescription
build_solana.ymlBuild Solana from source (dispatches to build_agave/build_jito)
build_agave.ymlBuild Agave from GitHub source
build_jito.ymlBuild Jito from GitHub source
install_solana.ymlInstall Solana binary (deprecated)
install_package.ymlInstall system packages
install_rust.ymlInstall Rust toolchain
mount_disks.yml / mount-disks.ymlMount and format disks
optimize_system.ymlOptimize system settings
disable_swap.ymlDisable swap
setup_logrotate.ymlConfigure log rotation
setup_node_exporter.ymlSetup Prometheus node exporter
setup_norestart.ymlDisable auto-restart
setup_unstaked_identity.ymlSetup unstaked identity keypair
restart_solv.ymlRestart solv service
start_solv.yml / stop_solv.ymlStart/stop solv service
start_firedancer.yml / stop_firedancer.ymlStart/stop Firedancer
copy_restart_sh.ymlCopy restarter script
copy_rpc_keys.ymlCopy RPC keys
update_ubuntu.ymlUpdate Ubuntu packages
wget_snapshot.ymlDownload snapshot
add_solv.ymlAdd solv user
fix_permissions.ymlFix file permissions

Key Variables (extra_vars)

VariableDescriptionDefault
rpc_typeRPC node type (RPC, Index RPC, Geyser gRPC, Index RPC + gRPC)RPC
validator_typeClient type (agave, jito, firedancer-agave, firedancer-jito)
solana_versionSolana/Agave version
jito_versionJito version
firedancer_versionFiredancer version
yellowstone_grpc_versionYellowstone gRPC version
richat_versionRichat plugin version (e.g. richat-v8.1.0)
snapshot_urlSnapshot download URL
tpu_peer_addressTPU peer address (for Index RPC transaction forwarding)
limit_ledger_sizeLedger size limit200000000 (Index), 100000000 (others)
dynamic_port_rangePort range8000-8025
port_rpcRPC port8899
port_grpcgRPC port10000

Geyser Plugin Sources

Both plugins are built from source (no binary downloads):

Usage

ansible-playbook -i inventory mainnet-rpc/init.yml \
  -e '{"rpc_type":"Index RPC","solana_version":"3.1.8","snapshot_url":"https://..."}'

No versions.yml required — all variables can be passed via extra_vars.

Interactive Deployment Flow

See AGENT.md for the full step-by-step flow and examples/inventory.yml for output format.

Required Variables

VariablePromptValidation
server_ip"Target server IP?"Valid IPv4
network"mainnet, testnet, or devnet?"mainnet, testnet, devnet
region"Server region?"String
rpc_type"RPC type?"RPC, Index RPC, Geyser gRPC, Index RPC + gRPC
validator_type"Underlying client?"agave, jito, jito-bam, firedancer-agave
solana_version"Solana version? (default: 3.1.8)"Semver
identity_account"Node identity pubkey?"Base58 pubkey
snapshot_url"Snapshot URL? (auto for ERPC)"URL (cannot be empty for init)

Conditionally Required Variables

VariableDefaultWhen Required
jito_versionMatches solana_versionjito/jito-bam types
firedancer_versionfiredancer types
yellowstone_grpc_versionYellowstone gRPC plugin
richat_versionRichat plugin
of1_versionIndex RPC (Old Faithful)
epochIndex RPC (faithful service)
faithful_proxy_target_urlIndex RPC

Optional Variables

VariableDefaultWhen Required
ssh_usersolvAlways
port_rpc8899 (ERPC: 7211)Always
limit_ledger_size100000000Always
dynamic_port_range8000-8025Always
port_grpc10000gRPC types only
tpu_peer_addressIndex RPC (tx forwarding)
allowed_ssh_ipsStrongly recommended (UFW)
allowed_ipsOptional (UFW)
expected_shred_versionEpoch-dependentTestnet only

Optional: Reference RPC

VariableDescriptionDefault
reference_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.

Pre-flight: Fresh Server Setup

ansible-playbook -i inventory.yml cmn/add_solv.yml \
  -e '{"ansible_user":"ubuntu"}' --become

Deployment Command

All paths relative to skill's ansible/ directory:

cd /path/to/slv-rpc/ansible/
ansible-playbook -i inventory.yml {network}-rpc/init.yml \
  -e '{"rpc_type":"<type>","solana_version":"<version>"}'

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

Slv Grpc Geyser

Ansible playbooks and templates for deploying and managing Solana gRPC Geyser streaming nodes with Yellowstone or Richat plugins.

Registry SourceRecently Updated
4288
Profile unavailable
Web3

Slv Validator

Deploys and manages Solana validators on mainnet and testnet using Ansible playbooks and Jinja2 templates for multiple validator types including jito, agave,...

Registry SourceRecently Updated
4287
Profile unavailable
Web3

Whistle RPC

Production Solana RPC for AI agents. Unlimited JSON-RPC, WebSocket. 1 SOL/month via on-chain payment. No rate limits, no tiers.

Registry SourceRecently Updated
0465
Profile unavailable