Patrick Collins Profile picture
May 26 โ€ข 24 tweets โ€ข 169 min read
ITS FINALLY HERE

๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰
The Ultimate, Learn Blockchain Development, Solidity, Full-stack Web3, & Smart Contract Course | Javascript (& Typescript) Edition on @FreeCodeCamp!
๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰๐ŸŽŠ๐ŸŽ‰

Here is everything you'll learn from this course, and more ๐Ÿ‘‡
@freeCodeCamp Starting with the links to the content, then we will go into

๐Ÿ”— Here's a link to the course.

After 4+ months of pouring every ounce of information into a video, this is where we have arrived - with 30+ hours of pure

@freeCodeCamp ๐Ÿ”— And here's a link to the GitHub repo with all the course content, discussions, and of course - all the code.

And now... Let's rattle off some of the technologies and groups you'll work with, and then we'll discuss when and how!

๐Ÿ‘‡

github.com/smartcontractkโ€ฆ
@freeCodeCamp @solidity_lang @JavaScript @chainlink @MetaMask @AlchemyPlatform @EthereumRemix @HardhatHQ @OpenZeppelin @graphprotocol @trailofbits @etherscan @CoinMarketCap @AaveAave @IPFS @FleekHQ @Filecoin @reactjs @nextjs @MoralisWeb3 @opensea @pinatacloud @nft_storage @arbitrum @github @nodejs @code @tailwindcss @GraphQL @DefiLlama @RektHQ @typescript โ›“ Lessons 0 & 1

๐Ÿงฑ We start, with the fundamentals - not even coding fundamentals, but blockchain fundamentals as a whole.

If you want lessons 0 & 1, you'll understand blockchain & smart contracts on a high level - no coding!
@freeCodeCamp @solidity_lang @JavaScript @chainlink @MetaMask @AlchemyPlatform @EthereumRemix @HardhatHQ @OpenZeppelin @graphprotocol @trailofbits @etherscan @CoinMarketCap @AaveAave @IPFS @FleekHQ @Filecoin @reactjs @nextjs @MoralisWeb3 @opensea @pinatacloud @nft_storage @arbitrum @github @nodejs @code @tailwindcss @GraphQL @DefiLlama @RektHQ @typescript You can take lessons 0 & 1 even if you don't want to become a dev.

We learn how cryptography works at a high level, some history of #bitcoin & #ethereum, and how @chainlink enables smart contracts to come to life - as well as the value of smart contracts!
@freeCodeCamp @solidity_lang @JavaScript @chainlink @MetaMask @AlchemyPlatform @EthereumRemix @HardhatHQ @OpenZeppelin @graphprotocol @trailofbits @etherscan @CoinMarketCap @AaveAave @IPFS @FleekHQ @Filecoin @reactjs @nextjs @MoralisWeb3 @opensea @pinatacloud @nft_storage @arbitrum @github @nodejs @code @tailwindcss @GraphQL @DefiLlama @RektHQ @typescript ๐ŸŽง Lessons 2, 3, &4
We finally start coding! Using @solidity_lang & @EthereumRemix, we begin our developer journey.

We learn Solidity Basics like:
- Types
- Interfaces
- Inheritance
- @chainlink
- libraries

& More

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป And you'll deploy your first-ever smart contract!
@freeCodeCamp @solidity_lang @JavaScript @chainlink @MetaMask @AlchemyPlatform @EthereumRemix @HardhatHQ @OpenZeppelin @graphprotocol @trailofbits @etherscan @CoinMarketCap @AaveAave @IPFS @FleekHQ @Filecoin @reactjs @nextjs @MoralisWeb3 @opensea @pinatacloud @nft_storage @arbitrum @github @nodejs @code @tailwindcss @GraphQL @DefiLlama @RektHQ @typescript ๐Ÿฉป Lesson 5

We move from Remix into @code and start learning a more "bare-bones" approach to sending transactions. We start working with @javascript (and optionally TS), #ethersjs, & we get you all setup to start developing locally!

And a guest appearance from @thatguyintech!
@freeCodeCamp @solidity_lang @JavaScript @chainlink @MetaMask @AlchemyPlatform @EthereumRemix @HardhatHQ @OpenZeppelin @graphprotocol @trailofbits @etherscan @CoinMarketCap @AaveAave @IPFS @FleekHQ @Filecoin @reactjs @nextjs @MoralisWeb3 @opensea @pinatacloud @nft_storage @arbitrum @github @nodejs @code @tailwindcss @GraphQL @DefiLlama @RektHQ @typescript @thatguyintech ๐Ÿ‘ทโ€โ™‚๏ธ Lessons 6, 7, & 9

Yes, 6, 7, & 9 (lesson 8 soon)

In these lessons, work with the fast and flexible #Web3 framework @HardhatHQ!

Weโ€™ll use Hardhat to explore advanced testing tools, identify gas optimizations, and create our first @github repo!

โ€ข โ€ข โ€ข

Missing some Tweet in this thread? You can try to force a refresh
ใ€€

Keep Current with Patrick Collins

Patrick Collins Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @PatrickAlphaC

May 25
๐Ÿ™ The .env pledge

โš ๏ธ Too many new developers have exposed their private keys due to .env files being pushed up to github.

๐Ÿ” Help me spread this message by taking the pledge with me, and we can help all the new developers out there not get rekt.

๐Ÿ‘‡
I solemnly swear, that I will never place a private key or secret phrase or mnemonic in a .env file that is associated with real funds.

I will only place private keys in a .env file that have ONLY testnet ETH, LINK, or other cryptocurrencies.
When I'm testing and developing, I will use a different wallet than the one associated with my real funds.
Read 12 tweets
May 2
๐Ÿ›ก How to get prices securely in web3

๐ŸงตA thread

We've seen way too many hacks with this DeFi 101 issue. Please spread this message.

1. Don't ever use low liquidity tokens

2. Use a decentralized oracle like @chainlink

3. TWAPs are scary AF

And the most important one... ๐Ÿ‘‡
A
๐Ÿ‘
DEX
๐Ÿ‘
IS
๐Ÿ‘
A
๐Ÿ‘
CENTRALIZED
๐Ÿ‘
PRICE
๐Ÿ‘
ORACLE
1. Don't use low liquidity tokens

Any token that has low volume (meaning, it's not traded a lot, & often its market cap is low) can be easily manipulated.

If your protocol relies on a token that can be easily manipulated, you are headed to the @RektHQ front page.
Read 8 tweets
Apr 30
Make it a habit.

If you set a goal, focus 90% of your effort on habitualizing the daily routines it takes to accomplish the goal - and track how often those daily habits brought you closer to the goal.

If not, after a specific time frame, alter the daily habit.
Some people spend so much time setting a goal, and telling other people about how amazing g the new they set is, they never do the work to reach it.

1. Set the goal
2. Set the DAILY routines it takes to get there
3. Reflect that those routines are helping.
Donโ€™t tell people your goal.

Every time you tell people your goal, and someone goes โ€œwow, what a great goal!โ€ - you sap motivation.

That positive praise should be reserved for when you complete your challenge, not before.

Often, you need every ounce of motivation you can get
Read 6 tweets
Apr 21
โœ๏ธ Solidity Tip!

You can call any function w/o the contract ABI, we need to know about function selectors and signatures.

Example Function Selector:
0xa9059cbb

Example Function Signature:
"transfer(address,uint256)"
Function Selector: The first 4 bytes of the call data for a function call that specifies the function to be called.

Function Signature: A string of the function name and parameter types.

Examples:
Why do we care?

You can call a function directly in solidity just by knowing its function selector or signature and hashing the data of the input parameters!

If I know an address has a transfer function that takes an address and a uint256, I can call it like so:
Read 9 tweets
Apr 18
Sometimes I won't be able to answer all your questions fast enough - and sometimes not at all. I really wish I could.

๐Ÿงต It's really a shame when you see stuff like this. Quick thread.

PS. If you find this person, please don't go after them. We all have bad days. Image
As a community, we have to be collaborative,
resourceful, and above all else kind. Otherwise, we will end up just rebuilding all the bad practices of web2.

Eventually, this person did exactly what they should do - being resourceful and finding the answer another way.
And sometimes, I know all of you are going to face stuff like this.

It happens.

But I encourage you to try to take the high road as often as you can. There are very few circumstances where more action than that will be needed.
Read 4 tweets
Apr 13
1/11
๐Ÿ’พ Let's learn about storage in solidity!
A web3 educational thread ๐Ÿงต ๐Ÿ‘‡

๐Ÿ“„ Storage is where our state or global variables get stored in our smart contracts. Whenever we create a contract-level variable, in the background, solidity adds it to this "storage" data structure!
3/11
๐Ÿงฎ Now when we store a storage variable, in the background, solidity adds our variable to storage, which can be thought of as a sequentially indexed list.

The first variable we name will go in the 0th storage slot.
4/11
๐Ÿซ” The data is encoded to its bytes32 form in the storage data structure. So we can store any of our basic types like bool, uint, int, etc.

The second variable we name will go in the 2nd slot.
Read 10 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(