title
Ethereum Explained

description
Let's build a decentralized ticket service using Ethereum! Ethereum is the 2nd biggest cryptocurrency in market cap behind Bitcoin and offers a Turing-complete blockchain. Using Ethereum + IPFS, developers can build powerful decentralized applications, and this offers novelty in a somewhat saturated market for app developers. Let's get started! Code for this video: https://github.com/llSourcell/ethereum_demo Please Subscribe! And like. And comment. That's what keeps me going. Follow Siraj on Twitter: https://twitter.com/sirajraval Facebook: https://www.facebook.com/sirajology More learning resources; https://www.youtube.com/watch?v=8jI1TuEaTro https://ethereum.org/greeter https://dappsforbeginners.wordpress.com/ https://ethereum.stackexchange.com/questions/5952/ethereum-tutorial-for-beginners http://truffleframework.com/tutorials/ethereum-overview https://ethereumbuilders.gitbooks.io/guide/content/en/solidity_tutorials.html https://blockgeeks.com/guides/how-to-learn-solidity/ Join us in the Wizards Slack channel: http://wizards.herokuapp.com/ And please support me on Patreon: https://www.patreon.com/user?u=3191693 Instagram: https://www.instagram.com/sirajraval/ Instagram: https://www.instagram.com/sirajraval/ Signup for my newsletter for exciting updates in the field of AI: https://goo.gl/FZzJ5w Hit the Join button above to sign up to become a member of my channel for access to exclusive content! Join my AI community: http://chatgptschool.io/ Sign up for my AI Sports betting Bot, WagerGPT! (500 spots available): https://www.wagergpt.co

detail
{'title': 'Ethereum Explained', 'heatmap': [{'end': 248.478, 'start': 189.751, 'weight': 0.774}, {'end': 402.121, 'start': 334.274, 'weight': 0.78}, {'end': 518.832, 'start': 499.774, 'weight': 0.862}, {'end': 568.895, 'start': 540.35, 'weight': 0.779}, {'end': 616.283, 'start': 577.861, 'weight': 0.72}, {'end': 992.19, 'start': 960.207, 'weight': 0.773}, {'end': 1351.615, 'start': 1339.123, 'weight': 0.731}], 'summary': "'ethereum explained' covers ethereum's advantages, decentralized app workings, ethereum-bitcoin comparison, dapps, ethereum architecture, decentralized protocols, smart contracts, dapp development, and interacting with smart contracts using javascript, with specific examples including creating a smart contract for ticket sales on ethereum with 100 ticket quota and buy ticket function triggered by app.js.", 'chapters': [{'end': 171.196, 'segs': [{'end': 79.155, 'src': 'embed', 'start': 44.415, 'weight': 0, 'content': [{'end': 48.459, 'text': 'What benefits does decentralized offer in this case? Very few benefits.', 'start': 44.415, 'duration': 4.044}, {'end': 53.863, 'text': "One, you don't have to worry about a third party taking a fee, so it's cheaper for both parties.", 'start': 49.099, 'duration': 4.764}, {'end': 61.01, 'text': "And two, it's censorship resistant, which isn't that big a deal for a conference ticket web app.", 'start': 54.504, 'duration': 6.506}, {'end': 69.117, 'text': 'But the point is to talk about Ethereum and learn how contracts and the model view controller architecture of web apps all play together.', 'start': 61.31, 'duration': 7.807}, {'end': 79.155, 'text': 'Okay? First of all, what is Ethereum? So Ethereum is a platform to easily build decentralized applications using blockchain technology.', 'start': 69.337, 'duration': 9.818}], 'summary': 'Decentralized offers cost-effectiveness and censorship resistance, but ethereum is more focused on building decentralized applications using blockchain technology.', 'duration': 34.74, 'max_score': 44.415, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw844415.jpg'}, {'end': 152.284, 'src': 'embed', 'start': 111.51, 'weight': 1, 'content': [{'end': 114.911, 'text': 'You can also store code snippets in those blocks, smart contracts.', 'start': 111.51, 'duration': 3.401}, {'end': 117.194, 'text': "That's really the key bit here.", 'start': 116.011, 'duration': 1.183}, {'end': 121.041, 'text': "Ethereum is a programmable blockchain, while Bitcoin isn't.", 'start': 117.434, 'duration': 3.607}, {'end': 127.833, 'text': "Well, Bitcoin does have its own scripting language, but it's not as awesome or complete or capable as Ethereum's.", 'start': 121.522, 'duration': 6.311}, {'end': 130.18, 'text': "that's for security reasons.", 'start': 129.139, 'duration': 1.041}, {'end': 137.068, 'text': 'but anyways, you can build decentralized applications and you might be asking a decentralized what a decentralized application looks?', 'start': 130.18, 'duration': 6.888}, {'end': 137.789, 'text': 'kind of like this?', 'start': 137.068, 'duration': 0.721}, {'end': 139.791, 'text': "it's a different stack entirely.", 'start': 137.789, 'duration': 2.002}, {'end': 148.22, 'text': 'so at the bottom we have a blockchain, and a blockchain allows for a decentralized consensus over application level constructs.', 'start': 139.791, 'duration': 8.429}, {'end': 152.284, 'text': 'there are so many things in an app that different parties need to agree upon.', 'start': 148.22, 'duration': 4.064}], 'summary': "Ethereum is a programmable blockchain allowing for decentralized applications, unlike bitcoin's limited scripting capabilities.", 'duration': 40.774, 'max_score': 111.51, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8111510.jpg'}], 'start': 0.129, 'title': 'Ethereum and decentralized apps', 'summary': "Delves into ethereum's advantages, decentralized app workings, and ethereum-bitcoin comparison, highlighting ethereum's programmable blockchain abilities and decentralized consensus concept.", 'chapters': [{'end': 171.196, 'start': 0.129, 'title': 'Understanding ethereum and decentralized apps', 'summary': "Discusses the benefits of ethereum, the functionality of decentralized applications, and the comparison between ethereum and bitcoin, emphasizing ethereum's programmable blockchain capabilities and the concept of decentralized consensus.", 'duration': 171.067, 'highlights': ['Ethereum is a platform to easily build decentralized applications using blockchain technology, providing benefits such as cheaper transactions and censorship resistance. Ethereum offers benefits like reduced fees for transactions and censorship resistance, making it an appealing platform for decentralized applications.', "Ethereum is a programmable blockchain, enabling the storage of code snippets in blocks, known as smart contracts. Ethereum's programmable blockchain allows the storage of code snippets in blocks, known as smart contracts, offering a level of versatility not present in Bitcoin's blockchain.", 'The concept of decentralized consensus over application level constructs is essential in a decentralized application stack, involving agreement on various data validations and ownership checks. In a decentralized application stack, decentralized consensus is crucial for agreeing on various data validations and ownership checks, providing a democratic approach compared to centralized servers.']}], 'duration': 171.067, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8129.jpg', 'highlights': ['Ethereum offers benefits like reduced fees for transactions and censorship resistance, making it an appealing platform for decentralized applications.', "Ethereum's programmable blockchain allows the storage of code snippets in blocks, known as smart contracts, offering a level of versatility not present in Bitcoin's blockchain.", 'In a decentralized application stack, decentralized consensus is crucial for agreeing on various data validations and ownership checks, providing a democratic approach compared to centralized servers.']}, {'end': 461.383, 'segs': [{'end': 248.478, 'src': 'heatmap', 'start': 189.751, 'weight': 0.774, 'content': [{'end': 194.693, 'text': 'On top of that, we have a storage layer, right? Normally we use AWS, we use Google Cloud.', 'start': 189.751, 'duration': 4.942}, {'end': 200.656, 'text': 'There are a bunch of service providers for storing your data in the cloud that are controlled by one entity.', 'start': 195.013, 'duration': 5.643}, {'end': 206.358, 'text': 'But in this case, we want a decentralized version of storage that is peer-to-peer, owned by no entities.', 'start': 201.176, 'duration': 5.182}, {'end': 210.68, 'text': 'And IPFS, the Interplanetary File System, is one great example of that.', 'start': 206.858, 'duration': 3.822}, {'end': 214.804, 'text': 'On top of the storage provider comes the smart contracts.', 'start': 211.44, 'duration': 3.364}, {'end': 219.23, 'text': 'So the smart contracts are code snippets that live on the blockchain.', 'start': 215.125, 'duration': 4.105}, {'end': 220.952, 'text': 'They are decentralized computation.', 'start': 219.25, 'duration': 1.702}, {'end': 230.143, 'text': "While storage and content delivery is decentralized by IPFS, computation is decentralized by the Ethereum blockchain's smart contracts.", 'start': 221.432, 'duration': 8.711}, {'end': 238.195, 'text': 'On top of that, then we could start adding application level constructs, identity, reputation, attention, AIs.', 'start': 231.514, 'duration': 6.681}, {'end': 242.996, 'text': 'And on using all of this, we can create a DAP or a decentralized application.', 'start': 238.716, 'duration': 4.28}, {'end': 248.478, 'text': "It doesn't depend on any specific party existing, and it's not about one party selling its services.", 'start': 243.397, 'duration': 5.081}], 'summary': 'Using ipfs for decentralized storage and ethereum blockchain for decentralized computation, enabling creation of daps.', 'duration': 58.727, 'max_score': 189.751, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8189751.jpg'}, {'end': 242.996, 'src': 'embed', 'start': 215.125, 'weight': 0, 'content': [{'end': 219.23, 'text': 'So the smart contracts are code snippets that live on the blockchain.', 'start': 215.125, 'duration': 4.105}, {'end': 220.952, 'text': 'They are decentralized computation.', 'start': 219.25, 'duration': 1.702}, {'end': 230.143, 'text': "While storage and content delivery is decentralized by IPFS, computation is decentralized by the Ethereum blockchain's smart contracts.", 'start': 221.432, 'duration': 8.711}, {'end': 238.195, 'text': 'On top of that, then we could start adding application level constructs, identity, reputation, attention, AIs.', 'start': 231.514, 'duration': 6.681}, {'end': 242.996, 'text': 'And on using all of this, we can create a DAP or a decentralized application.', 'start': 238.716, 'duration': 4.28}], 'summary': 'Smart contracts on ethereum enable decentralized computation for creating dapps.', 'duration': 27.871, 'max_score': 215.125, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8215125.jpg'}, {'end': 287.823, 'src': 'embed', 'start': 258.481, 'weight': 2, 'content': [{'end': 265.726, 'text': "It's a more communal, more progressive way of building software that is emerging and will soon be the mainstream way to build software.", 'start': 258.481, 'duration': 7.245}, {'end': 268.947, 'text': "What are some examples of dApps? I'm sure there are a lot.", 'start': 266.166, 'duration': 2.781}, {'end': 270.228, 'text': 'There are quite a few.', 'start': 269.048, 'duration': 1.18}, {'end': 271.409, 'text': 'Check this one out.', 'start': 270.588, 'duration': 0.821}, {'end': 272.97, 'text': 'So Wave Fund is one.', 'start': 271.449, 'duration': 1.521}, {'end': 277.673, 'text': 'So Wave Fund is a decentralized Kickstarter, right? We know how Kickstarter works.', 'start': 273.01, 'duration': 4.663}, {'end': 279.174, 'text': "It's all about crowdfunding.", 'start': 278.053, 'duration': 1.121}, {'end': 287.823, 'text': 'And Wayfund uses smart contract technology to let people crowdfund certain applications or projects or really anything like that.', 'start': 279.754, 'duration': 8.069}], 'summary': 'Dapps are a communal, progressive way to build software. example: wave fund, a decentralized kickstarter using smart contracts for crowdfunding.', 'duration': 29.342, 'max_score': 258.481, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8258481.jpg'}, {'end': 402.121, 'src': 'heatmap', 'start': 334.274, 'weight': 0.78, 'content': [{'end': 339.175, 'text': "But empowering the whole supply chain for everybody, it's a win, win, win, win situation.", 'start': 334.274, 'duration': 4.901}, {'end': 340.756, 'text': 'So great use case here.', 'start': 339.195, 'duration': 1.561}, {'end': 341.956, 'text': 'But there are lots.', 'start': 341.356, 'duration': 0.6}, {'end': 344.237, 'text': 'Those were just three that I just kind of randomly picked.', 'start': 342.076, 'duration': 2.161}, {'end': 346.138, 'text': "There's a lot and there's a lot more to come.", 'start': 344.297, 'duration': 1.841}, {'end': 348.719, 'text': "So let's get to the architecture of Ethereum, right?", 'start': 346.818, 'duration': 1.901}, {'end': 352.332, 'text': 'Ethereum is it?', 'start': 349.969, 'duration': 2.363}, {'end': 355.537, 'text': 'it provides the Consensus layer.', 'start': 352.332, 'duration': 3.205}, {'end': 360.984, 'text': 'okay, so it provides both the consensus layer, the economic layer and the blockchain services layer.', 'start': 355.537, 'duration': 5.447}, {'end': 365.309, 'text': 'So the bottom three layers ethereum kind of, it solves right.', 'start': 360.984, 'duration': 4.325}, {'end': 371.476, 'text': 'so for consensus, like I said, we need some way to agree upon all of these application level constructs.', 'start': 365.309, 'duration': 6.167}, {'end': 380.245, 'text': 'on top of the consensus mechanisms, we need some kind of economic token to incentivize all these nodes, to do the computation or do the storage,', 'start': 371.476, 'duration': 8.769}, {'end': 381.967, 'text': 'or to do whatever is necessary.', 'start': 380.245, 'duration': 1.722}, {'end': 384.789, 'text': "right, and so that's where the crypto tokens come into play.", 'start': 381.967, 'duration': 2.822}, {'end': 388.232, 'text': 'On top of that, we can start offering services right?', 'start': 385.55, 'duration': 2.682}, {'end': 391.634, 'text': 'These are code snippets that actually do things.', 'start': 388.252, 'duration': 3.382}, {'end': 402.121, 'text': 'Name registries, smart contracts, messaging, oracles, distributed hash tables for storing data, right? On top of that, we have interoperability.', 'start': 392.054, 'duration': 10.067}], 'summary': 'Ethereum architecture provides consensus, economic layer, and blockchain services layer, enabling interoperability and code snippets for various use cases.', 'duration': 67.847, 'max_score': 334.274, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8334274.jpg'}, {'end': 380.245, 'src': 'embed', 'start': 352.332, 'weight': 1, 'content': [{'end': 355.537, 'text': 'it provides the Consensus layer.', 'start': 352.332, 'duration': 3.205}, {'end': 360.984, 'text': 'okay, so it provides both the consensus layer, the economic layer and the blockchain services layer.', 'start': 355.537, 'duration': 5.447}, {'end': 365.309, 'text': 'So the bottom three layers ethereum kind of, it solves right.', 'start': 360.984, 'duration': 4.325}, {'end': 371.476, 'text': 'so for consensus, like I said, we need some way to agree upon all of these application level constructs.', 'start': 365.309, 'duration': 6.167}, {'end': 380.245, 'text': 'on top of the consensus mechanisms, we need some kind of economic token to incentivize all these nodes, to do the computation or do the storage,', 'start': 371.476, 'duration': 8.769}], 'summary': 'Provides consensus, economic, and blockchain services layers for ethereum, incentivizing nodes with economic tokens for computation and storage.', 'duration': 27.913, 'max_score': 352.332, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8352332.jpg'}, {'end': 455.101, 'src': 'embed', 'start': 428.934, 'weight': 3, 'content': [{'end': 437.397, 'text': 'and under the hood, this protocol, this exchange protocol, would transfer value or transmit value between all of these different tokens at,', 'start': 428.934, 'duration': 8.463}, {'end': 439.117, 'text': 'as you use different services, right?', 'start': 437.677, 'duration': 1.44}, {'end': 444.819, 'text': 'So you can think of kind of a stack of decentralized APIs that all use their own token.', 'start': 439.137, 'duration': 5.682}, {'end': 455.101, 'text': 'You pay the top API with whatever token you want and it pays all the other APIs and the tokens that they require using this kind of decentralized exchange protocol,', 'start': 445.199, 'duration': 9.902}], 'summary': 'Decentralized exchange protocol facilitates value transfer between tokens and apis.', 'duration': 26.167, 'max_score': 428.934, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8428934.jpg'}], 'start': 171.596, 'title': 'Dapps and ethereum architecture', 'summary': 'Explores decentralized applications and blockchain, discussing the role of blockchain and smart contracts in achieving decentralized consensus and the architecture of ethereum, including the consensus layer, economic layer, and blockchain services layer.', 'chapters': [{'end': 331.193, 'start': 171.596, 'title': 'Decentralized applications and blockchain', 'summary': 'Explores the concept of decentralized applications (dapps), highlighting the role of blockchain and smart contracts in achieving decentralized consensus, and discussing examples such as wave fund, augur, and provenance that demonstrate the potential of dapps in crowdfunding, forecasting, and supply chain transparency.', 'duration': 159.597, 'highlights': ['Blockchain and smart contracts enable decentralized consensus and computation, allowing for the creation of dApps. The blockchain and smart contracts play a crucial role in enabling decentralized consensus and computation for the creation of dApps.', 'Examples of dApps such as Wave Fund, Augur, and Provenance demonstrate the potential of decentralized applications in crowdfunding, forecasting, and supply chain transparency. Wave Fund, Augur, and Provenance are examples of dApps that showcase the potential of decentralized applications in crowdfunding, forecasting, and supply chain transparency.', "IPFS provides a decentralized storage solution, while Ethereum blockchain's smart contracts decentralize computation for dApps. IPFS offers decentralized storage, and Ethereum blockchain's smart contracts decentralize computation for dApps."]}, {'end': 461.383, 'start': 331.213, 'title': 'Ethereum architecture and decentralized exchange protocol', 'summary': 'Explains the architecture of ethereum, covering the consensus layer, economic layer, blockchain services layer, and the concept of a universal wrapper for exchanging value between different tokens in a decentralized world.', 'duration': 130.17, 'highlights': ['Ethereum provides the Consensus layer, economic layer, and blockchain services layer, solving consensus mechanisms and incentivizing nodes with crypto tokens. Ethereum provides the Consensus layer, economic layer, and blockchain services layer, addressing consensus mechanisms and incentivizing nodes with crypto tokens.', 'The concept of a universal wrapper to exchange value between different tokens in a decentralized world is discussed. The concept of a universal wrapper to exchange value between different tokens in a decentralized world is explained, providing a solution for exchanging value between various token silos.', 'The decentralized exchange protocol enables transmitting value between different tokens using a stack of decentralized APIs and a universal currency as a medium of exchange. The decentralized exchange protocol facilitates the transmission of value between different tokens through a stack of decentralized APIs and a universal currency, simplifying the exchange process in a decentralized environment.']}], 'duration': 289.787, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8171596.jpg', 'highlights': ['Blockchain and smart contracts enable decentralized consensus and computation, allowing for the creation of dApps.', 'Ethereum provides the Consensus layer, economic layer, and blockchain services layer, solving consensus mechanisms and incentivizing nodes with crypto tokens.', 'Examples of dApps such as Wave Fund, Augur, and Provenance demonstrate the potential of decentralized applications in crowdfunding, forecasting, and supply chain transparency.', 'The concept of a universal wrapper to exchange value between different tokens in a decentralized world is discussed.', "IPFS provides a decentralized storage solution, while Ethereum blockchain's smart contracts decentralize computation for dApps.", 'The decentralized exchange protocol enables transmitting value between different tokens using a stack of decentralized APIs and a universal currency as a medium of exchange.']}, {'end': 925.467, 'segs': [{'end': 526.278, 'src': 'heatmap', 'start': 499.774, 'weight': 0, 'content': [{'end': 503.275, 'text': 'Just scratch out Store J though, because those guys have been vaporware forever.', 'start': 499.774, 'duration': 3.501}, {'end': 504.436, 'text': 'But everything else looks good.', 'start': 503.335, 'duration': 1.101}, {'end': 505.396, 'text': 'OpenBazaar is dope.', 'start': 504.516, 'duration': 0.88}, {'end': 507.177, 'text': 'And DAOs and all this stuff.', 'start': 505.936, 'duration': 1.241}, {'end': 510.667, 'text': 'But Store J, come on, show us what you got.', 'start': 508.646, 'duration': 2.021}, {'end': 514.51, 'text': 'Right. so, like I said, we wanna store the data in IPFS right?', 'start': 510.827, 'duration': 3.683}, {'end': 518.832, 'text': "You don't wanna store data directly in the blockchain because it's too big, right?", 'start': 514.95, 'duration': 3.882}, {'end': 526.278, 'text': 'Every miner has to download a copy of this blockchain, all the transactions, and that includes code and whatever else is in those transactions.', 'start': 519.053, 'duration': 7.225}], 'summary': 'Discussion on storing data in ipfs instead of blockchain due to size concerns.', 'duration': 63.704, 'max_score': 499.774, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8499774.jpg'}, {'end': 568.895, 'src': 'heatmap', 'start': 540.35, 'weight': 0.779, 'content': [{'end': 548.757, 'text': 'what what ipfs gives back is a hash, a content address for all of that content, and that is what we store in the blockchain, right.', 'start': 540.35, 'duration': 8.407}, {'end': 556.709, 'text': 'so we store it in a distributed hash table, get back the hash and store that hash in the blockchain, which then points to the data storage right?', 'start': 548.757, 'duration': 7.952}, {'end': 563.932, 'text': 'So, in terms of the architecture, the Ethereum white paper is quite extensive.', 'start': 558.669, 'duration': 5.263}, {'end': 566.974, 'text': "And there's a lot happening here in this huge diagram.", 'start': 564.012, 'duration': 2.962}, {'end': 568.895, 'text': "But let's go over it a little bit.", 'start': 566.994, 'duration': 1.901}], 'summary': 'Ipfs provides a content address, stored in blockchain, for data storage. ethereum white paper covers extensive architecture.', 'duration': 28.545, 'max_score': 540.35, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8540350.jpg'}, {'end': 616.283, 'src': 'heatmap', 'start': 577.861, 'weight': 0.72, 'content': [{'end': 583.284, 'text': 'And all of those transactions contain state and other programmable blocks.', 'start': 577.861, 'duration': 5.423}, {'end': 588.97, 'text': "Parameters. so what the ethereum blockchain does is it's stored on every miners computer.", 'start': 583.604, 'duration': 5.366}, {'end': 599.202, 'text': 'It currently uses the proof-of-work algorithm to verify all, to verify the entire network, and inside each of these blocks They run the computation,', 'start': 588.97, 'duration': 10.232}, {'end': 608.579, 'text': "the smart contract contained in each block, And then, once that computation has been successfully done on each miner's computer,", 'start': 599.202, 'duration': 9.377}, {'end': 616.283, 'text': 'the whole network will do the same thing, and then the majority of the network, if they can agree on the computation of that code snippet.', 'start': 608.579, 'duration': 7.704}], 'summary': "Ethereum blockchain runs on every miner's computer, using proof-of-work algorithm for verification.", 'duration': 38.422, 'max_score': 577.861, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8577861.jpg'}, {'end': 755.1, 'src': 'embed', 'start': 727.802, 'weight': 4, 'content': [{'end': 733.484, 'text': 'And so anyone reading that proof can verify that the hashing is consistent going all the way up the tree.', 'start': 727.802, 'duration': 5.682}, {'end': 738.149, 'text': 'So the Bitcoin.', 'start': 735.808, 'duration': 2.341}, {'end': 742.932, 'text': "so the Bitcoin blockchain uses a very simple Merkle tree right, and it's got these parameters.", 'start': 738.149, 'duration': 4.783}, {'end': 748.596, 'text': "But the limitation of that Merkle tree is that it can't prove anything about the current state.", 'start': 742.932, 'duration': 5.664}, {'end': 755.1, 'text': "that means who's holding some digital asset, name registrations, the status of some financial contract.", 'start': 748.596, 'duration': 6.504}], 'summary': 'Bitcoin blockchain uses a simple merkle tree, but has limitations in proving current state.', 'duration': 27.298, 'max_score': 727.802, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8727802.jpg'}, {'end': 803.741, 'src': 'embed', 'start': 774.35, 'weight': 5, 'content': [{'end': 775.951, 'text': 'which is the state of your code right?', 'start': 774.35, 'duration': 1.601}, {'end': 778.833, 'text': "It's a decentralized computer that can store state.", 'start': 776.211, 'duration': 2.622}, {'end': 785.396, 'text': "And they call this instead a Patricia tree, not a Merkle tree, because it's modified to store state.", 'start': 780.073, 'duration': 5.323}, {'end': 795.671, 'text': 'which then allows clients to easily make and get verifiable answers to queries like tell me all the instances of an event of type X.', 'start': 786.741, 'duration': 8.93}, {'end': 800.517, 'text': 'like an X could be a crowdfunding contract reaching its goal, et cetera, right?', 'start': 795.671, 'duration': 4.846}, {'end': 803.741, 'text': 'So the Patricia Tree allows a blockchain to store state.', 'start': 800.557, 'duration': 3.184}], 'summary': 'Patricia tree enables blockchain to store state for easy client queries.', 'duration': 29.391, 'max_score': 774.35, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8774350.jpg'}, {'end': 851.417, 'src': 'embed', 'start': 819.782, 'weight': 6, 'content': [{'end': 822.904, 'text': 'Now this is kind of encapsulated by the Ethereum client.', 'start': 819.782, 'duration': 3.122}, {'end': 827.367, 'text': 'Then you have Swarm, which is the storage layer, which we can just use IPFS for.', 'start': 823.364, 'duration': 4.003}, {'end': 830.749, 'text': 'And then Whisper is for all the nodes to be able to message each other.', 'start': 827.767, 'duration': 2.982}, {'end': 833.351, 'text': 'And for that, we can actually also use IPFS.', 'start': 831.089, 'duration': 2.262}, {'end': 836.493, 'text': 'So really all you need are Ethereum and IPFS.', 'start': 833.691, 'duration': 2.802}, {'end': 844.555, 'text': 'And so, to run Ethereum, you can just download the client yourself, just like you would BitTorrent or Bitcoin, and then, with that client,', 'start': 837.993, 'duration': 6.562}, {'end': 846.416, 'text': 'you can connect to the Ethereum network.', 'start': 844.555, 'duration': 1.861}, {'end': 851.417, 'text': "you can explore Ethereum's blockchain, run smart contracts, mine new blocks the whole deal right?", 'start': 846.416, 'duration': 5.001}], 'summary': 'Ethereum client, swarm, and whisper can be replaced by ipfs, making ethereum and ipfs the only requirements for running ethereum.', 'duration': 31.635, 'max_score': 819.782, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8819782.jpg'}], 'start': 462.574, 'title': 'Decentralized applications and ethereum blockchain', 'summary': 'Covers integrating decentralized protocols into mainstream browsers, using specialized browsers for decentralized applications, and the potential of dapp development. it also discusses data storage in ipfs, merkle trees for scalability, and key components of the ethereum network including ethereum virtual machine, swarm, whisper, and the client gateway.', 'chapters': [{'end': 505.396, 'start': 462.574, 'title': 'Decentralized applications and browsers', 'summary': 'Discusses the integration of decentralized protocols into mainstream browsers like chrome and firefox, while highlighting the use of specialized browsers like mist and maelstrom for decentralized applications, and mentions the potential of building dapps using this technology.', 'duration': 42.822, 'highlights': ['Mainstream browsers like Chrome and Firefox are expected to natively accept decentralized protocols, eliminating the need for another browser.', 'Specialized browsers like Mist and Maelstrom are currently used for decentralized applications.', 'The potential for building dApps using the technology of decentralized applications is highlighted.']}, {'end': 925.467, 'start': 505.936, 'title': 'Ethereum blockchain & ipfs', 'summary': 'Discusses the storage of data in ipfs to avoid blockchain bloat, the use of merkle trees for scalability, the modification of merkle trees to store state in the ethereum blockchain, and the key components of the ethereum network including ethereum virtual machine, swarm for storage, whisper for messaging, and the client gateway.', 'duration': 419.531, 'highlights': ['The Ethereum blockchain stores data in IPFS to prevent bloat, as storing movies and large files directly in the blockchain would lead to an excessively large blockchain, making it impractical for every miner to download. Storing data in IPFS prevents the Ethereum blockchain from becoming excessively large, making it impractical for every miner to download, ensuring efficient storage and access to data.', 'The use of Merkle trees in the Bitcoin and Ethereum blockchains to hash large chunks of data together, allowing for scalability and efficient verification through Merkle proofs. Merkle trees are used in the Bitcoin and Ethereum blockchains to hash large chunks of data for scalability and efficient verification using Merkle proofs.', 'The modification of the Merkle tree to a Patricia tree in the Ethereum blockchain to store state, enabling the storage of transactions, receipts, and state of code, facilitating verifiable answers to queries and allowing the blockchain to store state. The Ethereum blockchain modifies the Merkle tree to a Patricia tree to store state, transactions, receipts, and the state of code, allowing for verifiable answers to queries and enabling the blockchain to store state.', 'The key components of the Ethereum network include the Ethereum virtual machine, Swarm for storage, Whisper for messaging, and the client gateway, with Ethereum and IPFS being essential for running Ethereum. The Ethereum network comprises key components such as the Ethereum virtual machine, Swarm for storage, Whisper for messaging, and the client gateway, with Ethereum and IPFS being essential for running Ethereum.']}], 'duration': 462.893, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8462574.jpg', 'highlights': ['Mainstream browsers like Chrome and Firefox are expected to natively accept decentralized protocols, eliminating the need for another browser.', 'Specialized browsers like Mist and Maelstrom are currently used for decentralized applications.', 'The potential for building dApps using the technology of decentralized applications is highlighted.', 'The Ethereum blockchain stores data in IPFS to prevent bloat, ensuring efficient storage and access to data.', 'The use of Merkle trees in the Bitcoin and Ethereum blockchains allows for scalability and efficient verification through Merkle proofs.', 'The modification of the Merkle tree to a Patricia tree in the Ethereum blockchain enables the storage of transactions, receipts, and state of code, facilitating verifiable answers to queries and allowing the blockchain to store state.', 'The key components of the Ethereum network include the Ethereum virtual machine, Swarm for storage, Whisper for messaging, and the client gateway, with Ethereum and IPFS being essential for running Ethereum.']}, {'end': 1124.847, 'segs': [{'end': 992.571, 'src': 'heatmap', 'start': 960.207, 'weight': 0, 'content': [{'end': 965.45, 'text': "solidity, which is the most popular and it's very similar to JavaScript, and it's the one that will use.", 'start': 960.207, 'duration': 5.243}, {'end': 969.273, 'text': "There's a workflow for deploying smart contracts.", 'start': 966.651, 'duration': 2.622}, {'end': 977.86, 'text': 'the first step is to download your ethereum node And then you write your solidity code and then compile it, usually using a framework like truffle,', 'start': 969.273, 'duration': 8.587}, {'end': 980.602, 'text': 'And then you can deploy your contract to the network.', 'start': 977.86, 'duration': 2.742}, {'end': 988.367, 'text': "and then, once you've deployed your contract to the network, Then you can call that contract using web 3.js,", 'start': 980.602, 'duration': 7.765}, {'end': 992.19, 'text': 'Which is the front-end client that speaks to the ethereum blockchain.', 'start': 988.367, 'duration': 3.823}, {'end': 992.571, 'text': 'right so?', 'start': 992.19, 'duration': 0.381}], 'summary': 'Solidity is used for smart contracts on ethereum, with a deployment workflow involving downloading an ethereum node, writing and compiling code, and deploying the contract using web3.js.', 'duration': 66.544, 'max_score': 960.207, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8960207.jpg'}, {'end': 1068.506, 'src': 'embed', 'start': 1036.878, 'weight': 4, 'content': [{'end': 1040.482, 'text': 'And your views are your HTML and CSS and JavaScript files right?', 'start': 1036.878, 'duration': 3.604}, {'end': 1048.536, 'text': 'All the storage is happening in IPFS distributed storage network and the application level constructs.', 'start': 1042.173, 'duration': 6.363}, {'end': 1049.937, 'text': 'those are usernames.', 'start': 1048.536, 'duration': 1.401}, {'end': 1052.158, 'text': 'anything that you need people to agree upon.', 'start': 1049.937, 'duration': 2.221}, {'end': 1056.3, 'text': 'right?. Game scores all of that is stored on the blockchain.', 'start': 1052.158, 'duration': 4.142}, {'end': 1060.762, 'text': 'And we can use smart contracts to help facilitate that.', 'start': 1056.82, 'duration': 3.942}, {'end': 1068.506, 'text': "So let's just get started with building this app, right? So in order to run this code that I'm gonna show you, there's very, very few steps.", 'start': 1060.862, 'duration': 7.644}], 'summary': 'Html, css, js files used for app. storage on ipfs. game scores stored on blockchain.', 'duration': 31.628, 'max_score': 1036.878, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw81036877.jpg'}, {'end': 1103.256, 'src': 'embed', 'start': 1077.471, 'weight': 5, 'content': [{'end': 1084.674, 'text': 'This is a blockchain we can use for development purposes that we can spend fake money on and no real money is used.', 'start': 1077.471, 'duration': 7.203}, {'end': 1085.835, 'text': "so it's super useful for us.", 'start': 1084.674, 'duration': 1.161}, {'end': 1092.35, 'text': "And once that's installed, we can install Truffle.", 'start': 1089.608, 'duration': 2.742}, {'end': 1100.174, 'text': "So Truffle is a smart contract framework that offers templates for smart contract building, so you don't have to start from scratch right?", 'start': 1092.43, 'duration': 7.744}, {'end': 1103.256, 'text': "They're scaffolds that you can use to build software faster.", 'start': 1100.194, 'duration': 3.062}], 'summary': 'Blockchain for development with fake money, truffle for smart contract templates.', 'duration': 25.785, 'max_score': 1077.471, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw81077471.jpg'}], 'start': 926.027, 'title': 'Ethereum client, smart contracts and decentralized app development', 'summary': 'Delves into ethereum client, solidity popularity, smart contract deployment workflow, web 3.js for front-end interaction, decentralized app architecture, smart contract use, ipfs for storage, test rpc chain for development, and truffle installation for smart contracts.', 'chapters': [{'end': 992.571, 'start': 926.027, 'title': 'Ethereum client and smart contracts', 'summary': 'Explores the ethereum client and its smart contract languages, highlighting the popularity of solidity and the workflow for deploying smart contracts, with a focus on web 3.js for front-end interaction.', 'duration': 66.544, 'highlights': ['The Ethereum client is currently the most active in terms of usage and practice for building architectures with distributed and decentralized computing.', 'Solidity is the most popular smart contract language, similar to JavaScript, and is commonly used for deploying contracts to the network.', 'The workflow for deploying smart contracts involves downloading the Ethereum node, writing solidity code, compiling it using a framework like truffle, and deploying the contract to the network.', 'Web 3.js serves as the front-end client that interacts with the Ethereum blockchain, allowing the calling of deployed contracts.']}, {'end': 1124.847, 'start': 993.922, 'title': 'Decentralized app development with smart contracts', 'summary': 'Discusses the architecture of decentralized applications, emphasizing the use of smart contracts, ipfs for storage, and the test rpc chain for development purposes, while also highlighting the installation and use of truffle for smart contract building.', 'duration': 130.925, 'highlights': ['The architecture of decentralized applications involves using smart contracts and IPFS for storage, with the test RPC chain being utilized for development purposes. Decentralized applications utilize smart contracts for the controller to interact with blockchains and distributed hash tables, while IPFS is used for storage. The test RPC chain is used for development, enabling the spending of fake money without using real money.', 'The installation and usage of Truffle for smart contract building is discussed, emphasizing its templates and scaffolds for faster software development. Truffle, a smart contract framework, provides templates for building smart contracts, enabling developers to build software faster without starting from scratch. It also offers scaffolds that streamline the development process.']}], 'duration': 198.82, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw8926027.jpg', 'highlights': ['The Ethereum client is currently the most active in terms of usage and practice for building architectures with distributed and decentralized computing.', 'Solidity is the most popular smart contract language, similar to JavaScript, and is commonly used for deploying contracts to the network.', 'The workflow for deploying smart contracts involves downloading the Ethereum node, writing solidity code, compiling it using a framework like truffle, and deploying the contract to the network.', 'Web 3.js serves as the front-end client that interacts with the Ethereum blockchain, allowing the calling of deployed contracts.', 'Decentralized applications utilize smart contracts for the controller to interact with blockchains and distributed hash tables, while IPFS is used for storage.', 'The test RPC chain is used for development, enabling the spending of fake money without using real money.', 'The installation and usage of Truffle for smart contract building is discussed, emphasizing its templates and scaffolds for faster software development.']}, {'end': 1353.157, 'segs': [{'end': 1188.453, 'src': 'embed', 'start': 1124.847, 'weight': 0, 'content': [{'end': 1127.949, 'text': 'all of the Constructs that we created right here, right.', 'start': 1124.847, 'duration': 3.102}, {'end': 1130.83, 'text': 'so buy a ticket, refund a ticket, create a wallet.', 'start': 1127.949, 'duration': 2.881}, {'end': 1135.512, 'text': 'We can see them in all of these sections and they are calling JavaScript right.', 'start': 1130.83, 'duration': 4.682}, {'end': 1139.634, 'text': 'so JavaScript would be the buttons here and JavaScript.', 'start': 1135.512, 'duration': 4.122}, {'end': 1142.276, 'text': 'the JavaScript is identified by the IDs.', 'start': 1140.194, 'duration': 2.082}, {'end': 1150.062, 'text': 'If we look in the JavaScript, we can see the application, the app.js, which contains all of the code.', 'start': 1142.816, 'duration': 7.246}, {'end': 1155.106, 'text': 'So when we initialize a conference, we are calling these functions on these objects.', 'start': 1150.262, 'duration': 4.844}, {'end': 1160.47, 'text': 'So these functions from my conference instance are from the smart contract directly.', 'start': 1155.386, 'duration': 5.084}, {'end': 1165.133, 'text': 'So these are functions that we embed in the smart contract, the my conference instance.', 'start': 1160.75, 'duration': 4.383}, {'end': 1166.314, 'text': 'Think of it like a class.', 'start': 1165.153, 'duration': 1.161}, {'end': 1168.136, 'text': 'So the smart contract is a class.', 'start': 1166.334, 'duration': 1.802}, {'end': 1176.123, 'text': "And we can call all the functions that we write right inside the contract directly from app.js, because we're using web3.js,", 'start': 1168.496, 'duration': 7.627}, {'end': 1178.525, 'text': 'the framework for talking to the Ethereum blockchain.', 'start': 1176.123, 'duration': 2.402}, {'end': 1179.806, 'text': "So it's pretty simple.", 'start': 1179.125, 'duration': 0.681}, {'end': 1183.068, 'text': 'So we would just have to write out our smart contract like so, right?', 'start': 1179.886, 'duration': 3.182}, {'end': 1187.112, 'text': "So let's write out our smart contract for the conference and then we can run it.", 'start': 1183.108, 'duration': 4.004}, {'end': 1188.453, 'text': "It's just like a class right?", 'start': 1187.352, 'duration': 1.101}], 'summary': 'Javascript buttons call functions from smart contract in app.js to interact with ethereum blockchain using web3.js.', 'duration': 63.606, 'max_score': 1124.847, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw81124847.jpg'}, {'end': 1238.274, 'src': 'embed', 'start': 1212.486, 'weight': 4, 'content': [{'end': 1220.132, 'text': 'And then under that we want two more variables one for the number of register registrants and then one for the,', 'start': 1212.486, 'duration': 7.646}, {'end': 1233.37, 'text': 'then one for the and then one for the quota, like how much, what is our maximum limit of Tickets that we will let people buy?', 'start': 1224.705, 'duration': 8.665}, {'end': 1238.274, 'text': "then we'll have a function for the deposit, so we can log the event right?", 'start': 1233.37, 'duration': 4.904}], 'summary': 'Create variables for registrants, quota, and deposit function for event logging.', 'duration': 25.788, 'max_score': 1212.486, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw81212486.jpg'}, {'end': 1332.901, 'src': 'embed', 'start': 1301.122, 'weight': 3, 'content': [{'end': 1305.305, 'text': 'And so whenever someone clicks on buy ticket, it will then call this contract directly, just like that.', 'start': 1301.122, 'duration': 4.183}, {'end': 1319.257, 'text': "So we'll start off the function by saying If the number of registrants is greater than the quota that we have in place, then okay,", 'start': 1305.325, 'duration': 13.932}, {'end': 1324.019, 'text': 'we need to go ahead and write a throw statement, which will ensure that the funds will be returned.', 'start': 1319.257, 'duration': 4.762}, {'end': 1326.019, 'text': "All right, so that's it for our contract.", 'start': 1324.419, 'duration': 1.6}, {'end': 1332.901, 'text': "Very simple stuff, right? And then, like I said, we can call this contract from app.js and it's going to run the contract just like normal.", 'start': 1326.099, 'duration': 6.802}], 'summary': 'A contract is designed to handle ticket sales, returning funds if quota is exceeded.', 'duration': 31.779, 'max_score': 1301.122, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw81301122.jpg'}, {'end': 1353.157, 'src': 'heatmap', 'start': 1339.123, 'weight': 0.731, 'content': [{'end': 1341.604, 'text': "There's some great links in the video description.", 'start': 1339.123, 'duration': 2.481}, {'end': 1342.945, 'text': 'And I hope you liked watching this video.', 'start': 1341.764, 'duration': 1.181}, {'end': 1347.05, 'text': 'If you find this stuff interesting and you want to see more, go ahead and hit the subscribe button.', 'start': 1343.186, 'duration': 3.864}, {'end': 1351.615, 'text': "For now, I've got to go invest in myself and not any other cryptocurrency for the moment.", 'start': 1347.39, 'duration': 4.225}, {'end': 1353.157, 'text': 'So, thanks for watching.', 'start': 1352.016, 'duration': 1.141}], 'summary': 'Encourages viewers to check video links, subscribe, and invest in self over cryptocurrency.', 'duration': 14.034, 'max_score': 1339.123, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw81339123.jpg'}], 'start': 1124.847, 'title': 'Interacting with smart contracts using javascript and smart contract for ticket sales', 'summary': 'Details interacting with smart contracts using javascript and web3.js, focusing on calling smart contract functions and creating a smart contract for ticket sales on ethereum with 100 ticket quota and buy ticket function triggered by app.js.', 'chapters': [{'end': 1188.453, 'start': 1124.847, 'title': 'Interacting with smart contracts using javascript', 'summary': 'Explains how to interact with smart contracts using javascript, leveraging web3.js to call functions directly from the smart contract, with an emphasis on identifying javascript buttons and linking them to the smart contract functions.', 'duration': 63.606, 'highlights': ['Leveraging web3.js, functions from the smart contract can be called directly from app.js, simplifying the interaction with the Ethereum blockchain.', 'The JavaScript buttons are identified by the IDs and are linked to the smart contract functions, providing a clear interface for interaction.', 'The smart contract functions, akin to methods in a class, are embedded in the my conference instance, enabling direct calling from app.js.']}, {'end': 1353.157, 'start': 1188.493, 'title': 'Smart contract for ticket sales', 'summary': 'Explains the creation of a smart contract for ticket sales on ethereum, outlining the variables and functions involved, including the quota of 100 tickets and the buy ticket function triggered by the app.js, aiming to track registrations and deposits.', 'duration': 164.664, 'highlights': ['Creation of smart contract for ticket sales on Ethereum Explains the process of creating a smart contract for ticket sales on Ethereum, including the mapping of addresses to integer values and functions for tracking registrations and deposits.', 'Variables for tracking ticket sales Discusses the variables for tracking ticket sales, such as the quota of 100 tickets, the number of registrants, and the function for logging deposits and refunds.', 'Function for ticket purchases and quota enforcement Details the buy ticket function that allows purchases and enforces the quota by returning funds if the number of registrants exceeds the quota, ensuring a maximum limit of ticket sales.']}], 'duration': 228.31, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/-_Qs0XdPpw8/pics/-_Qs0XdPpw81124847.jpg', 'highlights': ['Leveraging web3.js, functions from the smart contract can be called directly from app.js, simplifying the interaction with the Ethereum blockchain.', 'The JavaScript buttons are identified by the IDs and are linked to the smart contract functions, providing a clear interface for interaction.', 'The smart contract functions, akin to methods in a class, are embedded in the my conference instance, enabling direct calling from app.js.', 'Creation of smart contract for ticket sales on Ethereum Explains the process of creating a smart contract for ticket sales on Ethereum, including the mapping of addresses to integer values and functions for tracking registrations and deposits.', 'Variables for tracking ticket sales Discusses the variables for tracking ticket sales, such as the quota of 100 tickets, the number of registrants, and the function for logging deposits and refunds.', 'Function for ticket purchases and quota enforcement Details the buy ticket function that allows purchases and enforces the quota by returning funds if the number of registrants exceeds the quota, ensuring a maximum limit of ticket sales.']}], 'highlights': ["Ethereum's programmable blockchain allows the storage of code snippets in blocks, known as smart contracts, offering a level of versatility not present in Bitcoin's blockchain.", 'Blockchain and smart contracts enable decentralized consensus and computation, allowing for the creation of dApps.', 'The concept of a universal wrapper to exchange value between different tokens in a decentralized world is discussed.', 'Mainstream browsers like Chrome and Firefox are expected to natively accept decentralized protocols, eliminating the need for another browser.', 'Solidity is the most popular smart contract language, similar to JavaScript, and is commonly used for deploying contracts to the network.', 'Leveraging web3.js, functions from the smart contract can be called directly from app.js, simplifying the interaction with the Ethereum blockchain.']}