Git Product home page Git Product logo

eth.build's Introduction

🛠 ETH.Build

Enviornment Information: (reccomended) node version manager node: v14.17.5 yarn: 1.22.5


  yarn install --frozen-lockfile --ignore-engines 
  yarn start

image


🛠️ETH.Build An Educational Sandbox For Web3... And Much More.

👉Drag-and-Drop Programming 🧩Open Source Building Blocks 🧐Visually Understand How Ethereum Works


Hash Function Think of it like a fingerprint of any given input data. Input can be any size, output is always the same size (64 hex chars). Deterministic, you will always get the same hash for a specific input. One directional, given a hash it is impossible to guess the seed.

Key Pair Consists of a public key derived from a private key. Your address where you send value is derived from your public key. Can be used to sign a message and anyone can recover the signer's address. Anyone can generate an Ethereum account by just generating a random private key.

Look Ahead: Transactions Users can sign messages that go on-chain to send and receive value. No decimals! Amounts are integers, in Wei. 1 ETH is 10^18 Wei. You can generate accounts by just randomly generating private keys.

Side Quest: Encryption Asymmetric encryption with Ethereum key pairs. A small amount of data can be encrypted with a public key. The private key is used to decrypt the data. Not the best way to encrypt data!

Distributed Ledger Once we have key pairs and we can sign messages, our messages can be objects with to, from, value, etc. A ledger keeps track of everyone's balance and new transactions are added to it. Everyone keeps a copy of the same ledger. Need a 'nonce' to prevent replay attacks. Problems with network topology and consensus...

Byzantine Generals Coordination problem arises without a centralized authority. Network (communication) is public and untrusted. Generals prove their ability to wage war to other generals in messages. Proof of work!

Blockchain Proof of work is brute forcing a one-way hash function. Miners with special hardware work to secure blocks of transactions. Each block references the previous block to make a chain. Longest chain wins and your weird uncle shows up to help with security.

Transactions Send value by signing an object with the details like 'to', 'value', 'data'. 'From' address is cryptographically recovered from the signature. No decimals! Amounts are integers, in Wei. 1 ETH is 10^18 Wei. Miners are incentivized with a fee to package transactions into blocks. This fee is called the gas price and you 'bid' to get mined.

Smart Contracts Send 'machine code' as data in a transaction without a 'to' address. Deployed code has an address just like an "externally owned account" with a private key. Reading data is cheap and can come from any node on the network. Storage and execution are relatively expensive. All nodes have to run and store everything. Call a function on a contract by sending it a transaction with the function args in the data.

image

eth.build's People

Contributors

aragar199 avatar austintgriffith avatar bobface avatar changoman avatar christophsiegenthaler avatar dghelm avatar grahamtallen avatar iamonuwa avatar joaoaguiam avatar kenrogers avatar layer8crypto avatar rmbishop avatar sebastiantf avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.