
Explore the architecture of decentralized applications, code solidity smart contracts, build a ui, and deploy on a network using a client with ipfs for decentralization.
Explore the big picture of this Ethereum based application, including the peer-to-peer network, transaction network, and smart contracts, and how the front end uses web3js to read and update state.
Download and install the required tools for this Ethereum course, including npm and web3, to prepare the development environment and start the hands-on lessons.
Create a Web3 object by requiring the Web3 library and instantiating a new Web3 provider, then connect to local or remote networks (Ganache, Infura) via IPC, HTTP, or HTTPS.
Create a new Ethereum account with Web3.js by requiring the library, initializing a Web3.js instance with a provider, and connecting to Ganache or Infura for local or test networks.
Learn how to retrieve an Ethereum account balance using the Web3.js library, selecting an address, invoking getBalance with a callback, and handling results and errors.
Create a wallet, add new accounts, and manage private keys in a Web3js workflow. Learn how accounts are indexed from zero and how to access wallet details.
Introduce Ethereum blockchain concepts with the Web3js library, showing real-time transactions and new blocks, block inspection, owner information, and subscribing to pending transactions.
Master the web3js block inspection by fetching current and specific block details, including transactions, using flexible input (numbers or strings) to uncover detailed block information.
subscribe to new block headers using a web socket connection, print and process each incoming block data via a callback, and handle errors during subscription.
subscribe to pending transactions in Ethereum using the Web3.js library, monitor status from pending to confirmed, and handle callbacks to track transaction hash and value conversions to ether.
Learn to subscribe to blockchain events using web3.js, define topics, handle event data with callbacks, and listen to crypto kitties contract events on the Ethereum network.
Learn how to subscribe to contract logs with web3js, filter by topics, retrieve hashes, and observe real-time activity in the Ethereum environment.
Learn to create a web3.js contract object by supplying the contract ABI and address, then interact with the contract and read its data.
Learn to call read-only contract methods such as name, balance, and total supply using web3js. Practice executing state-changing functions like transfer, and understand read calls versus transactions in Ethereum contracts.
Learn to subscribe to contract events with web3.js by using fromBlock and toBlock to define a block range, and handle transfer events from the crypto kitty contract.
Explore the three kinds of Ethereum transactions: simple value transfers between users, contract data calls, and deploying new smart contracts to the network.
Install and set up the web3.js environment, define a transaction object, and obtain test ether. Check balances, then prepare and send ether from one account to another.
Learn to construct, sign, and broadcast an ether transfer using web3.js, covering nonce, gas, gas price, value conversion, and raw transaction serialization.
Deploy a smart contract on Ethereum using Web3.js, a voting contract with candidate structure and voter mapping; sign and broadcast the transaction to obtain the contract address.
Explore how to use the web3js library to execute smart contracts via transactions, including transferring funds, deploying contracts, and calling contract functions to vote and interact with other contracts.
What is Etherum ?
Ethereum is an open source, globally decentralized computing infrastructure that executes programs called smart contracts. It uses a blockchain to synchronize and store the system’s state changes, along with a cryptocurrency called ether to meter and constrain execution resource costs.
The Ethereum platform enables developers to build powerful decentralized applications with built-in economic functions. While providing high availability, auditability, transparency and neutrality, it also reduces or eliminates censorship, and reduces certain counterparty risks.
What is a smart contract ?
The term smart contract has been used over the years to describe a wide variety of different things. In the 1990s, cryptographer Nick Szabo coined the term and defined it as “a set of promises, specified in digital form, including protocols within which the parties perform on the other promises”. Since then, the concept of smart contracts has evolved, especially after the introduction of decentralized blockchain platforms with the invention of Bitcoin in 2009. In the context of Ethereum, the term is actually a bit of a misnomer, given that Ethereum smart contracts are neither smart nor legal contracts, but the term has stuck. In this book, we use the term “smart contract” to refer to immutable computer programs that run deterministically in the context of an Ethereum Virtual Machine as part of the Ethereum network protocol, i.e. on the decentralized Ethereum world computer.
What is a DApp?
A Decentralized Application, or DApp, is an application which is mostly or entirely decentralized.
Consider all the possible aspects of an application that may be decentralized:
Front-end software
Back-end software (logic)
Data storage
Name resolution
Message communications
What is Web3.js ?
web3.js is a collection of libraries which allow you to interact with a local or remote
ethereum node, using a HTTP or IPC connection.
You will learn
installation
the big picture
network
create web3 object
local hosted with ganache
remote hosted with infura
account
create new account
get account balance
wallet
block chain
block inspection
subscribe block headers
subscribe pending transactions
contract
create contract
call method
sub event
transaction
transaction deploy contract
transaction send ether
transaction write to smart contract
Blockchain and Ethereum dapp right now are very hot technical trend. Developer with good skill of blockchain and Dapp very easy to get jobs with 6 figures. Are you interesting joining the huge innovation of Dapp ? Joint my course and I will show you.