Conversation
| * Use your shared plan for `getProgramAccounts` queries as we have a [**custom indexer**](https://x.com/heliuslabs/status/1864750969755422797) that makes those calls much faster and more reliable | ||
| * **Poor transaction landing rates**: While `sendTransaction` is supported, it's not optimized - most transactions will not land; use your shared plan for reliable transaction submission | ||
| * **Use [`getProgramAccounts`](/api-reference/rpc/http/getprogramaccounts) carefully**: While supported, dedicated nodes are not optimized for these calls - heavy usage can impact performance or cause node failure | ||
| * Use your shared plan for [`getProgramAccounts`](/api-reference/rpc/http/getprogramaccounts) queries as we have a [**custom indexer**](https://x.com/heliuslabs/status/1864750969755422797) that makes those calls much faster and more reliable |
There was a problem hiding this comment.
typically it's best not to include the same link multiple times. better to include it once in the most relevant section. imo, better to remove this link to gPA and mention gPAV2 instead:
- Use your shared plan for
getProgramAccountsqueries as we have a custom indexer that makes gPA calls much faster and more reliable. - Shared plans also support
getProgramAccountsV2, which adds support for pagination and incremental updates.
| * **Poor transaction landing rates**: While `sendTransaction` is supported, it's not optimized - most transactions will not land; use your shared plan for reliable transaction submission | ||
| * **Use [`getProgramAccounts`](/api-reference/rpc/http/getprogramaccounts) carefully**: While supported, dedicated nodes are not optimized for these calls - heavy usage can impact performance or cause node failure | ||
| * Use your shared plan for [`getProgramAccounts`](/api-reference/rpc/http/getprogramaccounts) queries as we have a [**custom indexer**](https://x.com/heliuslabs/status/1864750969755422797) that makes those calls much faster and more reliable | ||
| * **Poor transaction landing rates**: While [`sendTransaction`](/api-reference/rpc/http/sendtransaction) is supported, it's not optimized - most transactions will not land; use your shared plan for reliable transaction submission |
There was a problem hiding this comment.
change to:
"...shared plan or Sender for landing Solana transactions more reliably"
| * **Use [`getProgramAccounts`](/api-reference/rpc/http/getprogramaccounts) carefully**: While supported, dedicated nodes are not optimized for these calls - heavy usage can impact performance or cause node failure | ||
| * Use your shared plan for [`getProgramAccounts`](/api-reference/rpc/http/getprogramaccounts) queries as we have a [**custom indexer**](https://x.com/heliuslabs/status/1864750969755422797) that makes those calls much faster and more reliable | ||
| * **Poor transaction landing rates**: While [`sendTransaction`](/api-reference/rpc/http/sendtransaction) is supported, it's not optimized - most transactions will not land; use your shared plan for reliable transaction submission | ||
| * **No archival queries**: Historical data access should be done through your shared plan |
There was a problem hiding this comment.
link "Historical data" to https://www.helius.dev/docs/rpc/historical-data
| * Monitor your node's metrics to understand its performance based on response times, successful request %, and error counts | ||
| * Consider distributing intensive workloads across multiple nodes in a dedicated fleet | ||
|
|
||
| <Warning> |
There was a problem hiding this comment.
This whole warning section is pretty duplicative of the bullets in the managing load section. Recommend removing it to keep the page simpler.
If you want to keep the "No platform APIs, webhooks, or staked connections" stuff, it might be better served with a new "What's Not Supported" header where we include them in simple bullet list
Then you'd wanna move the historical data bullet from the load section here since it's unsupported, and not a load management thing
|
|
||
| <Warning> | ||
| **Important**: While `getProgramAccounts` is supported, dedicated nodes are not optimized for these calls. Heavy usage can impact node performance or even cause node failure. Use your shared plan for `getProgramAccounts` queries as it has a custom indexer that makes these calls much faster and more reliable. | ||
| **Important**: While [`getProgramAccounts`](/api-reference/rpc/http/getprogramaccounts) is supported, dedicated nodes are not optimized for these calls. Heavy usage can impact node performance or even cause node failure. Use your shared plan for [`getProgramAccounts`](/api-reference/rpc/http/getprogramaccounts) queries as it has a custom indexer that makes these calls much faster and more reliable. |
There was a problem hiding this comment.
remove the 2nd gpa link
| </AccordionGroup> | ||
|
|
||
| ### Monitoring new Jupiter DCAs using Transaction Subscribe + getAsset | ||
| ### Monitoring new Jupiter DCAs using Transaction Subscribe + [getAsset](/api-reference/das/getasset) |
There was a problem hiding this comment.
generally best to not link things in headers
instead it's better to include those links in the paragraph text underneath the header
my recommendation is to add a sentence or 2 to bridge between the header and the accordions like:
Jupiter DCA, or Dollar Cost Averaging, is a way to schedule recurring trades for tokens on Solana. Because these scheduled buy/sell orders are recorded on-chain, traders can use the transactionSubscribe method and the getAsset DAS API method to listen for new orders.
|
|
||
| <Accordion title="How do I find all token holders of a specific mint?"> | ||
| Use `getProgramAccounts` filtered by the token program and mint address, or `getTokenAccountsByOwner` for specific owners. For comprehensive token holder analysis, combine with `getTokenLargestAccounts`. | ||
| Use [`getProgramAccounts`](/api-reference/rpc/http/getprogramaccounts) filtered by the token program and mint address, or [`getTokenAccountsByOwner`](/api-reference/rpc/http/gettokenaccountsbyowner) for specific owners. For comprehensive token holder analysis, combine with [`getTokenLargestAccounts`](/api-reference/rpc/http/gettokenlargestaccounts). |
There was a problem hiding this comment.
Add a second paragraph:
Alternatively, you can use the getProgramAccountsV2 and getTokenAccountsByOwnerV2 method for improved pagination support and support for incremental updates with the changedSinceSlot parameter.
| @@ -69,9 +69,9 @@ The first step to building a Solana index is getting all the historical data tha | |||
|
|
|||
| There are three main ways to do this: | |||
There was a problem hiding this comment.
Since we already include these links in their dedicated sections below, we don't need to link them here. Duplicate links hurt instead of help, and it's always best to include links in their most contextually relevant section. So if the section details using the gTFA method, that's the best section to include a link to the gTFA reference.
| } | ||
| ``` | ||
|
|
||
| ## Related Methods |
There was a problem hiding this comment.
This section feels a bit unneccessary since we link to all of these methods in their sections above. would recommend removing it, or replacing the /api-reference/ links with their respective "guides" but even that feels like overkill for an already long/detailed guide like this
| @@ -34,9 +34,9 @@ description: "Dedicated Solana nodes optimized for gRPC streaming applications. | |||
| <Note> | |||
There was a problem hiding this comment.
Can you remove the ? Better that this information is just normal paragraph text / bullets instead of being wrapped in the . We do this a lot with where we shove multiple bullets or long paragraphs in notes, but they should just be clearly written header/paragraph sections. If we abuse the markup it loses it's urgency/meaning imo
brady-at-helius
left a comment
There was a problem hiding this comment.
approving so you can merge once the changes are fixed
Summary
This PR aims to add missing internal links to RPC methods and Helius products across our documentation to improve discoverability and user navigation. It also makes it 10x easier for bots to crawl and understand content relationships 🧠
What changed