🗃️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 produced

    • transactions: 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 contract

    • initialize_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 nameTypeDescription

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 nameTypeDescription

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 nameTypeDescription

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 nameData TypeDescription

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 nameData TypeDescription

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