2 min read

Exploring Solana

Exploring Solana

Well, time to take a look at Solana, which looks like an interesting crypto project.

Cursory review of the docs, ooh they say they're based on the research of a Turing prize winner. Claiming theoretical 710,000 transactions per second.

It's a proof of stake coin.

Whoa, silver, 17.6 billion transactions, and currently averaging about 700 transactions per second. Theoretical max of 710k tps, so they're only at 0.1% of theoretical max.

Interesting Links

Official Documentation

Let's watch the Twitch stream with Bartosz Lipinski, one of the Solana engineers, looks like he was handling Equities applications at Citadel.

They're going to be doing weekly office hours.

Notes from the Twitch stream

  • Accounts are like files.. and you need to pay rent to store them
  • Max size of storage is 10MB
  • If you pay 2 years rent, then it becomes rent free
  • Smart contracts don't hold any state
  • Program derived accounts (PDAs)
  • an account that doesn't have a private key
  • can only be signed by the program
  • basically holds state for the program
  • Smart contracts cannot themselves create accounts; accounts have to be created beforehand
  • solana-program-library has reference implementations in Rust on github
  • Other libraries exists to interact with the RPC (Remote Procedure Calls) server
  • No serialization preference, you have to choose the library
  • Fungible and Non-Fungible Tokens are the same just with limit of 1 for NFTs
  • There's a wormhole bridge between Ether and Solana
  • Fees
  • 200k operations per instruction max
  • calculate fees based on number of signers
  • not number of operations
  • In order to create a wrapped Sol you add add the Native Mint hardcode address
  • Native asset vs Sol token : what does this mean?
  • The max number of accounts on a transaction
  • SOL transaction are limited by UDP frames - 1200 bytes that can be used by the transaction,
  • each account address is 32 bytes, so max 30 addresses
  • way around it would be to split into multiple transactions
  • Fake randomness: how to do it
  • suggests offchain randomness
  • time is not a good source of randomness