You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider this an informal guide to reading the Solana snapshot format.
This guide is written for Solana Labs versions v1.14 through v1.17.
You are probably reading this because you want to read the accounts in
a snapshot without going through the pain of interfacing with the Solana
Labs codebase.
Terminology
We assume general familiarity with the Solana ledger.
// return the high 32 bit part of the 64 bit addition of (hi0, lo0) and (hi1, lo1)Math.iaddh(lo0,hi0,lo1,hi1)// return the high 32 bit part of the 64 bit subtraction of (hi0, lo0) and (hi1, lo1)Math.isubh(lo0,hi0,lo1,hi1)// return the high 32 bit part of the signed 64 bit product of the 32 bit numbers a and b
Normal bitcoin addresses cannot be published in public without losing all privacy, since all transactions to that address can be seen by anybody. Stealth addresses let us publish an address in public which can be used by payers to derive a new address that the payee has access to, but no one else knows is associated with the stealth address. The trick is that the payer must use a nonce to derive the address paid to, and this nonce must be delivered to the payee so they know how to recover the funds. This nonce can be delivered in the transaction, so that no separate channel is required to communicate the nonce.
The same technology can also be used to construct new public keys to send encrypted messages to.
We will discuss four methods:
The simplest form of stealth addresses, which has some drawbacks that can improved upon.