{"id":15623612,"url":"https://github.com/austintgriffith/eth.build","last_synced_at":"2025-05-16T15:09:21.039Z","repository":{"id":38429847,"uuid":"213988056","full_name":"austintgriffith/eth.build","owner":"austintgriffith","description":"🛠🧮 Educational sandbox for building on web3. Visually understand how Ethereum works by doing.","archived":false,"fork":false,"pushed_at":"2024-03-01T18:14:25.000Z","size":15763,"stargazers_count":709,"open_issues_count":83,"forks_count":187,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-04-12T14:17:19.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://eth.build","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/austintgriffith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-09T18:00:09.000Z","updated_at":"2025-04-04T14:59:32.000Z","dependencies_parsed_at":"2024-10-22T22:05:51.783Z","dependency_job_id":null,"html_url":"https://github.com/austintgriffith/eth.build","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintgriffith%2Feth.build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintgriffith%2Feth.build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintgriffith%2Feth.build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintgriffith%2Feth.build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/austintgriffith","download_url":"https://codeload.github.com/austintgriffith/eth.build/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553958,"owners_count":22090417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T09:57:51.088Z","updated_at":"2025-05-16T15:09:15.996Z","avatar_url":"https://github.com/austintgriffith.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"🛠 [ETH.Build](https://eth.build)\n\nEnviornment Information:\n(reccomended) node version manager\nnode: v14.17.5\nyarn: 1.22.5\n\n---\n\n```\n  yarn install --frozen-lockfile --ignore-engines \n  yarn start\n```\n\n---\n\n[![image](https://user-images.githubusercontent.com/2653167/82834217-b3087d00-9e7d-11ea-8846-e844c5ac8afc.png)](https://youtu.be/30pa790tIIA)\n\n---\n\n🛠️ETH.Build\nAn Educational Sandbox For Web3... And Much More.\n\n👉Drag-and-Drop Programming\n🧩Open Source Building Blocks\n🧐Visually Understand How Ethereum Works\n\n---\n\n[Hash Function](https://youtu.be/QJ010l-pBpE)\nThink of it like a fingerprint of any given input data.\nInput can be any size, output is always the same size (64 hex chars).\nDeterministic, you will always get the same hash for a specific input.\nOne directional, given a hash it is impossible to guess the seed.\n\n[Key Pair](https://youtu.be/9LtBDy67Tho)\nConsists of a public key derived from a private key.\nYour address where you send value is derived from your public key.\nCan be used to sign a message and anyone can recover the signer's address.\nAnyone can generate an Ethereum account by just generating a random private key.\n\n[Look Ahead: Transactions](https://youtu.be/mhwSGYRmkEU)\nUsers can sign messages that go on-chain to send and receive value.\nNo decimals! Amounts are integers, in Wei. 1 ETH is 10^18 Wei.\nYou can generate accounts by just randomly generating private keys.\n\n[Side Quest: Encryption](https://youtu.be/LGEBqz1uG1U)\nAsymmetric encryption with Ethereum key pairs.\nA small amount of data can be encrypted with a public key.\nThe private key is used to decrypt the data.\nNot the best way to encrypt data!\n\n[Distributed Ledger](https://youtu.be/z11wj9OcA4U)\nOnce we have key pairs and we can sign messages, our messages can be objects with to, from, value, etc.\nA ledger keeps track of everyone's balance and new transactions are added to it.\nEveryone keeps a copy of the same ledger.\nNeed a 'nonce' to prevent replay attacks.\nProblems with network topology and consensus...\n\n[Byzantine Generals](https://youtu.be/c7yvOlwBPoQ)\nCoordination problem arises without a centralized authority.\nNetwork (communication) is public and untrusted.\nGenerals prove their ability to wage war to other generals in messages.\nProof of work!\n\n[Blockchain](https://youtu.be/zcX7OJ-L8XQ)\nProof of work is brute forcing a one-way hash function.\nMiners with special hardware work to secure blocks of transactions.\nEach block references the previous block to make a chain.\nLongest chain wins and your weird uncle shows up to help with security.\n\n[Transactions](https://youtu.be/er-0ihqFQB0)\nSend value by signing an object with the details like 'to', 'value', 'data'.\n'From' address is cryptographically recovered from the signature.\nNo decimals! Amounts are integers, in Wei. 1 ETH is 10^18 Wei.\nMiners are incentivized with a fee to package transactions into blocks.\nThis fee is called the gas price and you 'bid' to get mined.\n\n[Smart Contracts](https://youtu.be/-6aYBdnJ-nM)\nSend 'machine code' as data in a transaction without a 'to' address.\nDeployed code has an address just like an \"externally owned account\" with a private key.\nReading data is cheap and can come from any node on the network.\nStorage and execution are relatively expensive. All nodes have to run and store everything.\nCall a function on a contract by sending it a transaction with the function args in the data.\n\n![image](https://user-images.githubusercontent.com/2653167/67598285-64013a80-f72a-11e9-916b-491687d3b6ca.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustintgriffith%2Feth.build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faustintgriffith%2Feth.build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustintgriffith%2Feth.build/lists"}