How to start as Dev with Ethereum ( An Intro to basic Terms and Concepts)
Blockchain industry has seen a big boom in past couple years, One major thing that has happened is now major multinational cooperations are now backing and investing on a lot cryptocurrencies and new blockchain technologies. These things have resulted in a rapid increase in business products and solutions based on blockchain and a high a demand for block developers.
The following trends has become noticeable to a lot of developers worldwide, and they are also now looking into jump into blockchain wagon. But the major problem each faces is how to find a starting point.A lot of Blockchain terms seem to be too complicated too, the documentations provided are also consuming for many new comers..The primary goal of this blog is to introduce basic terms and concepts to the beginners with respect to Ethereum.
What is Blockchain?
Clearly the first question a dev should ask himself is what is block chain.One needs to understand this simple yet powerful thing, it is simply a list of blocks that are linked by cryptography
Mining
Mining provide the computational power needed to maintain the block and verify the transaction.
Consensus Mechanism
Since in blockchain all linked with each other, so all nodes in the blockchain network need to agree with current state of the application, this is achieved by consensus mechanisms.Proof of Work (POW) is the consensus mechanism used by bitCoin and also ethereum in which miners must prove that they made a certain effort. Proof of Stake is another mechanism, on which ethereum plans to upgrade.
Ethereum
Etheruem is one of the first and has probably the largest community of developers and dev tools in blockchain. Even though smart contract were after bitcoin, but it was ethereum that really become a game changer, and developing community of developers for DApps.
EVM
The Ethereum Virtual machine(EVM) handles all the computation on the ethereum network, it exist as a single entity maintained by thousands of connected computers on Ethereum client.
Smart Contract / DApps
A Smart Contract is simply a piece of code that can be executed in a deterministic way, it is usually stored and executed on blockchain , making it trustless and secure.
Protocols
A Protocol is nothing but simply the rules and guidelines that used to achieve a certain task. Each Protocol has it's own set of guidelines, such as B.Protocol provides is an backstop liquidity protocol for DEFI lending platforms.
DEFI
Decentralized Finance (DEFI) is seeing major boom, Compound is the biggest DEFI project.DEFI is a movement that to aims to make a new finance system that is open to everyone and not controlled by any authority or require's intermediaries such as banks.DEFI heavily relies heavily cryptography, blockchain and smart contract.
Decentralized Centralized Autonomous Organizations (DAO's)
DAO's are autonomous organizations, where no one has central authority. A DAO organization is governed by it's members, each member will have say in making decisions.An example will be an charity , where anyone in the world can donate to the charity and later members of charity will vote how the funds are spent.
Decenralized Exchanges
Decentralized Exchanges or dexes are exchanges in crypto , which do not have a central authority. UniSwap, Balancer and Curve are some example of dexes.
Tokens
Tokens on Ethereum an ethereal contract that follows some common rules and implement a standard set of functions that all other token contracts share .
NFT
Non-Fungible Token(NFT) also referred as crypto collectables , is a type of cryptographic token on a blockchain that represents a unique asset. These can entirely digitalized assets or a tokenized version of real world asset.The most prominent framework for issuing NFT's is ERC-721
ERC-20
ERC-20 are fungible tokens , in other words each they have a property that make each token to be exactly same as other token on the network
ERC-721
In ERC-721 in each token as a unique id attached to it, these are used for crypto assets. such an asset such as game character will have a unique id attached to it and it will belong to certain ethereum address.
OnChain
whenever a transaction is sent to the block chain, it's though miners processed on-chain results in a change to underlying ledger.
Off Chain/ Layer 2
Off Chain or Layer 2 is a way of settling transaction without Mining, Affecting the underlying ledger and incurring transaction fee.It increase speed and decrease costs.
Compound
Compound allows us to earn crypto assets by supplying them to the protocol, it allows user to participate in a decentralized money market for crypto assets.It also provides developers platform to launch future proof decentralized financial services and applications, that can pass down compounds benefits to users
GAS
On Ethereum, gas is a transaction fee charged on every action which is requested and exectued on ethereum storage. Gas is very expensive, Developers need to make sure not make unnecessary
UniSwap
UniSwap is basically an decentralised exchange protocol, the concept is that liquidity for exchange transactions is provided in the form of on-chain pools and trades are executed against these pools.
Solidity
Solidity is an object oriented programming language is for smart contracts, it is a curly-bracket language and influenced by C++, Python and Javascript and is designed to target the EVM.
Web3.js
Ethereum nodes only reads JSON-RPC, which are really human friendly. So Web3.js is here to help us, it allows us to interact with ethereum nodes by simple javascript.
GitCoin
GitCoin is a community and platform which is all and all for opensource development in blockchain.you can learn through quests, hackathons and various community members. and Also earn crypto by participating in hackathons and bounties
Truffle
Truffle provides a dev environement, which provide built-in smart contract compilation, linking, deployment and binary management.
Ganache
Ganache is a local development environment, a personal blockchain for rapid etheruem and corda applications.A smart contract once deployed , it cannot be modified. so one needs to make sure everything is working properly. We can use Ganache as our personal block chain locally to test our DApps.
Metamask
Metamask is an wallet for ethereum, which has browser extensions for chrome and firefox.We need to setup an provider to our code which node we should be talking to, we can initiate Web3 providers with metamask which will handle this for us.
Remix
Remix is an only IDE for solidy, you can quickly writing smart contracts on your browser with Remix without setting up dev environment.
The best place to start learning is the Ethereum website, it offers a lot of resources from which you can learn, also GitCoin is another place to where you can learn and earn, and interact with experienced guys.