Patrick Collins Profile picture
Apr 18 โ€ข 4 tweets โ€ข 2 min read
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.
So my TLDR is this;

Life happens to you, and those around you, and sometimes people are upset with the way life is treating them and take it out on you.

So long as we continue to practice being as uplifting and kind as possible and leave the hate to the side, wagmi.

#frens

โ€ข โ€ข โ€ข

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

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)" Image
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: Image
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: Image
Read 8 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
Apr 6
๐Ÿงฑ Top sites to visit to learn web3 and smart contracts!

๐Ÿง‘๐Ÿพโ€๐Ÿ’ป FreeCodeCamp
โ›“ Chainlink Docs & Bootcamps
๐ŸงŸ CryptoZombies
๐ŸŽ“ DappUniversity
๐Ÿ” Eat the Blocks
๐Ÿธ Patrick Collins YT & Medium
โ˜„๏ธ Chainshot
๐Ÿฅพ Consensys Bootcamp
๐Ÿ‘จ๐Ÿฟโ€๐Ÿ”ฌ Moralis Academy & Site
๐Ÿ‘ฉ๐Ÿปโ€๐Ÿš€ Ethernaut
๐Ÿ‘‡
๐ŸŽŠ useWeb3
๐Ÿƒ SpeedRunEthereum / Austin Griffith
๐Ÿ“‰ Nader Dabit YT & Blog
๐Ÿ‘ท Buildspace
๐Ÿ‘ฉโ€๐Ÿซ Web3 University

And SO much more, the list keeps growing and growing!
Often times people ask me, "should I do a paid BootCamp if there is so much free material?"

And my answer to that is, it depends. Free content is awesome, but it can be a little tricky to get support sometimes. Paid bootcamps come with some wonderful hand holding.
Read 6 tweets
Apr 5
The rules of the game will sometimes allow you to take corrupt actions without repercussions.

So then you have at least two options:
- Fight to change the rules
- Say โ€œthatโ€™s just how the game is playedโ€

As much as possible, choose the first one - otherwise we never move up
I think this is especially true in web3.

There are plenty of chances to say โ€œoh, this is broken, and it fucks over thousands of people - but thatโ€™s their faultโ€

We are in an experimental stage still, and things are broken and being fixed.
White hat hackers are a perfect example - they understand that in order for web3 to last, we need to work to fix the faults that exist. If all defi amounts to is hacks of people exploiting each other this whole movement will fade.

But it goes deeper than that
Read 6 tweets
Mar 16
๐ŸŽŠ๐ŸŽŠ๐ŸŽŠ ITS HERE ๐ŸŽŠ๐ŸŽŠ๐ŸŽŠ

Web3 / Blockchain / Smart Contract Developers...

๐Ÿ”ตThe Spring 2022 @chainlink Hackathon is Here!

๐Ÿฆพ๐Ÿฆพ๐Ÿฆพ๐Ÿฆพ๐Ÿฆพ
AND.
ITS.
BIG.
๐Ÿฆพ๐Ÿฆพ๐Ÿฆพ๐Ÿฆพ๐Ÿฆพ

Register and read here to see the event you don't want to miss... ๐Ÿ‘‡๐Ÿงต
@chainlink Register here:
chn.lk/springhackpc

โšฝ๏ธ It kicks off April 22nd with an opening ceremony then followed by the BEST content the web3 space has to offer.

๐Ÿฅณ These are MUST attend workshops, NO MATTER YOUR EXPERIENCE. To engage and ask questions with the best!
๐Ÿ‘‡
@chainlink ๐Ÿ‘ถ๐Ÿพ Brand new to web3?
This is the hackathon for you.

๐Ÿ‘ทExperience Engineer?
This is the hackathon for you.

๐Ÿง™๐Ÿฟโ€โ™‚๏ธWizard of Web3?
Yep. You guessed it. This is it.

With over $300k in prizes and the best coding material in the industry for every walk of life.
๐Ÿ‘‡
Read 12 tweets
Mar 15
๐ŸŒ๏ธโ€โ™€๏ธโ›ฝ๏ธOk EVM gas golfers, got one that is going to test your every gas instinct.

NONE of these functions are optimal... but which one is the most gas efficient and why?

Pick a choice and also leave a comment on why you think so!

โŒโŒ NO LOOKING ANYTHING UP! โŒโŒ

a, b, or c?
The answer is C

Each does something a little different gas wise:
- External vs Public functions
- +=
- The location of the function in the file

But the biggest gas factor here is going to be BOTH reading and writing to storage.
The Chainlink core github repo runs with the standard or adding the prefix "s_" to any storage variable, so engineers know it's expensive to use.

In function C, we load the s_playerFunds into memory and read from memory as we loop through the array.
Read 8 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!

:(