# Matic MasterClass: ## Building a Full-Stack dApp <!-- Put the link to this slide here so people can follow --> Angela Gilhotra, Application Developer Matic Network --- This isn't necessarily a collaborative session, but if you'd like to follow along you can view slides: https://hackmd.io/@angelagilhotra/ByLhwZjPU and a corresponding helper doc: https://hackmd.io/@angelagilhotra/Hyuk5ZjvI --- ## What the session is about - Introduction to the programmable capabilities of Ethereum blockchain - We'll be learning the basics and building a barebones application to interact with the blockchain - Two parts: - Part1: Discussion on the building blocks of Ethereum - Part2: Interacting with Ethereum --- ## Prerequisites Familiarity with Javascript, Node, HTML, and the console. --- # Part 1 --- ## Brief discussion: ### Building blocks of Ethereum --- ## What is full-stack? --- ### Web2.0 ![](https://i.imgur.com/8KL8rNr.png) --- ### Web3.0 ![](https://i.imgur.com/2uQLTpQ.png) --- # Ethereum ![](https://i.imgur.com/hqyFXt1.png) --- # Nodes ? Nodes comprise of data, EVM, and 'World State' --- # World State - Simply put, mapping between 'addresses' and 'account states' - What is included in an 'account state'? `nonce`, `balance`, `storageRoot`, `codeHash` - Two types of accounts: Externally owned account, Contract account --- # Transactions - single cryptographically signed instruction - Two types: - result in a message call - result in creation of new account with associated code --- ## Transactions comprise of: ``` { from: to: value: gas: gasPrice: data: "" nonce: } ``` --- ### Quick Recap - Ethereum: 'world-computer' - Nodes: the computer systems that form the network that is ethereum - EVM: a tiny little computer inside a node, running 'bytecode' - Accounts: transaction creators and receivers. Two types(EOA, contract) - World State: mapping from address to state - Transactions: a single signed instruction --- ## Part 2: Let's start building --- ## What we'll be using 1. Solidity 2. A simulated Blockchain on our PC 3. HTML, Javascript --- ## What we'll be building ![](https://i.imgur.com/9ETbzOw.png) --- ## Before we start Clone the repository and install dependencies: ``` $ git clone https://github.com/nglglhtr/getter-setter $ cd getter-setter $ npm install ``` --- --- # Recap --- # πŸŽ‰ And that's it! --- # βœ… Wrap up ## What we covered 1. What is full-stack in Web3 2. Writing a smart contract 3. Tools that we can use - To compile our contract, `solc` - To run a local blockchain, `ganache-cli` - To interact with blockchain `Node` and `npm` --- ## Where from here? πŸšΆβ€β™‚οΈ #### Resources to learn dApp development: https://bit.ly/2VaONzb --- ### Thank you! :sheep: You can find me on - Github @nglglhtr - Twitter @angelagilhotra - or email me angela@matic.network
{"metaMigratedAt":"2023-06-15T06:19:06.739Z","metaMigratedFrom":"YAML","title":"Talk slides","breaks":true,"contributors":"[{\"id\":\"a17aacfe-1020-4124-8515-aff0611dad5c\",\"add\":5635,\"del\":2605}]"}
    713 views