Contenu source (brut)
<p>Meet <a href="https://orb.helius.dev"><span style="text-decoration: underline">Orb</span></a>, a fast, human-readable Solana block explorer. </p><p>Orb is built on our state-of-the-art <a href="https://www.helius.dev/blog/introducing-gettransactionsforaddress"><span style="text-decoration: underline">Solana archival system</span></a> and uses <code>getTransactionsForAddress</code> (gTFA), an exclusive RPC method, to make it faster and easier to understand what’s happening on Solana.</p><p>https://youtu.be/QZt7QC5qZ34</p><p>A block explorer is a search engine for blockchains. </p><p>Explorers allow anyone to view and analyze historical data stored on a chain’s ledger, and they’re <a href="[object Object]">essential data tools</a> for both advanced developers and everyday users. </p><p>Explorers like Orb provide visibility into every block, account, program, asset, and transaction that has ever occurred on Solana. </p><p>Blockchain explorers are key infrastructure that enables everyone to inspect on-chain activity, debug programs, trace asset flows, verify metadata, and understand the canonical truth.</p><h2>Why We Built a Solana Block Explorer </h2><p>When we set out to build Orb, we had two main goals:</p><ol class="list-number"><li value=1>Make Solana easier to read</li><li value=2>Make reading Solana faster</li></ol><p>Since the Genesis block was processed on 14:29:00 Mar 16, 2020 (UTC), Solana has executed over 375 million blocks, processed over 450 billion transactions, and produced a ledger over 400 TB in size. </p><p>At Solana’s speed and size, building a great explorer is difficult. </p><p>It requires scalable infrastructure, powerful <a href="[object Object]">APIs for reading historical data</a>, and deep technical knowledge of <a href="[object Object]"><span style="text-decoration: underline">how Solana works</span></a> to make sense of all the information. Lastly, it must be presented in a clean, responsive user interface that any person can use confidently.</p><blockquote><p>Building a block explorer for Solana is deceptively hard. You’re dealing with ultra-high TPS, massive parallel state across accounts, programs, [and] token types. . . Every transaction can touch dozens of accounts, different token standards, compressed NFTs, CPI cascades, and you must render that all in [a] user-friendly form.</p><cite>Marc Antonio, Head of DeFi at Galaxy</cite></blockquote><p>Existing explorers are good, but we wanted them to do more.</p><p>So we built the block explorer that we wish existed for Solana.</p><h2>Making Solana Easier to Read</h2><p>Solana’s read layer has long been criticized for being difficult to understand due to its <a href="https://www.helius.dev/blog/the-solana-programming-model-an-introduction-to-developing-on-solana"><span style="text-decoration: underline">programming model</span></a>, numerous instructions, mismatched serialization formats, a lack of published Interface Definition Languages (IDLs), and complex cross-program invocations. </p><p>To make Solana easier to read, we abstracted the technical details and simplified everything:</p><ol class="list-number"><li value=1><strong>Enhanced Transactions:</strong> Orb uses the <a href="https://www.helius.dev/docs/enhanced-transactions"><span style="text-decoration: underline">Enhanced Transactions API</span></a> to parse Solana transaction details into human-readable formats.</li><li value=2><strong>AI Explainers:</strong> Orb integrates a few LLMs (Claude, ChatGPT, and Gemini) that have been trained on archive data and Solana’s documentation to summarize transactions.</li><li value=3><strong>Time-based Filters:</strong> our new <a href="https://www.helius.dev/docs/rpc/gettransactionsforaddress"><span style="text-decoration: underline">getTransactionsForAddress</span></a> RPC endpoint powers Orb’s time-based filtering and sorting options, which makes it easier to find information you’re looking for.</li><li value=4><strong>Spam Filters:</strong> Orb filters out unverified tokens, junk NFTs, and spam transactions from your wallet history so you can focus on real assets and real transactions. </li><li value=5><strong>Search:</strong> look up any token, program, validator, transaction, block, or account, and see your recent search history all in one place.</li><li value=6><strong>Simple UI:</strong> Orb’s clean user interface, organized information hierarchy, tabbed layout, minimal branding, and mobile-friendly design make it easy to search and navigate.</li></ol><h2>Make Reading Solana Faster</h2><p><a href="[object Object]">Solana RPC nodes</a> typically only store the last two days of data. This means, anytime you <a href="https://www.helius.dev/docs/rpc/guides/overview#historical-data-archival"><span style="text-decoration: underline">query an archival method</span></a> like <code>getBlock</code> or <code>getTransaction</code> for historical data, your query will likely hit Google BigTable. This process is too slow, given how standard RPC methods are designed and Google BigTable is built.</p><p>To make reading Solana faster, we rebuilt everything ourselves:</p><ol class="list-number"><li value=1><strong>Faster Databases:</strong> we shipped a new Solana archival system using PostgreSQL, ClickHouse, and custom databases to replace Google BigTable, achieving 2-10x faster reads across all archival RPC calls.</li><li value=2><strong>Custom Index:</strong> our custom index stores one entry per unique (transaction, account) pair, and despite having almost 500 billion entries, the P50 lookup time is 8ms under production load.</li><li value=3><strong>Multiple Indices:</strong> we built indices partitioned by slot, time, status, and more to power filters for <code>getTransactionForAddress</code> and reduce lookup times when those filters are applied.</li><li value=4><strong>Best-in-class Hardware:</strong> our new archival system runs on purpose-built, bare metal hosts with petabytes of top-of-the-line NVMEs that are replicated across multiple regions for redundancy.</li><li value=5><strong>Real-time Data Streaming:</strong> we integrated <a href="https://www.helius.dev/blog/introducing-laserstream"><span style="text-decoration: underline">LaserStream</span></a>, the lowest latency gRPC streaming solution on Solana, to stream new blocks and transactions as they’re executed by validators.</li></ol><img src="/_next/image?url=/api/media/file/p99-latency-for-solana-archival-methods-developer-plan.jpg&w=3840&q=90" alt="Internal dashboard showing the P99 latency for Solana archive calls across Helius developer plans" /><h2>Orb’s New Features</h2><p>Here are five impactful new features included in Orb today:</p><h3>Reverse Ordering</h3><p>Unlike standard RPC methods like <code>getSignaturesForAddress</code>,<strong> </strong>which<strong> </strong>process queries from newest to oldest, forcing developers to recursively traverse Solana’s history, our exclusive <a href="https://www.helius.dev/docs/api-reference/rpc/http/gettransactionsforaddress"><code><span style="text-decoration: underline">getTransactionsForAddress</span></code><span style="text-decoration: underline"> RPC method</span></a> enables developers to sort in chronological order. </p><p>Using this method, we added a “Show oldest first” sorting option that lets you quickly jump to the beginning of your transaction history.</p><img src="/_next/image?url=/api/media/file/orb-show-oldest-first-filter.jpg&w=3840&q=90" alt="Orb using getTransactionsForAddress RPC method to show oldest transactions first for the hSOL token" /><p>The <code>getTransactionsForAddress</code> method also powers Orb's time-based filtering so you can quickly view txns from any time in history.</p><img src="/_next/image?url=/api/media/file/time-based-solana-transaction-filters-on-the-orb-explorer.jpg&w=3840&q=90" alt="Orb UI displaying time-based filtering options for a Solana wallet's transaction history." /><h3>Heatmaps</h3><p>Inspired by GitHub’s cont