What is Solana (technically)?
Solana is up and coming in web3 and NFTs. It's been around a while but just now it starts to gain some traction. A good bit because of OpenSea. OpenSea now officially confirmed that Solana will come to its platform. There are a few questions remaining though, specifically:
While these questions should be answered fairly soon, let's talk about what Solana actually is from a technical perspective.
Why Solana at all?
Solana was born with the concept in mind to be more performant than Ethereum (as did many other blockchains as well). It was also born to be smart-contract enabled from the beginning. Solana is written using Rust - which is a relatively modern programming language aiming to be a more modern and stable alternative to C/C++.
Solana competes directly with Ethereum. It uses a Proof-of-Stake and a Proof-of-History concept to validate blocks, which allows it to be more performant (read: faster, cheaper) than Ethereum.
So what are the differences between Ethereum and Solana and why should we care?
Solana has about 1,500 active nodes. A node is a block-processor in the blockchain. The more nodes we have the more decentralized the blockchain (that is because it is harder to manipulate more nodes than fewer).
Bitcoin has about 10,000 nodes and Ethereum over 300,000 (you can call it the most decentralized blockchain platform). Is it negative that Solana doesn't have as many nodes? Not necessarily, it is for much less than the others but Binance Smart Chain (BSC) has even less: Only 21. And Solana's rise in popularity will also increase the number of nodes down the road. It is something to be considered though.
Smart Contracts
Smart contracts for Ethereum are written in Solidity. Solidity is a programming language written for smart contracts and used in all Ethereum based blockchains (Polygon, BSC, etc.)
Smart contracts for Solana are written in either: Rust, C, or C++.
You may have heard about C/C++ - they are really old languages. They work really well but they also are not necessarily easy to work with. If you are a typical web developer with a background in Python, PHP, Javascript, and other web2 languages you are probably not familiar with either C/C++ or Rust. That's because those languages are written for programs that run directly on the CPU most of the time and so they are mostly used for specific applications. Nobody would write a web app in either of those languages usually.
领英推荐
Developing NFTs and web3 with Solana
From a user's perspective, Solana is pretty nice: It has low transaction costs and is supported by most exchanges. But how about developing on Solana?
Important differentiation: Solana calls smart contracts "programs".
The tools for developing on Solana are mostly (from what I can tell) using Javascript/Typescript - pretty similar to Ethereum tools. Since Ethereum and Solana itself are incompatible though most APIs and other tools are not quite aligned (yet). So if you used Alchemy so far, they are not supporting Solana (yet).
The smart contracts themselves are very different as well. Solidity has been written for smart contracts and supports variable types like "address" natively. Solana's languages are Rust, C, and C++, neither of which are written specifically for smart contracts. That doesn't make them bad choices though, it is just a bit more involved to get started from my personal experience. Solidity flows well if you are familiar with Javascript, Python, and others like that. Rust and C/C++ however are not quite like that.
Developing on Solana is more difficult and that is by design. According to the founder they wanted to avoid people copying and pasting existing source codes from other projects. And in fact, when you search for "Solana example program" the results are rather disappointing: Relatively complex programs and most guides refer to services that will manage the program/smart contract for you. It takes you 30 seconds to find an ERC20 token example code, but trying to find the same for Solana takes closer to 30 minutes (and yet not nearly as easily digestible).
Another difference, with regards to NFTs, a more positive one this time, is that Solana saves metadata on-chain.
Will Solana replace Ethereum?
I don't think so. I also don't see developers flocking to Solana. Rust and Solidity are not nearly comparable in terms of a learning curve and so the pool of available developers will not grow nearly as fast as for Ethereum-based blockchains. I do see that Solana has certain sweet spots though where Ethereum falls short, particularly when it comes to apps that needs many transactions (games e.g.). And compared to Polygon Solana is a Level-1 blockchain, which might put some people more at ease than using a Level-2. It will be interesting to see what happens with Solana as it joins OpenSean and if broader adoption is just around the corner.
#nft #web3 #solana
Total Portfolio Approach for Family Offices and E&Fs
2 年Solana is the single best crypto right now. My model cannot get enough of it
Physical and Digital Music | Music | LinkedIn Top Voice | Serenade | Founder at SpinBard
2 年Lovely write-up, Ralph. Have you tested the Solana beta on Opensea yet?