The Solana microblog project is an extremely simplified version of Twitter developed as an exercise in creating a Solana dApp (decentralised application).
Try it
Go to the Solana microblog web page.
You will need to have the Phantom wallet extension installed in your browser to see any posts.
With Phantom installed, change the setting to use the devnet.
- Click the menu icon at the top left of the Phantom interface.
- Click the cog icon at the bottom of the menu that pops out.
- Select the 'Developer Settings' option.
- Click on 'Solana' and select 'Solana Devnet'.
To add a post you will need to have some devnet SOL (the currency on the Solana network), which you can get from the Solana faucet. It is needed to cover the transaction costs of writing to the blockchain. SOL on the devnet is available for free for testing and has no monetary value.
The project
Solana is a comparitively new blockchain platform, having been released in 2020. It promises to be faster and cheaper to use than Ethereum and has gained a lot of ground, becoming the fifth largest cryptocurrency by market capitalisation at the time of writing.
I thought it would be interesting to see what it would be like to do some development on it.
A lot of the documentation and tutorials to be found don't relate to the latest versions of the software which made it more challenging than it probably should have been.
The following resources proved to be very useful:
- Create a Solana dApp from scratch - Loris Leiva
- Accelerated Guide to Fullstack Web3 - 0xMuse
- Solana Development Course - SolDev
- 60 days of Solana - RareSkills
The program, which would be called a smart contract on Ethereum and akin to the server side in a traditional setting, is written in Rust and uses the Anchor framework.
The client side is HTML/CSS/JavaScript and uses Anchor's TypeScript package along with the Solana JavaScript SDK.
The JavaScript interacts with the Phantom wallet directly. A better user experience could be achieved with a wallet adapter library. The commonly used adapter is Solana Wallet Adapter but it expects React to be used. There is also Solana Connect which looks leaner and more versatile. I didn't try either.
Conclusion
Solana definitely lives up to its promise of faster and cheaper transactions and it is still in quite rapid development.
The pace of change does mean though that most of the existing documentation and tutorials are somewhat out of date which can make getting something to work confusing.
I was happy to get an application running on the devnet and get a better understanding of the platform and its possibilities.
A step by step guide of what I did to put this together might follow and then possibly an ambition for a live project on the mainnet.