Learn Solidity, Blockchain Development, & Smart Contracts | Powered By AI - Full Course (7 - 11)

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ต.ค. 2024

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

  • @kosedogus
    @kosedogus ปีที่แล้ว +203

    For any of you who are having trouble trying to run a particular test, forge test -m is deprecated, use forge test --match-test (or forge test --mt) instead

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

      I was just running the whole test file thanks for the information!!

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

      Thanks mate

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

      Shortcut: `forge test --mt `

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

      thank you!!

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

      Thank u

  • @mim2598
    @mim2598 ปีที่แล้ว +14

    Aside from all the unnecessary scripts for chainlink stuff which makes the course 100x more difficult for beginners, this is an absolute gem, thanks Patrick for all the work !

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

      I love the fact that you mentioned beginners difficulty. This course it no joke, especially the tests.

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

      I am coming from maybe intermediate python and can read pretty much most code. After lesson 7 I was drained, had to take a day off even looking at solidity to gain more motivation. I guess it will be worse in the other lessons but I'm determined to finish it.

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

      can you tell me what parts of chainlink stuff can I skip through? @mim2598

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

      I went through lessons 0-6 without much problem but im feeling really lost in the lesson 7, any tips?

    • @masa88x
      @masa88x 11 หลายเดือนก่อน +2

      I wouldn't call it unnecessary scripts and link stuff.. how else do you want to learn to interact with other smartcontracts and token? It was quite helpful for me personally

  • @RiccoRosas
    @RiccoRosas ปีที่แล้ว +47

    Timestamps for Lessons 8 & 9!!! :3
    Lesson 8: HTML Fund Me
    (2:37:02) | Lesson Start
    (2:38:59) | Setup
    (2:40:25) | How Metamask works with your browser
    (2:52:34) | Introduction to function selectors
    (3:00:00) | Recap
    Lesson 9: Smart Contract Lottery
    (3:04:09) | Lesson Start
    (3:08:16) | Raffle.sol Setup
    (3:15:53) | Solidity Contract Layout
    (3:17:37) | Custom Errors
    (3:22:00) | Events
    (3:33:29) | block.timestamp
    (3:37:13) | Chainlink VRF
    (3:47:21) | Implementing Chainlink VRF
    (4:03:32) | Modulo
    (4:08:57) | Enum
    (4:13:04) | Resetting an array
    (4:14:31) | Note on building
    (4:16:00) | CEI (Checks, Effects, Interactions)
    (4:18:31) | Introduction to Chainlink Automation
    (4:33:47) | Implementing Chainlink Keepers - checkUpkeep
    (4:40:10) | Implementing Chainlink Keepers - performUpkeep
    (4:43:00) | Mid-Lesson Recap
    *Don't forget to take a break!!! ^v^ *
    (4:44:08) | Tests & Deploy Script Setup
    (4:52:02) | Mock Chainlink VRF Coordinator
    (4:56:25) | Tests & Deploy Script Continued
    (5:04:50) | Lots of Tests
    (5:09:37) | Testing Events in Foundry
    (5:12:37) | vm.roll & vm.warp
    (5:15:21) | Create Subscription Script
    (5:26:41) | Create Subscription from the UI
    (5:30:19) | Fund Subscription Script
    (5:42:29) | Add Consumer Script
    (5:52:44) | More Tests
    (5:59:12) | PerformUpkeep Tests
    (6:03:23) | Getting Event Data into Foundry Scripts
    (6:11:48) | Intro to Fuzz tests
    (6:15:41) | One Big Test
    (6:26:30) | Passing the private key to vm.startBroadcast
    (6:41:08) | Integrations Test
    (6:44:42) | Testnet Demo - Makefile setup
    (6:52:33) | Testnet Demo - The Demo
    (6:59:30) | Console.log Debugging
    (7:01:06) | forge test --debug
    (7:02:07) | Recap
    Decided to post the timestamps so you don't have to jump back and forth from the github :> Thanks based fren patrick for the free knowledge!

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

      thanks man

  • @RiccoRosas
    @RiccoRosas ปีที่แล้ว +30

    Timestamps for Lessons 10 & 11 ( ͡° ͜ʖ ͡°)
    Lesson 10: ERC20s
    (7:08:04) | Lesson Start
    (7:10:42) | What is an ERC20?
    (7:12:06) | Manually Creating an ERC20 Token
    (7:19:01) | ERC20 Token - Openzeppelin
    (7:22:58) | Deploy Script
    (7:25:48) | AI Tests
    Lesson 11: NFTs
    (7:40:56) | Lesson Start
    (7:43:21) | What is an NFT?
    (7:49:54) | Foundry Setup
    (8:00:24) | IPFS
    (8:07:30) | Using IPFS
    (8:13:59) | Basic NFT: Deploy Script
    (8:15:25) | Basic NFT: Tests
    (8:25:31) | Basic NFT: Interactions
    (8:28:24) | Basic NFT: Testnet Demo
    (8:34:32) | The issue with IPFS & HTTPS TokenURI NFTs
    (8:38:30) | What is an SVG?
    (8:45:54) | SVG NFT: Introduction
    (8:50:03) | SVG NFT: Encoding the NFT
    (9:06:41) | SVG NFT: Flipping the mood
    (9:08:44) | SVG NFT: Deploy Script
    (9:25:46) | SVG NFT: Debugging practice & some notes
    (9:31:29) | SVG NFT: Anvil Demo
    (9:36:58) | Filecoin & Arweave
    (9:44:02) | Advanced: EVM Opcodes, Encoding, and Calling
    (10:06:27) | Introduction to Encoding Function Calls Directly
    (10:12:16) | Introduction to Encoding Function Calls Recap
    (10:14:15) | Encoding Function Calls Directly
    (10:28:45) | Verifying Metamask Transactions
    (10:36:31) | Lesson 11 Recap
    🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊
    !!!Completed Video 2!!! :D :D :D
    🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊
    If you made it this far congrats! :>
    You are now obliged to get some Ice Cream like what Patrick said 🍦🍦🍦

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

      you should put an empty line between each line so it's easier to click each timestamp, avoid mis-clicking

  • @captpython3725
    @captpython3725 ปีที่แล้ว +6

    Woow .. This is the course what I was looking for . Thank you again @patric for this wonderful resource .. I bet this course is a Gold standard in Web3 learning

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

      It is fren :)
      Thanks for watching!

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

    Just finished the vid! Thanks Patrick!!! The only comprehensive Solidity course on the internet

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

    Personal tracking
    10:23:10
    9:45:52
    8:47:38
    8:33:35
    7:41:01
    6:23:57
    6:11:49
    5:55:04
    5:20:13

  • @shashanktrivedi9085
    @shashanktrivedi9085 ปีที่แล้ว +43

    Timeline
    (0:00:00) chapter - 7
    (0:00:08) - introduction
    (0:02:51) - Setup
    (0:04:41) - Testing introduction
    (0:06:15) - setup continued
    (0:11:55) - tests
    (0:20:45) - Debugging Tests 1
    (0:23:17) - Advanced Deployed Scripts I
    (0:25:46) - Forked Tests
    (0:34:19) - Refactoring I: Testing deploy scripts
    (0:41:30) - Refactoring II: Helper Config
    (0:54:33) - Refactoring III: Mocks
    (0:58:42) - Magic Numbers
    (1:00:45) - Refactoring III: Mocking continued
    (1:05:06) - More Cheatcodes
    (1:17:38) - More coverage
    (1:32:25) - Chisel
    (1:33:50) - Gas: Cheaper Withdraw
    (1:38:37) - Storage
    (1:45:03) - Back to video after excerpt
    (1:48:22) - Cheaper Withdraw (continued)
    (1:56:13) - Interactions.s.sol
    (2:10:56) - Makefile
    (2:19:13) - Push to Github
    (2:35:11) - Recap

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

      Thank you!! Can you add these to the GitHub repo?

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

      @@PatrickAlphaC ya sure I would love to that

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

      thank u man?

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

    Patrick is a very competent instructor - explained all concepts well and clearly, the course has helped provide an intermediate starting point for understanding programming in Solidity, Foundry Book, Chainlink Api-Docs, Automation-Subscription and AlchemyApi- which certainly will prove useful gaining a sound Solidity Knowledge Foundation. Pace - excellent, content - superb, good use of theory and very hands-on, thank you very much! Exactly what I wanted albeit puzzling at times rewatching the videos and coding persistently really helps. looking forward to lesson 10 and beyond...Thanks Again🚀

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

      Thank you for the kind words !!!

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

    The lesson 9 has became more of a chainlink tutorial , has increased the complexity

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

    Thank you for the lesson. Onwards and upwards🚀

  • @intellectance9893
    @intellectance9893 ปีที่แล้ว +10

    Bro this is way underrated
    For me this three videos are acting as a course that I am doing to get job and internships and hopefully will soon grab one if able to complete 👌💯the whole three videos

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

      how the things did go?

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

      Did you get a job or an internship in the meantime?

  • @shruti.c
    @shruti.c ปีที่แล้ว +3

    I didn't understand the purpose of using Interactions to call the fund and withdraw methods. Why can't we directly make calls to these methods from the FundMe contract? Why do we need the Interactions.s.sol?

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

    Looks like another editing gaffe at 2:08:02? Really confusing, man!

  • @shruti.c
    @shruti.c ปีที่แล้ว +2

    Does anyone feel that it is a lot of hard work to generate random numbers?

  • @migueldlr88
    @migueldlr88 ปีที่แล้ว +5

    i have 0 knowledge in coding, i studied medicine, for 5 years brah. Thought this was gonna be impossible to achive at my age(34) but im doing quite good. Hope a can get there this year.
    Thanks a lot for all the lessons, really really high value on this videos. Good luck in everything man

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

      You still working on it?

  • @Alex-vi6fr
    @Alex-vi6fr ปีที่แล้ว

    These video are so valuable lession. thank u patrick

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

    nfts session , not all nfts on open sea has read contracts so we must choose these with read contract

  • @bibashtandon6516
    @bibashtandon6516 ปีที่แล้ว +6

    5:52:12 I did take a break 😅

  • @d3.finance
    @d3.finance 9 หลายเดือนก่อน +3

    No ice cream! If you need a break, go hit the gym!@!@
    Love the course Patrick. 3rd time through. Really sinking in, especially the programmatic deployment and fuzz tests. Thank you.

  • @zachcomeau41
    @zachcomeau41 9 หลายเดือนก่อน +4

    This is a very good course. The way it is set up allows you to get some victories along the way to encourage you to keep pushing forward until completion.
    Patrick is a very good instructor and a wealth of knowledge and best practices.

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

    phew~ lesson 8!! :D

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

      Keep it up!!

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

      takin mandatory break time :) in the middle of Lesson 9.

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

      @@LareienHan mandatory break time!!

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

    is lesson 8's ipfs broke for anybody else on solve?

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

      i think i m facing the same issue

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

    Chainlink VRF creating random lines could belong in a modern art expo

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

    This is everything I've been looking for since diving into Web3! I'm extremely grateful and looking forward to jump in the trenches with the rest of the Web3 Security Researchers. This is gold and Patrick is a God Send

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

    Thanks Patrick. Learned a LOT!

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

    Patrick, thanks for the course and everything, but your naming of contracts and other entities makes it 100x more confusing. 02:06:44

  • @jagatjunglakandrib.k8458
    @jagatjunglakandrib.k8458 11 หลายเดือนก่อน +1

    Part one done. Part Two Here I come.

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

    2:00:00 why are we doing interaction test , what is the purpose of it? is normal testing not enough? Please answer

    • @0x0-Issa
      @0x0-Issa ปีที่แล้ว +3

      Ensures that our contracts work together as intended (interactions between different smart contracts).

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

      Got it , thanks 👍

  • @user-bg1xm8di7s
    @user-bg1xm8di7s 8 หลายเดือนก่อน +1

    Great course as usual but when i want pratict with your code nothing works, everytime vsc code ask me for some parameter but on your course you dont need them. I've try with different fundMe code from different course but same prob

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

      Thanks for the feedback. Could you make a discussion in the github discussion with exactly the issue you're running into?

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

    mapping can be used to store tha players that endered. then we use the random number to get the player base on its id storedPlayers[random] will return the players address
    There will be no need to loop through the array of players.
    uint256 private s_playerCount;
    mapping(uint256 => address payable) private s_playerIndex;
    function enterRaffle() external payable {
    if (msg.value < i_entranceFee) {
    revert Raffle__NotEnoughEthSent();
    }
    s_playerIndex[s_playerCount] = payable(msg.sender);
    s_playerCount++;
    }

  • @KaranArora-br7ko
    @KaranArora-br7ko ปีที่แล้ว +2

    Anyone willing to learn together and be accountable to each other so we both can learn and put two brains to solve each other's Doubt? Please let me know so that we can connect.

    • @0x0-Issa
      @0x0-Issa ปีที่แล้ว +1

      Hello, me

    • @Movie-jet
      @Movie-jet 7 หลายเดือนก่อน

      ​@@0x0-Issalet connect together

    • @Ryan-pq8nf
      @Ryan-pq8nf 4 หลายเดือนก่อน

      Hey, how is the going? Did you get anyone ?

    • @Movie-jet
      @Movie-jet 4 หลายเดือนก่อน

      @@Ryan-pq8nf Hey, I'm interested, how do we go about it.

  • @akashsky6100
    @akashsky6100 2 หลายเดือนก่อน +2

    For Windows:
    - Ctrl+L to clear the Terminal
    - Ctrl+J to hide and unhide terminal. It gives you more workspace.

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

      ah nice!

    • @akashsky6100
      @akashsky6100 2 หลายเดือนก่อน +2

      @@PatrickAlphaC Thanks man. You have no idea how much this video is helping me. Solidity is my 1st language and i am happy to have a great teacher like u in my journey.

  • @ayanmohammed7739
    @ayanmohammed7739 ปีที่แล้ว +5

    Hello everyone, just finished the first video and it is a great starting point. Patrick has done a phenomenal job in these videos!!
    If there's anyone who'd wanna team up to complete this series then please do reply!!

  • @glowlog
    @glowlog ปีที่แล้ว +5

    Damn, difficulty really ramps up for me around lesson 7 near 2:08:20, nonetheless I will carry on and finish 😇

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

      Hi sir, what is the situation now? Difficulty ramped up for me also around 0:46, I'm struggling to understand and slowed down. Did you finish the course?

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

      @@motogascar I'm at 7:25:03 now

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

      @@motogascar I think the best advice I could give would be you need to be comfortable at times with not knowing what's going on, many of the concepts like abi encoding or keccak hashing didn't click for me until a day or 2 later after hearing about it for the first time

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

      @@motogascar hey, how you guys doing now? Difficulty ramped up for me 0:00, I didn't even clicked the video yet, any progress on your side?

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

    Am do happy with this course I start right away

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

    I didnt like the filecoin explaination at all sorry but i already know what rollups and stuff are so i got the idea but for beginners it would be overwhelming. It would be good if you dont invite somone for explaination we are here to see you sir. [ITS JUST AN SUGGESSTION]

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

      Love suggestions, this is how I improve. Thank you for the feedback!

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

      Love suggestions, this is how I improve. Thank you for the feedback!

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

    Thanks for sharing such a amazing course! It gives me a door to a brand new world!

  • @amank8950
    @amank8950 ปีที่แล้ว +6

    These three videos are the best things that have happened to me in the last 3 months 🥳

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

      Just wait till you finish them and you life levels up even more

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

      Hang in there buddy (although these are indeed great videos)

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

      @@PatrickAlphaC these videos based on ethereum 2.0 ?

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

      @@hammadsaleem7554 yes! Although it’s known as “the merge” now

  • @keccak32
    @keccak32 ปีที่แล้ว +7

    0:27:27 - forge test --mt testVersion

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

      Oh boy! Chat gpt knows nothing about -m error :(

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

      thanks!Where i find those changees?

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

      @@bambatsa xxxxx --help

  • @0x0-Issa
    @0x0-Issa ปีที่แล้ว +3

    is it just me or the tests section (min 30-2.00.00) was heavy?😮‍💨

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

      It's supposed to be. When you ship smart contract code, it needs to be this intense. Often I spend more time writing tests than the actual code.

    • @0x0-Issa
      @0x0-Issa ปีที่แล้ว

      @@PatrickAlphaC Okay, thank you

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

      for me too.. and it's being harder for my job..

  • @AhmedKhan-rt6oz
    @AhmedKhan-rt6oz ปีที่แล้ว +3

    I think Patrick makes this Fundme a little bit more complex

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

      Thanks for the feedback! It does ramp up a little quick. Perhaps I need a buffer project before that

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

      Hi @PatrickAlphaC, thank you so much for this course-it's awesome! I appreciate you paving the way for the rest of us. I'm currently at 2:00:00, and I'm feeling a bit lost as the difficulty ramped up quite steeply. I'll keep moving but a buffer project would be great for everyone else coming behind. Thank you!!

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

    At 1:32:15 he exactly says what I was wondering

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

    I need to put some cash on my Visa card. Thankyou

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

    Hi, I have a question about foundry, can we make Dapps with it or we need to pass with hardhad and so on?

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

      You can make dapps with foundry!

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

    (2:52:34) Does anyone know what version of MetaMask this is? I have MetaMask v10.33 and it looks nothing like this. I do not find the Hex information, is there a setting to turn it on?

  • @Nanda-hg6pp
    @Nanda-hg6pp 8 หลายเดือนก่อน

    should I first learn solidity then come to this video ? Actually i am very beginner in blockchain

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

      Go to part 1! (see my other video in this playlist)

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

    I have a doubt, how does blockchain stores bulk of data ? does it get stored in the database? if it is, then how is it so different then conventional web2? Please help me know the answer 🙏🙏🙏🙏🙏🙏

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

      I believe the difference is that there is no central database, the data of the blockchain is stored on each individual node of the blockchain. That's what makes it so special, if a node goes down, or a node is malicious, we can safely move on from that node because the rest of the blockchain nodes will have the data from the blockchain.

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

      All the data is stored on.. Drum roll.. every node that runs the software!
      If you're confused, i'd watch part 1 of this master course first!

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

      @@PatrickAlphaC Will do, thanks

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

    make mint command at 8:33:00 is not working for me. Did anyone else had issue with it?

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

      i also have this issue

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

      i couldnt verify my contract and i dont know why?

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

    2:05:00

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

    There is an error on result of modulo operation. 2 % 3 = 2 not 1 and so on

  • @yas2591
    @yas2591 11 หลายเดือนก่อน +2

    5:52:11 I swear I did take a breake 😂😂

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

    5:50:43 had me all 🥳🎉💥🎊🎉🎈🎖

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

      Patrick's comedy is underrated.

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

      Where do i get that blue emoji bruh

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

    Lets goooooooooo! I am so happy that I am crying 😭

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

      Us

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

      You gonna make me cry

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

      @@PatrickAlphaC thank you for everything Patrick

  • @0x0-Issa
    @0x0-Issa ปีที่แล้ว +2

    Thank you so much Patrick 🙏🏾. Just finished this massive lesson. Only way is up from here 🚀

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

    4:55:48 Why setting a keyHash for the anvil network dont really matter ? Is it because on the local network (anvil) gasprice default to 0 ?

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

      It doesn’t really matter ahah

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

      @@PatrickAlphaC Iam a little bit confuse but i guess it doesnt really matter :)

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

    I'm experiencing some issues with the 'Lesson 8: Html/Js Fund Me' section. Can anyone assist me?
    (1) The problem I'm facing is that the app doesn't produce an error when I use the 'fund' function, even if I haven't deployed the contract locally using the 'make deploy' command. Consequently, the 'withdraw' function doesn't seem to work.
    (2) Additionally, I'm not receiving the 'onlyOwner' error(2:59:07) when I attempt to use the 'withdraw' function with a non-owner wallet.

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

      can you ask in the github repo? thank you!

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

    Great course, loving it so far. Has anyone else had an error with the 'testFundUpdatesFundedDataStructure' test in lesson 7? My code is identical to Patricks, however I keep getting revert errors, not sure what to do

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

      could you ask in the github repo? Thanks!

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

    Please when you coding in vscode zoom out a bit like 20% this give us a better picture 🙏🙏💙💙

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

    Can I get a sneak peek, please, I really don't know how to improve my rankings

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

      Today you’ll get more than that

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

    Seems like error at 4:05:00, 2 % 6, 2 % 7, 2 % 3 should be all 2. and the reverse 6 % 2 = 0, 7 % 2 = 1, 3 % 2 = 1;

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

      yes! My mistake... We updated it in the github

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

    I am seriously thinking right now about the choice of using the UI or doing all that Script work especially if you are a solo dev on the project

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

    Hi Mr. Collins, after finishing this course, where can I practice my skills before joining the audits? thanks a lot

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

    Is it okay to write the deployment code in Solidity, rather than writing it in JavaScript? I want to know what is best nowadays because, in your FreeCodeCamp video, you used JavaScript to write the deployment code.

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

      @@sakshammishra513 I like foundry these days!

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

      @@PatrickAlphaC btw enjoying your course

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

    At what point did we setup the .env file? I tried to copy what patrick has @6:30:22 but it must be specific to my machine. How do I find the right url and private key for sepolia?

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

      Could you ask in the GitHub discussions?

  • @СилвияБрянова
    @СилвияБрянова ปีที่แล้ว +1

    The shorter version of `forge test --match-test` is `forge test --mt `

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

    I think I may replace chainlink solutions with my own custom solutions for practice. I am sure I can find a way for randomness and also time automatations(maybe blocks). I suggest you do that too

    • @Victor...P1
      @Victor...P1 6 หลายเดือนก่อน

      hello, mind if i mail you?

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

      @@Victor...P1 why?

    • @Victor...P1
      @Victor...P1 5 หลายเดือนก่อน

      @@urus_gre1035 i figured since we both did this course we might have shared interest,
      Also would like to learn more whilst improving collaborative skill.

    • @Victor...P1
      @Victor...P1 5 หลายเดือนก่อน

      @@urus_gre1035 I figured since we both did this course we might have shared interest,
      I would also like to learn from you whilst improving collaborative skills.

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

    Phenomenal videos Patrick
    Details and technique are so simple and shown
    your tutorials are always unique

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

    how to recomment file when import library. I had install solidity extension on vscode

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

    Patrick, I am in the middle of the second part and I am already In love with smart contracts, and with your way of teaching. I will finish this course and ethical hacking for sure. On 3:24:50 you mention a new full-stack course in web3. Are you going to publish it?

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

      Probably end of the year :)

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

    Hi @Patrick
    Thanks for the wonderful course
    I would like to know at 22:55
    Has anyone been able to determine the source or origin of the address "0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38"? It seems to be unrelated to the generated addresses provided in the foundry.

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

      What do you mean? The source or origin?

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

    87

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

    569th... Thanks Patrick

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

    42:00 - 2:37:00 = skipped (later)

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

    I just coded the two test functions we had to write ourselves. It was pretty tough, took me like 20 minutes, but I think they work how they're supposed to (they do look a bit different than your solutions on the repo though)! It really helped making all the other code make more sense, I was just copying everything you did without understanding it fully but now it makes more sense to me. I think it's a good idea to give more little assignments like that every once in a while.

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

    4:05:04 how Is 2 modulo 3 = 1. ? May be i'm tripping but the result is 2.

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

      It’s wrong - sorry, fixed in the chronological updates file

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

      @@PatrickAlphaC Thanks Patrick for sharing this amazing course for free.

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

    Hey, I wanna learn js too, should I watch your freecodecamp js edition video's front end part after the contract coding?

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

    Best course in solidity

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

    Thank you for these high quality tutorials Patrick! I have learned a great deal with them. Awesome job! I am indeed very grateful.

  • @TheAncientRomanDoge
    @TheAncientRomanDoge 8 หลายเดือนก่อน +2

    Learning tip for terminal commands: Although Patrick uses the button for up to access previously typed commands, do NOT use that. Instead, keep in your mind that by pressing the up button you can go through previous terminal commands but try to type them out manually during the course, they will stick in your mind much better than if you type them once and then just use the upper arrow to access them.
    Similarly, I avoided installing the Github AI helper for the same reason. The more one repeats manually commands, writing of functions, variables etc during the course, the more will stay with him or her and you will learn to THINK instead of relying on the AI. I plan to install the AI helper AFTER the course though.

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

      Great suggestion

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

      I also take my time, 100% much more than the average person to go through this course because besides from being able to type code, I want to deeply understand as much as possible by repeating certain segments, stopping the video and coding the contracts entirely on my own after a lesson. Uninstalling MS code and/or Foundry and re-installing it on my own, creating directories, deleting directories, remaking directories, moving from one directory to the other etc, running scripts and commands etc on my own so I can learn to think by myself and to solve problems by myself without needing my hand held. If someone really wants to learn, I heartily recommend it. @@PatrickAlphaC

    • @Victor...P1
      @Victor...P1 6 หลายเดือนก่อน

      hello, mind if i email you?

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

    i will come after this cours comes first watched blockchain cours ever

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

    7:39:35 - line 66 says vm.prank(msg.sender) . What is the reason for pranking here if you want to set it as msg.sender ? Isn't that what happens by default ?

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

      …you’re probably right ahah. Could you ask in the GitHub discussions?

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

    Lottery contract - using mapping for all data store and array for store who is the winner since you use array to store all the keys we can use array to store the winner or winners i do not know if that make sense

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

    Are you using an alias @27:20? I can only get the full --match-test flasg to work. I get this error when I use the -m flag, error: unexpected argument '-m' found.

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

      They recently updated it to --mt over -m

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

    So many hours of hanging out with Patrick!

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

      You get to hang with me more

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

    I am new to web3 and just finished the first video. Very addictive. Thank you sooooo much Patrick for this awesome lecture series. If there's someone who is still learning and like to team up just reply me here. Thanks.

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

      ​@@georgewkushco Hi, thank you for your response. Please let me know the best way to contact you so we can discuss teaming up.

  • @JC-ps3fg
    @JC-ps3fg ปีที่แล้ว +1

    Knack is back baby

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

    12:16 12/01/23

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

    What background knowledge do one need to follow this course?

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

    i see people have taken this course 11 months ago. And I have just started haha. Super great course though.!

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

      You're making a great step!

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

    LFG

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

    Подписалсядписался большой лайк тебе

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

    at 1:52:37 you can actually make the function cheaper by creating an array in memory and copying s_funders to it, so that way you can loop through memory array. Instead of SLOAD for fundersLength times, you will MLOAD this amount of times, which can save a lot of gas.

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

      Actually, since we have to call SLOAD each time we have to access an element, it’s less gas efficient to drop it into memory and then loop. Since we only access each element once in the loop, it’s better to just use storage instead of making an extra call to load it into memory

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

    7:08:00

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

    Hello

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

    34:00 Refactoring
    1:57:00 Ineractions

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

    I am using the hardhat foundry plugin to write tests in the foundry. Is it good?

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

      that works! We've seen some top protocols do this

  • @KaranArora-br7ko
    @KaranArora-br7ko ปีที่แล้ว +1

    9:23:00

  • @KaranArora-br7ko
    @KaranArora-br7ko ปีที่แล้ว +1

    8:11:00

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

    Fooorge 💪