Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

As a new user, I want coding exercises, so I can learn web3. #631

Closed
owocki opened this issue Mar 16, 2018 · 19 comments
Closed

As a new user, I want coding exercises, so I can learn web3. #631

owocki opened this issue Mar 16, 2018 · 19 comments
Assignees

Comments

@owocki
Copy link
Contributor

owocki commented Mar 16, 2018

Description

(spec discussion)

Gitcoin is a project that's in the vanguard of web3, and as such, we get a lot of new users who are just learning blockchain development.

One common question is "I'm just learning blockchain development. Where should I start?"
While we have typed up some documentation on this, gitcoinco/gitcoinco#38 , those resources are external to Gitcoin and are scattered all over the place. We should have a resource internally that is used to onboard users to web3.

What

Create a branded install of FreeCodeCamp at codecamp.gitcoin.co

And create the following tracks:

Tracks

web3 basic concepts

Lessons:

  1. What is public/private key cryptography?
  2. What is a blockchain?
  3. Why does blockchain matter?
  4. What is Bitcoin?
  5. What is Ethereum?
  6. What is gas?
  7. What is a wallet?

Metamask track.

Lessons:

  1. What is a dapp?
  2. What does Metamask do?
  3. Install Metamask
  4. Different networks: rinkeby vs mainnet
  5. Get gas from a rinkeby faucet
  6. How do I pay gas?
  7. What is gas price? What kind of tradeoffs are associated with gas price selection?
  8. Links to some Some basic dapps

Solidity beginner track.

Lessons:

  1. Contract Example
  2. Hello World
  3. State Mutations on the blockchain
  4. Difference between .sendTransaction() and .call()
  5. Create your first Ethereum Smart Contract
  6. Setup an IDE/truffle locally w. ganache/testprc

Drip Marketing Campaign

When a user joins Gitcoin community, we will have a drip marketing campaign for them, which will include much of this content. Ref: #448

Day 1: web3 basic concepts
Day 2: Metamask
Day 3: Solidity Beginners

Interoperability

When each lesson is completed, the system should be interoperable with Gitcoin, and the user should receive a badge on their github profile denoting that they've completed each track.

@mkosowsk
Copy link

@owocki hmm... the tiny gears in my head are turning, I wonder if Gitcoin core has been talking to Cryptozombies about a collaboration? 🤔

The Blockstreet team which was a winner at ETHDenver also could be a nice conversation, I chatted a bit with some of their team members if you'd like an intro 👍

@owocki
Copy link
Contributor Author

owocki commented Mar 16, 2018

remind me what Blockstreet does?

@mkosowsk
Copy link

It's similar to Cryptozombies as a way to learn Solidity but it

  1. Runs User-submitted code against unit tests as opposed to just doing a git diff of User-submitted code vs. an accepted solution
  2. Gave the user a real deployed dapp at the end of the tutorial to play around with

I haven't messed around with Cryptozombies Lesson #5 so unsure what that team has been doing, but Blockstreet seemed pretty compelling to me 👍

Github: https://github.com/blockstreetboys/blockstreet
DevPost: https://devpost.com/software/blockstreet
YouTube video explaining it: https://www.youtube.com/watch?time_continue=1&v=og-7jC1UYxE

@e-n-l
Copy link

e-n-l commented Mar 17, 2018

Somewhat parallel discussion in #633

@PixelantDesign
Copy link
Contributor

Blockstreet app is amazing. They presented to us at ETH Denver! Would be great to partner somehow.

@mkosowsk
Copy link

Great! Will ping them now 👍

@owocki
Copy link
Contributor Author

owocki commented Mar 19, 2018

@mkosowsk there isnt a liscense file in their repo. they should add one so we can know what the terms of forking their project is :)

id also be curious to see whether they plan to continue maintaining blockstreet in the future

@eswarasai
Copy link
Contributor

eswarasai commented Mar 19, 2018

@owocki -- I'd be interested in taking this up

@Dan-Nolan
Copy link

Hey all, sounds like a great idea! The Blockstreet would be happy to collaborate on this.

We're currently working on releasing our first modules which will help teach writing Solidity/web3.js and injecting it into dapps. All the lessons laid out here sound like they would be excellent complimentary materials.

@mkosowsk
Copy link

@Dan-Nolan Awesome, please keep us posted on when those first modules are live! 👍 👍 👍

@owocki
Copy link
Contributor Author

owocki commented Mar 22, 2018

hey @Dan-Nolan -- is blockstreet planning on doing them open source or interested in whitelabeling them?

my email is kevin at gitcoin dot co or im on slack at gitcoin.co/slack if youd like to discuss off thread

@Dan-Nolan
Copy link

Hey there! We're currently developing in a private repository since we have a vision for how we'd like it to work and then we plan to open source the development of the learning modules to make it more community driven once the fundamental aspects are laid out.

I'll jump in the Slack and we can discuss further.

@owocki
Copy link
Contributor Author

owocki commented Mar 22, 2018

sounds like dan & co are going to launch in the next few weeks.. but we don't know if they'll want to partner yet.

personally i'd like to air on the side of action for this.. but i already have a few projects in the hopper and can't promise i'll be around to do a lot of product / architecture thinking for the next few weeks. @eswarasai i'd be happy to fund this now if you feel like you could move forward pretty autonomously. but if not, maybe we revisit in 2 weeks/

@owocki
Copy link
Contributor Author

owocki commented Apr 12, 2018

hey @Dan-Nolan i'd love to touch base for an update when you have one!

@Dan-Nolan
Copy link

Sure, we're testing it out on a beta. I'll send you an invite through Slack

@kuhnchris
Copy link
Contributor

Hey there, did this ever go somewhere? :-)

@kuhnchris kuhnchris added this to the Backlog > 1 Year - Relevance Check milestone Aug 1, 2019
@Dan-Nolan
Copy link

Dan-Nolan commented Aug 1, 2019

Woah throwback issue, I forgot about this convo! 😉

Actually Gitcoin has helped bounty a number of different issues for ChainShot! I'm excited they're all in the final stages of development. Once they're all complete I feel as though there will be a pretty extensive open-source curriculum for learning Ethereum!

Specifically on the web3.js, @jenil04 is finishing up on a cool new tutorial that I'm looking forward to trying here: https://github.com/ChainShot/Content/issues/9

And a shameless plug we are also finishing up on an interactive classroom that will allow teachers to work few to many with students and all of these tutorials will be immediately compatible! 😄

@kuhnchris
Copy link
Contributor

hah I loved playing with ChainShot ages ago when it was still in Alpha or Beta, really really liked what you are doing. guess talks about cross-promotion didn't progress any further heh. ;-)
Anyways, looking forward to more of your content. @owocki i'll let you decide how we continue on this.

@afmsavage
Copy link

I'd be extremely interested in helping write whatever I can help with. Another good project I don't see referenced here is the OpenZeppelin EtherNaut program. It's more about learning smart contract security and such. All community generated. https://ethernaut.openzeppelin.com/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants