academy icon indicating copy to clipboard operation
academy copied to clipboard

Fundamentals on Solidity. Covers multiple lessons.

Open elPiablo opened this issue 2 years ago • 10 comments

We need to add some more supporting content on Solidity types, etc

Earn some $CODE!!! We have $CODE quests for writing content on Solidity.... among others! We need some fundamentals for our lessons.

IMPORTANT. PLEASE FAMILIARISE YOURSELF WITH THIS TO SAVE TIME AND EFFORT FOR EVERYONE

See the four Solidity side drawer elements in Lesson 1 for tone, style and succinctness - therefore the perfect model of what your content can look like. We're obviously trying to maintain consistency. You can see these finished fundamentals in here:

https://academy.developerdao.com/lessons/projects/1

Please don't work locally, and follow the INSTRUCTIONS below for Lesson 2 and Lesson 3:

Overview of required content Lesson 2: LESSON 2 FUNDAMENTALS ARE COMPLETE. SEE LESSON 3 FURTHER BELOW.

  • import (1 paragraph) - (https://github.com/AAYUSH-GUPTA-coder doing this)
  • constructor (2 paragraphs) - (https://github.com/AAYUSH-GUPTA-coder doing this)
  • msg.sender (1 or 2 short paragraphs) - (https://github.com/AAYUSH-GUPTA-coder doing this)
  • mint function
    • 2 or 3 paragraphs on what the mint does in the background (OpenZeppelin) - (https://github.com/AAYUSH-GUPTA-coder doing this)
  • base URI function
    • 2 short paragraphs on what OZ does with it - (https://github.com/AAYUSH-GUPTA-coder doing this)
  • override
    • 2 or 3 paragraphs about virtual/override and interfaces - (https://github.com/AAYUSH-GUPTA-coder doing this)

INSTRUCTIONS** Click on (https://github.com/losMacos/academy/blob/sol-fund-lesson2/lessons/all-new-solidity-fundamentals-lesson2/sol-fund-lesson2.mdx), click on Edit this File, and write your content to the file. When you are satisfied with your work make sure to add your Discord handle so you get credited for your work and $CODE as well!!. Then scroll down to the Commit Changes section. Finally add a title for the commit, and a description if you need to and click on the green Commit Changes button.


Overview of required content Lesson 3:

  • constant/immutable (JohnMac)
    • We could integrate this into the Variables & Types SideDrawer from Lesson 1
  • mappings
    • 2 or 3 paragraphs (How keys are stored and why that doesn't let you iterate)
  • mint function
    • Same as Lesson 2
  • payable functions
    • msg.value
  • balances
  • withdraw functions
    • Ownable / onlyOwner
    • sending ether (call vs. send vs. transfer)

INSTRUCTIONS Click on (https://github.com/losMacos/academy/blob/sol-fund-lesson3/lessons/all-new-solidity-fundamentals-lesson3/sol-fund-lesson3.mdx) click on Edit this File, and write your content to the file. When you are satisfied with your work make sure to add your Discord handle so you get credited for your work and $CODE as well!!. Then scroll down to the Commit Changes section. Finally add a title for the commit, and a description if you need to and click on the green Commit Changes button.

Thank you abundantly!!!! Leave a message in #d_d-academy channel and let us know how you get on.

elPiablo avatar Sep 15 '22 18:09 elPiablo

Thanks @georgemac510 for your valuable assistance on this!!

elPiablo avatar Sep 16 '22 22:09 elPiablo

Hey @elPiablo and @georgemac510 are these all still open items, or are some resolved?

Can we also request contributors just make these changes in our main Academy repo? It'll save an extra step of syncing up a separate repository, and also saves an extra step in that content can be merged directly into the project. And gives us one place to go to find the status of changes.

I'm assuming losMacos repository is more of a staging area, but I think PRs in our main repo serve the same purpose.

briangershon avatar Sep 25 '22 07:09 briangershon

Hi @briangershon @georgemac510

Technically, this is still not resolved. Some of these pieces have been written, but still have to be merged, and some still haven't been written. I think the meeting today with about the whole workflow, should give a bit more clarity. And definitely a smoother workflow could be found.

My worry at this stage is actual reviewing of content. Personally I'd like to see that as robust process that leads to Academy putting out deeply reviewed content that is cohesive across the platform. It's about building a good culture in the earlier days to set the standard. I wouldn't want to see content getting merged just to get quantity out.

elPiablo avatar Sep 26 '22 12:09 elPiablo

Thanks @elPiablo!

Maybe you can just clear out the pieces from this card that are now complete?

Also what are your thoughts on removing losMacos repo from the process?

briangershon avatar Sep 26 '22 21:09 briangershon

Hey @briangershon losMacos has only been used as a playground, so that folks stronger with content writing could collaborate with folks stronger with dev skills so as not to clog up a branch in the D_D Academy repo with a ton of commits. We found that a common Github account might work better for this collaboration effort than working out of one member's personal account. If it really is a detriment to D_D Academy workflow, then its use toward D_D content will end.

georgemac510 avatar Sep 26 '22 22:09 georgemac510

Hey @georgemac510 I like the playground part, just think branches and PRs would be a safe place to play as well.

(That way you can have a ton of commits if you want in a branch... nobody sees those until they're asked to review the PR, and then all those commits just appear as one final change)

If content happens in a separate repo, it's "out of sight" and is essentially a "long running branch" that gets hard to merge later. I think all of us partying in one repo will be more visible and more people could contribute.

briangershon avatar Sep 26 '22 22:09 briangershon

This is also why we tried to squash the Notion doc, so we have one source of truth.

briangershon avatar Sep 26 '22 22:09 briangershon

Hey @briangershon I agree completely that there should be one source of truth and losMacos was never meant to deviate from that effort. With that being said, we must be mindful that these processes should be inclusive to all members of the team, which was touched on in today's meeting. If we are managing one source of truth, it must include all voices and participants, so there are no surprises when it comes to meeting time. We want to all be reading from the same sheet of music. Sorry to bring this up here, but it had to be said.

georgemac510 avatar Sep 26 '22 22:09 georgemac510

Closed in error.

georgemac510 avatar Sep 26 '22 23:09 georgemac510

Hey @elPiablo and @georgemac510 can we close this issue, or is this info still valid?

briangershon avatar Feb 08 '23 03:02 briangershon