Solana Ecosystem#
The blockchain’s network is a large set of computers, running a software and working under certain hardware requirements, that interact to each other through a defined message exchange protocol.
In blockchains like Ethereum, probably you have listened about the EVM (Ethereum Virtual Machine). All blockchains EVM-based are compatibles with each other (Ethereum, Polygon, Optimism, Arbitrum, among others).
Solana is a special blockchain, it is not natively compatible with EVM, instead use the SVM (Solana Virtual Machine). A magnify piece of software engineering, quite complicated to explain and that is compound for concepts about networks, telecommunications, hardware, software, protocols, and more.
Let’s analyze in this article some characteristics we have to know about Solana Ecosystem.
Clusters and environments#
Any software requires multiple environments. Production environments as well as development or test. Solana is not the exception, and these environments are known as “clusters”. Let’s see the three environments that Solana owns and what to use each one for:
- Solana Devnet: the Solana’s development environment is called “Devnet”. We can use it to take our first steps in this blockchain. Ideal to develop projects where each transaction will have fictitious costs. The network uses a token with no economic value.
- Solana Testnet: it uses a worthless token, but it is a more stable environment and similar to production. The Solana “Testnet” is perfect for real testing of projects than will soon be released into production.
- Solana Mainnet Beta: the Solana main network called Mainnet where the cryptocurrency SOL lives. Even though it is also called “Beta”, it is the production environment and that name is due to the fact that Solana is still a blockchain in development and improvement. However, it already is a reliable blockchain to deploy our smart contracts.
Depending on the stage of our project or the need, we can interact with a cluster or another one. Any wallet allows us to switch between networks easily to connect it to a dapp in a test environment.
The cryptocurrency of Solana#
Probably you know that SOL is the native token in this blockchain. SOL is using to pay the transactions and taxes in the network. But probably you do not know that is called Lamport (as recognition to Leslie Lamport) to the minimum unity in decimals of each SOL. Just like the Satoshi on Bitcoin or Wei on Ethereum.
A Lamport, equals to 0.000000001 SOL. In a blockchain everything works through decimals, transaction payments are made in Lamports, and not directly with SOL.
If you need to obtain some of SOL in the Solana mainnet, you will have to buy it in any exchange at dollar price, depending on the price of the day. Instead, if you need SOL to develop or test any smart contract, either on devnet or testnet, you can use a Solana faucet. Enter the public key of your wallet and in a few seconds you will receive some of SOL.
The faucets are limited to being used a few times a day. You may have to insist on receiving a SOL. Or you can try it with the Solana CLI through the
command solana airdrop 1 <address>, if you have installed it. Very easy to use!
Exploring Solana#
Explorers are one of the main tools of any Web3 developer. It allows us to inspect in detail what happened in the blockchain network. In Solana, we can use its official Explorer, or also we can find another one like Solscan with few differences in the information that shows us.
With an explorer, you will be able to observe the current status of a transaction, get information about a token, an NFT, or a particular account, the amount of SOL on a wallet, etc. Remember, all happen in a blockchain is public and transparent and through a simple public key it is possible to get a lot of relevant information.
RPC Methods#
RPC is the acronym for Remote Procedure Call. Like HTTP in the traditional web, all communication in a blockchain works through the JSON RPC protocol. A variant that uses the format JSON to send and receive messages.
Solana has a long list of RPC methods we can use to communicate with the blockchain, to get a wallet balance, send a transaction get an account, there is a method for that.
Although it is not important to know these methods at this point of our Solana journey, yes it is important to know its existence and that any dapp is based on this protocol.
Solana and NPM#
In general, RPC methods are not used directly. Despite we could build our own project through these methods to communicate with the blockchain, mostly we will use some dependencies built by the Solana community. Let’s know what these are:
- @solana/web3.js: main dependency that integrates all RPC methods to communicate with Solana.
- @project-serum/anchor: client to communicate with smart contract developed with Anchor. Anchor is a Rust-based framework to build contracts in Solana.
- @solana/spl-token: dependency to interact with tokens and NFTs.
- @metaplex-foundation/js: another dependency that will be important to work with tokens in Solana.
Conclusion#
We have seen in this article several concepts about Solana that are important to know to start to delve into its ecosystem. Bit by bit, these concepts will join each other to achieve understanding and success as Solana developers.
Post created in collaboration with the Solana Course from Platzi.