I do not understand anything about coding, but the way this mysterious gentleman stated everything, I was completely hooked up seconds by seconds till the end. I guess some peoples do have some extraordinary quality of teaching. Thanks Savjee
Tauw heed it’s that you actually care about learning about blockchain. Trying watching a video on programming a microwave keypad. Much less interesting lol
Great video. I'm a programmer so this made a lot more sense to me than watching someone try to describe how the blockchain works in a spoken presentation!
Savjee, I have finally been compelled to subscribe to a youtube channel. As an 'old dog' programmer, you have got me moving on blockchains more than the dozens and dozens and dozens of articles I have read. For a 'show me' programmer, this is just what the doctor ordered and I thank you for taking to the time to share your knowledge and for doing such an easily understood walk-through. Well done young man...
Exactly! Over all those explanations online which doesn't provide any example, I can finally understand the base concept of a blackchain after watching this video, thank you soooo much. Autosubs
For my internship, I was recently requested to do a simple web3-based project. This is what I've decided to use. Thanks for this project and for being a great teacher😁
Oh man, after watching heaps of videos on bitcoin, etherium and block chain. This is the first time I really got my head around only because we think in terms of code. Love you for that.
@@joeysipos if(currentBlock.hash !== currentBlock.calculateHash()){} TypeError: currentBlock.calculateHash is not a function : thats the error I got, not sure why it is function
Great tutorial, thank you. I was "playing" with your code and i've just discovered that changing the "Genesis block" (block 0) attributes is possible (the chain stays valid). This is due to the "isChainValid()" method; as you can see, the method has a "for(var i = 1; i < this.chain.length; i++){ [...]" which starts from "i = 1". This means that no controls are applied to the first block (data can be changed without any problem). A simple work-around is to change the "for([..])" loop (make it starts from "i=0" and check the previous block only "if(i>0)"). Thanks for your time and knowledge
Very well done video. Steady pace, clear code, and an engaging voice. The blockchain just became a whole lot less intimidating and mysterious, so thank you.
I swear, this is the video finally where I really understood the concept of Blockchain. I have watched many videos but was getting just repetitive things time and time again. Thank You very much. I have like and subscribed to you channel.
@@slavento yeah using dark theme in bright light environment is not good. Dark theme is perfect for only dark environments. And light theme is good for brighter environments
Thank you for sharing this. Today I decided to learn about blockchain. I hope I can learn enough to produce something to help make our world a better place.
Great observation!! It is similar to a Singular Linked List data structure With one massively important improvement namely: O(1) (i.e constant time access) to all blocks in the chain, via the top-level array.
@@SatyamGupta-gc9sq Nope, you're INCORRECT!! Please revisit the source code - it is quite clear. The presented Block Chain data structure has more commonalities with a SINGULARLY Linked List, NOT a doubly linked list as you have attempted to suggest. Whilst I agree that the structure does indeed store reference to the previous node (i.e its parent) it DOES NOT *DIRECTLY* store reference to the NEXT node. Thus it's essentially a singularly linked list in reverse.... But STILL a singularly linked list nonetheless. Source: myself lol. I've actually built these types of core data structures (i.e Singularly/Doubly linked lists, Binary Search Trees, Balanced Binary Search Trees,Tries,etc) from scratch in numerous languages and have a deep understanding of matters pertaining to their. respective implementations,trade-offs, time-space complexity,etc
I've watched too many videos to understand what a blockchain is and none of them seemed to help, but this video clears things up in my head about blockchain, Thanks
Awesome intro, I think you should make this a series so that people can make their own full blockchain using your details. When is the next video coming??
+Amit Yadav Great idea! Next stop would be to discover smart contracts. Definitely will work on that in the future. But first I need to finish another course ;)
+Amit Yadav Great idea! Next stop would be to discover smart contracts. Definitely will work on that in the future. But first I need to finish another course ;)
Noticed this video on my recommendation and in 15mins understood the basics of blockchain… most importantly the simple and powerful sample you showed👍🏻👍🏻👍🏻
You are a great teacher, Mr. X! Thankfully, I do not have to write this code but I needed to understand blockchain for my graduate class. This video finally made it all click! (I watched your other one before this too and that was helpful as well.) Keep up the great work and thank you for sharing it for free!
Great! I was learning blockchain but with a traditional school teaching for weeks and I didn’t understand nothing but with your videos I completely hooked up great and very simple way to learn thanks and appreciate to share your knowledge ❤
Hey! Thanks for the great content! One question: why didn't you generate block's index and timestamp on a fly in the constructor? Is there any reason for passing them on instance initiation?
hello, has this improved your knowledge of java and blockchain? have you made any progress on creating a blockchain? i would like to talk with somebody who might be able to help me script a source of a new blockchain
Major in Law but I think this guy has successfully guided me through the jungle of IT and let me know a little bit of how Blockchain are created and its security mechanism
would implementing some of those other features such as "proof of work/ stake", check of funds, ability to prevent tampering of data / rollback function be possible to demonstrate in another video? It would be greatly appreciated.
Not to mention P2P network consensus and transaction broadcasting. I sometimes think writing your own blockchain is just as ambitions as writing your own OS. Maybe it is just easier to take to bitcoin code and adapt it to your needs.
Yeah the actual source code is the best option when you want to understand the more complicated aspects of merkle trees, nonces, unconfirmed transactions, and memory pools. But this is an extremely good generic intro on the fundamentals !!!
Great video. Congratulations. I have a question though, in the example, I tried to tamper data and did recalculation of current hash and assigned to existing hash. I got output as true. We are not tampering anything with previous block hash. Basically I have not understand the check on current block hash with the previous block hash as for me it always return true. Also if I carefully watch video , when you do a tampering and set current hash. It gives output as false. However if I examine your console which is on this video, both previous hash and current hash seems to be identical. Then how does it return false? Thanks Matty
when isChainValid loops and checks the block that is right after the one you changed, its previous hash will not match that preceding block's new hash that you had calculated
Amazingly explained! I really didn't know anything about Blockchain. After watching this video, I was like "wow, this guy is amazing!". You did it so nice Savjee! Thanks a lot!
If you're really serious, I would switch your desktop from Windows to Ubuntu Desktop (free) or run Ubuntu in VirtualBox (free). Windows and Node/Javascript don't play well yet, there are still lots of problems with file names and stuff. The windows guys I work with are always having problems, the people on the *Nix/Mac system dont have these problems ever. I'm not saying Linux/Mac is better than Windows, just saying that for now JavaScript is better on Linux/Mac. They my fix it soon.
Wonder I didn't come across your page months ago. Not just for this particular video but the quality and the clarity in all your videos are amazing. Huge fan!!
Thanks for the great tutorial. There are lots of videos describing how blockchain works, but only a few that give some technical example(s). Among those few, this video stands out really well. For those who are new to blockchain (e.g. me), this video is really enlightening.
Wow.. Thanks, Sanjeev for this video. I`ve been searching for something to enlighten my brain with what`s actually Blockchain is. Finally, you did it... Thanks man
Wow, amazing job man. I've only covered the basics of Javascript yet your explanation of every part of your code made everything so clear. Your name really does suit the quality of your content. Thanks a ton man!
These hands-on turorials really come in handy to grasp the blockchain concepts. There's this scenario where tampering the data of the final block in the chain will lead to the block getting invalidated due the mismatch of the hash generated post-tampering with the existing hash of the final block. So, this will prompt a "false" in the chain validation. But, if we recalculate the hash after tampering with the data (only for the final block), it prompts us the chain being valid since the hash has been regenerated (modified after the hash mismatch). Thus the validity of the chain turns out to be "true" which is sort of a glitch from the blockchain conceptual perspective, but is correct from the logical point of view
First time Im seeing Javascript and coding and just learning about blockchain - I understood it. Lets mint this video :) ah and this is my first youtube comment ever
This explanation is so solid! Like others said in the comments, this is what made me get it. I sortoff knew but this made the click and will make it much easier for me to explain it myself in the future. Thanks!
Ive no idea how to code, but I mine and I wanted to understand a bit better. Thanks. For me it was the simplest example I watched and now understand it a bit better.
Really a great video . Finally i got the point of blackchain . I had a lot of doubt regarding the implementation. The video gave an insight of the concept . Really a great work .
This is so strange. I have watched tons of videos on blockchain and as a programmer it took watching this video in code language for this to be fully understood. Hilarious that english seemed more obtuse than pure javascript code to explain this concept. I even can now extrapolate how to write a code for correcting a chain after a change (iterating with a method that will match various tags ie timestamps etc) and also even how a proof of work might function. Great video I think aimed directly at coders.
Thanks Brother....you have pushed me in right direction. I was reading, watching many videos on Block Chain, but your Javascript example cleared lot of ideas. Thanks again. May I tell you, I have used many a times timestamp & date to create a unique ID for various databases. That concept has been expanded into something massive. Great work....
Thank you very much, I think this is absolutely the best way how to explain how blockchain works (assuming one knows javascript or other similar language).
Thanks a lot. Very helpful. Good video to start with when learning blockchain technology, and narration is good too. The BASICS seem SIMPLE; build a constructor and hash it then, link each instance like nodes, loop through the nodes, do some logical statements for validations, have the chain stored on local computers, and there you have it. I think. Please let me know.
I do not understand anything about coding, but the way this mysterious gentleman stated everything, I was completely hooked up seconds by seconds till the end. I guess some peoples do have some extraordinary quality of teaching. Thanks Savjee
Tauw heed it’s that you actually care about learning about blockchain. Trying watching a video on programming a microwave keypad. Much less interesting lol
Agreed!!
@@ViralVeediuh true
Same here
SAME.
Great video. I'm a programmer so this made a lot more sense to me than watching someone try to describe how the blockchain works in a spoken presentation!
Savjee, I have finally been compelled to subscribe to a youtube channel. As an 'old dog' programmer, you have got me moving on blockchains more than the dozens and dozens and dozens of articles I have read. For a 'show me' programmer, this is just what the doctor ordered and I thank you for taking to the time to share your knowledge and for doing such an easily understood walk-through. Well done young man...
Thanks a lot! Reading your comments made my day!
After +1 year of courses, projects documentation and tutorials I could finally understand how Javascript classes work thanks to this video. Thanks!
Keep Walking, now you start Easily understand everything else.. Everything will Open to you.. ;))
So much information fit in this 15 minutes and this finally made blockchain click in my head. Thank you for this!
Yes! Really helpful video! Thanks!
Especially the explanation of difficulty and nonce.
Exactly! Over all those explanations online which doesn't provide any example, I can finally understand the base concept of a blackchain after watching this video, thank you soooo much. Autosubs
How can i make zsh in terminal
Same here. I think we belong to developer world. Simple words can't make us understand until read the programing logic. Hehe.
For my internship, I was recently requested to do a simple web3-based project. This is what I've decided to use. Thanks for this project and for being a great teacher😁
My gosh, in terms of covering the basic fundamentals this is an amazing intro!
Oh man, after watching heaps of videos on bitcoin, etherium and block chain. This is the first time I really got my head around only because we think in terms of code. Love you for that.
yeah, seriously. All these explanation videos make no sense. But looking at how the code actually works make perfect sense haha.
Same here 👨🏽💻
@@joeysipos if(currentBlock.hash !== currentBlock.calculateHash()){} TypeError: currentBlock.calculateHash is not a function : thats the error I got, not sure why it is function
Great tutorial, thank you.
I was "playing" with your code and i've just discovered that changing the "Genesis block" (block 0) attributes is possible (the chain stays valid). This is due to the "isChainValid()" method; as you can see, the method has a "for(var i = 1; i < this.chain.length; i++){ [...]" which starts from "i = 1". This means that no controls are applied to the first block (data can be changed without any problem).
A simple work-around is to change the "for([..])" loop (make it starts from "i=0" and check the previous block only "if(i>0)").
Thanks for your time and knowledge
Demystified this for me, finally! Thank you so much for making these concepts so tangible.
Thanks!
You're welcome! Thanks for your contribution to my channel. Highly appreciated!
Very well done video. Steady pace, clear code, and an engaging voice. The blockchain just became a whole lot less intimidating and mysterious, so thank you.
Very clean explanation, and also very clean english for those who doesn't speak english natively. Thanks!
I'm not a native speaker myself, so I have to keep things simple ;)
"Simply Explained" indeed ! Amazing, cleared a lot of concepts.
I know nothing about coding, but this example really made me understand what's happening with blockchains - thank you!
Love this! Thanks so much for making this tutorial, really helps a non-techie like me get under the hood of blockchain!
I swear, this is the video finally where I really understood the concept of Blockchain. I have watched many videos but was getting just repetitive things time and time again.
Thank You very much.
I have like and subscribed to you channel.
Damn bro, that light theme doesn't hurt your eyes?
😂😂😂😂
and the bracket on the same line with the parentheses and no space, ew
Try working in very light room...it's common to work with light theme in that case, and with dark theme in darker rooms...
@@slavento yeah using dark theme in bright light environment is not good. Dark theme is perfect for only dark environments. And light theme is good for brighter environments
Does anybody know which theme is he using?
Thank you for sharing this. Today I decided to learn about blockchain. I hope I can learn enough to produce something to help make our world a better place.
This looks similar to linked lists in Data Structure with added security!
Great observation!! It is similar to a Singular Linked List data structure With one massively important improvement namely: O(1) (i.e constant time access) to all blocks in the chain, via the top-level array.
May i nitpick? The focus is on integrity which make it inherintly secure 😁
i was thinking the same thing
@@cazino4 yup it's linked list but not singly linked list, it's doubly linked list as it stores the adress of the previous block too.
@@SatyamGupta-gc9sq Nope, you're INCORRECT!! Please revisit the source code - it is quite clear.
The presented Block Chain data structure has more commonalities with a SINGULARLY Linked List, NOT a doubly linked list as you have attempted to suggest.
Whilst I agree that the structure does indeed store reference to the previous node (i.e its parent) it DOES NOT *DIRECTLY* store reference to the NEXT node. Thus it's essentially a singularly linked list in reverse.... But STILL a singularly linked list nonetheless.
Source: myself lol. I've actually built these types of core data structures (i.e Singularly/Doubly linked lists, Binary Search Trees, Balanced Binary Search Trees,Tries,etc) from scratch in numerous languages and have a deep understanding of matters pertaining to their. respective implementations,trade-offs, time-space complexity,etc
there were a few genious on algorithm n coding, but i think you one the best amid them....simple n clear
Subbed , you brought tears to my eyes.
exactly. That's why dark theme *is better*
I've watched too many videos to understand what a blockchain is and none of them seemed to help, but this video clears things up in my head about blockchain,
Thanks
great video. subscribed!
The first video about Blockchain that I actually understood
Awesome intro, I think you should make this a series so that people can make their own full blockchain using your details. When is the next video coming??
+Amit Yadav Great idea! Next stop would be to discover smart contracts. Definitely will work on that in the future. But first I need to finish another course ;)
+Amit Yadav Great idea! Next stop would be to discover smart contracts. Definitely will work on that in the future. But first I need to finish another course ;)
Amit Yadav how can i make zsh in terminal?
Simply Explained - Savjee Heyy any luck with making those blockchain courses
Noticed this video on my recommendation and in 15mins understood the basics of blockchain… most importantly the simple and powerful sample you showed👍🏻👍🏻👍🏻
13:02 Blockchain is like "Mr.Stark...I dont feel so good..."
You are a great teacher, Mr. X! Thankfully, I do not have to write this code but I needed to understand blockchain for my graduate class. This video finally made it all click! (I watched your other one before this too and that was helpful as well.) Keep up the great work and thank you for sharing it for free!
Really great, that sparked a great idea in my mind! :) (y)
Great! I was learning blockchain but with a traditional school teaching for weeks and I didn’t understand nothing but with your videos I completely hooked up great and very simple way to learn thanks and appreciate to share your knowledge ❤
Hey! Thanks for the great content! One question: why didn't you generate block's index and timestamp on a fly in the constructor? Is there any reason for passing them on instance initiation?
hello, has this improved your knowledge of java and blockchain? have you made any progress on creating a blockchain? i would like to talk with somebody who might be able to help me script a source of a new blockchain
Major in Law but I think this guy has successfully guided me through the jungle of IT and let me know a little bit of how Blockchain are created and its security mechanism
would implementing some of those other features such as "proof of work/ stake", check of funds, ability to prevent tampering of data / rollback function be possible to demonstrate in another video? It would be greatly appreciated.
Not to mention P2P network consensus and transaction broadcasting. I sometimes think writing your own blockchain is just as ambitions as writing your own OS. Maybe it is just easier to take to bitcoin code and adapt it to your needs.
@Sophie, do you want a complete implementation? Just read the source code for Bitcoin or Ethereum...
Yeah the actual source code is the best option when you want to understand the more complicated aspects of merkle trees, nonces, unconfirmed transactions, and memory pools. But this is an extremely good generic intro on the fundamentals !!!
Fantastic!!! What an explanation! it just makes you understand the whole thing in one video!
Great video. Congratulations.
I have a question though, in the example, I tried to tamper data and did recalculation of current hash and assigned to existing hash. I got output as true. We are not tampering anything with previous block hash. Basically I have not understand the check on current block hash with the previous block hash as for me it always return true.
Also if I carefully watch video , when you do a tampering and set current hash. It gives output as false. However if I examine your console which is on this video, both previous hash and current hash seems to be identical. Then how does it return false?
Thanks Matty
Did you put the return true statement in the body of the for loop?
I am having the same exact problem now. Did you manage to solve it?
when isChainValid loops and checks the block that is right after the one you changed, its previous hash will not match that preceding block's new hash that you had calculated
Amazingly explained! I really didn't know anything about Blockchain. After watching this video, I was like "wow, this guy is amazing!". You did it so nice Savjee! Thanks a lot!
it's will be great if you create a. video about smart contracts
That's a nice idea! I'll definitely consider that!
yeah pls do that and can u include dates in smart contracts for tokens to be distributed only during that time?
+Python_Tutorials Great idea! I'll think about how to implement that :)
great,thanks a lot and we would love to wait for that video
WORD!
Very intuitive way to explain about blockchain. Thumbs up!
How can I download the library on Windows? Because on windows the terminal is working with powershell
same problem here
did u solved ?
@@AbdulAhad-ni4hq same probleme :(
use bash instead :)
You need npm installed.
If you're really serious, I would switch your desktop from Windows to Ubuntu Desktop (free) or run Ubuntu in VirtualBox (free). Windows and Node/Javascript don't play well yet, there are still lots of problems with file names and stuff. The windows guys I work with are always having problems, the people on the *Nix/Mac system dont have these problems ever.
I'm not saying Linux/Mac is better than Windows, just saying that for now JavaScript is better on Linux/Mac. They my fix it soon.
You simply explained and I simply subscribed. This is what I was searching for as I don't knew any implementation of blockchain. thankyou
It's a great explanation video of Blockchain.
Can you tell what IDE you are using 0.0 Cuz i really like the UI , thanks
Hafrn The Grey white edition ;)
Press ctrl k + ctrl t, and select the quiet light theme :)
Clear coding style makes a complex concept to be so easy that everyone can understand! Amazing...!
Explaining it in code makes blockchain technology so much easier to understand. Thank you for this! Great job!
so so helpful, I can't believe all that happened in 15min. Love it. Please keep it up
Best block chain explanation video so far I've seen
Wonder I didn't come across your page months ago. Not just for this particular video but the quality and the clarity in all your videos are amazing. Huge fan!!
This guy is a genius
Clarity by far the best tutorial i have ever seen
Wow very simple explained ! thanks sir you are save my life!
This is amazing. I dont even do Javascript (just php) and i understand what you're saying. Great vid.
Thanks for the great tutorial. There are lots of videos describing how blockchain works, but only a few that give some technical example(s). Among those few, this video stands out really well. For those who are new to blockchain (e.g. me), this video is really enlightening.
Wow.. Thanks, Sanjeev for this video. I`ve been searching for something to enlighten my brain with what`s actually Blockchain is. Finally, you did it... Thanks man
Best and simple way to understand the core concept of blockchain . Nice job ...
Excellent 11/10. Detailed, concise and easy to understand.
Wow! This explanation demystified the whole concept of blockchain . Thanks 😊👍
Thank you so much, Sir. You just make the whole concept of blockchain sys clear for me in just under 15 mins.
Watching this in 2020 and its broadens my programming knowledge. Thanks!
The best beginner level blockchain tutorial.
Thanks, I had the theoretical understanding of what a blockchain was before, but seeing it explained this way makes everything much clearer.
Wow, amazing job man. I've only covered the basics of Javascript yet your explanation of every part of your code made everything so clear. Your name really does suit the quality of your content. Thanks a ton man!
Thanks for the kind words! Makes my day ;)
These hands-on turorials really come in handy to grasp the blockchain concepts.
There's this scenario where tampering the data of the final block in the chain will lead to the block getting invalidated due the mismatch of the hash generated post-tampering with the existing hash of the final block. So, this will prompt a "false" in the chain validation.
But, if we recalculate the hash after tampering with the data (only for the final block), it prompts us the chain being valid since the hash has been regenerated (modified after the hash mismatch). Thus the validity of the chain turns out to be "true" which is sort of a glitch from the blockchain conceptual perspective, but is correct from the logical point of view
simply explained a complex code. Love this video
Thanks for your video
Clutch video. Excellent explanation of block chain. So much simpler of a concept than when you just hear it explained.
Just amazing how you have explained this topic in a really easy way. Congratulations!!!
First time Im seeing Javascript and coding and just learning about blockchain - I understood it. Lets mint this video :) ah and this is my first youtube comment ever
You gave an efficient and easy to understand intro to blockchain development. Subscribed
Glad you liked it!
Finally understood how magic internet money works. Awesome video!
This is so easy. For all the noise this "technology" has made. I am impressed how fundamentally basic is the idea itself.
Very nice introduction. Perfectly explained concepts in a compressed timespan.
Neat and simple explanation thank you
Why some one can dislike this video ? There is nothing to dislike, unless you wanted to see movie and endup watching coding video! LOL
You could use for(var i in smth) instead of for(var i=1;i
Yep that's right but then I would need to keep a reference to the previous block.
Thanks man. This really helps understand the concept without going into too much or too little details. Exactly what I was looking for.
This explanation is so solid! Like others said in the comments, this is what made me get it. I sortoff knew but this made the click and will make it much easier for me to explain it myself in the future. Thanks!
Thanks , such a clean code and clear speech. Benefited a lot !
Ive no idea how to code, but I mine and I wanted to understand a bit better. Thanks. For me it was the simplest example I watched and now understand it a bit better.
Really a great video . Finally i got the point of blackchain . I had a lot of doubt regarding the implementation. The video gave an insight of the concept . Really a great work .
Very easy to follow and succinct. Well done!
So much info in just under 15minutes. Thanks
This is so strange. I have watched tons of videos on blockchain and as a programmer it took watching this video in code language for this to be fully understood. Hilarious that english seemed more obtuse than pure javascript code to explain this concept. I even can now extrapolate how to write a code for correcting a chain after a change (iterating with a method that will match various tags ie timestamps etc) and also even how a proof of work might function. Great video I think aimed directly at coders.
i watched the whole thing ,didnt understand anything but it was fascinating
ure a genius
Thanks Brother....you have pushed me in right direction. I was reading, watching many videos on Block Chain, but your Javascript example cleared lot of ideas. Thanks again. May I tell you, I have used many a times timestamp & date to create a unique ID for various databases. That concept has been expanded into something massive. Great work....
Great, you understand concepts through building them. Thanks, man.
Thank you very much, I think this is absolutely the best way how to explain how blockchain works (assuming one knows javascript or other similar language).
he explained in a simple matter , thank you
Easy explained and good to follow. Thanks!
Great tutorial to start with
Just to add, you can recalculate all hashes after you tamper with a block which should return that the chain is valid
thanks man...I was wondering how this works in code & thats what you explained so clearly.
for the first time in life i have watched the whole info stuffed youtube video in one go. keep it up man!!
One of the best explanations on the net!
This is a great video. Concise and easy to understand.
BRUH thank you so much!! I needed a simple implementable example with the core concepts intact!! Thanks again dude you are the best!! :D
Best 14 min of the year!! tks a lot!
Congrats !! Great video and presentation of basic blockchain concepts
Thanks a lot. Very helpful. Good video to start with when learning blockchain technology, and narration is good too. The BASICS seem SIMPLE; build a constructor and hash it then, link each instance like nodes, loop through the nodes, do some logical statements for validations, have the chain stored on local computers, and there you have it. I think. Please let me know.
Simply cool and straight
forward. Thanks man
This is great. Simple and crisp. Thanks!
This is a top notch video mate. Tomorrow I’ll get started.