Blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a hash pointer as a link to a previous block, a timestamp and transaction data. It enables digital currency named Bitcoin and Ethereum.
Bitcoin is a digital asset designed by its inventor, Satoshi Nakamoto, to work as a currency.
Ethereum is a decentralized platform that runs smart contracts on a custom built Blockchain. It provides a cryptocurrency token called "ether" and enables the decentralized web3.
web3 is a platform for decentralized apps (dApps).
Dapps is a Decentralized Applications on web3 which connect Frontend with Smart Contract on Blockchain.
MetaMask is a Dapps browsers as Chrome extension. Allows you to run Ethereum dApps right in your browser without running a full Ethereum node.
web3.js is the Ethereum compatible JavaScript API which implements the Generic JSON RPC spec. It's available on npm as a node module
Truffle is a NodeJS Framework for Ethereum, use for compile, deploy smart contract.
Solidity is a contract-oriented, high-level language whose syntax is similar to that of JavaScript and it is designed to target the Ethereum Virtual Machine (EVM).
ABI : Application Binary Interface, is basically how you call functions in a contract and get data back.
IPC : Inter-process Communications, the mechanisms an operating system provides to allow the processes to manage shared data.
RPC : Remote Procedure Calls, a kind of request–response protocol