Solidity Tutorial For Developers - Let's Create a Smart Contract (Hands-On Project)

Sdílet
Vložit
  • čas přidán 31. 07. 2024
  • In this video, we'll be learning Solidity. Not just the syntax, data types, and other boring concepts when isolated by themselves, but we'll be learning all these in the context of creating a fun smart contract. It will be practical and hands-on.
    Solidity is a statically typed language designed for creating smart contracts on the Ethereum Virtual Machine.
    It's your entry point for learning to write Smart Contracts.
    Note that this tutorial requires some basic coding knowledge. I won't be teaching what loops or functions are or how they work, but instead will be showing you how they are written in Solidity in the context of a real Smart Contract.
    By the end of the video, you'll have a fully functional smart contract as well as the knowledge to start creating your own.
    Enjoy.
    Github code - gist.github.com/rodgtr1/427a6...
    Check out my BRAND NEW Web3 Course - geni.us/GGTRi0p
    Timestamps:
    Intro - 0:00
    Smart Contract Overview - 0:42
    Tutorial - 2:15
    Solidity Cheatsheet - 55:07
    A UI for our contract? - 56:08
    For an in-depth Solidity course, this is my one recommendation:
    geni.us/YoumAXH
    *** Learn to Code Blueprint 6 Months ***
    👉 geni.us/HoswN2
    *** Get ONE FREE Month on Skillshare. Learn Anything (preferably code 😁) ***
    🎓 geni.us/DqB7m
    *** I write regularly ***
    👉 travis.media
    *** FREE EBOOKS ***
    📘 bit.ly/2jnH2DP​
    LET'S CONNECT!
    📰 LinkedIn ➔ / travisdot. .
    🐦 Twitter ➔ / travisdotmedia​
    🙋🏼‍♂️ Website ➔ travis.media​
    #web3 #smartcontract #solidity #dapp
    ** Some of the links in this description may be affiliate links that I may get a little cut of. Thank you.
  • Věda a technologie

Komentáře • 86

  • @worldtrends3296
    @worldtrends3296 Před 2 lety +6

    This is the best solidity tutorial online, no much talk, just straight to the point with a full contract built.

  • @gaganborra7593
    @gaganborra7593 Před 2 lety +6

    Man! this is the first solidity tutorial that I have watched till the end! Every sec of it is interesting ! Thanks for the video!

  • @saintgabriel0
    @saintgabriel0 Před 2 lety +2

    The first snart contract tutorial I watched to the end. Thanks so much for the video .

  • @bigcoryjones2126
    @bigcoryjones2126 Před 2 lety +1

    I used this video to compile my 1st contract without any coding experience. you my friend are brilliant.
    When I say without any coding experience I do mean literally 0.
    I was computer illiterate 2 weeks ago.

  • @HelghastSon
    @HelghastSon Před rokem +2

    I cant thank you enough for this tutorial. So easy to follow, you explain everything in great detail, and your voice is extremely pleasant to listen to. I feel so much more confident tackling solidity with this video. Thank you so much, king.

  • @plb7459
    @plb7459 Před 2 lety +6

    Love the way you teach, easy to understand with examples. Would love to see more solidity smart contract projects please!!

    • @TravisMedia
      @TravisMedia  Před 2 lety +1

      Thanks Paul, more to come! Here's the most recent czcams.com/video/iFMMOZrBFzU/video.html

  • @oscargalvez7
    @oscargalvez7 Před rokem

    Thanks a lot for such a neat an in-depth tutorial! This was actually a great real-life use case for a smart contract while learning the basic concepts 💯💯

  • @Alice3456able
    @Alice3456able Před měsícem

    Great tutorial! Loved your pace and style of teaching.

  • @Rahulkp220
    @Rahulkp220 Před 2 lety

    No fluff Solidity tutorial! Thanks a ton! Subscribed.

  • @lolaaaa864
    @lolaaaa864 Před 2 lety +1

    I believe this is the best video about Solidity on CZcams

  • @rocketrobin3393
    @rocketrobin3393 Před 2 lety +12

    Just found your channel. You are the first one to really explain it well and create something useful. Much appreciated!

    • @themomentier
      @themomentier Před 2 lety

      So true this simple video is much simpler and straight forward than bunch of paid once. thanks

    • @demiann4160
      @demiann4160 Před 2 lety

      Yes, exactly. If I make a statement about web3 is for the lack of high-quality training. This is an exception.

    • @anupamat.c5181
      @anupamat.c5181 Před 2 lety

      very true

  • @marjuksajid
    @marjuksajid Před 5 měsíci +1

    Thank you so much. It is very helpful. I am watching from Bangladesh 🇧🇩

  • @solidityacademy
    @solidityacademy Před 10 měsíci

    That was an amazing video packed with valuable information! 👏 Thanks a lot! 🙌

  • @marcelom.5672
    @marcelom.5672 Před rokem

    Hands down best tutorial on the matter, thanks for putting this out!! Glad to have found it. What would you recommend next after this? Any other videos? Thanks and have a great weekend!

  • @shidharthraj9310
    @shidharthraj9310 Před 2 lety +3

    Really loved the way you teach solidity. Can you please make more such videos on Blockchain Development and solidity...👍.

  • @MakeYouSuperhuman
    @MakeYouSuperhuman Před 2 lety

    Just Amazing , best Tutorial on CZcams.

  • @aktoriukas
    @aktoriukas Před 2 lety +1

    What a great tutorial! Thanks for that.

  • @EnglishRain
    @EnglishRain Před 2 lety

    Thank you for your excellent high quality content!

  • @javierdash1
    @javierdash1 Před 2 lety

    just love it. Super well explain. Hope you have lots of visits because it is a great tutorial!!

  • @bartosz13
    @bartosz13 Před rokem

    First tutorial i made to the very end thank You for this

  • @NicolasG-pc8un
    @NicolasG-pc8un Před 4 měsíci

    This is a great video. There's one bug though, you need to reset the amount to 0 after a kid withdraws, otherwise they would be able to repeatedly call withdraw() and take other kids funds.

  • @Eche0001
    @Eche0001 Před 2 lety

    This video is really simplified and knowledgeable. thanks I really appreciate.
    Can you please make more videos on Solidity

  • @salmanabdulaziz7552
    @salmanabdulaziz7552 Před 2 lety

    From the middle east region, Great video !!. Need more examples and sample hands on

  • @VanNguyen-bs5kw
    @VanNguyen-bs5kw Před měsícem

    Your teaching is excellent!!!💟💟🎀🎀

  • @anikalee3471
    @anikalee3471 Před 4 měsíci

    Hey Travis! It'd be great if you could do a part 2 to this tutorial on how we can link it up to a frontend like Angular. Thank you so much for this tutorial and I hope you'd consider making follow-up tutorials for this! :-)

  • @mjmj007a
    @mjmj007a Před 2 lety

    Great Video and Thank You !

  • @cz8986
    @cz8986 Před rokem

    God, such a good and easy to understand introduction to solidity ! Thx a lot !

  • @sujeewa8067
    @sujeewa8067 Před 2 lety

    Thanks a lot man!

  • @mhzboxing1759
    @mhzboxing1759 Před 2 lety

    Wow I love the way you teach Solidity. You should do a TedTalk

  • @mahendranath2504
    @mahendranath2504 Před 2 lety

    Thank you so much 😊

  • @lolaaaa864
    @lolaaaa864 Před 2 lety

    Very clair but I did get everything .. I ll try the udemy course .. Thank you for sharing

  • @skyking4997
    @skyking4997 Před 2 lety

    Perfect thanks

  • @hereticsaint100
    @hereticsaint100 Před rokem

    Yes, do the JS front end tutorial!

  • @MrMahesh7001
    @MrMahesh7001 Před rokem

    Excellent video on Solidity Travis, thank you for your video. Could you please share or explain the front end integration of this CryptoKids project, please? Really interesting to see the integration part of this smart contract to UI. That's really greatly appreciated. Thank you.

  • @Inderashah007
    @Inderashah007 Před 2 lety

    Great 👍🏽

  • @montof9195
    @montof9195 Před rokem

    Question: Would it be a good compromise for gas to use a storage mapping for (address => Kid) instead of looping multiple times with a for loop in each function?

  • @m4_thednblab397
    @m4_thednblab397 Před 2 lety

    im getting an error that you don't seem to be getting, which is stopping me from being able to interact with the SC but outside of this, great tutorial, thanks for your time!

  • @salmanabdulaziz7552
    @salmanabdulaziz7552 Před 2 lety

    Dear Travis,
    Can you teach us the in same way the last part of graphical version of same program. It would be nice to learn that also. How graphically we can present contracts and have hands on session.

  • @kichirmichir2730
    @kichirmichir2730 Před 2 lety

    nice job....

  • @khizerhayyat549
    @khizerhayyat549 Před 2 lety +1

    Hi Travis! thanks for the amazing content
    but don't you think that using array for the kids will be the cause of high gas when you will find the index through a loop and event the if condition inside.
    what would you say about mapping? something like
    mapping(address => Kid) public kids;

    • @TravisMedia
      @TravisMedia  Před 2 lety +1

      Hi Khizer! Thanks for the input and you're exactly right. I think I mentioned about the gas fees, though, in the video. I was mainly using the array for the teaching aspect of Solidity. But yes, a mapping just like you said is a much better option. I used that instead in my latest Bike Rental App video as it is much more efficient. Thanks again for the input.

  • @vladusa
    @vladusa Před 2 lety +1

    You forgot to specify range of dates. If someone puts a '0' for time to withdraw, things go wrong. Maybe make an initial check for timeToWithdraw > timeOfContract

    • @adityasai550
      @adityasai550 Před 2 lety

      I think it's not a problem. In that case, we can simply assume the kid can withdraw money as soon as their parents deposit it.

    • @vladusa
      @vladusa Před 2 lety

      @@adityasai550 exactly. This was what my comment stated. withdrawTimestamp - entryTimestamp.

  • @SuperDividenz
    @SuperDividenz Před rokem

    can you deploy to block chain? possibly on other evm chains?

  • @pavspy3489
    @pavspy3489 Před rokem

    Hi. Can someone plz help me understand, around 25 min, mark. Why are funds being added to the child account from the same child's address?

  • @gugapilar3135
    @gugapilar3135 Před 2 lety

    Continue postando os videos! Te desejo muita sorte com o teu canal! Siga postando os viideos!
    te desejo toda sorte com o teu canal!

  • @marjuksajid
    @marjuksajid Před měsícem +1

    Alhamdulillaah

  • @mokho3027
    @mokho3027 Před 2 lety

    around 15:00, why cant we simply add our 'struct' as a parameter to our function instead of putting all those variables that are in struct?

  • @jackdelagrange1519
    @jackdelagrange1519 Před 2 lety

    Hey Travis, great video, will you be posting more solidity or blockchain /crypto content?

    • @TravisMedia
      @TravisMedia  Před 2 lety +1

      What would you like to see?

    • @jackdelagrange1519
      @jackdelagrange1519 Před 2 lety +2

      @@TravisMedia I think many people want to learn about crypto, blockchain , web3, etc. You have a clear way of explaining these complex and important subjects. Thanks again for the solidity info!

  • @Chrisadynowski
    @Chrisadynowski Před 2 lety +1

    Great vid !
    I have question regarding lists , you shows something like :
    uint[5] names;
    and here for example :
    names.push("Travis");
    I think this is wrong becasue list is type of uint not string soooo is should be
    string[5] names;
    names.push("Travis");
    and with uint[5] age;
    age.push("34");
    Something like that ?
    I am not sure it was for me just weard that list is type of uint and you want to push there strings :D
    If I am wrong please correct me !

    • @TravisMedia
      @TravisMedia  Před 2 lety +2

      Nope you’re right. Thanks for pointing that out. Mainly it was a passing/quick example of how you would add to a list so I didn’t consider the type closely.

  • @dennyage4791
    @dennyage4791 Před 2 lety +2

    One suggestion: please use larger font size
    and attach github file links

    • @TravisMedia
      @TravisMedia  Před 2 lety

      Appreciate the suggestions. Will put the github file link in the description tomorrow.

  • @codyship18
    @codyship18 Před 5 měsíci

    Travis,
    Is there anyway you can have a look at a contract and help me with something?

  • @vncntjms
    @vncntjms Před 2 lety

    Can we use the address itself as index of the array? So we don't have loop through all addresses just access it like kids[walletAddress]

    • @TravisMedia
      @TravisMedia  Před 2 lety +1

      Yes that’s a much more efficient approach. But wanted to use an array for the beginner tutorial.

    • @vncntjms
      @vncntjms Před 2 lety

      @@TravisMedia understood. thank you

  • @ch453skipper2
    @ch453skipper2 Před rokem

    For once I have completed an entire tutorial without taking a break and actually understood something

  • @nouraldeen9254
    @nouraldeen9254 Před rokem

    Is this video useful for beginners (first time solidity and smart contracts)!?

    • @TravisMedia
      @TravisMedia  Před rokem

      Yes. Next step after this is here: czcams.com/video/LSL69RGeQL0/video.html

  • @rndom-fact
    @rndom-fact Před 7 měsíci

    Can someone without a prior knowledge in programming learn Solidity? How difficult is it?

  • @codefactor
    @codefactor Před 2 lety

    I know it's just a tutorial project - but can't help but point out that kids can withdraw all the money by pressing withdraw button multiple times!

  • @EzamZaidi
    @EzamZaidi Před 2 lety

    Maybe I am wrong, but the contract does have a lot of flaws.
    1. I can transfer eth to even those addresses which are not even added as kids.

    • @TravisMedia
      @TravisMedia  Před 2 lety +1

      You can transfer to any address, yes. In a real contract there would need to be a condition for that for sure. However this was an introductory tutorial to Solidity and a contract for demonstration only.

  • @ryanz67
    @ryanz67 Před 2 lety +1

    I don’t see how this is the future tbh

  • @ballinwith
    @ballinwith Před 2 lety

    Would you like to join my team as a developer? I’m looking for people who can conduct smart contracts

  • @lyon8539
    @lyon8539 Před rokem

    How much you earn from a writing smart contract?

  • @zackd7597
    @zackd7597 Před rokem

    I can't be the only one who finds coding difficult lol

  • @tsunningwah3471
    @tsunningwah3471 Před 4 měsíci

    zhichi

  • @mexicanwhotriestosneakinto921

    why are you copying traversy media you are the fake traversy media

    • @TravisMedia
      @TravisMedia  Před 2 lety

      czcams.com/video/Q5w9r8brE10/video.html

  • @dineshrambabukushwaha4757

    kids[i].amount = 0; once it is transferred to wallet of the kids ? Correct me , If i am wrong here. Because I see for the same kid, if the amount transferred again and withdrawal cause issue.

    • @gaganborra7593
      @gaganborra7593 Před 2 lety

      Yea! This should be added too! or else jane's gonna rob everything 😂

  • @maakayp
    @maakayp Před 2 lety +1

    Hi Travis i need help am stuck,
    // SPDX-License-Identifier: GPL-3.0
    pragma solidity ^0.8.7;
    //owner Dad
    contract CryptoKids {
    constructor() {
    owner = msg.sender;
    }
    }
    From Solidity, Declaration Error: undeclared Identifier.
    owner=msg.sender
    ^^^^^^

    • @anandrai9059
      @anandrai9059 Před 2 lety +3

      You have to write address owner ; before owner = msg.sender;