My journey with Solana India Fellowship — week 6

Nipun Agarwal
6 min readMar 20, 2022

“web3 has to go through the same adoption curve that Web2 and Web1 did. And in theory, it could even go faster. Because tokens naturally have an incentive mechanism built-in. The token companies don’t need to do much marketing. The marketing is done by the users. -@naval

GM web3 lovers. I just completed my sixth week of Solana India Fellowship, and we have started with the second phase of this fellowship. This week we dived deeper into the world of Dapps and how to ship an end-to-end web3 product. We also had an insightful talk by Madhavan Malolan on the top unexplored web3 problems and what new builders should focus on. I have also covered how to build your shared payment wallet using Solana. This will be the last week with quests and exercises. If you have not read my previous week’s experience yet, I’ll encourage you to read that first to get an idea about web3, Solana, how we started building in web3, and this fellowship.

How to onboard the next billion users on web3 by Madhavan 🚀

The biggest bottleneck for web3 right now is its adoption. We will be genuinely shifted to web3 when our parents are comfortable using Dapps, and that is when the web3 companies will rise exponentially. Madhavan, co-founder and CEO of questbook explained what builders are doing wrong in the web3 space and the real problems we should solve first to get mass adoption. Questbook is that same organization whose quests we solve every week, and they have some excellent problem statements to start learning and building on Solana and other ecosystems. They also give developers access to capital and resources to ship their idea.

What are people doing wrong in web3 space?

People are focusing more on teleporting web2 products to web3. Instagram for web3, tik-tok for web3, Twitter for web3, etc., this flow is flawed. We don’t have an infra yet, and the dynamics are fundamentally different. Some products make more sense in web2 and have no reason to convert them into web3 and pay high gas fees to build something for decentralization. A large population is focusing on NFT marketplaces on-ramps solutions, but these solutions won’t scale without an infra that can manage the next billion people. The next 2–3 years should be developers building for developers. It’s similar to the early days of android, where producers and consumers are developers. If you have made any contribution, open-source it because that’s how the web3 infra can scale. Building a platform on other platforms is the key.

Opportunities to focus in web3?

  1. Wallets -> Wallets are the cruces of any web3 ecosystem. All of these wallets are highly optimized for defi and NFT. Prominent CTAs are buy/swap/trade. We need to decouple asset management and key management, and the UX needs to be much simpler. All wallets currently work in all use cases that are redundant and complex to onboard users for simple cases. The world needs wallets for specific use-cases. The experience needs to be simple enough for the use-case it is targeting.
  2. Multichain -> Web3 will scale when we have a chain agnostic decentralized world. Etherium should be able to call Solana contracts and vice-versa. Different chains have different pros n cons, and just like in the web2 world, your product is based on many stacks depending on the usage. We need a way for people to communicate between different chains.
  3. Bringing off-chain data to on-chain -> For DAOs to scale, they need smart contracts that can make decisions. This comes when there is enough data for smart contracts to be able to make decisions. Oracles are solving this, but we need a robust variety of oracles. Chainlink is solving this, but they have a very elaborate system. They require specialized hardware to give accurate data. Can we remove this hardware dependency and make it fast and efficient?

What are the roles for nontechnical people in web 3?

Madhavan believes that product management will be massive in 6–12 months. Web3 still lacks a lot in user experience and customer-centric POV. In the web2 world, product management is more about pushing for deadlines and delivery methods and working in a centralized manner. That is not true in crypto. People contribute voluntarily, and how this space emerges in web3 will be interesting. What if a smart contract is sufficient to push people for delivery and is linked with an on-chain reputation to motivate developers to ship as fast as they can.

Building our first Dapp in Solana 🛠

After a motivating talk by Madhavan, we had many quests and exercises to solve this week. The assignments were exciting, though. The first quest was creating our staking platform where users could stake their Solana coins. It was an easy quest with well-defined instructions, and I developed a small web application through which I can stake tokens on Solana with a defined validator. Complete code for this quest can be found here.

The second quest was building a decentralized messaging app. This quest is an excellent example of getting used to anchor and developing some great Solana programs. The idea of this quest was to create a messenger app based on Solana. Two people can send messages, which will be stored in the Solana smart contracts. By the end of this quest, I had a good experience working with anchor and building stuff there. Complete code for this quest can be found here.

The third quest was building a full-fledged decentralized blog app on Solana. The instructions were mentioned in this link, and they were not as straightforward compared to the questbook. This tutorial helped me understand how end-to-end development works for a dapp. We started with building smart contracts, then defining our react app for the UI and integrated frontend and backend at the end. The idea was to store the assets on decentralized storage like arweave, and the blog content can be stored in smart contracts. The complete code for this tutorial can be found here.

This week’s exercise was a web3 version of splitwise kind of wallets. We need to make a shared wallet on Solana, which is secured, and the coins will be released when both parties sign the transactions. Both the parties will create a wallet after putting in some money and signing the initial transaction. In each subsequent transaction, the recipient wallet needs to be passed along with the contribution of both parties, and the smart contract will disburse the amount. Any single party can initiate the withdrawal request, and the smart contract most will transfer the most updated balance to the parties. I used CPI to incorporate the sol transfer functionality. The tricky part in this exercise was figuring out all security validations. This exercise had a touch of many past exercises, and the fellowship program helped me complete it. The complete code can be found here.

We will be developing and shipping our projects in the next two weeks as part of this fellowship. Figuring out a problem statement is indeed very challenging, but that’s where the fun lies too :)

Key Learnings 🔑

1. To get the next billion users in web3, we need better infra, user experience, and developers building for developers.

2. Transition from web2 to web3 is understanding that your data layer has changed. Instead of storing it in SQL, you are now keeping it in a decentralized service.

3. If you cannot think of a problem statement to start building, start networking. Someone will be looking out for a developer with an excellent problem statement.

Resources ㈾

1.https://learn.figment.io/tutorials/create-a-fullstack-mail-dapp-on-solana (Mail Dapp on Solana)

2.https://learn.figment.io/tutorials/build-a-blog-dapp-using-anchor (Blog Dapp on Solana)

3.https://alexgrinman.com/posts/building-decentralized-identity-verification-system-on-solana/ (Decentralised identity verification Solana)

4.https://learn.figment.io/tutorials/solana-token-streaming-protocol (Solana token Streaming protocol)

5. https://www.nasdaq.com/articles/web3s-mainstream-adoption-wont-happen-without-better-ux (Read on web3 adoption without UX)

6. https://mirror.xyz/madhavanmalolan.eth (Some great bounties and problem statements in web3 domain)

--

--