solana/docs/src/what-is-an-rpc-node.md

12 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

[docs] Validator guidebook incorporated into docs (#31660) * docs: adding multiple pages in from the guidebook * fix: minor updates to the rpc node setup page * fix: added known validators info to the rpc page * docs: added best practices pages * fix: updated internal linking * docs: added faq page and update links * Expanding the validator FAQ, updating hardware req * Updates to validator setup * Fixed broken RPC API links * Remove GPU reqs, clarify install best practices * Updating neworking requirements in validator reqs * Removing trailing white spaces * Removing systuner usage from docs * ssh authentication note, more on withdrawls * Adding feedback from educational workshop * Details on system clock, cpu freq, validator set * add link to gossip for clock drift system req Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Update docs/src/validator/best-practices/monitoring.md Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * clarification on monitoring docs Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * adding a reference to the hardware requirements Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * fixing link to clusters page Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * typo fix Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Update docs/src/validator/get-started/setup-a-validator.md Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Update docs/src/validator/best-practices/monitoring.md Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Update docs/src/validator/best-practices/monitoring.md Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Referencing the validator health report * Removed trailing whitespace --------- Co-authored-by: nickfrosty <nfrostbutter@gmail.com> Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com>
2023-06-13 12:11:37 -07:00
---
title: What is an RPC Node?
---
[docs] docs migration (#34096) * feat: moved common docs to repo * refactor: removed sidebar items * refactor: removed unused images * fix: terminology link * fix: introduction links * fix: developing links * refactor: fixed assorted links * fix: added back the home index * refactor: home page links * refactor: primary links * fix: links * fix: updated existing redirects * feat: added new redirects * refactor: moved cli index file to cli folder * feat: turned breadcrumbs on * feat: auto generated cli sidebar * refactor: page titles * feat: added usage and wallets categories * refactor: moved wallet-guide/cli * style: page titles * refactor: renamed file to install * style: page title * refactor: relocated file to cli/usage/index.md * style: page title * refactor: relocat detailed usage generator for cli commands * refactor: relocated clie usage files * refactor: relocated paper wallet file * refactor: relocated file system wallet doc * feat: added hardware wallet category * refactor: relocated hardware wallet overview * refactor: relocated ledger wallet doc * style: clie wallet titles * refactor(revert): relocated cli usage doc * refactor: relocated to examples * style: cli examples category title * style: usage doc title * refactor: relocated cli intro doc * style: category title * refactor: renamed file * refactor: renamed file * fix: cli links * refactor: relocated file * refactor: relocated files * fix: more cli links * refactor: sidebar order * fix: final cli links? * refactor: proposals * refactor: split sidebars * refactor: removed unused icons * refactor: relocated file * refactor: relocated file * refactor: relocated file * refactor: relocated file * feat: added architecture page * refactor: reloacted filed * refactor: adjusted header links * style: sidebar labels * feat: clusters sidebar details * style: sidebar label * refactor: relocate file * refactor: relocated files * refactor: relocated files * refactor: relocated files * style: validator sidebar * style: sidebar styles * refactor: internal links * style: sidebar order * fix: internal links * feat: master sidebar * refactor: removed unneeded h2 * fix: link redirects * refactor: relocated pages * style: runtime links * refactor: simplified runtime redirects * fix: internal redirect * refactor: moved proposals to dropdown * docs: Removes accounts-on-ramdisk section (#33655) * RPC: update websocket docs (#33460) * [rpc]: update websocket docs * rename rewards to showRewards * add remaining optional fields for slotsUpdates * update block subscription showRewards * Change getHealth to compare optimistically confirmed slots (#33651) The current getHealth mechanism checks a local accounts hash slot vs. those of other nodes as specified by --known-validator. This is a very coarse comparison given that the default for this value is 100 slots. More so, any nodes using a value larger than the default (ie --incremental-snapshot-interval 500) will likely see getHealth return status behind at some point. Change the underlying mechanism of how health is computed. Instead of using the accounts hash slots published in gossip, use the latest optimistically confirmed slot from the cluster. Even when a node is behind, it is able to observe cluster optimistically confirmed by slots by viewing votes published in gossip. Thus, the latest cluster optimistically confirmed slot can be compared against the latest optimistically confirmed bank from replay to determine health. This new comparison is much more granular, and not needing to depend on individual known validators is also a plus. * build(deps): bump @babel/traverse from 7.19.6 to 7.23.2 in /docs (#33726) Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.19.6 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * docs: move rpc info to rpc docs (#33723) docs: link fixes docs: link fixes docs: link fixes * Fix typos in documentation for Secp256k1 native program (#33796) * docs: outline requirement of stake in order to vote (#33842) * docs: outline requirement of stake in order to vote * pr feedback: move stake section up * chore: fix some typos (#33833) * fix spelling of "retrieved" * fix spelling of "should" * fix spelling of "comparisons" * docs: updating apt install to apt upgrade (#33920) * Fix some typo in the documentation (#34058) Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com> * fix: internal links * refactor: removed rpc api docs * refactor: removed rpc sidebar * fix: updated remaining rpc api links * refactor: removed final rpc /api route * refactor: removed dangling component files * refactor: changed copyright * fix: dangling ordered list * refactor: wording around solana docs * feat: home page content * refactor: updated docs url * Link to latest version of the off-chain message signing proposal in the docs (#34329) * docs: (cli) minor updates to deploy-a-program.md (#34307) * docs: (cli) minor updates to deploy-a-program.md * address review comments * remove unnecessary impl details from the docs about deploy command upgrade flow * clarify program redeploy section --------- Co-authored-by: norwnd <norwnd> * refactor: removed GA --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Brooks <brooks@solana.com> Co-authored-by: Joe C <joe.caulfield@solana.com> Co-authored-by: steviez <steven@solana.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jacob Creech <82475023+jacobcreech@users.noreply.github.com> Co-authored-by: Nick Guo <1387955+nickguo@users.noreply.github.com> Co-authored-by: Ashwin Sekar <ashwin@solana.com> Co-authored-by: Kevin Heavey <24635973+kevinheavey@users.noreply.github.com> Co-authored-by: Max Kaplan <max@maxkaplan.me> Co-authored-by: hugo-syn <61210734+hugo-syn@users.noreply.github.com> Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com> Co-authored-by: norwnd <112318969+norwnd@users.noreply.github.com>
2023-12-11 12:17:13 -08:00
An RPC (Remote Procedure Call) node runs the same software as a [validator](./what-is-a-validator.md), but it does not participate in the consensus process. Technically you could run the RPC software and also allow your node to vote as a consensus node, but it is strongly discouraged because your node will not be performant enough to do either task well.
[docs] Validator guidebook incorporated into docs (#31660) * docs: adding multiple pages in from the guidebook * fix: minor updates to the rpc node setup page * fix: added known validators info to the rpc page * docs: added best practices pages * fix: updated internal linking * docs: added faq page and update links * Expanding the validator FAQ, updating hardware req * Updates to validator setup * Fixed broken RPC API links * Remove GPU reqs, clarify install best practices * Updating neworking requirements in validator reqs * Removing trailing white spaces * Removing systuner usage from docs * ssh authentication note, more on withdrawls * Adding feedback from educational workshop * Details on system clock, cpu freq, validator set * add link to gossip for clock drift system req Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Update docs/src/validator/best-practices/monitoring.md Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * clarification on monitoring docs Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * adding a reference to the hardware requirements Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * fixing link to clusters page Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * typo fix Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Update docs/src/validator/get-started/setup-a-validator.md Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Update docs/src/validator/best-practices/monitoring.md Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Update docs/src/validator/best-practices/monitoring.md Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com> * Referencing the validator health report * Removed trailing whitespace --------- Co-authored-by: nickfrosty <nfrostbutter@gmail.com> Co-authored-by: Nick Frostbutter <75431177+nickfrosty@users.noreply.github.com>
2023-06-13 12:11:37 -07:00
A node that runs RPC has a much different purpose in the cluster. An RPC node responds to requests about the blockchain and also allows users of the RPC node to submit new transactions to be included in blocks.
For example, a website might request to transfer tokens from wallet A to wallet B (given wallet A's permission). That website would have to use wallet A to sign a transaction and then send it to an RPC node to be submitted to the leader. So you could think of running an RPC node as a similar engineering task to providing an api for others to use.
The users of the RPC node are often developers, so this option may require a more technical understanding of Solana. To better understand RPC node operations, you'll want to become familiar with the different RPC calls.
[docs] docs migration (#34096) * feat: moved common docs to repo * refactor: removed sidebar items * refactor: removed unused images * fix: terminology link * fix: introduction links * fix: developing links * refactor: fixed assorted links * fix: added back the home index * refactor: home page links * refactor: primary links * fix: links * fix: updated existing redirects * feat: added new redirects * refactor: moved cli index file to cli folder * feat: turned breadcrumbs on * feat: auto generated cli sidebar * refactor: page titles * feat: added usage and wallets categories * refactor: moved wallet-guide/cli * style: page titles * refactor: renamed file to install * style: page title * refactor: relocated file to cli/usage/index.md * style: page title * refactor: relocat detailed usage generator for cli commands * refactor: relocated clie usage files * refactor: relocated paper wallet file * refactor: relocated file system wallet doc * feat: added hardware wallet category * refactor: relocated hardware wallet overview * refactor: relocated ledger wallet doc * style: clie wallet titles * refactor(revert): relocated cli usage doc * refactor: relocated to examples * style: cli examples category title * style: usage doc title * refactor: relocated cli intro doc * style: category title * refactor: renamed file * refactor: renamed file * fix: cli links * refactor: relocated file * refactor: relocated files * fix: more cli links * refactor: sidebar order * fix: final cli links? * refactor: proposals * refactor: split sidebars * refactor: removed unused icons * refactor: relocated file * refactor: relocated file * refactor: relocated file * refactor: relocated file * feat: added architecture page * refactor: reloacted filed * refactor: adjusted header links * style: sidebar labels * feat: clusters sidebar details * style: sidebar label * refactor: relocate file * refactor: relocated files * refactor: relocated files * refactor: relocated files * style: validator sidebar * style: sidebar styles * refactor: internal links * style: sidebar order * fix: internal links * feat: master sidebar * refactor: removed unneeded h2 * fix: link redirects * refactor: relocated pages * style: runtime links * refactor: simplified runtime redirects * fix: internal redirect * refactor: moved proposals to dropdown * docs: Removes accounts-on-ramdisk section (#33655) * RPC: update websocket docs (#33460) * [rpc]: update websocket docs * rename rewards to showRewards * add remaining optional fields for slotsUpdates * update block subscription showRewards * Change getHealth to compare optimistically confirmed slots (#33651) The current getHealth mechanism checks a local accounts hash slot vs. those of other nodes as specified by --known-validator. This is a very coarse comparison given that the default for this value is 100 slots. More so, any nodes using a value larger than the default (ie --incremental-snapshot-interval 500) will likely see getHealth return status behind at some point. Change the underlying mechanism of how health is computed. Instead of using the accounts hash slots published in gossip, use the latest optimistically confirmed slot from the cluster. Even when a node is behind, it is able to observe cluster optimistically confirmed by slots by viewing votes published in gossip. Thus, the latest cluster optimistically confirmed slot can be compared against the latest optimistically confirmed bank from replay to determine health. This new comparison is much more granular, and not needing to depend on individual known validators is also a plus. * build(deps): bump @babel/traverse from 7.19.6 to 7.23.2 in /docs (#33726) Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.19.6 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * docs: move rpc info to rpc docs (#33723) docs: link fixes docs: link fixes docs: link fixes * Fix typos in documentation for Secp256k1 native program (#33796) * docs: outline requirement of stake in order to vote (#33842) * docs: outline requirement of stake in order to vote * pr feedback: move stake section up * chore: fix some typos (#33833) * fix spelling of "retrieved" * fix spelling of "should" * fix spelling of "comparisons" * docs: updating apt install to apt upgrade (#33920) * Fix some typo in the documentation (#34058) Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com> * fix: internal links * refactor: removed rpc api docs * refactor: removed rpc sidebar * fix: updated remaining rpc api links * refactor: removed final rpc /api route * refactor: removed dangling component files * refactor: changed copyright * fix: dangling ordered list * refactor: wording around solana docs * feat: home page content * refactor: updated docs url * Link to latest version of the off-chain message signing proposal in the docs (#34329) * docs: (cli) minor updates to deploy-a-program.md (#34307) * docs: (cli) minor updates to deploy-a-program.md * address review comments * remove unnecessary impl details from the docs about deploy command upgrade flow * clarify program redeploy section --------- Co-authored-by: norwnd <norwnd> * refactor: removed GA --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Brooks <brooks@solana.com> Co-authored-by: Joe C <joe.caulfield@solana.com> Co-authored-by: steviez <steven@solana.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jacob Creech <82475023+jacobcreech@users.noreply.github.com> Co-authored-by: Nick Guo <1387955+nickguo@users.noreply.github.com> Co-authored-by: Ashwin Sekar <ashwin@solana.com> Co-authored-by: Kevin Heavey <24635973+kevinheavey@users.noreply.github.com> Co-authored-by: Max Kaplan <max@maxkaplan.me> Co-authored-by: hugo-syn <61210734+hugo-syn@users.noreply.github.com> Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com> Co-authored-by: norwnd <112318969+norwnd@users.noreply.github.com>
2023-12-11 12:17:13 -08:00
You can find the [RPC API here](https://solana.com/docs/rpc/http).