This is my journey with blockchain started due to Devfolio Eth India Fellowship.

EthIndia fellowship is an 8-week mentor-led format, to help Web2 developers make the transition to Web3! help the next generation of developer talent in India to discover, learn, and engage with Ethereum. There were around 2k+ applications from which 30 were selected.

Here, I have combined all of my learning during the fellowship ↓ ✨

We started with an introductory session, where we discussed the plan and course layout for the fellowship and then we were assigned in a team of 4 students to one mentor. So for the first 4 weeks, we were supposed to get one assignment at the start of the week and we have to learn and complete that by end of the weekend.

Week 1: Running a blockchain


The goal of this week was to give some familiarity with interacting with an Ethereum node. Even though we might use a service like infura to abstract node interactions away for most projects, it’s valuable to understand what’s going on under the hood when debugging contracts.

We used goerli testnet to

  1. run and sync a goerli geth node
  2. manage an account and send transactions with your node
  3. use your node to retrieve data from goerli Ethereum
  4. (optional challenge) learn about merkle trees

1: Running geth on goerli

I downloaded and installed the geth client and installed it on my Win 10 PC. After installation, we can interact with our terminal. We can run un geth with the RPC API open:

geth --goerli --rpc --rpcapi="eth,web3,personal,web3"

So as we are now one of the nodes of the goerli testnet we are syncing all data available on other nodes running. For me, it took around 20hrs to sync all the data.

After syncing finished we are one of the nodes of the Ethereum blockchain (goerli testent). Now we can interact with it.

2. Sending Transactions

In this task had to use interface with the newly synced Geth Node, using one of the several libraries available for this, I chose to do it using web3js with Node.

I created a new Ethereum wallet, gave myself from Ethereum on the Testnet, used the management API to sign the message, and sent a transaction to another public address. Basically we figured out how to write data to the blockchain.