🦋 Morphosis: Ethereum Developer Course

The Morphosis swarm is organizing a new class!

I’ll be presenting a course on the latest Ethereum Development technologies we have at our disposal.

I’m adding a poll to gather interest in having a working group format for the course. The idea is to gather in a few working groups at the start of the course and address each lecture with a particular task and then use our shared time to discuss, solve problems and answer questions. The lectures will be recorded and shared at the start of each week.

Course Format
  • Do lectures live (like the previous course)?
  • Working groups with lectures async?

0 voters

Details of the Course

Name: Ethereum Developer Course

Instructor: gabi#4807

Office: 1Hive Discord

Office Hours: Wednsday 19:00 - 20:30 UTC

Duration: 1hr 30min

Description: The Ethereum development landscape has evolved a lot in the last year and a half. Tools like hardhat and libraries like ethers.js improved the developer experience by an order of magnitude. But as every technology changes take time to reach mass adoption. With this course, I hope to share with the community what is out there so we can solidify our development practices and start building even cooler things together.

Course Schedule

Week 1 - Ethereum Fundamentals

In this lecture, we will do an overview of the core Etherum concepts important during development. We will use eth.build and remix to stick to the basics and understand the fundamentals.

  • Ethereum high-level overview
  • eth.build overview
  • Addresses
  • Signatures
  • Transactions
  • Ethereum Virtual Machine
  • Remix overview
  • Abstract Binary Interface
  • Smart Contracts

Week 2 - Scaffold an Ethereum project

In this lecture, we will configure a development environment using vscode and scaffold-eth.

  • vscode plugins
  • saffold-eth overview
  • hardhat overview
  • Static tests with eslint and prettier
  • Debugger configuration
  • Use hardhat with typescript
  • Smart contract types with typechain

Week 3 - Hardhat in depth

In this lecture, we will go through all the features that hardhat has to offer. And we will install a few useful plugins.

  • hardhat.config & hardhat runtime environment
  • Hardhat network
  • Hardhat console
  • Hardhat scripts & tasks
  • Hardhat plugins
    • Ethers
    • Waffle
    • Gas reporter
    • Solidity coverage & GitHub workflow to integrate codecov.io

Week 4 - Ethers.js & testing a smart contract

In this lecture, we will go through a general overview of the Ethers library and we will use it to write a couple of tests for our smart contract.

  • Ethers.js overview
  • Providers
  • Signers
  • Contracts
    • Calls
    • Events
    • Interfaces
  • Useful utilities
    • Application Binary Interface
    • BigNumber
    • Hashing Algorithms

Week 5 - Deploying a smart contract

In this lecture we will use a new hardhat plugin, hardhat-deploy, to handle our dapp deployments.

  • hardhat-deploy overview
  • Write a deployment fixture
  • Deploy our contracts to hardhat network
  • Read and write data from our contract
  • Use tenderly
  • Deploy our contract to other networks

Week 6 - Subgraphs

In this lecture, we will go through the process of creating a new subgraph from scratch.

  • The Graph overview
    • Core concepts
    • graph-node
  • Subgraph package overview
  • Schema
  • Template
  • Mappings
  • graph-node docker image
  • Deployment
  • Query subgraph data

Week 7 - Hooking everything in a React app

In this lecture we will create a simple react application using aragon-ui with the 1hive theme and we will fetch the dapp data from a subgraph using Aragon Connect.

  • React app package overview
  • aragon-ui overview
  • Aragon Connect overview
  • WalletProvider
  • Connect provider
  • AppStateProvider
    • Fetching data from a custom subgraph

Course Sign-up

To be done soon.


To decide the final day and hour for the course I create a lettuce meet to gather feedback about it:

As many of you know, the Morphosis swarm’s purpose is to provide education and courses to 1hive members to increase their knowledge of useful skills that will benefit the whole community. These skills will allow others to make high-value contributions to 1hive and the blockchain space.

31 Likes

The content looks amazing, but densely packed. I suppose my worry as a student would be that there is almost too much cool information to take in during the 1h 30m available each week.

4 Likes

WOW this sounds EPIC!!! 100% interested in attending this! The only downside is that it is scheduled to take place at 4am in my timezone :sleeping: Will it be recorded?

Also how much Honey should I be saving up to pay for this? If you say it’s free of charge I may fall off my chair.

Thanks for putting this together @gabi You Rock!!!

3 Likes

True…That would be another reason that I would hope this is recorded. Folks could move through at their own pace and then there could be set hangout times between classes to chat about the course material and get help debugging issues that arose.

You are right. I can consider splitting the content in a couple more weeks. I was a bit hesitant about the interest in a two-month-long course.

3 Likes

I’m not sure if it’s a truly valid concern, it’s just an observation at a quick glance. I think with enough provided reading material and guarantee that the sessions are recorded like @CurlyBracketEffect has suggested it can be mitigated. Either way, this will be an incredible resource, thanks for proposing to host it!

1 Like

Thanks for the feedback. The hours for the lectures are tentative. I choose the same block of time as the previous course actually. But I can create a lettucemeet to poll what hour works best.

Yes I strongly agree. Also the schedule may seems a bit long on each session but some of the points are fairly straight forward. I wanted to make sure we address them regardless as sometime they provide a lot of value regardless!

1 Like

Thanks for the feedback as well!

1 Like

Wow, this is really cool! If you could record the course I would watch them after since 9:30 UTC is 4:30 am for me :smile:

1 Like

Are you sure you chose the same time block? The last course was at 1 pm my time, this one is at 4:30 am my time. Anyway I would love to attend!

2 Likes

It works for me, sign me up!

You were right, I just update the time to the same as the previous one as the tentative hour.

I just create a lettuce meet to gather feedback on the time:

I’m definitely attending to this one! not pretty sure if I need some kind of ETH dev basics but I am willing to learn the implementation of all these new technologies. I’m definitely convinced this could help the improvement of the minecraft server developpement

I’m also wondering if this course will have any cost?

Thank you very much @gabi for putting together this course for the community :honeybee::honey_pot: Un abrazo

I’ve been wishing for something like this!! It looks like a lot to learn for someone like me who is starting with little to no developer skills but I feel like Im a pretty fast and intuitive learner.I look forward to levelling up. Thanks for putting this together Gabi!
Count me in!

Awesome, I’ll gather a few resources before each lecture so everyone start with a fundamental understanding of the things we plan to cover. Anyways everyone is still learning, these are super new technologies.

The course are no cost. The only restriction is be a 1hive community member and join our discord server. We may have some limitation on the amount of people in a single discord call. But we can try other platforms if that become a limitation.

3 Likes

Great! Glad to know there is more interest, I’ll do my best to share my experience so far.

1 Like

@gabi - Thanks mate for proposing this course. This is super cool. I have been looking at ways to upskill myself with SC development for general knowledge and being able to contribute better to open source communities. I can see that this is a well structured course but may not be for a novice like me. I am still interested to come along. What is the cost of this course? Could you provide some pre-requisite information including what type of hardward/software is needed. I am working from an ailing macbook which is about 6 years old and not sure if this will cope.

Thanks though for this incredible opportunity and if this is not a course for newbee devs, could you please consider on in the future. Cheers.

1 Like

This is so awesome. Really appreciate that you are doing it!

1 Like

@gabi can you please let us know where i would get the latest update on this course? Would it be #morphosis channel or will you update this post. Just want to make sure that when this course does start I do not miss out. Also someone else has already asked, but would be great if this could be a recorded session so that people in unsuitable timezones can listen to the lecture in a suitable time. I know it may increase your overhead but just wanted to ask if you would consider it. Thanks.

1 Like