SlideShare a Scribd company logo
ETHEREUM
Overview
Introduction
Smart contracts
Ethereum Virtual Machine
Architecture
Consensus algorithm
Solidity
Remix
Metamask
Truffle
Dapps
The DAO Attack
Conclusion
Introduction
to Ethereum
• Ethereum is proposed by Vitalik Buterin
• Ethereum is a public Blockchain.
• Distributed computing platform and decentralized
network.
• Operating system featuring “smart contracts”.
• Ether – crypto token used in Ethereum.
• Ethereum provides decentralized virtual machine.
• "Gas", an internal transaction pricing mechanism, is
used to allocate resources on the network.
• Smart contracts are written in solidity programming
language.
• Testnets like Ropsten, Rinkeby, Kovan networks are
used to test smart contracts.
• Remix solidity browser, Ethereum Mist are used as
IDE to develop smart contracts.
• Testing the smart contracts using audit or unit
testing.
• Dapps development using web3.js library.
Smart Contracts
• A smart contract is a
computer protocol
intended to digitally
facilitate, verify, or
enforce the negotiation
or performance of
a contract.
• Smart contracts allow
the performance of
credible transactions
without third parties.
• These transactions are
trackable and
irreversible.
Ethereum Virtual Machine
Virtual machines are
essentially creating a level of
abstraction between the
executing code and the
executing machine.
This layer is needed to
improve the portability of
software, as well as to make
sure applications are
separated from each other,
and separated from their
host.
Creating Smart contracts
using Solidity, Javascript, C++
etc.,
Opcodes, Bytecode, register
stack, contract memory,
contract storage.
Cost of interacting with
smart contracts – GAS
Deploying smart contract Swarm hash and metadata
file
Application Binary Interface
(ABI)
Application
Binary
Interface
(ABI)
• Application Binary Interface is a piece of data documenting
all functions and events, including their needed input and
output.
• When calling a function on a contract, the function
signature is determined by hashing the name of the function
including its inputs.
Architecture of
Ethereum
• Some of the important components of Ethereum:
• Ethereum Virtual Machine
• Miner and Mining nodes
• Blocks and Transactions
• Consensus Mechanism
• Smart contracts
• Accounts, Ether and Gas
Transactions and
Blocks
• Ethereum stores transactions
within Blocks.
• Each block has a upper Gas
limit and each transaction
needs certain amount of Gas
to be consumed as part of its
execution.
• The cumulative gas from all
transactions that are not yet
written in ledger cannot
surpass the Block Gas limit.
• This ensures that all
transactions do not get
stored within a single Block.
• As soon as the Gas limit is
reached, other transaction is
removed from block and
mining begins thereafter.
Consensus
Algorithm
Proof of Work
• A miner collect all the pending transactions from the
transaction pool initiated by EVM nodes where smart
contracts are executed or the transactions happened
by sending ether from one account to other.
• Also they calculate the state and adds the transaction
root hash to the block header.
• After including the transaction in a block, this block is
advertised to all nodes.
• Each miner undergo with mathematical puzzle to
advertise their mined block. Who ever finishes that
mathematical puzzle first, they can advertise their
mined block into the network.
• The miner has to identify the correct nonce in order
to solve the mathematical puzzle.
• Miner gets rewards from two ways. They are:
• Block reward(~5Ether)
• Cumulative gas fees from the transactions in
the block.
• Other miners would verify the block and if found
correct would further verify every transaction while
accept the block and append the same to their ledger
instance
Block header and it’s content
Accounts
• Accounts are main building block for Ethereum
ecosystem.
• It is the interaction between accounts that Ethereum
wants to store as transaction in its ledger.
• Ethereum supports two types of accounts. Each account
has a balance property that returns the current value
stored in it.
• Externally owned accounts
• Ethereum accounts
• Public and Private Key
• Public Key is of 256 bits however 160 bits are used
to transfer ethers.
• They can also execute transactions by invoking
functions within contracts.
• Contract accounts
• Contracts accounts are very similar to externally
owned accounts.
• They are identified using their public address. They
do not have any private key.
• They can hold ether similar to externally owned
accounts however they contain code — code for
smart contracts consisting of functions are state
variables.
Transactions
• An externally owned account sending ether to another
externally owned account in a transaction.
• An externally owned account sending ether to a
contract account in a transaction.
• A contract account sending ether to another contract
account in a transaction.
• A contract account sending ether to an externally
owned account in a transaction.
• Deployment of Smart contract — An externally owned
account can deploy a contract using a transaction in
Ethereum virtual machine.
• Using or invoking a function within a contract —
 Executing a function in a contract that changes state
are considered as transactions in Ethereum.
• If executing a function does not change state, it does
not require a transaction.
• Transaction has some important properties. They are:
• From and To
• Value and Input
• Block hash and Block Number
• Gas and Gas price
• Transaction hash
A Typical Block Data
Solidity
• Solidity is a contract and object oriented programming
language used to write smart contracts on Ethereum.
• Remix or Ethereum Mist is used to deploy and compile
the smart contracts written in Solidity.
• The concepts in Solidity:
• Structure of the contract
• Types
• Units and globally available variables
• Error Handling
Structure of the contract
STATE VARIABLES
pragma solidity >=0.4.0 <0.7.0;
contract SimpleStorage {
uint storedData; // State variable // ...
}
pragma solidity >=0.4.0 <0.7.0;
contract SimpleAuction {
function bid() public payable {
// Function // ...
}
}
pragma solidity >=0.4.22 <0.7.0;
contract Purchase {
address public seller;
modifier onlySeller() {
// Modifier
require( msg.sender== seller, "Only seller can call this." );
_;
}
function abort() public view onlySeller {
// Modifier usage // ...
}
}
FUNCTIONS
FUNCTION MODIFIERS
Structure of the contract
EVENTS
Structure of the contract
STRUCT TYPES
Structure of the contract
ENUM TYPES
Value Types
• Booleans
• Integers
• Bit operations
• Shifts,
• Addition,
• Subtraction,
• Multiplication,
• Division,
• Modulo and
• Exponentiation
• Fixed Size byte arrays
• Dynamically sized byte array
• Rational and Integer Literals
• String literals
• Reference Types
• Memory, storage & call data
• Address
• address – size of an
ethereum address
• address payable with
transfer and send members
• members of address types:
• balance
• transfer
• Send
• call
• delegatecall
• staticcall
• Function types
• internal | external
• pure | view | payable
• Data location
• memory
• storage
• call data
• Arrays
• Bytes
• Strings
• Array Literals
• Array members
• length
• push
• pop
• Structs
Mapping TypesReference Types
Ether Units
Time Units
• 1 = 1 seconds
• 1 minutes = 60 seconds
• 1 hours = 60 minutes
• 1 days = 24 hours
• 1 weeks = 7 days
• 1 wei = 1
• 1 szabo = 1e12
• 1 finney = 1e15
• 1 ether = 1e18
Block and
Transaction
properties
Global Functions Description
blockhash(uint blockNumber) hash of the given block - only works for 256 most recent,
excluding current, blocks
block.coinbase(address payable) current block miner’s address
block.difficulty(uint) current block difficulty
block.gaslimit(uint) current block gaslimit
block.number(uint) current block number
block.timestamp(uint) current block timestamp as seconds since unix epoch
gasleft() remaining gas
msg.data(bytes calldata) complete calldata
msg.sender(address payable) sender of the message (current call)
msg.sig(bytes4) first four bytes of the calldata (i.e. function identifier)
msg.value(uint) number of wei sent with the message
now(uint) current block timestamp (alias for block.timestamp)
tx.gasprice(uint) gas price of the transaction
tx.origin(address payable) sender of the transaction (full call chain)
Error
Handling
assert(bool condition) –
•causes an invalid opcode and thus state change reversion if the
condition is not met - to be used for internal errors.
Assert
require(bool condition) –
•reverts if the condition is not met - to be used for errors in inputs or
external components.
Require
require(bool condition message) –
•reverts if the condition is not met - to be used for errors in inputs or
external components. Also provides an error message.
Require
revert() –
•abort execution and revert state changes.Revert
revert(string memory reason) –
•abort execution and revert state changes, providing an explanatory
string.
Revert
Remix Ethereum Browser : New
Version
IDE
GUI
TERMINAL
Remix Ethereum Browser : Old Version
IDE
GUI
TERMINAL Interactive
Interface
Introduction
to Remix
• to create smart contracts,
• to deploy smart contracts,
• to track smart contracts, and
• to test smart contracts.
Remix Ethereum Browser is used as multi-
purpose environment
• Javascript VM
• It provides five accounts each with 100 ethers to work with
smart contracts.
• Injected Web3
• It injects network from extensions like Metamask. Any
number of accounts present in Metamask included network
are provided to work with smart contracts.
• Web3 Provider
• It injects network which is running in local system. Probably
it injects local networks provided by Truffle, Ganache-cli
etc., and whatever accounts present in local network are
provided to work with smart contracts.
Remix provides three kinds of environments.
GUI – Provides to import/create files
• These are files which
are stored in local
system
• We can create files by
clicking ‘+’ symbol in
top left corner.
• These are files which are
from GitHub
• We can update files by
clicking ‘GitHub Logo’ in
top row.
GUI – Provides to import/create files
Create new file in the browser storage explorer
Add local file to the browser storage explorer
Publish explorer files to the GitHub and Update them
Copy all files to another instance of Remix IDE
Connect to Local Host
IDE – Provides to create/edit smart contracts
Terminal – To view the transaction details
Compile Tab – To compile/configure the version
Run Tab – To deploy and interact with contract
Choose the env.
Choose account
Configure gas
limit
Select Value
Run Tab – To deploy and interact with contract
Select contract
Give constructor
parameter values Transact
Deployed
contracts
Run Tab – To deploy and interact with contract
User Interface to
interact with
deployed contract
Testing – Unit testing is done successfully
Testing scripts
emitted
successfully
Debugging – Debugging the contract by txn hash
Debug to know
what is happening
to the contract
Remix
• Remix also provides to
configure settings.
• Remix also provide to
connect with some
services helpful in
ethereum like Oracle,
Vyper, Pipeline etc.,
• Remix also provides
facility to chat with
community.
Metamask
Metamask
We are connected
Ropsten Test
Network and
deployed contract
Metamask asks to
confirm the
deployment of
contract
Metamask
We can check our
transaction status
It’s showing -
pending
Metamask
We can track our
transaction status
in Etherscan.
Metamask
The transaction
happened
successfully
Metamask
The transaction
status is showing
success in
Etherscan
Metamask
The contract
deployed
successfully shown
in Metamask
• Truffle is a development environment,
testing framework, aiming to make
Ethereum developer easier.
• Built-in smart contract compilation,
linking, deployment and binary
management.
• Automated contract testing with
Mocha and Chai.
• Scriptable deployment & migrations
framework.
• Network management for deploying to
many public & private networks.
• Interactive console for direct contract
communication.
• External script runner that executes
scripts within a Truffle environment.
• Ganache CLI, part of the Truffle suite of
Ethereum development tools, is the
command line version of Ganache,
your personal blockchain for Ethereum
development.Ganache-cli
Decentralized apps(Dapps)
• Dapps are decentralized applications.
• Nothing but any website or app where the backend, the server is
decentralized.
• Ethereum is well known for Dapps.
• Below are sequence of steps to built Dapps:
• Write solidity smart contracts.
• Test the smart contracts using Unit Testing or Audit Testing.
• With the help of tools like Truffle, Ganache-cli and Web3.js and some
other frontend technologies build a Dapp of our own wish.
• We can even create Dapp using Testnets to check before deploying in
to the main net.
DAO
Attack
• A DAO is a Decentralized
Autonomous Organization. Its goal
is to codify the rules and decision
making apparatus of an
organization, eliminating the need
for documents and people in
governing, creating a structure
with decentralized control.
• The hacker exploited a bug in the
code of the DAO and stole more or
less $50 million worth of ether.
Cons of
Ethereum
• Scalability is the biggest issue. Till date
only 15 transactions per second are
executed.
• Because of Proof Of Work consensus
mechanism there is a loss of resources
to mine a block as mining requires
huge computational powers.
• DAO attack.
• ‘Gas’, the transaction fee is needed to
pay for every transaction is very high.
Conclusion
• With the help of Solidity, Remix,
Metamask, Truffle and other tools, we can
build good smart contracts and Dapps.
• Smart contracts can achieve trust between
peers or organizations without the help of
third party.
• Ethereum can make wonderful Dapps
which can solve real life issues.
• By this, we can make use of
decentralization, distributed and
immutable ledgers which are necessary
and important in today’s world.
• Finally, we can achieve beyond
cryptocurrencies by using Ethereum
Blockchain.
References
❑ https://en.wikipedia.org/wiki/Ethereum
❑ https://steemit.com/cryptocurrency/@quantalysus/choosing-between-centralized-
decentralized-and-distributed-networks
❑ https://hackernoon.com/blockchain-architecture-analysis-private-vs-public-vs-consortium-
65eb061b907b
❑ https://en.wikipedia.org/wiki/Distributed_computing
❑ https://en.wikipedia.org/wiki/Smart_contract
❑ https://crypviz.io/knowledge-database/smart-contracts/
❑ https://medium.com/mycrypto/the-ethereum-virtual-machine-how-does-it-work-
9abac2b7c9e
❑ https://medium.com/coinmonks/https-medium-com-ritesh-modi-solidity-chapter1-
63dfaff08a11
❑ https://en.wikipedia.org/wiki/Solidity
❑ https://solidity.readthedocs.io/en/v0.5.8/
❑ https://remix.ethereum.org/#optimize=true&evmVersion=null&version=soljson-
v0.5.1+commit.c8a2cb62.js&appVersion=0.7.7
❑ https://ropsten.etherscan.io/tx/0x00518a03048e324d748ed9bc3be11debe99fa629f106297
ab26b8bf8fd9e9335
❑ https://github.com/trufflesuite/truffle
❑ https://github.com/trufflesuite/ganache-cli
THANK YOU

More Related Content

What's hot

List of 10 Most Expensive NFTs Ever Sold
List of 10 Most Expensive NFTs Ever SoldList of 10 Most Expensive NFTs Ever Sold
List of 10 Most Expensive NFTs Ever Sold
101 Blockchains
 
Asset Tokenization as an Industry Game Changer
Asset Tokenization as an Industry Game ChangerAsset Tokenization as an Industry Game Changer
Asset Tokenization as an Industry Game Changer
Jongseung Kim
 
Ethereum 2.0
Ethereum 2.0Ethereum 2.0
Ethereum 2.0
Gene Leybzon
 
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Svetlin Nakov
 
Introduction to Decentralized Finance (DeFi)
Introduction to Decentralized Finance (DeFi)Introduction to Decentralized Finance (DeFi)
Introduction to Decentralized Finance (DeFi)
101 Blockchains
 
Blockchain Fundamentals - Top Rated for Beginners
Blockchain Fundamentals - Top Rated for Beginners Blockchain Fundamentals - Top Rated for Beginners
Blockchain Fundamentals - Top Rated for Beginners
101 Blockchains
 
Bitcoin, Ethereum, Smart Contract & Blockchain
Bitcoin, Ethereum, Smart Contract & BlockchainBitcoin, Ethereum, Smart Contract & Blockchain
Bitcoin, Ethereum, Smart Contract & Blockchain
Jitendra Chittoda
 
Introduction to Tokenization
Introduction to TokenizationIntroduction to Tokenization
Introduction to Tokenization
Nabeel Yoosuf
 
Blockchain Technology Fundamentals
Blockchain Technology FundamentalsBlockchain Technology Fundamentals
Blockchain Technology Fundamentals
Experfy
 
Blockchain and Cryptocurrencies
Blockchain and CryptocurrenciesBlockchain and Cryptocurrencies
Blockchain and Cryptocurrencies
nimeshQ
 
Tokenization v2
Tokenization v2Tokenization v2
Tokenization v2
Pavel Kravchenko, PhD
 
How To Mint An NFT?
How To Mint An NFT?How To Mint An NFT?
How To Mint An NFT?
101 Blockchains
 
Investing in the Security Token Ecosystem
Investing in the Security Token EcosystemInvesting in the Security Token Ecosystem
Investing in the Security Token Ecosystem
Remi Gai
 
Intro to Web3
Intro to Web3Intro to Web3
Intro to Web3
asasdasd5
 
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
Fluidity
 
How NFT Works
How NFT WorksHow NFT Works
How NFT Works
101 Blockchains
 
Realex.io sto-architecture-v2
Realex.io sto-architecture-v2Realex.io sto-architecture-v2
Realex.io sto-architecture-v2
Avadhesh Gupta
 
Ethereum
EthereumEthereum
Tokenomics
TokenomicsTokenomics
Tokenomics
Gayan Samarakoon
 
What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance
zaarahary
 

What's hot (20)

List of 10 Most Expensive NFTs Ever Sold
List of 10 Most Expensive NFTs Ever SoldList of 10 Most Expensive NFTs Ever Sold
List of 10 Most Expensive NFTs Ever Sold
 
Asset Tokenization as an Industry Game Changer
Asset Tokenization as an Industry Game ChangerAsset Tokenization as an Industry Game Changer
Asset Tokenization as an Industry Game Changer
 
Ethereum 2.0
Ethereum 2.0Ethereum 2.0
Ethereum 2.0
 
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
Consensus Algorithms - Nakov at CryptoBlockCon - Las Vegas (2018)
 
Introduction to Decentralized Finance (DeFi)
Introduction to Decentralized Finance (DeFi)Introduction to Decentralized Finance (DeFi)
Introduction to Decentralized Finance (DeFi)
 
Blockchain Fundamentals - Top Rated for Beginners
Blockchain Fundamentals - Top Rated for Beginners Blockchain Fundamentals - Top Rated for Beginners
Blockchain Fundamentals - Top Rated for Beginners
 
Bitcoin, Ethereum, Smart Contract & Blockchain
Bitcoin, Ethereum, Smart Contract & BlockchainBitcoin, Ethereum, Smart Contract & Blockchain
Bitcoin, Ethereum, Smart Contract & Blockchain
 
Introduction to Tokenization
Introduction to TokenizationIntroduction to Tokenization
Introduction to Tokenization
 
Blockchain Technology Fundamentals
Blockchain Technology FundamentalsBlockchain Technology Fundamentals
Blockchain Technology Fundamentals
 
Blockchain and Cryptocurrencies
Blockchain and CryptocurrenciesBlockchain and Cryptocurrencies
Blockchain and Cryptocurrencies
 
Tokenization v2
Tokenization v2Tokenization v2
Tokenization v2
 
How To Mint An NFT?
How To Mint An NFT?How To Mint An NFT?
How To Mint An NFT?
 
Investing in the Security Token Ecosystem
Investing in the Security Token EcosystemInvesting in the Security Token Ecosystem
Investing in the Security Token Ecosystem
 
Intro to Web3
Intro to Web3Intro to Web3
Intro to Web3
 
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
"Decentralized Finance (DeFi)" by Brendan Forster, Dharma | Fluidity 2019
 
How NFT Works
How NFT WorksHow NFT Works
How NFT Works
 
Realex.io sto-architecture-v2
Realex.io sto-architecture-v2Realex.io sto-architecture-v2
Realex.io sto-architecture-v2
 
Ethereum
EthereumEthereum
Ethereum
 
Tokenomics
TokenomicsTokenomics
Tokenomics
 
What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance What is DeFi ? | Decentralized Finance
What is DeFi ? | Decentralized Finance
 

Similar to Ethereum

Ethereum Solidity Fundamentals
Ethereum Solidity FundamentalsEthereum Solidity Fundamentals
Ethereum Solidity Fundamentals
Eno Bassey
 
Ethereum
EthereumEthereum
Ethereum
Brian Yap
 
Solidity Simple Tutorial EN
Solidity Simple Tutorial ENSolidity Simple Tutorial EN
Solidity Simple Tutorial EN
Nicholas Lin
 
Ethereum.pptx
Ethereum.pptxEthereum.pptx
Ethereum.pptx
INAMULLAH699891
 
Blockchain for Developers
Blockchain for DevelopersBlockchain for Developers
Blockchain for Developers
Shimi Bandiel
 
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Simplilearn
 
Hyper ledger project
Hyper ledger projectHyper ledger project
Hyper ledger project
Đoàn Thái Thiên Lộc
 
The Ethereum Blockchain - Introduction to Smart Contracts and Decentralized A...
The Ethereum Blockchain - Introduction to Smart Contracts and Decentralized A...The Ethereum Blockchain - Introduction to Smart Contracts and Decentralized A...
The Ethereum Blockchain - Introduction to Smart Contracts and Decentralized A...
Alessandro Sanino
 
Blockchain Development
Blockchain DevelopmentBlockchain Development
Blockchain Development
preetikumara
 
Li Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong, Bounty Resources Armenia, Li Haidong SingaporeLi Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong
 
Write Smart Contract with Solidity on Ethereum
Write Smart Contract with Solidity on EthereumWrite Smart Contract with Solidity on Ethereum
Write Smart Contract with Solidity on Ethereum
劉 維仁
 
Smart contracts in Solidity
Smart contracts in SoliditySmart contracts in Solidity
Smart contracts in Solidity
Felix Crisan
 
Learning Solidity
Learning SolidityLearning Solidity
Learning Solidity
Arnold Pham
 
Hello world contract
Hello world contractHello world contract
Hello world contract
Gene Leybzon
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptx
AvinashChoure2
 
Building Apps with Ethereum Smart Contract
Building Apps with Ethereum Smart ContractBuilding Apps with Ethereum Smart Contract
Building Apps with Ethereum Smart Contract
Vaideeswaran Sethuraman
 
Tokens 10.pptx
Tokens 10.pptxTokens 10.pptx
Tokens 10.pptx
EmanAmmarAmer
 
Ethereum bxl
Ethereum bxlEthereum bxl
Ethereum bxl
Benjamin MATEO
 
Kyber network de fi whitepaper
Kyber network de fi whitepaperKyber network de fi whitepaper
Kyber network de fi whitepaper
BlockchainkuDotcom
 
Ethereum Mining How To
Ethereum Mining How ToEthereum Mining How To
Ethereum Mining How To
Nugroho Gito
 

Similar to Ethereum (20)

Ethereum Solidity Fundamentals
Ethereum Solidity FundamentalsEthereum Solidity Fundamentals
Ethereum Solidity Fundamentals
 
Ethereum
EthereumEthereum
Ethereum
 
Solidity Simple Tutorial EN
Solidity Simple Tutorial ENSolidity Simple Tutorial EN
Solidity Simple Tutorial EN
 
Ethereum.pptx
Ethereum.pptxEthereum.pptx
Ethereum.pptx
 
Blockchain for Developers
Blockchain for DevelopersBlockchain for Developers
Blockchain for Developers
 
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...
 
Hyper ledger project
Hyper ledger projectHyper ledger project
Hyper ledger project
 
The Ethereum Blockchain - Introduction to Smart Contracts and Decentralized A...
The Ethereum Blockchain - Introduction to Smart Contracts and Decentralized A...The Ethereum Blockchain - Introduction to Smart Contracts and Decentralized A...
The Ethereum Blockchain - Introduction to Smart Contracts and Decentralized A...
 
Blockchain Development
Blockchain DevelopmentBlockchain Development
Blockchain Development
 
Li Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong, Bounty Resources Armenia, Li Haidong SingaporeLi Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong, Bounty Resources Armenia, Li Haidong Singapore
 
Write Smart Contract with Solidity on Ethereum
Write Smart Contract with Solidity on EthereumWrite Smart Contract with Solidity on Ethereum
Write Smart Contract with Solidity on Ethereum
 
Smart contracts in Solidity
Smart contracts in SoliditySmart contracts in Solidity
Smart contracts in Solidity
 
Learning Solidity
Learning SolidityLearning Solidity
Learning Solidity
 
Hello world contract
Hello world contractHello world contract
Hello world contract
 
Chapter 3.pptx
Chapter 3.pptxChapter 3.pptx
Chapter 3.pptx
 
Building Apps with Ethereum Smart Contract
Building Apps with Ethereum Smart ContractBuilding Apps with Ethereum Smart Contract
Building Apps with Ethereum Smart Contract
 
Tokens 10.pptx
Tokens 10.pptxTokens 10.pptx
Tokens 10.pptx
 
Ethereum bxl
Ethereum bxlEthereum bxl
Ethereum bxl
 
Kyber network de fi whitepaper
Kyber network de fi whitepaperKyber network de fi whitepaper
Kyber network de fi whitepaper
 
Ethereum Mining How To
Ethereum Mining How ToEthereum Mining How To
Ethereum Mining How To
 

More from V C

World blockchain hackathon
World blockchain hackathonWorld blockchain hackathon
World blockchain hackathon
V C
 
Store weather details_for_better_prediction
Store weather details_for_better_predictionStore weather details_for_better_prediction
Store weather details_for_better_prediction
V C
 
Stm
StmStm
Stm
V C
 
My internwork
My internworkMy internwork
My internwork
V C
 
Monitor factories poster
Monitor factories posterMonitor factories poster
Monitor factories poster
V C
 
Monitor factories and industries
Monitor factories and industriesMonitor factories and industries
Monitor factories and industries
V C
 
Introduction to blockchain_technology_2
Introduction to blockchain_technology_2Introduction to blockchain_technology_2
Introduction to blockchain_technology_2
V C
 
Introduction to blockchain_technology
Introduction to blockchain_technologyIntroduction to blockchain_technology
Introduction to blockchain_technology
V C
 
Identify fake driving_licenses
Identify fake driving_licensesIdentify fake driving_licenses
Identify fake driving_licenses
V C
 
Deep web
Deep webDeep web
Deep web
V C
 
Decentralization of internet of things with blockchain architecture
Decentralization of internet of things with blockchain architectureDecentralization of internet of things with blockchain architecture
Decentralization of internet of things with blockchain architecture
V C
 
Crop prediction
Crop predictionCrop prediction
Crop prediction
V C
 
Bitcoin
BitcoinBitcoin
Bitcoin
V C
 
All about blockchain
All about blockchainAll about blockchain
All about blockchain
V C
 
Ppt eos
Ppt eosPpt eos
Ppt eos
V C
 

More from V C (15)

World blockchain hackathon
World blockchain hackathonWorld blockchain hackathon
World blockchain hackathon
 
Store weather details_for_better_prediction
Store weather details_for_better_predictionStore weather details_for_better_prediction
Store weather details_for_better_prediction
 
Stm
StmStm
Stm
 
My internwork
My internworkMy internwork
My internwork
 
Monitor factories poster
Monitor factories posterMonitor factories poster
Monitor factories poster
 
Monitor factories and industries
Monitor factories and industriesMonitor factories and industries
Monitor factories and industries
 
Introduction to blockchain_technology_2
Introduction to blockchain_technology_2Introduction to blockchain_technology_2
Introduction to blockchain_technology_2
 
Introduction to blockchain_technology
Introduction to blockchain_technologyIntroduction to blockchain_technology
Introduction to blockchain_technology
 
Identify fake driving_licenses
Identify fake driving_licensesIdentify fake driving_licenses
Identify fake driving_licenses
 
Deep web
Deep webDeep web
Deep web
 
Decentralization of internet of things with blockchain architecture
Decentralization of internet of things with blockchain architectureDecentralization of internet of things with blockchain architecture
Decentralization of internet of things with blockchain architecture
 
Crop prediction
Crop predictionCrop prediction
Crop prediction
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
All about blockchain
All about blockchainAll about blockchain
All about blockchain
 
Ppt eos
Ppt eosPpt eos
Ppt eos
 

Recently uploaded

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 

Recently uploaded (20)

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 

Ethereum

  • 2. Overview Introduction Smart contracts Ethereum Virtual Machine Architecture Consensus algorithm Solidity Remix Metamask Truffle Dapps The DAO Attack Conclusion
  • 3. Introduction to Ethereum • Ethereum is proposed by Vitalik Buterin • Ethereum is a public Blockchain. • Distributed computing platform and decentralized network. • Operating system featuring “smart contracts”. • Ether – crypto token used in Ethereum. • Ethereum provides decentralized virtual machine. • "Gas", an internal transaction pricing mechanism, is used to allocate resources on the network. • Smart contracts are written in solidity programming language. • Testnets like Ropsten, Rinkeby, Kovan networks are used to test smart contracts. • Remix solidity browser, Ethereum Mist are used as IDE to develop smart contracts. • Testing the smart contracts using audit or unit testing. • Dapps development using web3.js library.
  • 4. Smart Contracts • A smart contract is a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. • Smart contracts allow the performance of credible transactions without third parties. • These transactions are trackable and irreversible.
  • 5. Ethereum Virtual Machine Virtual machines are essentially creating a level of abstraction between the executing code and the executing machine. This layer is needed to improve the portability of software, as well as to make sure applications are separated from each other, and separated from their host. Creating Smart contracts using Solidity, Javascript, C++ etc., Opcodes, Bytecode, register stack, contract memory, contract storage. Cost of interacting with smart contracts – GAS Deploying smart contract Swarm hash and metadata file Application Binary Interface (ABI)
  • 6. Application Binary Interface (ABI) • Application Binary Interface is a piece of data documenting all functions and events, including their needed input and output. • When calling a function on a contract, the function signature is determined by hashing the name of the function including its inputs.
  • 7. Architecture of Ethereum • Some of the important components of Ethereum: • Ethereum Virtual Machine • Miner and Mining nodes • Blocks and Transactions • Consensus Mechanism • Smart contracts • Accounts, Ether and Gas
  • 8. Transactions and Blocks • Ethereum stores transactions within Blocks. • Each block has a upper Gas limit and each transaction needs certain amount of Gas to be consumed as part of its execution. • The cumulative gas from all transactions that are not yet written in ledger cannot surpass the Block Gas limit. • This ensures that all transactions do not get stored within a single Block. • As soon as the Gas limit is reached, other transaction is removed from block and mining begins thereafter.
  • 9. Consensus Algorithm Proof of Work • A miner collect all the pending transactions from the transaction pool initiated by EVM nodes where smart contracts are executed or the transactions happened by sending ether from one account to other. • Also they calculate the state and adds the transaction root hash to the block header. • After including the transaction in a block, this block is advertised to all nodes. • Each miner undergo with mathematical puzzle to advertise their mined block. Who ever finishes that mathematical puzzle first, they can advertise their mined block into the network. • The miner has to identify the correct nonce in order to solve the mathematical puzzle. • Miner gets rewards from two ways. They are: • Block reward(~5Ether) • Cumulative gas fees from the transactions in the block. • Other miners would verify the block and if found correct would further verify every transaction while accept the block and append the same to their ledger instance
  • 10. Block header and it’s content
  • 11. Accounts • Accounts are main building block for Ethereum ecosystem. • It is the interaction between accounts that Ethereum wants to store as transaction in its ledger. • Ethereum supports two types of accounts. Each account has a balance property that returns the current value stored in it. • Externally owned accounts • Ethereum accounts • Public and Private Key • Public Key is of 256 bits however 160 bits are used to transfer ethers. • They can also execute transactions by invoking functions within contracts. • Contract accounts • Contracts accounts are very similar to externally owned accounts. • They are identified using their public address. They do not have any private key. • They can hold ether similar to externally owned accounts however they contain code — code for smart contracts consisting of functions are state variables.
  • 12. Transactions • An externally owned account sending ether to another externally owned account in a transaction. • An externally owned account sending ether to a contract account in a transaction. • A contract account sending ether to another contract account in a transaction. • A contract account sending ether to an externally owned account in a transaction. • Deployment of Smart contract — An externally owned account can deploy a contract using a transaction in Ethereum virtual machine. • Using or invoking a function within a contract —  Executing a function in a contract that changes state are considered as transactions in Ethereum. • If executing a function does not change state, it does not require a transaction. • Transaction has some important properties. They are: • From and To • Value and Input • Block hash and Block Number • Gas and Gas price • Transaction hash
  • 14. Solidity • Solidity is a contract and object oriented programming language used to write smart contracts on Ethereum. • Remix or Ethereum Mist is used to deploy and compile the smart contracts written in Solidity. • The concepts in Solidity: • Structure of the contract • Types • Units and globally available variables • Error Handling
  • 15. Structure of the contract STATE VARIABLES pragma solidity >=0.4.0 <0.7.0; contract SimpleStorage { uint storedData; // State variable // ... } pragma solidity >=0.4.0 <0.7.0; contract SimpleAuction { function bid() public payable { // Function // ... } } pragma solidity >=0.4.22 <0.7.0; contract Purchase { address public seller; modifier onlySeller() { // Modifier require( msg.sender== seller, "Only seller can call this." ); _; } function abort() public view onlySeller { // Modifier usage // ... } } FUNCTIONS FUNCTION MODIFIERS
  • 16. Structure of the contract EVENTS
  • 17. Structure of the contract STRUCT TYPES
  • 18. Structure of the contract ENUM TYPES
  • 19. Value Types • Booleans • Integers • Bit operations • Shifts, • Addition, • Subtraction, • Multiplication, • Division, • Modulo and • Exponentiation • Fixed Size byte arrays • Dynamically sized byte array • Rational and Integer Literals • String literals • Reference Types • Memory, storage & call data • Address • address – size of an ethereum address • address payable with transfer and send members • members of address types: • balance • transfer • Send • call • delegatecall • staticcall • Function types • internal | external • pure | view | payable
  • 20. • Data location • memory • storage • call data • Arrays • Bytes • Strings • Array Literals • Array members • length • push • pop • Structs Mapping TypesReference Types
  • 21. Ether Units Time Units • 1 = 1 seconds • 1 minutes = 60 seconds • 1 hours = 60 minutes • 1 days = 24 hours • 1 weeks = 7 days • 1 wei = 1 • 1 szabo = 1e12 • 1 finney = 1e15 • 1 ether = 1e18
  • 22. Block and Transaction properties Global Functions Description blockhash(uint blockNumber) hash of the given block - only works for 256 most recent, excluding current, blocks block.coinbase(address payable) current block miner’s address block.difficulty(uint) current block difficulty block.gaslimit(uint) current block gaslimit block.number(uint) current block number block.timestamp(uint) current block timestamp as seconds since unix epoch gasleft() remaining gas msg.data(bytes calldata) complete calldata msg.sender(address payable) sender of the message (current call) msg.sig(bytes4) first four bytes of the calldata (i.e. function identifier) msg.value(uint) number of wei sent with the message now(uint) current block timestamp (alias for block.timestamp) tx.gasprice(uint) gas price of the transaction tx.origin(address payable) sender of the transaction (full call chain)
  • 23. Error Handling assert(bool condition) – •causes an invalid opcode and thus state change reversion if the condition is not met - to be used for internal errors. Assert require(bool condition) – •reverts if the condition is not met - to be used for errors in inputs or external components. Require require(bool condition message) – •reverts if the condition is not met - to be used for errors in inputs or external components. Also provides an error message. Require revert() – •abort execution and revert state changes.Revert revert(string memory reason) – •abort execution and revert state changes, providing an explanatory string. Revert
  • 24. Remix Ethereum Browser : New Version IDE GUI TERMINAL
  • 25. Remix Ethereum Browser : Old Version IDE GUI TERMINAL Interactive Interface
  • 26. Introduction to Remix • to create smart contracts, • to deploy smart contracts, • to track smart contracts, and • to test smart contracts. Remix Ethereum Browser is used as multi- purpose environment • Javascript VM • It provides five accounts each with 100 ethers to work with smart contracts. • Injected Web3 • It injects network from extensions like Metamask. Any number of accounts present in Metamask included network are provided to work with smart contracts. • Web3 Provider • It injects network which is running in local system. Probably it injects local networks provided by Truffle, Ganache-cli etc., and whatever accounts present in local network are provided to work with smart contracts. Remix provides three kinds of environments.
  • 27. GUI – Provides to import/create files • These are files which are stored in local system • We can create files by clicking ‘+’ symbol in top left corner. • These are files which are from GitHub • We can update files by clicking ‘GitHub Logo’ in top row.
  • 28. GUI – Provides to import/create files Create new file in the browser storage explorer Add local file to the browser storage explorer Publish explorer files to the GitHub and Update them Copy all files to another instance of Remix IDE Connect to Local Host
  • 29. IDE – Provides to create/edit smart contracts
  • 30. Terminal – To view the transaction details
  • 31. Compile Tab – To compile/configure the version
  • 32. Run Tab – To deploy and interact with contract Choose the env. Choose account Configure gas limit Select Value
  • 33. Run Tab – To deploy and interact with contract Select contract Give constructor parameter values Transact Deployed contracts
  • 34. Run Tab – To deploy and interact with contract User Interface to interact with deployed contract
  • 35. Testing – Unit testing is done successfully Testing scripts emitted successfully
  • 36. Debugging – Debugging the contract by txn hash Debug to know what is happening to the contract
  • 37. Remix • Remix also provides to configure settings. • Remix also provide to connect with some services helpful in ethereum like Oracle, Vyper, Pipeline etc., • Remix also provides facility to chat with community.
  • 39. Metamask We are connected Ropsten Test Network and deployed contract Metamask asks to confirm the deployment of contract
  • 40. Metamask We can check our transaction status It’s showing - pending
  • 41. Metamask We can track our transaction status in Etherscan.
  • 43. Metamask The transaction status is showing success in Etherscan
  • 45. • Truffle is a development environment, testing framework, aiming to make Ethereum developer easier. • Built-in smart contract compilation, linking, deployment and binary management. • Automated contract testing with Mocha and Chai. • Scriptable deployment & migrations framework. • Network management for deploying to many public & private networks. • Interactive console for direct contract communication. • External script runner that executes scripts within a Truffle environment. • Ganache CLI, part of the Truffle suite of Ethereum development tools, is the command line version of Ganache, your personal blockchain for Ethereum development.Ganache-cli
  • 46. Decentralized apps(Dapps) • Dapps are decentralized applications. • Nothing but any website or app where the backend, the server is decentralized. • Ethereum is well known for Dapps. • Below are sequence of steps to built Dapps: • Write solidity smart contracts. • Test the smart contracts using Unit Testing or Audit Testing. • With the help of tools like Truffle, Ganache-cli and Web3.js and some other frontend technologies build a Dapp of our own wish. • We can even create Dapp using Testnets to check before deploying in to the main net.
  • 47. DAO Attack • A DAO is a Decentralized Autonomous Organization. Its goal is to codify the rules and decision making apparatus of an organization, eliminating the need for documents and people in governing, creating a structure with decentralized control. • The hacker exploited a bug in the code of the DAO and stole more or less $50 million worth of ether.
  • 48. Cons of Ethereum • Scalability is the biggest issue. Till date only 15 transactions per second are executed. • Because of Proof Of Work consensus mechanism there is a loss of resources to mine a block as mining requires huge computational powers. • DAO attack. • ‘Gas’, the transaction fee is needed to pay for every transaction is very high.
  • 49. Conclusion • With the help of Solidity, Remix, Metamask, Truffle and other tools, we can build good smart contracts and Dapps. • Smart contracts can achieve trust between peers or organizations without the help of third party. • Ethereum can make wonderful Dapps which can solve real life issues. • By this, we can make use of decentralization, distributed and immutable ledgers which are necessary and important in today’s world. • Finally, we can achieve beyond cryptocurrencies by using Ethereum Blockchain.
  • 50. References ❑ https://en.wikipedia.org/wiki/Ethereum ❑ https://steemit.com/cryptocurrency/@quantalysus/choosing-between-centralized- decentralized-and-distributed-networks ❑ https://hackernoon.com/blockchain-architecture-analysis-private-vs-public-vs-consortium- 65eb061b907b ❑ https://en.wikipedia.org/wiki/Distributed_computing ❑ https://en.wikipedia.org/wiki/Smart_contract ❑ https://crypviz.io/knowledge-database/smart-contracts/ ❑ https://medium.com/mycrypto/the-ethereum-virtual-machine-how-does-it-work- 9abac2b7c9e ❑ https://medium.com/coinmonks/https-medium-com-ritesh-modi-solidity-chapter1- 63dfaff08a11 ❑ https://en.wikipedia.org/wiki/Solidity ❑ https://solidity.readthedocs.io/en/v0.5.8/ ❑ https://remix.ethereum.org/#optimize=true&evmVersion=null&version=soljson- v0.5.1+commit.c8a2cb62.js&appVersion=0.7.7 ❑ https://ropsten.etherscan.io/tx/0x00518a03048e324d748ed9bc3be11debe99fa629f106297 ab26b8bf8fd9e9335 ❑ https://github.com/trufflesuite/truffle ❑ https://github.com/trufflesuite/ganache-cli