Upgrading your Smart Contracts | A Tutorial & Introduction

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ค. 2021
  • All about upgradable smart contracts. Using delegatecall in your solidity, you can setup proxy contracts to upgrade your smart contracts. We look at some of the philosophies that go along with this, learn about the pros and cons, and then actually deploy a smart contract with a proxy, and then upgrade it on the fly.
    💻💻
    Code: github.com/PatrickAlphaC/smar...
    💻💻
    OpenZeppelin blog: blog.openzeppelin.com/the-sta...
    Trail Of Bits Blog: blog.trailofbits.com/
    EIPs: eips.ethereum.org/EIPS/eip-2535
    Medium: betterprogramming.pub/not-all...
    Openzeppelin step-by-step: forum.openzeppelin.com/t/open...
    ✅✅ Donate ✅✅
    I use donated funds to spend money on making fun & informational videos.
    ETH Wallet address: 0x9680201d9c93d65a3603d2088d125e955c73BD65
    😸😸Join the community!😸😸
    Chainlink developers discord: / discord
    Twitter: / patrickalphac
    Medium: / patrick.collins_58673
    Twitch Stream Uploads: / @patrickalphac-alt
    Twitch: / patrickalphac
    All thoughts and opinions are my own.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 175

  • @from2ureview251
    @from2ureview251 3 ปีที่แล้ว +3

    Man, please never stop these juicy videos, it will make a lot of lives easier and love you man, keep it up

  • @daffertube
    @daffertube 2 ปีที่แล้ว +8

    The hook for this video has my sides in orbit. was not expecting so many memes in development video. 10/10

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว +1

      Glad you learned something and had a laugh :)

  • @LildAnakin
    @LildAnakin 2 ปีที่แล้ว +1

    Perfect! I was just reading the docs on this last night. Thanks for making a video 🙏🏾

  • @orhanors1800
    @orhanors1800 2 ปีที่แล้ว +4

    I was so serious about learning this topic. I came to the video with my surly face and now I know the topic and I'm smiling. Keep it up Patrick :)

  • @fabioseva1
    @fabioseva1 2 ปีที่แล้ว +8

    I’m not a dev. Still you made the content easy to understand. Nice job!

  • @Rishvanth
    @Rishvanth ปีที่แล้ว +3

    Hey Patrick, I Really Love your way of teaching technical stuff❤!. You are one of very few who teaches concepts in depth and very clearly.
    Keep posting a lot of content like this.

  • @MatrixMind23
    @MatrixMind23 2 ปีที่แล้ว +3

    Thank you for a clear understanding much appreciated

  • @bezimienny5
    @bezimienny5 2 ปีที่แล้ว +2

    Oh, my first thought for a solution would be something like what you showed as proxy. I mean, I only really gave it a small amount of thought with the limited beginner understanding of Solidity that I have, so the fact that I came up with that much still makes me feel smart 😊

  • @cs1070151
    @cs1070151 3 ปีที่แล้ว +9

    Proxy contract is popularly known as PIMPL (pointer to implementation) in languages like C++ to keep the ABI same, but of course the whole mechanism of 'delegateCall' (in which you are touching data in the calling contract) makes this a completely novelty.

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว +1

      Yeah, delegatecall is hero mode

  • @clydedavidson9272
    @clydedavidson9272 ปีที่แล้ว +1

    After running into a Diamond contract last night I was looking for a better understanding of upgradable contracts. Thanks for always putting out relative content in a space that is continually growing and changing. Every time I think I know a good bit about smart contracts and solidity something new throws me for a loop but you always seem to have an easy to understand video ready for me to watch on the subject.

    • @PatrickAlphaC
      @PatrickAlphaC  ปีที่แล้ว +1

      Glad you like it! Yeah I've recently updated my opinion on diamonds too (although, I STILL think the name is absolute trash, which I have expressed. I prefer something like "multi-implementation proxy" or something... or something).

    • @clydedavidson9272
      @clydedavidson9272 ปีที่แล้ว +1

      @@PatrickAlphaC I really only started looking into them as I am hoping to break into auditing and it seems a ton of companies/devs are implementing all these upgrade patterns into their flow. Figured I better familiarize myself with them now.

    • @clydedavidson9272
      @clydedavidson9272 ปีที่แล้ว

      @@PatrickAlphaC Do you ever plan on doing a diamond tutorial. I understand they essentially have multiple implementation contracts (facets) but am a bit confused on diamond storage or app storage allowing us to store state variables at predetermined positions using a hash. Would be amazing to see you break down the standard!

    • @PatrickAlphaC
      @PatrickAlphaC  ปีที่แล้ว +2

      @@clydedavidson9272 Yes! It's been on my todo list!

  • @dimitrispanouris
    @dimitrispanouris 3 ปีที่แล้ว +16

    Love you man.

  • @nykeharewood8246
    @nykeharewood8246 3 ปีที่แล้ว +2

    I'll be honest, i didn't think you could outdo the AAVE flash loans video, however your utilization of YEET.. is truly groundbreaking. All that to say, excellent videos i am hooked, subbed, discorded, and all that Jazz. If i may i think it would be interesting to due a cost analysis on "cloud hosting vs on prem vs something like Ankr which claims to be built for defi hosting"

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว

      Ahahah this made my day. Glad you enjoyed the social yeet method. Very serious smart contract upgrade methodology.
      And that would be cool... for running some blockchain node stuff. That sounds like a long video that won’t age well though :/ it would be relevant for like a few months ahah

  • @erosmlima5981
    @erosmlima5981 3 ปีที่แล้ว +3

    Great video and explanation, thanks man!

  • @anupam4446
    @anupam4446 3 ปีที่แล้ว +2

    Patrick pouring pure knowledge.

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว

      We thirsty for knowledge

    • @anupam4446
      @anupam4446 3 ปีที่แล้ว +1

      @@PatrickAlphaC this has been a controversial topic for our team. We flighted a lot on EIP1167.
      THIS VIDEO SHOULD RESOLVE OUR FIGHTS.

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว

      @@anupam4446 well I'm glad it'll be helpful. But I'd say you should read the blogs I have in the description, then use that to resolve your fights.

  • @pulsechainalltheway1845
    @pulsechainalltheway1845 หลายเดือนก่อน +1

    Your videos are easy to understand

  • @sunguru981
    @sunguru981 3 ปีที่แล้ว +2

    Subscribed. This is a gold mine for newbies like me

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว +1

      Welcome!! Be sure to sub to the chainlink YT too, we do a lot of great stuff there

    • @sunguru981
      @sunguru981 3 ปีที่แล้ว

      @@PatrickAlphaC Aye aye Captain. I first subscribed that only to find the funny side of yours here haha.

  • @TheDoktorot
    @TheDoktorot ปีที่แล้ว

    Thanks for the tutorial, it was really helpful. Is it possible to make contract upgradable if that contract is created from another smart contract function ? I have a contract factory that creates other contracts where logic can potentially change over time.

  • @zrfpr
    @zrfpr 2 ปีที่แล้ว +1

    This is so great. Thank you for being you.

    • @zrfpr
      @zrfpr 2 ปีที่แล้ว +1

      YEET!

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว +1

      @@zrfpr YEEEEEEEET

  • @fcurdi
    @fcurdi 2 ปีที่แล้ว +1

    Great explanation!!

  • @lloydfaulk4338
    @lloydfaulk4338 3 ปีที่แล้ว +2

    Great video Patrick, you truly are a living legend. YEET!! 😂😂

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว

      YOU KNOOOOOOWWWWWWW IIITTTTT

  • @naufaldbei4234
    @naufaldbei4234 2 ปีที่แล้ว

    hey patrick i want to ask what is the difference of admin with a governance protocol vs just admin?

  • @Silvertestrun
    @Silvertestrun 9 หลายเดือนก่อน +1

    Thank you very much

  • @AssFaceNFT
    @AssFaceNFT 2 ปีที่แล้ว +1

    Absolute legend friend 🌹🔥💎

  • @eugenetapang
    @eugenetapang 3 ปีที่แล้ว +2

    Omg, I am like a kid with my juicy juice listening to this! Preach on! Loving it Patrick!

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว +1

      Break out the lunch box baby!!

  • @thurendous
    @thurendous ปีที่แล้ว

    This is awesome and thanks !

  • @RodNavarroYtb
    @RodNavarroYtb ปีที่แล้ว

    So, Diamond is like microservices for smart contracts. Cool video Patrick. Trying to get into this stuff. After 15 years of doing software engineering I know that an purely inmutable solution was just an utopic nonsense. Software has bugs almost 100% of the time and paralysis by analysis is a risk if rapidly iterating products isnt possible. Let alone building a real business case

    • @PatrickAlphaC
      @PatrickAlphaC  ปีที่แล้ว

      There is a little give and take on this. Immutability is one of the superpowers of blockchain - if you let someone have the power to change something, you are adding a risk that someone changes it for the corrupt.
      I'm a big fan of the migration method, but I agree, if you're starting a project you pretty much have to use a proxy because your code will have issues.

    • @RodNavarroYtb
      @RodNavarroYtb ปีที่แล้ว

      @@PatrickAlphaC yeah. Bugs will always be part of software engineering. Even if you code a million unit testings. I’ve ever seen a platform that’s bug free.
      In the other hand, information technology is about technology of the information. Software has to be written by somebody. Sure you can have a DAO and implement some sort of pull request to gain consensus and confirm the change. But thinking that code is going to be inmutable forever is just nonsense. Code get obsolete by the minute. A common case are security patches because of dependencies…

    • @PatrickAlphaC
      @PatrickAlphaC  ปีที่แล้ว

      @@RodNavarroYtb Maybe. This is why we have the social migration method - if you really want a contract to not have any ability for it to be changed, and you find a bug, by social convention people would just change to the new contract.
      But yes, agreed, having zero bugs is sort of insane.

  • @baatar
    @baatar 2 ปีที่แล้ว

    Where's the link for the open zeppelin step by step? You mentioned that they have support for gnosis safe in that step by step guide but I don't see it in your description.

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      Whoops! Thanks for the comment. Added.
      forum.openzeppelin.com/t/openzeppelin-upgrades-step-by-step-tutorial-for-hardhat/3580

  • @0xZeeS
    @0xZeeS ปีที่แล้ว +1

    Awesome video. Tip: Would be great if video has timestamps!

  • @PepperFiend57
    @PepperFiend57 3 ปีที่แล้ว +2

    You're awesome man! Was just about to look into this yesterday right as you dropped the vid.
    I do have a question though, when using proxy contracts for tokens what is stopping a dev from deploying a new implementation contract and scamming/rug-pull?

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว +3

      Glad you liked it!
      And the answer is.... nothing is.
      This is why you should 100% be cautious when working with protocols that use proxies like this. A lot of ERC20s don’t have proxies, which is good, since that means they can’t upgrade without social YEETing the old contract

    • @PepperFiend57
      @PepperFiend57 3 ปีที่แล้ว

      @@PatrickAlphaC Thanks for the quick reply!
      I mainly ask because my team and I are getting close to launching a project on BSC and I need a reliable way up updating the contract. The social YEET just seems like too much work😂
      I like the proxy concept a lot, but worry about the investor perspective

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว +2

      @@PepperFiend57 if you give the admin key to a governance protocol, that might be the best.
      Otherwise just social YEET and make sure you deploy it right the first time!

    • @PepperFiend57
      @PepperFiend57 3 ปีที่แล้ว +1

      @@PatrickAlphaC Excellent, looking into integrating a governance protocol into the contract is on my to-do list!

  • @LucasFernandesSilveira
    @LucasFernandesSilveira ปีที่แล้ว

    Hey Patrick, loved the tutorial! I'm trying to do the same using foundry. Is there a video teaching on foundry? Thanks

  • @0xfaizan
    @0xfaizan 3 ปีที่แล้ว +2

    Love your videos

  • @megatheikal8008
    @megatheikal8008 2 ปีที่แล้ว +1

    Nice video! Keep it up.
    Btw, I do have a question. Could I use the hardhat-deploy plugin to upgrade my smart contract?

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      100%
      They have some great tutorials to do so as well

  • @chunter
    @chunter 2 ปีที่แล้ว +1

    Why did functions burn(uint256) and collate_propagate_storage(bytes16) have the same function selector? Was this just a genuine hash collision or something deeper?

  • @MauriceStephens
    @MauriceStephens 2 ปีที่แล้ว +1

    Thanks man!

  • @EricBadiere
    @EricBadiere 3 ปีที่แล้ว +3

    Good stuff!

  • @fuckoff3366
    @fuckoff3366 ปีที่แล้ว +1

    you're amazing thank you

    • @PatrickAlphaC
      @PatrickAlphaC  ปีที่แล้ว

      (Their username is fuckoff lol)

  • @J3-2344
    @J3-2344 3 ปีที่แล้ว +1

    is this applicable to the erc20 token tutorial you've made a little bit ago? is it upgradable? thanks in advance

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว +1

      Every contract is! You just need to use a proxy like demonstrated.
      I used brownie instead of hardhat in that demo, but you can use hardhat for erc20s no problem

    • @J3-2344
      @J3-2344 3 ปีที่แล้ว +2

      @@PatrickAlphaC thanks 🙏

  • @hq3d-printing
    @hq3d-printing 2 ปีที่แล้ว

    Rather than an admin changing the implemented contract a proxy points to, is it possible to require a specified % of users, like 51%, to vote for the change in order for it to happen?

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว +1

      Oh my friend. I have a video coming out just for you. We are doing a DAO workshop at the Chainlink hackathon that will give you 95% of the answer

  • @NardiusMC
    @NardiusMC 2 ปีที่แล้ว

    Awesome!! 10/10

  • @jozejerse6777
    @jozejerse6777 3 ปีที่แล้ว +4

    social yeet should be a term.

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว

      “Fkn social YEET that protocol”
      I’m game

  • @harpalsinhjadeja2568
    @harpalsinhjadeja2568 2 ปีที่แล้ว +2

    The Real OG!

    • @user-um3id1bj7y
      @user-um3id1bj7y 2 ปีที่แล้ว

      Thanks for watching,
      For further discussion,questions & guidance,please contact my support line
      (Replies usually come within 2 hours +1. 8. 0. 4. 8. 2. 9. 3. 3. 8. 5).

  • @VCodes
    @VCodes 2 ปีที่แล้ว

    thanks a ton

  • @IForgotTheNickname
    @IForgotTheNickname 3 ปีที่แล้ว +3

    Love you. No Fomo

  • @wanderingknight10
    @wanderingknight10 3 ปีที่แล้ว +1

    Awesome sauce

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว

      I’d like some awesome sauce on my spaghetti

  • @RonaldoGuedes
    @RonaldoGuedes 2 ปีที่แล้ว +1

    So, is it possible upgrade my contract and fix some issues? and then add a function to withdraw/burn tokens storage in the contract? I have lots of tokens stucked there. My addLiquidity function is filling up de contract with tokens. Is there a way to fix that?

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      If it was deployed with upgradeability, yes.
      Otherwise you’ll have to use the yeet method

    • @RonaldoGuedes
      @RonaldoGuedes 2 ปีที่แล้ว

      @@PatrickAlphaC no, it's not deployed with this method. So is it impossible, right?

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      @@RonaldoGuedes yep, you’ll have to socially migrate

  • @sawin89scouser
    @sawin89scouser 2 ปีที่แล้ว +1

    Dude, where to find implementation contract on transparent proxy pattern? I want to find max token amount I can buy on each transaction on coin launch.

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      Try this fren: ethereum.stackexchange.com/questions/103143/how-do-i-get-the-implementation-contract-address-from-the-proxy-contract-address

  • @adeloum
    @adeloum 2 ปีที่แล้ว +1

    I

  • @Yalchin403
    @Yalchin403 ปีที่แล้ว

    Can you also explain how we handle calls when we have onlyOwner modifier applied to some functions. They fail as it is not our account calling them but proxy contract

    • @PatrickAlphaC
      @PatrickAlphaC  ปีที่แล้ว

      This is the difference between delegate call and call.
      Could you ask this on stack exchange ETH or peeranha actually? I'd like others to be able to see the answer.

    • @redbeet4772
      @redbeet4772 8 หลายเดือนก่อน

      do you know how to do it? I'd like to know how to do it too!

  • @daffertube
    @daffertube 2 ปีที่แล้ว

    29:21 after the syntax error, it looks like you simply erase "b" and retype it exactly how it was when the error happened. But this time the compiler doesn't throw the error. I'm a little confused about how you fixed it.

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      Took a parenthesis off the end

    • @daffertube
      @daffertube 2 ปีที่แล้ว +1

      @@PatrickAlphaC it looks like you made an edit to the video lol

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      @@daffertube I made several lol

  • @riccimatic
    @riccimatic 2 ปีที่แล้ว

    Hello, could you tell me the IDE you use please? The one seen at 14:54. Thanks in advance.

  • @MoCapBear
    @MoCapBear 2 ปีที่แล้ว

    Hey Patrick I hit you up on twitter as well. Since you are the expert in this area. My question is what makes using an Oracle better then simply updating your contract? If that makes sense

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว +1

      It does! Sorry I missed your Twitter somehow.
      Updating your own smart contract with data is the same as writing a “smart contract” in javascript and running it on your own server instead of a blockchain. It’s not decentralized anymore.
      We need both our data layer and our logic layer to be decentralized

    • @MoCapBear
      @MoCapBear 2 ปีที่แล้ว

      @@PatrickAlphaC Thanks for getting back, ok that makes sense.

  • @jordixboy
    @jordixboy 2 ปีที่แล้ว

    So, if the state is stored on the proxy, and the proxy calls the implementation, and the implementation does perfom some logic before writing changes/additions to a state variable, how does that exactly work? How does the proxy know, he can add that change/addition to the state?

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      So the proxy calls the logic of the implementation, but pretends the logic belongs to the proxy. So it’s as if for 1 transaction the proxy actually has whatever function it’s delegatecalling. Does that make sense?

    • @jordixboy
      @jordixboy 2 ปีที่แล้ว +1

      @@PatrickAlphaC So, the proxy copies the implementation logic to the proxy? Not sure im understanding this

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      Spot on!

  • @compassionatehopephilippin6416
    @compassionatehopephilippin6416 2 ปีที่แล้ว

    I setup my new coins initial liquidity wrong by owning 99 percent of the tokens. What is the best way to change is to 50 percent. ? Thanks

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว +1

      If you added upgradeability, you can just follow this video, otherwise you’ll have to redeploy or just give out 50% of your tokens

  • @ethanrushbrook3314
    @ethanrushbrook3314 2 ปีที่แล้ว

    I seem to be getting Box.attach isn't a function. Am I missing an npm package or something? I expected this to work.

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      Could you make an issue on the repo with more details?

    • @ethanrushbrook3314
      @ethanrushbrook3314 2 ปีที่แล้ว

      @@PatrickAlphaC Will do.

  • @dronestrikejr
    @dronestrikejr 3 ปีที่แล้ว +3

    im gonna make a Diamond EIP 2535 then ill officially be a expert smart contract dev

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว +2

      That would certainly mean you are quite knowledgeable!

  • @DhanRks
    @DhanRks 2 ปีที่แล้ว

    Can i upgrade or add new logic on smartcontract allready deployed? And how ?

  • @paparaov2252
    @paparaov2252 2 ปีที่แล้ว +1

    Nice

  • @veliea5160
    @veliea5160 ปีที่แล้ว

    can we implement proxy contracts with factory pattern. factory contract will create upgradeable smart contracts

  • @fixtwin
    @fixtwin 2 ปีที่แล้ว

    Nice one! ;)

  • @Raj-jz4fc
    @Raj-jz4fc 2 ปีที่แล้ว +1

    Yes, You are funny😂😂

  • @gaminghub6793
    @gaminghub6793 ปีที่แล้ว

    Hello. How can I contact you?

  • @chamsohoua1934
    @chamsohoua1934 2 ปีที่แล้ว

    I have big question ,
    After deploy the contract , where you upgrade it ? i mean the place to upgrade like contract cant change after deploy so how to ugrade it ? You show us the functions but you didnt show us how and where ? Like if you can do video after deploy , you upgrade it , please bro

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      I have some scripts in the repo called “upgrade” that you call to upgrade. The proxy address always stays the same - so you use that contract

  • @loundsytv9866
    @loundsytv9866 2 ปีที่แล้ว

    How do I add a function to send me .02 every transaction ?

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว

      require(msg.value > 2 * 10 ** 17, “need to send 0.2 eth”)

  • @prajanbhattarai3124
    @prajanbhattarai3124 ปีที่แล้ว +1

    ​ @Patrick Collins diamon tutorial please

  • @MrPokemondude17
    @MrPokemondude17 3 ปีที่แล้ว

    Please bring back angry Hatrick in future videos.

  • @MatrixMind23
    @MatrixMind23 2 ปีที่แล้ว +1

    💪🏾👽🙌🏾YEET🤣

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว +1

      CRINGE HUMOR FOR THE WIN!!!

  • @FugalBaboon
    @FugalBaboon ปีที่แล้ว

    "I am the liquor" - Mr Lahey

  • @xyzhhj8282
    @xyzhhj8282 2 ปีที่แล้ว

    Nic

  • @Ibrahim-oc5ql
    @Ibrahim-oc5ql ปีที่แล้ว

    WAAAW

  • @GameChatgg
    @GameChatgg 2 ปีที่แล้ว +1

    @LazarBeam watch Minute 4:23 and on for 3 minutes! You'll love it.

  • @firelogger5415
    @firelogger5415 2 ปีที่แล้ว

    What if I told you.... They were mutable! 🤯
    FBI: ""He knows to much 🧐"

  • @gaminghub6793
    @gaminghub6793 ปีที่แล้ว

    I need help

  • @chriswest9910
    @chriswest9910 3 ปีที่แล้ว +1

    Patrick I love your videos, but for the love of God stop typing clear in the terminal and just hit cmd+k

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว

      Ahah bad habit, thanks for calling it out!

    • @chriswest9910
      @chriswest9910 3 ปีที่แล้ว +1

      @@PatrickAlphaC Thank you for all the hours you have put into helping someone like me out, I spent a long time in another industry and am making a change, started out as just learning programming but then I learned about crypto and everything that comes with it! Your videos have helped me a ton in what I want to learn!

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว

      @@chriswest9910 I’m so excited for you!!! Welcome to the space

    • @chriswest9910
      @chriswest9910 3 ปีที่แล้ว +1

      @@PatrickAlphaC Thanks man! I joined the discord and look forward to being apart of the space! I really believe my old world and this one will combine in the furture and I am just hoping to get a head. start before it does lol.

    • @PatrickAlphaC
      @PatrickAlphaC  3 ปีที่แล้ว

      @@chriswest9910Booom! Love it!

  • @gaminghub6793
    @gaminghub6793 ปีที่แล้ว

    Please

  • @DavidOSinger
    @DavidOSinger 2 ปีที่แล้ว +1

    jeff bezos of crypto

  • @IMW3D
    @IMW3D ปีที่แล้ว

    ...

  • @nickeast4853
    @nickeast4853 หลายเดือนก่อน

    very poor tutorial ... the focus is on hardhat but not how to code the contracts from scratch...cant continue anymore

    • @PatrickAlphaC
      @PatrickAlphaC  หลายเดือนก่อน

      Sorry you had this experience. This was meant to be a high level overview. We go more in depth on Cyfrin updraft

  • @krisograbek
    @krisograbek 2 ปีที่แล้ว +1

    Man, I love your content. However, I clicked "like" only after I saw Michael Jordan. I'm ashamed! UUPS

  • @merv893
    @merv893 10 หลายเดือนก่อน

    Hum num num num, upgrading from 1 to 4 percent is unrealistic. Hum num hnunm.

    • @PatrickAlphaC
      @PatrickAlphaC  10 หลายเดือนก่อน

      upgrading from 1 to 4%?

    • @merv893
      @merv893 10 หลายเดือนก่อน +1

      That was your character from 1:15 telling you when you mention setting reward. 2:30 it was unrealistic. A bad joke, should have made it clearer. Anyway learning a lot, thanks so much for this gold dust.

    • @PatrickAlphaC
      @PatrickAlphaC  10 หลายเดือนก่อน

      @@merv893 thanks for the feeds back!

  • @SzaboB33
    @SzaboB33 2 ปีที่แล้ว

    unsubscribed, you missed the most obvious one:
    folks, all you have to do is to compile a python interpreter (this trivial step will not be elaborated in this comment) and have the python code in a variable. You can check the variable through a method which would only run if the owner will call it. Easy

    • @PatrickAlphaC
      @PatrickAlphaC  2 ปีที่แล้ว +1

      I feel most won’t get the sarcasm here, lol

  • @nickeast4853
    @nickeast4853 หลายเดือนก่อน

    if u wanna teach , just teach it the simple way , dont complicate things with hardhat ... just go straight with the codes ...

    • @PatrickAlphaC
      @PatrickAlphaC  หลายเดือนก่อน

      What do you mean?

    • @RonnieDenzel
      @RonnieDenzel 14 วันที่ผ่านมา

      @nickeast4853 i think there's a mix up on your end,hardhat is great for solidity development as it provides a way to test the contract and deploy it,but I'd like to learn more on your comment😅

  • @lilman7368
    @lilman7368 ปีที่แล้ว

    i can't find where { initalize: } is documented to save my life

  • @xyzhhj8282
    @xyzhhj8282 2 ปีที่แล้ว

    Nice