So... I was part of Ethereum India Fellowship 2.0

So... I was part of Ethereum India Fellowship 2.0

·

6 min read

As Part of my hackathon obsession in the latter half of 2020, I was participating with my friends in InOut7.0 when I came to know about EIF2.0. My teammate told me about the opportunity and then I read the blogpost for it. In all honesty I'd never not take an opportunity to learn and make something cool.

How was the interview process ?

I wanted to stay true to my passion in Game Dev. I knew from the very beginning that I would love to explore the implementation of blockchain in Game Dev. I did spend a couple of days looking up the recent work in this space and in all fairness it seemed like a missed opportunity how it was being used in this space. I conveyed the same to Denver during my interview. I genuinely thought there would be more scrutinizing my work and my words but it was fairly pleasant. I put across my objective and why I was capable of accomplishing it and the rest is history.

Week 1

My first week was mostly spent waiting for the Goerli Geth node to sync. After that I went through the documentation for the in-built JavaScript console and completed the 2nd module using the console.

The thing to note here is, I probably have the most peculiar stack in the group (Yes, I am a GameDev, C# being my primary language). I have never tried JavaScript. When I started, I wasn't even familiar with the syntax. In my observation, JS is the most used language for web3 implementation. This was probably my first obstacle

For the 3rd module I used web3.py since I was more familiar with python than JavaScript. Retrieving block hashes was easy since there is a direct function that retrieves block info by number but checking for the first smart contract was a bit more tricky since at that time I didn’t know that smart contract didn't have a ‘to’ address but after finding that out it was easy.

I completed all this about an hour-ish before the 11 AM deadline on Saturday and moved on to read about merkle trees. Couldn’t submit it but still watched a couple of really helpful videos to understand what's going on.

Week 2

Second week started with attempting crypto zombies before we were given our tasks for the week. I completed the first module and then did the rest from 'learneth'. Second week was mostly about smart contract development for which we started with Remix IDE. Remix Learneth plugin gave a good guide for the IDE usage as well as solidity basics. After completing that I went on to complete the basic exercises. Most of module 2 and 3 were easy and could be done after going through the documentation. ERC20 tokens required me to go through multiple tutorials after which I successfully deployed JGWC (John Wick Gold Coins) after which I created a liquidity pool on Uniswap and swapped some test ether for coins. Dead man’s switch took me way longer than expected since I was stuck trying to find a way to execute the smart contract functions at fixed intervals. Which it turned out we didn’t need to do.

Week 3

Dead man’s switch took me way longer than expected since I was stuck trying to find a way to execute the smart contract functions at fixed intervals. Which it turned out we didn’t need to do. Furcombo is a no code Defi strategy tool that allows you to execute multiple actions in a single transaction without any code. This is especially useful in arbitrages. After the presentation we had to work on a Dapp preferably using our presentation protocol but my presentation was based on a tool and not a protocol therefore there wasn’t much scope to build anything on top of it. That led me to read more about Aave protocol and flash loans.

Week 4

Task for the fourth week was to build a Dapp for (atleast) one the bounties in EtherPunk and submit it. I initially decided to do something in lines of the monopoly idea from the previous week but there were certain aspects of it that didn’t make sense. Scratching that I decided to work on an AR Trading Card game using NFTs.

How NFT works : https://www.youtube.com/watch?v=_UaErpckllU

NFT explained : https://www.youtube.com/watch?v=Xdkkux6OxfM

For this project I worked in team of 2 and used Unity for the front end and we made a backend for smart contract interaction. Even though there aren’t many good/working ways to integrate smart contracts in your game directly through Unity, you may want to stay updated to these projects.

Arkane Unity Plugin : https://medium.com/arkane-network/our-unity-plugin-is-live-allowing-game-developers-to-create-nfts-on-matic-ethereum-43a0d6f03971

Unity Matic Starter Kit : https://github.com/think-in-universe/matic-unity-starter-kit

Nethereum : https://docs.nethereum.com/en/latest/unity3d-introduction/

Resources for ERC1155:

ERC1155 : https://eips.ethereum.org/EIPS/eip-1155

https://docs.openzeppelin.com/contracts/3.x/erc1155

Week 5 to Week 8

These 4 weeks were focused on building our final project along with workshops and sessions. With our recent work we were motivated to build another game that would be one more step forward into decentralization compared to DMon which used Firebase for its Gameplay. We had two ideas:

  1. Alchemy open world game where you go around the world looking for particular items and then mix and match to craft new items. These new items would then become NFTs that you can sell for others to collect or keep to yourself and craft new items from.
  2. Mafia game where you would have multiple roles and the aim would be to either kill all villagers or figure out who is Mafia. Everyone playing the game would stake some coins and the winners would get a cut from that.

Both the ideas presented challenges. First one was extreme in its Game Dev aspect while the second one had issues with encryption and storage. We decided to go with the second idea which we even ended up discussing with Patrick from Chainlink. We were going to submit this project to Chainlink Hackathon. We decided to use Matic to deploy our smart contracts and Chainlink to generate random numbers which would then be mapped with room id and be used to define player roles. We decided to use textile as database for Chat as well as player moves.

Along with this I started working on a solo side project where the idea is to create a decentralized digital 'Time Capsule'. The project is simple wherein a user decides to store (as of now) an Image for a particular amount of time which after that time they can 'dig' it out. For this time that image would be stored on IPFS and at the time of dig it would be minted as a NFT. This would mean even if my corporation goes out of business, their digital time capsule still remains secure.

You can follow the project here : github.com/akashjha011/DCapsule

Honestly its a great space and there's so much that can be done with it. If you want to check out the space there are a lot of great videos and articles available. EIF 2.0 was a great experience for me and the learning process was really cool. To the best of my knowledge, EIF will have a third edition next year (2022) so make sure you apply for it.