My Ethereum India Fellowship Journey

Salil Naik
8 min readMay 21, 2021

--

My journey with blockchain started due to Devfolio hackathons. I and a senior of mine often teamed up for hackathons and always chose the blockchain track as my senior was exploring that field. While he coded the smart contracts, I used to build the entire frontend. Sometimes I looked into his solidity code and that made me crave to learning more about blockchain. Thanks to Devfolio and Ethereum Foundation, I’m already learning about the technology I wanted to.

When I got to know about Ethereum India Fellowship, I knew this would mark my beginning in the blockchain field. So I wrote an application mentioning all my web2 work, and luckily got a call for an interview. Believe me or not, Denver (who took my interview) is the most caring interviewer I ever faced. I did not have much knowledge about Ethereum, but he did not make me feel bad about myself or awkward at any time and was very empathetic to me. In fact, soon after the interview, I texted two of my friends just to tell them how good the interviewer was. 😅

Out of 2000+ students, only 30 were to be selected. I felt like I would not make it to the final list, but to my surprise, I made it. 🥳

Learning phase

WEEK 1

The first four weeks of the fellowship were focused on introducing track 1 fellows to the Ethereum ecosystem. Multiple cohorts were made and each cohort had 4–5 students and a mentor.

During the first week, I learned about the goerli test network and running geth on goerli. The syncing took almost 30 hours to complete. 😅

After syncing the geth node, we tried our hands on some basic account management. I learned how to make an account, add testnet eth, and use management APIs to build the transaction. To read and write the blockchain data, I used web3.js.

The most interesting exercise in the first week was scraping blockchain data. The first task was fairly simple where we had to retrieve the first 128 block hashes. The next task was quite complex but the complexity made it the most liked task of the week. The task was to retrieve the first block in which a smart contract is deployed and output the block number of the smart contract block.

I have embedded my JavaScript codes for both tasks.

WEEK 2

In the second week, we were told to write smart contracts using the solidity programming language. Initially, I explored the Remix IDE. Remix IDE is an open-source web and desktop application. It fosters a fast development cycle and has a rich set of plugins with intuitive GUIs. Referring to the Learneth plugin on Remix, I compiled the already present smart contracts, deployed them to the JSVM environment and interacted with few functions.

I also wrote a unit test for one of the smart contracts. It was very satisfying as I always wanted to write tests and I finally did. Looking forward to putting a habit of writing tests for all my projects.

Check out my Week 2 codes below.

The next exercise was to deploy the contract with the help of web3 or ethers. I used ethers to write the deployment script and wrote codes to convert a string into bytes32 and to get the current owner’s address.

Creating my first ERC20 Token

We were given an opportunity to design and deploy our own ERC20 token which is the backbone of the Defi. ERC20 tokens are a way to represent ownership of a fungible asset that can represent anything. We had to then create an exchange for your token with Uniswap so that anyone can buy your token with Eth.

With the help of some references, I made my very own cryptocurrency called PPAP (✏️ 🍍 🍎 ✏️)

There were enough resources available to guide us in making the ERC20 tokens (I have listed down the references), but writing a program that is not found in a tutorial is the best way to reinforce our knowledge. Hence our next exercise was to design, write, and deploy a dead man’s switch to goerli. We were expected to write a smart contract that will send all of its balance to a pre-set address if the owner of that contract has not called a still_alive function on the contract in the last 10 blocks. This was a bit difficult for me to execute but other fellows guided me and helped me understand the problem better.

You can find all these codes in the link provided above. 👆 👆

WEEK 3 & 4

The last 2 weeks of the learning phase were the most difficult, exciting and tiring of all. The objectives were to start developing on Ethereum, dive into Defi and build a decentralized app.

We were introduced to Hardhat and Scaffold.eth. These tools provide the development environment to compile, deploy, test and debug your Ethereum software.

First, I went through the hardhat tutorial and deployed the smart contracts on the Ropsten test network. I also tried to deploy the same contract on various other test networks like Goerli, Kovan and Rinkeby.

While deploying to different test nets, I noticed the following differences.

  1. To buy ethers in kovan testnet we have to connect to the GitHub account.

2. To add funds to the Rinkeby Test Net, we have to request through Twitter or Facebook. Requests are tied to common 3rd party social network accounts to prevent malicious actors from exhausting all available funds or accumulating enough Ether to mount long-running spam attacks.

Understanding the Defi protocols.

Each fellow was asked to learn about any one of the most prominent protocols in Defi and present/explain it to the rest of the fellows. My mentor, Arth, assigned me the Synthetix protocol. This was one of the most overwhelming tasks for all of us because all of a sudden, the engineering students were introduced to so many financial terms. I went through almost all the youtube videos, articles, news and the Synthetix lite paper to understand the protocol.
I explained the protocol on the presentation day. The presentation lasted for almost 6 hours, 3 hours a day, as there were 20 protocols to be presented. While trying to gather information about the protocol, I had to refer to many references, and since I’m new to the Defi space, I could not understand it easily. So I decided to write a high-level explanation about the Synthetix protocol under the guidance of my mentor.

My blog post comes as the first search result when searched for “What is Synthetix protocol”

Building on Defi

This was a very fun activity. We were expected to put our learning into use and build a Dapp. Since the Etherpunk hackathon was being held at the same time, Denver asked us to submit our projects for the hackathon. I teamed up with my friend Pranav Naik to build a Decentralized Marketplace for Waifus. We made a marketplace for the Dynamic Creation and an auction of NFTs using Chainlink-VRF with Polygon(previously known as Matic). We also enabled meta-transaction by Biconomy. Unfortunately, we ran into some issues and could not complete the project in time but we are still working on improving the Dapp. Although we did not win any bounty for the hackathon, we were satisfied that we could pull off a project in a very short period of time.

In the same week, we also had many guest sessions on topics like Building with Biconomy, Matic, (Building with Oracles)Chainlink, etc.

Building Phase

The next 4 weeks of the fellowship were reserved for building projects. Ideation has never been my strength and this time was no different. For the first few days, I wrote down all the ideas that came to my mind. And ended up presenting the idea that was more of a social issue that could not be solved using blockchain. 😅

The same day after the presentation, one of the fellows, Uday texted me and asked whether I would like to join him in building a solution to fight deepfakes and misinformation. The very next day we conveyed the idea to the mentor, got it approved and started working on it.

Project DeepChain

With the rise in social media and the ever-increasing demand for it, there remains no single source of news.

Most of the news, videos and images we receive are manipulated deliberately. And this is done mostly by changing the content, context and intent of the news. There is no way to know if we are watching the video or reading the news that we were intended to watch or read. The advancement in deep learning gave rise to deep fakes, which is nothing but Artificial Intelligence making some fake videos. Deepfake technology creates convincing but entirely fake videos and photos from scratch.

And to combat this, we came up with an idea called DeepChain which intends to allow the user to confirm the publishing source and confirm that it has not been altered at any point in time.

This platform could be used by the publishing houses, the government for their official announcement as well as normal users.

To know more about the project, visit the GitHub Repo

Being the designer-developer that I am, I invested a lot of my time in making a unique frontend with a beautiful design. But unfortunately, both me and Uday had to go through a rough patch in life due to the ongoing pandemic and could not present the project during the final demo day.

The 2 months were filled with lots of learning. I learnt remix, solidity, finance, defi, hardhat, crypto, sythetix, matic and so many protocols. And cohort-based learning made it even more fun. Get stuck and there are 19 other smart students to help you out.

What next for me? I’m looking forward to learning the importance of UX in the web3 space. This topic excites me because, unlike web2, in web3 the UX goes beyond design.

and the journey continues…

The end of the fellowship marked the beginning of my internship at Polygon

What would have been a better way to conclude the fellowship? I was fortunate enough to join Polygon as an SDE intern soon after the fellowship concluded.

And I recently completed a month there. 😃

Feel free to connect with me on social media. Instagram, LinkedIn, Twitter. I get along well with like-minded people.

If you need any help, guidance or just want to talk, do not hesitate to message me. Stay safe, take care!

Thank you!

--

--

Salil Naik

Frontend Engineer at Socket Technology, previously at Polygon. Making the web colourful 🌈 better and faster. 🚀