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

Поделиться
HTML-код
  • Опубликовано: 28 май 2024
  • This course will give you a full introduction into all of the core concepts related to blockchain, smart contracts, Solidity, ERC20s, full-stack Web3 dapps, decentralized finance (DeFi), Chainlink, Ethereum, upgradable smart contracts, DAOs, aave, IPFS, and more. Follow along with the videos and you'll be a blockchain wizard in no time!
    Join Cyfrin Updraft to see this in a NOT giant RUclips video: updraft.cyfrin.io/
    This is lessons 7 - 11
    🦊 Part 1, Lesson 0 - 6: • Learn Solidity, Blockc...
    🐶 Part 2, Lesson 7 - 11: • Learn Solidity, Blockc...
    🌋 Part 3, Lesson 12 - 15: • Learn Solidity, Blockc...
    🐸 Web3Education.dev: web3education.dev/
    💻 Code, resources, and support forum: github.com/Cyfrin/foundry-ful...
    Please reference the repo for anything you need and feel free to leave issues and participate in the discussions.
    ⭐️ (0:00:00) | Lesson 7: Foundry Fund Me
    ⭐️ (2:37:02) | Lesson 8: HTML Fund Me
    ⭐️ (3:04:09) | Lesson 9: Smart Contract Lottery
    ⭐️ (7:08:04) | Lesson 10: ERC20s
    ⭐️ (7:40:56) | Lesson 11: NFTs
    Special thanks to @CyfrinAudits for sponsoring this video!
    ✅✅ Donate ✅✅
    I use donated funds to spend money on making fun & informational videos.
    ETH/Arbitrum/Polygon/EVM Chains Wallet address:
    0x9680201d9c93d65a3603d2088d125e955c73BD65
    😸😸Follow Patrick!😸😸
    Cyfrin: www.cyfrin.io/
    RUclips: www.youtube.com/@PatrickAlpha...
    Twitter: / patrickalphac
    Medium: / patrickalphac
    TikTok: / patrickalphac
    Twitch Stream Uploads & Shorts: / @patrickalphac-alt
    All thoughts and opinions are my own.
  • НаукаНаука

Комментарии • 317

  • @kosedogus
    @kosedogus 11 месяцев назад +196

    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

    • @yollotltecuani5120
      @yollotltecuani5120 11 месяцев назад +1

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

    • @devabdee
      @devabdee 11 месяцев назад +1

      Thanks mate

    • @devabdee
      @devabdee 11 месяцев назад +16

      Shortcut: `forge test --mt `

    • @TINTUHD
      @TINTUHD 11 месяцев назад

      thank you!!

    • @anythingforclicks
      @anythingforclicks 11 месяцев назад

      Thank u

  • @RiccoRosas
    @RiccoRosas 11 месяцев назад +41

    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!

  • @migueldlr88
    @migueldlr88 7 месяцев назад +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

  • @mim2598
    @mim2598 8 месяцев назад +12

    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 8 месяцев назад +3

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

    • @alexanderkarlsson61
      @alexanderkarlsson61 8 месяцев назад

      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 7 месяцев назад

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

    • @mrhouse9833
      @mrhouse9833 7 месяцев назад +1

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

    • @masa88x
      @masa88x 7 месяцев назад +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

  • @shashanktrivedi9085
    @shashanktrivedi9085 11 месяцев назад +41

    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  11 месяцев назад +6

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

    • @shashanktrivedi9085
      @shashanktrivedi9085 11 месяцев назад +1

      @@PatrickAlphaC ya sure I would love to that

  • @RiccoRosas
    @RiccoRosas 11 месяцев назад +24

    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 7 месяцев назад

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

  • @user-nc1mn5lj8e
    @user-nc1mn5lj8e 9 месяцев назад +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  9 месяцев назад +3

      Thank you for the kind words !!!

  • @zachcomeau41
    @zachcomeau41 5 месяцев назад +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.

  • @ayanmohammed7739
    @ayanmohammed7739 9 месяцев назад +6

    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!!

  • @rashmikadissanayake636
    @rashmikadissanayake636 Месяц назад +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 Месяц назад

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

  • @intellectance9893
    @intellectance9893 11 месяцев назад +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

  • @Ko5m1k
    @Ko5m1k 8 месяцев назад +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

  • @amank8950
    @amank8950 11 месяцев назад +6

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

    • @PatrickAlphaC
      @PatrickAlphaC  11 месяцев назад +9

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

    • @nemtom20
      @nemtom20 11 месяцев назад +2

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

    • @hammadsaleem7554
      @hammadsaleem7554 11 месяцев назад

      @@PatrickAlphaC these videos based on ethereum 2.0 ?

    • @PatrickAlphaC
      @PatrickAlphaC  11 месяцев назад +2

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

  • @abderahmanMOUSSAOUI
    @abderahmanMOUSSAOUI 11 месяцев назад +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

  • @sayandcode
    @sayandcode 8 месяцев назад +1

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

  • @splendorwhite
    @splendorwhite 11 месяцев назад +4

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

  • @TheAncientRomanDoge
    @TheAncientRomanDoge 4 месяца назад +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  4 месяца назад +1

      Great suggestion

    • @TheAncientRomanDoge
      @TheAncientRomanDoge 4 месяца назад

      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 Месяц назад

      hello, mind if i email you?

  • @captpython3725
    @captpython3725 11 месяцев назад +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  11 месяцев назад +2

      It is fren :)
      Thanks for watching!

  • @d3.finance
    @d3.finance 5 месяцев назад +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.

  • @0x0-Issa
    @0x0-Issa 9 месяцев назад +2

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

  • @mehrdad1068
    @mehrdad1068 11 месяцев назад +2

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

  • @marcosmagana9278
    @marcosmagana9278 5 месяцев назад +1

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

  • @beccalangdon5463
    @beccalangdon5463 11 месяцев назад +2

    So many hours of hanging out with Patrick!

    • @PatrickAlphaC
      @PatrickAlphaC  11 месяцев назад +6

      You get to hang with me more

  • @shivendrasingh8484
    @shivendrasingh8484 9 месяцев назад +1

    Thank you for the lesson. Onwards and upwards🚀

  • @ProgramingSmart
    @ProgramingSmart 11 месяцев назад +3

    Am do happy with this course I start right away

  • @keccak32
    @keccak32 11 месяцев назад +7

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

    • @bambatsa
      @bambatsa 10 месяцев назад

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

    • @bambatsa
      @bambatsa 10 месяцев назад

      thanks!Where i find those changees?

    • @keccak32
      @keccak32 10 месяцев назад

      @@bambatsa xxxxx --help

  • @Sachin-sm1bu
    @Sachin-sm1bu 18 дней назад

    Lesson 7 : Foundry Fund Me
    00:02:51 setup
    00:04:40 testing introduction
    00:06:16 setup continued
    00:11:56 tests
    00:20:46 debugging tests l
    00:23:16 advanced deploy scripts l
    00:25:47 forked tests
    00:34:18 Refactoring l : testing deploy scripts

  • @bibashtandon6516
    @bibashtandon6516 11 месяцев назад +6

    5:52:12 I did take a break 😅

  • @chancity
    @chancity 10 месяцев назад +1

    After about 2 weeks, finally got wsl to work on a borrowed system.
    Can't wait to enter the market as a Blockchain dev. 🙏

    • @PatrickAlphaC
      @PatrickAlphaC  10 месяцев назад +1

      LETS GO

    • @leojawad
      @leojawad 6 месяцев назад

      I also have the same problem lol

  • @shruti.c
    @shruti.c 10 месяцев назад +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?

  • @Alex-vi6fr
    @Alex-vi6fr 10 месяцев назад

    These video are so valuable lession. thank u patrick

  • @jayendrabhagat3607
    @jayendrabhagat3607 11 месяцев назад +4

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

  • @codeQuest101
    @codeQuest101 10 месяцев назад +2

    The more I go on with this course The more it becomes Interesting Thank you for this amazing course It's by far the best Course I have seen for solidity and foundry

    • @PatrickAlphaC
      @PatrickAlphaC  10 месяцев назад

      Glad to hear it!! Love how you're on #2

  • @edwassermann8368
    @edwassermann8368 11 месяцев назад

    Thanks Patrick. Learned a LOT!

  • @user-vm3ie6ft9g
    @user-vm3ie6ft9g 7 месяцев назад +1

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

  • @mariacristinaarezzi
    @mariacristinaarezzi 11 месяцев назад

    Thankyou. I'm learning a lot with you.

  • @jbameagamontana7774
    @jbameagamontana7774 11 месяцев назад +1

    I can't wait to get up to this point!

  • @martinalexander757
    @martinalexander757 10 месяцев назад +4

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

    • @lawniczakjohn
      @lawniczakjohn 10 месяцев назад

      Patrick's comedy is underrated.

    • @umarbusy
      @umarbusy 9 месяцев назад +1

      Where do i get that blue emoji bruh

  • @aboronilov
    @aboronilov Месяц назад +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?

  • @leev2505
    @leev2505 11 месяцев назад +1

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

  • @kc_pele
    @kc_pele 10 месяцев назад +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++;
    }

  • @eryk6722
    @eryk6722 9 дней назад

    Phenomenal course, thanks a for your work Patrick and team!
    Btw using string.concat seems to be a little bit more gas efficient (based on test provided).
    contract Test {
    function abiEncodePackedTest() public pure returns (string memory) {
    return string(abi.encodePacked(stringA, stringB));
    }
    function stringConcatTest() public pure returns (string memory){
    return string.concat(stringA, stringB);
    }
    }

    • @PatrickAlphaC
      @PatrickAlphaC  9 дней назад +1

      Boom! Thanks for letting me know :)

  • @yashdhumal4436
    @yashdhumal4436 8 месяцев назад +1

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

  • @ultragamersvk1668
    @ultragamersvk1668 9 месяцев назад +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 9 месяцев назад +3

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

    • @ultragamersvk1668
      @ultragamersvk1668 9 месяцев назад +2

      Got it , thanks 👍

  • @ermalbujupaj8620
    @ermalbujupaj8620 9 месяцев назад +3

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

  • @BatmansWrath
    @BatmansWrath 11 месяцев назад

    At 1:19:48 does the second vm.prank(USER) spin up another user address? i.e line 69 and line 73 are different addresses?

  • @_underlord
    @_underlord 3 месяца назад

    This is Uncle Bob level quality!!!

  • @alexwatson6919
    @alexwatson6919 10 месяцев назад +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  10 месяцев назад +1

      could you ask in the github repo? Thanks!

  • @warrenb2856
    @warrenb2856 10 месяцев назад +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?

  • @shahinbayat
    @shahinbayat 8 месяцев назад +1

    Thank you so much for this amazing content, is there going to be a follow-up full stack course using more modern FE technologies?

  • @blackmountain814
    @blackmountain814 3 месяца назад

    WE LOVE YOU PATRICK COLLINS!

  • @school2656
    @school2656 11 месяцев назад +4

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

    • @sharonlima8913
      @sharonlima8913 10 месяцев назад

      i think i m facing the same issue

  • @glowlog
    @glowlog 9 месяцев назад +2

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

  • @glowlog
    @glowlog 10 месяцев назад +5

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

    • @cemturkoglu135
      @cemturkoglu135 9 месяцев назад

      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 9 месяцев назад

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

    • @glowlog
      @glowlog 9 месяцев назад

      @@cemturkoglu135 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 9 месяцев назад

      @@cemturkoglu135 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?

  • @AhmedKhan-rt6oz
    @AhmedKhan-rt6oz 10 месяцев назад +3

    I think Patrick makes this Fundme a little bit more complex

    • @PatrickAlphaC
      @PatrickAlphaC  10 месяцев назад +5

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

    • @nublar3356
      @nublar3356 7 месяцев назад +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!!

  • @eronmonseleoaikhina5832
    @eronmonseleoaikhina5832 6 месяцев назад +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

  • @shruti.c
    @shruti.c 8 месяцев назад

    Are we supposed to create the subscription manually for sepolia and other testnets? Because, I see, we only covered the create subscription code for Anvil. And Patrick created the subscription from UI and pasted the id in the code.

  • @soulslover9856
    @soulslover9856 10 месяцев назад +1

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

  • @CaughLacking
    @CaughLacking 5 месяцев назад +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  5 месяцев назад +1

      It doesn’t really matter ahah

    • @CaughLacking
      @CaughLacking 5 месяцев назад

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

  • @soulslover9856
    @soulslover9856 10 месяцев назад

    Do you suggest that using sepholia default rpc instead of alchemy node? I tried fork test with default node and it worked but it is bit slow.

  • @mrpassive222
    @mrpassive222 9 дней назад

    Hey Patrick, is there a course for Ethers JS or Typescript coming up?

    • @PatrickAlphaC
      @PatrickAlphaC  9 дней назад +1

      End of the year, yes. Full stack course

  • @reef_lk
    @reef_lk 4 месяца назад +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  4 месяца назад +1

      You can make dapps with foundry!

  • @cemturkoglu135
    @cemturkoglu135 9 месяцев назад +1

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

  • @ByronicLuke
    @ByronicLuke 8 месяцев назад +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  8 месяцев назад

      Could you ask in the GitHub discussions?

  • @tilakmadichettitheappdeveloper
    @tilakmadichettitheappdeveloper 5 месяцев назад +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  5 месяцев назад +1

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

  • @classyboy2000
    @classyboy2000 11 месяцев назад +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  11 месяцев назад +1

      They recently updated it to --mt over -m

  • @araj6835
    @araj6835 10 месяцев назад +1

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

    • @PatrickAlphaC
      @PatrickAlphaC  10 месяцев назад

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

  • @quantaVastitude2021
    @quantaVastitude2021 26 дней назад

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

  • @LareienHan
    @LareienHan 8 месяцев назад +2

    phew~ lesson 8!! :D

    • @PatrickAlphaC
      @PatrickAlphaC  8 месяцев назад +1

      Keep it up!!

    • @LareienHan
      @LareienHan 8 месяцев назад

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

    • @PatrickAlphaC
      @PatrickAlphaC  8 месяцев назад +1

      @@LareienHan mandatory break time!!

  • @gioruggieri
    @gioruggieri 10 месяцев назад +2

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

  • @user-bg1xm8di7s
    @user-bg1xm8di7s 4 месяца назад +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  4 месяца назад

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

  • @captpython3725
    @captpython3725 11 месяцев назад +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  11 месяцев назад

      What do you mean? The source or origin?

  • @naveenprakash3640
    @naveenprakash3640 8 месяцев назад +1

    This is soo good

  • @mikeha
    @mikeha 7 месяцев назад

    I noticed that alchemy doesn't have an option for Binance chain (smart chain). why is that? A lot of defi projects are on BSC

  • @stepankazantsev7251
    @stepankazantsev7251 9 месяцев назад +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  9 месяцев назад +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

  • @Aditya-ux7zu
    @Aditya-ux7zu 6 месяцев назад +1

    34:00 Refactoring
    1:57:00 Ineractions

  • @shruti.c
    @shruti.c 8 месяцев назад +2

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

  • @0x0-Issa
    @0x0-Issa 10 месяцев назад +3

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

    • @PatrickAlphaC
      @PatrickAlphaC  10 месяцев назад +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 10 месяцев назад

      @@PatrickAlphaC Okay, thank you

  • @skeliman9864
    @skeliman9864 Месяц назад

    Isn't that big test at the end more of an integration test? I don't think it should be with the unit tests.
    P.S. Many many thanks for providing so much value for free Patrick.

  • @omerfarukyesilyurt5296
    @omerfarukyesilyurt5296 9 месяцев назад +1

    I have sirius problem in Foundry FundMe Interaction Part that we write code in script and test files. I really didn't understand anything. What should I do is theese parts are improtant ?

    • @PatrickAlphaC
      @PatrickAlphaC  9 месяцев назад

      Could you ask your questions in the GitHub ?

  • @quantaVastitude2021
    @quantaVastitude2021 Месяц назад

    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

  • @syntaxbytesolutions5565
    @syntaxbytesolutions5565 11 месяцев назад +2

    Thanks man

  • @priyanshubindal924
    @priyanshubindal924 4 месяца назад +1

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

  • @rameth_
    @rameth_ 7 месяцев назад +2

    Hi Patrick i completed till 7th lesson,I want to become developer first and then I will try smart contract security,can I start foundry 8th lesson or go to javascript edition 8th lesson and use foundry in the place of hardhat.

    • @PatrickAlphaC
      @PatrickAlphaC  7 месяцев назад +1

      If you want to do security, finish this course! Foundry is the go-to tool for security researchers

  • @ultragamersvk1668
    @ultragamersvk1668 10 месяцев назад +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 10 месяцев назад +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  10 месяцев назад +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 10 месяцев назад

      @@PatrickAlphaC Will do, thanks

  • @mehrdad1068
    @mehrdad1068 8 месяцев назад +1

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

  • @jagatjunglakandrib.k8458
    @jagatjunglakandrib.k8458 7 месяцев назад +1

    Part one done. Part Two Here I come.

  • @Gaigreenmile-yr3su
    @Gaigreenmile-yr3su 4 месяца назад

    Do not underestimate the power of getting in early. If you are not in Xeventy now, you are lagging behind.

  • @urus_gre1035
    @urus_gre1035 3 месяца назад

    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 Месяц назад

      hello, mind if i mail you?

    • @urus_gre1035
      @urus_gre1035 Месяц назад

      @@Victor...P1 why?

    • @Victor...P1
      @Victor...P1 Месяц назад

      @@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 Месяц назад

      @@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.

  • @sayandcode
    @sayandcode 8 месяцев назад +1

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

  • @hyunduk0206
    @hyunduk0206 8 месяцев назад +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  8 месяцев назад

      can you ask in the github repo? thank you!

  • @JC-ps3fg
    @JC-ps3fg 10 месяцев назад +1

    Knack is back baby

  • @jancahlik9959
    @jancahlik9959 10 месяцев назад +1

    Why not use thirdweb SDK for the html part?

  • @rachaelf42
    @rachaelf42 9 месяцев назад +1

    Can anyone tell me how to connect to the etherscan from the foundry terminal in vscode? To check an already deployed contract?

    • @0x0-Issa
      @0x0-Issa 9 месяцев назад

      I guess you should copy paste your 'recently deployed contract address' to etherscan's search button

    • @rachaelf42
      @rachaelf42 9 месяцев назад

      @@0x0-Issa I don't think u got the qns sir. I wanted to read the storage layout from my bash terminal in vscode. Of a deloyed contract on a testnet for a ctf challenge. Foundry has a cast etherscan-source command which let's u read a contract on chain. So i was wondering how can i do the same for testnet.

  • @EduardoNicoleit
    @EduardoNicoleit 3 месяца назад

    1/3 of the views, if you're here, congratulations we've made it!

  • @KaranArora-br7ko
    @KaranArora-br7ko 10 месяцев назад +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 10 месяцев назад +1

      Hello, me

    • @A___I___M
      @A___I___M 2 месяца назад

      ​@@0x0-Issalet connect together

    • @Ryan-pq8nf
      @Ryan-pq8nf 7 дней назад

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

    • @A___I___M
      @A___I___M 6 дней назад

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

  • @yangyangwu-yi4mj
    @yangyangwu-yi4mj 5 месяцев назад +1

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

    • @PatrickAlphaC
      @PatrickAlphaC  5 месяцев назад

      Today you’ll get more than that

  • @CaughLacking
    @CaughLacking 5 месяцев назад +1

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

    • @PatrickAlphaC
      @PatrickAlphaC  5 месяцев назад +1

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

    • @CaughLacking
      @CaughLacking 5 месяцев назад +1

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

  • @user-eq1od1mm7m
    @user-eq1od1mm7m 9 месяцев назад +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  9 месяцев назад

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

  • @mayavik1034
    @mayavik1034 10 месяцев назад +1

    What background knowledge do one need to follow this course?