owanhunte/ethereum-solidity-course-updated-code

Solidity 0.8 Update

Opened this issue · 6 comments

First of all, I just wanted to say thank you for picking this up and carrying on @StephenGrider 's fantastic course! I was just curious if you had any plans to update the code/docs to Solidity 0.8.2, or at least cover the breaking changes.

Hi @istrupin yes I do plan to start updating this repo this coming weekend. Work has been keeping me busy since I started this repo but it really is in dire need of my attention, especially since this is a field that's moving at such a fast pace.

So my plan, starting this weekend is as follows:

  • I'll create a new (orphan/empty) branch for the upgrade, leaving the existing main branch untouched.
  • I'll rewrite the solutions for @StephenGrider's course using the latest versions of Solidity, web3.js, Truffle and React. Specifically I'll opt for using React's functional components and hooks, rather than class components.
  • Once this branch is completed I'll make it the main branch and rename the current master branch to outdated.

I'm happy to hear that! If you need a hand on some of the React stuff when you get to it, let me know and I can jump in if I have any free time.

@istrupin just wanted to let you know that I've begun working on updating this repo, with a slightly different approach to what I described in the above comment #20 (comment). The approach is now as follows:

  • I've renamed the default branch from master to main.
  • I created a new branch named update_solidity_0_8 which I'm committing all the updated code to.
  • As I make progress, I'm merging this branch back into the main branch.
  • I'm still opting for using React's functional components and hooks, rather than class components, except for any case where a class component is a more sensible option.

I'm going to leave this issue open for tracking any important notes/points related to this update.

@owanhunte thanks for the update, that sounds great! Let me know if you need any help!

Hey all, just dropping an update here in this issue to advise that the my efforts to bring this entire repo up-to-date with Solidity 0.8 and all the latest versions of all the packages and frameworks used to build out the code examples is near completion. Specifically, I've completed updates to the following:

  • Inbox smart contract and all it's associated Node.js scripts and unit tests
  • Lottery smart contract and all it's associated Node.js scripts and unit tests
  • Lottery React web app
  • Kickstart app's CampaignFactory and Campaign smart contracts

What's still to be done:

  • Node.js scripts and unit tests for the CampaignFactory and Campaign smart contracts to be updated
  • Next.js implementation of the Kickstart/CrowdCoin web app to be updated to latest Next.js version (v13)

Once these remaining updates are finished, this issue will be closed.

Hey all, just dropping an update here in this issue to advise that the my efforts to bring this entire repo up-to-date with Solidity 0.8 all the latest versions of all the packages and frameworks used to build out the code examples is near completion. Specifically, I've completed updates to the following:

  • Inbox smart contract and all it's associated Node.js scripts and unit tests
  • Lottery smart contract and all it's associated Node.js scripts and unit tests
  • Lottery React web app
  • Kickstart app's CampaignFactory and Campaign smart contracts

What's still to be done:

  • Node.js scripts and unit tests for the CampaignFactory and Campaign smart contracts to be updated
  • Next.js implementation of the Kickstart/CrowdCoin web app to be updated to latest Next.js version (v13)

Once these remaining updates are finished, this issue will be closed.

@owanhunte thank you so much for doing that, I'm really looking forward to it!