The emperor tasted and hunted in the east of Ye, racing like flying. Unalo, the superintendent of the guards, was attacked by the workers and called out to the emperor: "The emperor must not move away, because the general will be angry. ”Wen Xiang tasted
The emperor tasted and hunted in the east of Ye, chasing him like flying. Unalo, the superintendent of the guards, was attacked by the workers and called out to the emperor: "The emperor must not move away, because the general will be angry. ”Wen Xiang tasted the drink, raised his glass and said, "I urge your Majesty to drink. ”The emperor was displeased and said: "Since ancient times, all countries have been destroyed, so why should I use this life!" ”Wen Xiang said angrily: "I! I! Dog feet! ”Wenxiang ordered Ji Shu to punch the emperor three times and then he rushed out.
Solana nodes can be divided into various roles
In Solana, at the beginning of each Epoch, a Leader Schedule is generated, and a Leader is pre-specified for each of the 43,200 Slots included.
A Leader is responsible for 4 consecutive Slots
In order to ensure decentralization and prevent one leader from having too much power (that is, controlling too many slots), Solana will implement Leader Selection or Leader Rotation based on PoH when generating the Leader Schedule.; Similar to SWQoS, the higher the proportion of tokens pledged by a validator, the higher the frequency it will be selected as Leader.
After the Leader generates a block proposal, it needs to synchronize the proposal to other Validators.; Solana is based on the Gossip protocol and customizes routing rules to implement the above operations. This routing rule is called Turbin.
RPC Node: does not pledge tokens, does not participate in consensus, and is responsible for early verification (Pre-Flight Check), simulated execution and forwarding of transactions
Validator: Pledge tokens, participate in consensus, act as a relay node (Relayer Node) when not selected as Leader, and further forward transactions forwarded by RPC Node to the designated Leader.
Leader: Selected as the Validator of a certain Slot, responsible for transaction processing, block proposals and broadcasting
The Solana community implements a variety of Validator Softwares to provide diversity, the three representative ones include Agave, Firedancer and JITO
Solana basic interaction logic
Different from Bitcoin and Ethereum, Solana also includes voting transactions in addition to ordinary transactions (used to transfer funds and call Programs).
Blocks that receive more than 2/3 of the votes are in the Confirmed state and are called Root Blocks.
After a Block is Confirmed, it is considered to be in the Finalized state if it continues for at least 31 blocks.
Solana has not yet seen an example where Confirmed Block cannot be Finalized.
In a Solana block, nearly 80% of transactions are voting transactions
Voting transactions are combined with mechanisms such as TBFT to handle fork issues and determine the so-called authoritative chain (Canonical Chain)
The processing process of voting transactions in Solana is exactly the same as that of ordinary transactions, and they will be packaged by the corresponding Leader in a certain Slot.; Leader TPU deploys a total of 6 worker threads (Worker Thread), 4 of which are used to process ordinary transactions, and 2 are used to process voting transactions.
In each Epoch, each Validator obtains the corresponding Credit based on its voting performance, which is converted into the corresponding Token reward at the end of the Epoch.
In Solana, Block status includes Confirmed and Finalized:
Solana transactions also need to collect handling fees, which are divided into base fees (Base Fee) and priority fees (Priority Fee) as the leader's block reward.
Solana test and production environment
Currently, Solana maintains three different networks
Devnet: Test the functionality of applications and methods
Testnet: Stress testing updates to the production environment planned for release
Mainnet Beta: Production environment
Only SOL on Mainnet Beta has real value
In addition, there is Localhost, the built-in test environment of the Solana CLI tool, with the default port 8899

The difference between Ethereum and Solana development environments/tools (From: https://www.quicknode.com/guides/solana)