Integration of solidity smart contract based decentralised applications with web3.js on ethereum blockchain. Learn how to use web3.js to build the frontend of your d app that will interact with your ethereum smart contracts. Web3.js: digital assets such as cryptocurrencies and smart contracts are a central component of decentralized applications (d apps) , in that they are deployed on the blockchain. However, to interact with these on chain components, transactions need to be created on the blockchain. For a user or off chain software to create a transaction on the blockchain, a node needs to relay the transaction to the underlying peer to peer (P2P) network. Web3.js is a collection of libraries that allows programmers to interact with these on chain components, by being able to facilitate a connection to ethereum nodes, using http or ipc connections. It represents a JavaScript language binding for ethereum's json rpc interface, which makes it directly usable in web technology, as JavaScript is natively supported in almost all web browsers. Web3.js can be used to connect to the ethereum network via any ethereum node that allows access via http. This may be a local node, a node hosted by the d app provider, or public gateways that operate free ethereum access points. One common way of integrating a web browser application with ethereum is to use the metamask browser extension in combination with web3.js. Metamask is an in browser ethereum wallet that injects a web3 provider object into the browser. A web3 provider is a data structure providing a link to publicly accessible ethereum nodes. Using metamask allows users to manage private keys and sign transactions within their web browser. Using metamask in combination with web3.js, in a web interface, provides a convenient way to interact with the ethereum network. Curriculum summary: full-stack application development: how to get through fullstack dapp via web3.js. More about web3: how is it different from conventional ways. Main functionality of web3 and ganache: how to use the functionality of web3 and installing ganache. Simple practical use of web3: simple codes to get you started with web3.js. Getting started with truffle project: basic walkthrough of what is inside of truffle box. Truffle react box deployment: deploying and migrating of smart contracts. How ganache works: set up ganache for our truffle project. Getting started with app.js file: starting template made which can be used for all the different contracts. Get and set methods used: create web3.js to use the functions of our smart contracts. Let's send ethers: will send ethers to smart contracts and differences. Set up the app.js for the first function: we need to set up the app.js for the calling function and sending ethers. App.js for the second type and window function: we need to make the app.js to send directly the ethers to some account or to the smart contracts and withdraw money from the smart contract. Testing of direct ether sends and sending to contract and withdrawing it. Diving into events: let's check out some event logs how to log and how to get back the events so that we will get to know what's going in the blockchain logging events at the same time of deployment. Filtering past events: get past events from blockchain by querying using some filters web3 utils: using web3 utils for some added advantage for the ease of middleware compatibility. Getting to know more about utils