🗃️Solana
An explanation of the Solana dataset within Nansen Query.
Introduction & Background
Solana generates significant amount of data and it can be expensive to query
We've parsed the information into groups so it's easier to query
All raw Solana event data is included in the
raw_solana
dataset
Basic Blockchain Information
This is full information directly from the blockchain and the most expensive to query
blocks
: data about each block producedtransactions
: data about each transaction
Program Instructions
Each Solana transaction contains instructions for other programs and accounts. Parsing the instructions can be complicated when using the transaction data directly
instructions_unnested
: The un-nested instructions portion of the transaction data. This can be used to quickly search for "program_id", which is the smart contract and "accounts", which are the accounts interacting with that smart contractinitialize_mint_instructions
: The set of instructions only relating to minting of new tokens from the Solana Token program
Account Information
Solana accounts can be one of a wallet, program, token, or vote. This dataset outlines all the non-wallet accounts and when they were initialized (created)
non_wallet_accounts_daily
: The list of accounts created on a daily basis and type
Account Information
Non-Wallet Account List
Table Name: non_wallet_accounts_daily
Field name | Type | Description |
---|---|---|
account_address | STRING | Address of account |
type | STRING | Type, either program, token, or vote |
day | DATE | Day which account was initialized |
Program Instructions
Full Program Instructions
Table Name: instructions_unnested
Field name | Type | Description |
---|---|---|
transaction_id | STRING | ID of the transaction |
slot | INTEGER | Slot of the transaction |
block_timestamp | TIMESTAMP | Timestamp of the transaction |
accounts | RECORD | The accounts involved in the transaction |
signers | STRING | Who signed the transaction |
program_id | STRING | The program ID of the transaction |
instruction_type | STRING | The instruction type of the transaction |
instruction_data | STRING | The data associated with the instruction |
instruction_parsed | STRING | The parsed data from the instruction |
instruction_accounts | STRING | The accounts involved in the instructions |
instruction_index | NUMERIC | The index of the instruction |
Mint Instructions
Table Name: initialize_mint_instructions
Field name | Type | Description |
---|---|---|
block_timestamp | TIMESTAMP | Timestamp of the block |
slot | INTEGER | Slot of the transaction |
transaction_id | STRING | ID of the transaction |
instruction_type | STRING | Either initalizeMint, or initalizeMint2 |
instruction_index | NUMERIC | The index of the instruction |
decimals | INTEGER | The number of decimals in the token |
freeze_authority | STRING | The address with the authority to freeze the token |
mint | STRING | Address of the token minted |
mint_authority | STRING | Address authorized to mint the token |
rent_sysvar | STRING | The rent associated with this transaction |
Basic Blockchain Information
Blocks
Field name | Data Type | Description |
---|---|---|
block_timestamp | TIMESTAMP | The estimated production time as Unix timestamp |
slot | INTEGER | The slot index of this block |
parent_slot | INTEGER | The slot index of this block's parent |
blockhash | STRING | The blockhash of this block |
previous_blockhash | STRING | The blockhash of this block's parent |
rewards | RECORD | Information regarding the block reward. Note this is a repeated field. |
rewards.pubkey | STRING | -- |
rewards.lamports | INTEGER | -- |
rewards.post_balance | INTEGER | -- |
rewards.reward_type | STRING | Type of reward |
block_height | INTEGER | Block height of the reward |
Transactions
Field name | Data Type | Description |
---|---|---|
block_timestamp | TIMESTAMP | The estimated production time as Unix timestamp |
slot | INTEGER | The slot index of this block |
transaction_id | STRING | ID of the transaction |
is_successful | BOOLEAN | True if is successful |
error | STRING | Errors produced |
fee | INTEGER | Fee consumed |
accounts | RECORD | Accounts involved in the transactions (repeated field) |
accounts.address | STRING | Addresses involved |
accounts.pre_sol_balance | INTEGER | SOL balance prior to the transaction |
post_sol_balance | INTEGER | SOL balance after the transaction |
accounts.pre_token_balances | RECORD | Repeated field of token balance changes |
accounts.pre_token_balances.amount | STRING | Token balance amount prior to the transaction |
accounts.pre_token_balances.decimals | INTEGER | Decimals of the token |
accounts.pre_token_balances.ui_amount_string | STRING | -- |
accounts.post_token_balances | RECORD | Repeated field of token balance changes |
accounts.post_token_balances.amount | STRING | Token balance amount after the transaction |
accounts.post_token_balances.decimals | INTEGER | Decimals of the token |
accounts.post_token_balances.ui_amount_string | STRING | -- |
instructions | RECORD | Repeated field for instructions related to the transaction |
instructions.program_id | STRING | Program ID |
instructions.accounts | STRING | Related accounts |
instructions.data | STRING | Data from the transaction |
instructions.parsed | STRING | Data parsed from transaction |
log_messages | STRING | Log messaged related to the tranaction |
inner_instructions | RECORD | Repeated field for internal instructions related to the transaction |
inner_instructions.index | INTEGER | Index of internal instructions |
inner_instructions.instructions | RECORD | Repeated field for each inner instruction |
inner_instructions.instructions.program_id | STRING | Program ID |
inner_instructions.instructions.accounts | STRING | Related accounts |
inner_instructions.instructions.data | STRING | Data from the transaction |
inner_instructions.instructions.parsed | STRING | Data parsed from transaction |
Last updated