SlideShare a Scribd company logo
1
Vikas Grover
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
www.meetup.com/Blockchain-Revolution
Blockchain & Authoring Smart
Contracts
2
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Agenda
● Introduction
● Smart Contracts
● Test RPC and Geth
● Truffle
● Dapp
3
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Introduction
Blockchain creates a permanent, digitized chain of transactions, grouped in blocks,
allowing virtually anything of value to be tracked and traded, without requiring a
central point of control
Blockchain is a peer-to-peer distributed
ledger technology for a new generation of
transactional applications.
4
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
What is in Block
Header, Transaction Count, Block Content
Transaction
Input Output
5
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Public, Private, Consortium/Hybrid
First thing First – Do you even need a Blockchain?
● Database with Shared Access
● Who Controls the Functionality?
● Public or Private Transactions?
● Determining Consensus?
6
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Public, Private, Hybrid
● Public Blockchain: Fully Public, Secured by Cryptocurrencies (Proof
of work, Proof of Stake etc), Its for Anyone – Read, Send
Transactions, Participate in Consensus Process
● Private Blockchain: Controlled Access, Write permissions are kept
centralized to one organization, Read permissions may be public or
not (or some part may be public)
● Consortium/Hybrid Blockchain: Pre-selected set of nodes for eg: 15
financial institutions
7
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Public, Private, Hybrid
Public Blockchain
● Freedom
● Neutrality
● Openness
Private Blockchain
● Known Validator (51% risk
goes away)
● Cheaper Transactions
● Privacy
No way that there is going to be One way to do Blockchain
8
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Bitcoin – Digitally Signed
9
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Ethereum
● Founder of Ethereum - Vitalik Buterin (22 year old) won the 2014 World
Technology Award for invention of Blockchain.
● Ethereum to build programming tools to make Blockchain power
any/everything.
● Ethereum is Dynamic and Programmable. You can implement the way
you want. For eg: Using Java Script you can implement almost anything.
10
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
What is Better with Ethereum
11
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Smart Contract
Smart contracts are computer protocols that
facilitate, verify, or enforce the negotiation or
performance of a contract, or that make a
contractual clause unnecessary.
Smart contracts usually also have a user interface
and often emulate the logic of contractual clauses.
Trust the
Bank
Trust the
Code
12
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Smart Contract – Online Browser
13
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Smart Contract – Mist
14
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Different Needs Different Clients
● When Developing
● Ethereum JS TestRPC
● When Deploying:
● Geth
● Webthree
● Others
17
TRUFFLE
18
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Truffle
What is Truffle
● Development Environment
● Testing Framework
● Asset Pipeline
19
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Truffle
What do you get with Truffle
● Built-in smart contract compilation, linking, deployment and binary management.
● Automated contract testing with Mocha and Chai.
● Configurable build pipeline with support for custom build processes.
● Scriptable deployment & migrations framework
● Network management for deploying to many public & private networks.
● Interactive console for direct contract communication
● Instant rebuilding of assets during development.
● External script runner that executes scripts within a Truffle environment.
● Support for JavaScript, SASS, ES6 and JSX built-in.
21
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Getting Started with Truffle
● Getting Started
● Install Truffle
● Commands
● mkdir myproject
● cd myproject
● truffle init
● app
● contracts
● migrations
● test
● truffle.js
● truffle compile
22
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Testing with Truffle
● Automated Testing
● Mocha
● Assertion
● Chai
● All test files should be located in the ./tests directory. Truffle will only run test files with the following
file extensions: .js, .es, .es6, and .jsx. All other files are ignored.
23
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Interacting with SmartContract
● Use Web3
● Little Difficult though
● Use Ether Pudding
● Chai
● All test files should be located in the ./tests directory. Truffle will only run test files with the following
file extensions: .js, .es, .es6, and .jsx. All other files are ignored.
24
Dapp
25
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Dapp
● Frontend and Backend
● Reactive Programming – callback functions
● Web3.js
● version
● api
● node/getNode
● network/getNetwork
● ethereum/getEthereum
● whisper/getWhisper
● isConnected()
● setProvider(provider)
● CurrentProvider
● Etc etc etc
26
vgrover1515@gmail.com
Offline Slack Channel : www.tinyurl.com/letsdoblockchain
Thanks

More Related Content

What's hot

Payment Protocols - Block Chain & Beyond
Payment Protocols - Block Chain & BeyondPayment Protocols - Block Chain & Beyond
Payment Protocols - Block Chain & BeyondAlexander Kiriakou
 
Technical toolkit for a blockchain startup
Technical toolkit for a blockchain startupTechnical toolkit for a blockchain startup
Technical toolkit for a blockchain startup
Portia Burton
 
Are blockchain and crypto interchangeable terms
Are blockchain and crypto interchangeable terms Are blockchain and crypto interchangeable terms
Are blockchain and crypto interchangeable terms
Blockchain Council
 
Blockchain introduction
Blockchain introductionBlockchain introduction
Blockchain introduction
Jacoby Thwaites
 
Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...
Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...
Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...
Blockchain Council
 
Blockchain Ecosystem and Cryptocurrency Regulations
Blockchain Ecosystem and Cryptocurrency RegulationsBlockchain Ecosystem and Cryptocurrency Regulations
Blockchain Ecosystem and Cryptocurrency Regulations
Amir Rafati
 
Python, Blockchain, and Byte-Size Change
Python, Blockchain, and Byte-Size ChangePython, Blockchain, and Byte-Size Change
Python, Blockchain, and Byte-Size Change
Portia Burton
 
Anatomy of a blockchain
Anatomy of a blockchainAnatomy of a blockchain
Anatomy of a blockchain
Avtar Sehra
 
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
Ninad Sarang
 
A Quick Start To Blockchain by Seval Capraz
A Quick Start To Blockchain by Seval CaprazA Quick Start To Blockchain by Seval Capraz
A Quick Start To Blockchain by Seval Capraz
Seval Çapraz
 
Becoming a blockchain professional
Becoming a blockchain professionalBecoming a blockchain professional
Becoming a blockchain professional
Portia Burton
 
Ethereum Intro
Ethereum IntroEthereum Intro
Ethereum Intro
Dejan Radic
 
Blockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challengesBlockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challenges
Sébastien Tandel
 
Blockchains 101
Blockchains 101Blockchains 101
Blockchains 101
Nikhil Krishna Nair
 
Blockchain explained
Blockchain explainedBlockchain explained
Blockchain explained
Lon Barfield
 
Bitcoin, Banking and the Blockchain
Bitcoin, Banking and the BlockchainBitcoin, Banking and the Blockchain
Bitcoin, Banking and the Blockchain
seancarmody
 
Blockchain and Bitcoin
Blockchain and BitcoinBlockchain and Bitcoin
Blockchain and Bitcoin
M Shamim Iqbal
 
INTRO TO BLOCKCHAINS AND CRYPTOCURRENCY
INTRO TO BLOCKCHAINS AND CRYPTOCURRENCYINTRO TO BLOCKCHAINS AND CRYPTOCURRENCY
INTRO TO BLOCKCHAINS AND CRYPTOCURRENCY
Joseph Holbrook, Chief Learning Officer (CLO)
 
Blockchain Technology: A Technical Introduction to Non-Technical People
Blockchain Technology: A Technical Introduction to Non-Technical PeopleBlockchain Technology: A Technical Introduction to Non-Technical People
Blockchain Technology: A Technical Introduction to Non-Technical People
MecklerMedia
 

What's hot (20)

Payment Protocols - Block Chain & Beyond
Payment Protocols - Block Chain & BeyondPayment Protocols - Block Chain & Beyond
Payment Protocols - Block Chain & Beyond
 
Technical toolkit for a blockchain startup
Technical toolkit for a blockchain startupTechnical toolkit for a blockchain startup
Technical toolkit for a blockchain startup
 
Are blockchain and crypto interchangeable terms
Are blockchain and crypto interchangeable terms Are blockchain and crypto interchangeable terms
Are blockchain and crypto interchangeable terms
 
Blockchain introduction
Blockchain introductionBlockchain introduction
Blockchain introduction
 
Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...
Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...
Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...
 
Blockchain Ecosystem and Cryptocurrency Regulations
Blockchain Ecosystem and Cryptocurrency RegulationsBlockchain Ecosystem and Cryptocurrency Regulations
Blockchain Ecosystem and Cryptocurrency Regulations
 
Python, Blockchain, and Byte-Size Change
Python, Blockchain, and Byte-Size ChangePython, Blockchain, and Byte-Size Change
Python, Blockchain, and Byte-Size Change
 
Anatomy of a blockchain
Anatomy of a blockchainAnatomy of a blockchain
Anatomy of a blockchain
 
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
14 Jan17- Nullmeets -Blockchain concept decoded by Ninad Sarang
 
A Quick Start To Blockchain by Seval Capraz
A Quick Start To Blockchain by Seval CaprazA Quick Start To Blockchain by Seval Capraz
A Quick Start To Blockchain by Seval Capraz
 
Becoming a blockchain professional
Becoming a blockchain professionalBecoming a blockchain professional
Becoming a blockchain professional
 
Ethereum Intro
Ethereum IntroEthereum Intro
Ethereum Intro
 
Blockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challengesBlockchain overview, use cases, implementations and challenges
Blockchain overview, use cases, implementations and challenges
 
Blockchains 101
Blockchains 101Blockchains 101
Blockchains 101
 
Blockchain explained
Blockchain explainedBlockchain explained
Blockchain explained
 
bitcoin_presentation
bitcoin_presentationbitcoin_presentation
bitcoin_presentation
 
Bitcoin, Banking and the Blockchain
Bitcoin, Banking and the BlockchainBitcoin, Banking and the Blockchain
Bitcoin, Banking and the Blockchain
 
Blockchain and Bitcoin
Blockchain and BitcoinBlockchain and Bitcoin
Blockchain and Bitcoin
 
INTRO TO BLOCKCHAINS AND CRYPTOCURRENCY
INTRO TO BLOCKCHAINS AND CRYPTOCURRENCYINTRO TO BLOCKCHAINS AND CRYPTOCURRENCY
INTRO TO BLOCKCHAINS AND CRYPTOCURRENCY
 
Blockchain Technology: A Technical Introduction to Non-Technical People
Blockchain Technology: A Technical Introduction to Non-Technical PeopleBlockchain Technology: A Technical Introduction to Non-Technical People
Blockchain Technology: A Technical Introduction to Non-Technical People
 

Viewers also liked

Conceptualizing Smart Contracts
Conceptualizing Smart ContractsConceptualizing Smart Contracts
Conceptualizing Smart Contracts
Aaron Wright
 
Smart contracts
Smart contractsSmart contracts
Smart contracts
Philippe Camacho, Ph.D.
 
Blockchain Smart Contracts - getting from hype to reality
Blockchain Smart Contracts - getting from hype to reality Blockchain Smart Contracts - getting from hype to reality
Blockchain Smart Contracts - getting from hype to reality
Capgemini
 
Transformational leadership
Transformational leadershipTransformational leadership
Transformational leadership
Parveen Goel
 
Gawrisch Insights From Biophysical Studies On The Role Of Pufa For Function O...
Gawrisch Insights From Biophysical Studies On The Role Of Pufa For Function O...Gawrisch Insights From Biophysical Studies On The Role Of Pufa For Function O...
Gawrisch Insights From Biophysical Studies On The Role Of Pufa For Function O...lab13unisa
 
Fenix, un Lenguaje de Desarrollo de Videojuegos
Fenix, un Lenguaje de Desarrollo de VideojuegosFenix, un Lenguaje de Desarrollo de Videojuegos
Fenix, un Lenguaje de Desarrollo de Videojuegos
José Enrique Alvarez Estrada
 
Estimating Tail Parameters
Estimating Tail ParametersEstimating Tail Parameters
Estimating Tail Parameters
Alejandro Ortega
 
Candilejas milespowerpoints.com
Candilejas milespowerpoints.comCandilejas milespowerpoints.com
Candilejas milespowerpoints.comMercedesmac
 
Real money meets e money
Real money meets e moneyReal money meets e money
Real money meets e money
AITI-KACE
 
LinkedIn Company Page Update
LinkedIn Company Page UpdateLinkedIn Company Page Update
LinkedIn Company Page Update
Sevil Ozer Crespo
 
IktissadEvents App
IktissadEvents AppIktissadEvents App
IktissadEvents App
Al-Iktissad Wal-Aamal
 
Normativa gallega de piscinas
Normativa gallega de piscinasNormativa gallega de piscinas
Normativa gallega de piscinas
fatimacaba
 
Yo te siento. irene cao
Yo te siento. irene caoYo te siento. irene cao
Yo te siento. irene cao
susana Acevedo
 
2014 enero menu semana francesa
2014 enero menu semana francesa2014 enero menu semana francesa
2014 enero menu semana francesaISAC PANAMA
 
Integracion Cardio Respiratorio
Integracion Cardio RespiratorioIntegracion Cardio Respiratorio
Integracion Cardio Respiratorio
Rocio Fernández
 
Enterprise Search: Potenziale und Fallstricke
Enterprise Search: Potenziale und FallstrickeEnterprise Search: Potenziale und Fallstricke
Enterprise Search: Potenziale und Fallstricke
Alexander Stocker
 
Ethereum: Next steps...
Ethereum: Next steps...Ethereum: Next steps...
Ethereum: Next steps...
gavofyork
 

Viewers also liked (20)

Conceptualizing Smart Contracts
Conceptualizing Smart ContractsConceptualizing Smart Contracts
Conceptualizing Smart Contracts
 
Smart contracts
Smart contractsSmart contracts
Smart contracts
 
Blockchain Smart Contracts - getting from hype to reality
Blockchain Smart Contracts - getting from hype to reality Blockchain Smart Contracts - getting from hype to reality
Blockchain Smart Contracts - getting from hype to reality
 
Transformational leadership
Transformational leadershipTransformational leadership
Transformational leadership
 
Gawrisch Insights From Biophysical Studies On The Role Of Pufa For Function O...
Gawrisch Insights From Biophysical Studies On The Role Of Pufa For Function O...Gawrisch Insights From Biophysical Studies On The Role Of Pufa For Function O...
Gawrisch Insights From Biophysical Studies On The Role Of Pufa For Function O...
 
Fenix, un Lenguaje de Desarrollo de Videojuegos
Fenix, un Lenguaje de Desarrollo de VideojuegosFenix, un Lenguaje de Desarrollo de Videojuegos
Fenix, un Lenguaje de Desarrollo de Videojuegos
 
THE STAR FACTOR OFFER FORM
THE STAR FACTOR OFFER FORMTHE STAR FACTOR OFFER FORM
THE STAR FACTOR OFFER FORM
 
Estimating Tail Parameters
Estimating Tail ParametersEstimating Tail Parameters
Estimating Tail Parameters
 
Foodland
FoodlandFoodland
Foodland
 
Candilejas milespowerpoints.com
Candilejas milespowerpoints.comCandilejas milespowerpoints.com
Candilejas milespowerpoints.com
 
Real money meets e money
Real money meets e moneyReal money meets e money
Real money meets e money
 
11. genny magally
11. genny magally11. genny magally
11. genny magally
 
LinkedIn Company Page Update
LinkedIn Company Page UpdateLinkedIn Company Page Update
LinkedIn Company Page Update
 
IktissadEvents App
IktissadEvents AppIktissadEvents App
IktissadEvents App
 
Normativa gallega de piscinas
Normativa gallega de piscinasNormativa gallega de piscinas
Normativa gallega de piscinas
 
Yo te siento. irene cao
Yo te siento. irene caoYo te siento. irene cao
Yo te siento. irene cao
 
2014 enero menu semana francesa
2014 enero menu semana francesa2014 enero menu semana francesa
2014 enero menu semana francesa
 
Integracion Cardio Respiratorio
Integracion Cardio RespiratorioIntegracion Cardio Respiratorio
Integracion Cardio Respiratorio
 
Enterprise Search: Potenziale und Fallstricke
Enterprise Search: Potenziale und FallstrickeEnterprise Search: Potenziale und Fallstricke
Enterprise Search: Potenziale und Fallstricke
 
Ethereum: Next steps...
Ethereum: Next steps...Ethereum: Next steps...
Ethereum: Next steps...
 

Similar to Blockchain - Introduction and Authoring Smart Contracts

Hyperledger
HyperledgerHyperledger
Hyperledger
Vinay Aitha
 
Hackathon Blockchain Guide.docx
Hackathon  Blockchain Guide.docxHackathon  Blockchain Guide.docx
Hackathon Blockchain Guide.docx
Arthur Souza
 
Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703
Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703
Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703
Nevruz Mesut Sahin
 
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeDeploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Horea Porutiu
 
How to Create Blockchain Products by Fr8 Network Lead Engineer
How to Create Blockchain Products by Fr8 Network Lead EngineerHow to Create Blockchain Products by Fr8 Network Lead Engineer
How to Create Blockchain Products by Fr8 Network Lead Engineer
Product School
 
Hong Kong Hyperledger Meetup January 2018
Hong Kong Hyperledger Meetup January 2018Hong Kong Hyperledger Meetup January 2018
Hong Kong Hyperledger Meetup January 2018
Tracy Kuhrt
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528
Arnaud Le Hors
 
Real experience of blockchain in DataTrading
Real experience of blockchain in DataTradingReal experience of blockchain in DataTrading
Real experience of blockchain in DataTrading
Anton Vokrug
 
How to Create Blockchain Products by Slice.Market CTO
How to Create Blockchain Products by Slice.Market CTOHow to Create Blockchain Products by Slice.Market CTO
How to Create Blockchain Products by Slice.Market CTO
Product School
 
Introduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger ProjectIntroduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger Project
Manuel Garcia
 
Waves Platform - A Complete Overview
Waves Platform - A Complete OverviewWaves Platform - A Complete Overview
Waves Platform - A Complete Overview
Blockstreet™
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and Tools
Rihusoft
 
Hyperledger community update February 2018
Hyperledger  community update   February 2018Hyperledger  community update   February 2018
Hyperledger community update February 2018
Christopher Ferris
 
Top 10 Of The Best Tools For Blockchain Development
Top 10 Of The Best Tools For Blockchain DevelopmentTop 10 Of The Best Tools For Blockchain Development
Top 10 Of The Best Tools For Blockchain Development
Blockchain Council
 
Vs code extensions required for blockchain development
Vs code extensions required for blockchain developmentVs code extensions required for blockchain development
Vs code extensions required for blockchain development
Blockchain Council
 
Blockchain Programming.pptx
Blockchain Programming.pptxBlockchain Programming.pptx
Blockchain Programming.pptx
Nickjohn33
 
Conoscerehyperledger
ConoscerehyperledgerConoscerehyperledger
Conoscerehyperledger
Daniela Zuppini
 
Introduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractIntroduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart Contract
Thanh Nguyen
 
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and KaleidoWebinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Kaleido
 
The Decentralized Developer Toolbox by Petros Ring
The Decentralized Developer Toolbox by Petros RingThe Decentralized Developer Toolbox by Petros Ring
The Decentralized Developer Toolbox by Petros Ring
Block 16
 

Similar to Blockchain - Introduction and Authoring Smart Contracts (20)

Hyperledger
HyperledgerHyperledger
Hyperledger
 
Hackathon Blockchain Guide.docx
Hackathon  Blockchain Guide.docxHackathon  Blockchain Guide.docx
Hackathon Blockchain Guide.docx
 
Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703
Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703
Deployablockchainwebappwithhyperledgerfabricpresentation 190820170703
 
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeDeploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
 
How to Create Blockchain Products by Fr8 Network Lead Engineer
How to Create Blockchain Products by Fr8 Network Lead EngineerHow to Create Blockchain Products by Fr8 Network Lead Engineer
How to Create Blockchain Products by Fr8 Network Lead Engineer
 
Hong Kong Hyperledger Meetup January 2018
Hong Kong Hyperledger Meetup January 2018Hong Kong Hyperledger Meetup January 2018
Hong Kong Hyperledger Meetup January 2018
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528
 
Real experience of blockchain in DataTrading
Real experience of blockchain in DataTradingReal experience of blockchain in DataTrading
Real experience of blockchain in DataTrading
 
How to Create Blockchain Products by Slice.Market CTO
How to Create Blockchain Products by Slice.Market CTOHow to Create Blockchain Products by Slice.Market CTO
How to Create Blockchain Products by Slice.Market CTO
 
Introduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger ProjectIntroduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger Project
 
Waves Platform - A Complete Overview
Waves Platform - A Complete OverviewWaves Platform - A Complete Overview
Waves Platform - A Complete Overview
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and Tools
 
Hyperledger community update February 2018
Hyperledger  community update   February 2018Hyperledger  community update   February 2018
Hyperledger community update February 2018
 
Top 10 Of The Best Tools For Blockchain Development
Top 10 Of The Best Tools For Blockchain DevelopmentTop 10 Of The Best Tools For Blockchain Development
Top 10 Of The Best Tools For Blockchain Development
 
Vs code extensions required for blockchain development
Vs code extensions required for blockchain developmentVs code extensions required for blockchain development
Vs code extensions required for blockchain development
 
Blockchain Programming.pptx
Blockchain Programming.pptxBlockchain Programming.pptx
Blockchain Programming.pptx
 
Conoscerehyperledger
ConoscerehyperledgerConoscerehyperledger
Conoscerehyperledger
 
Introduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractIntroduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart Contract
 
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and KaleidoWebinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
Webinar: Enterprise Blockchain Radically Simplified with Truffle and Kaleido
 
The Decentralized Developer Toolbox by Petros Ring
The Decentralized Developer Toolbox by Petros RingThe Decentralized Developer Toolbox by Petros Ring
The Decentralized Developer Toolbox by Petros Ring
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
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
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
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
 
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
 
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
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
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
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
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
 
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
 
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...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 

Blockchain - Introduction and Authoring Smart Contracts

  • 1. 1 Vikas Grover vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain www.meetup.com/Blockchain-Revolution Blockchain & Authoring Smart Contracts
  • 2. 2 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Agenda ● Introduction ● Smart Contracts ● Test RPC and Geth ● Truffle ● Dapp
  • 3. 3 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Introduction Blockchain creates a permanent, digitized chain of transactions, grouped in blocks, allowing virtually anything of value to be tracked and traded, without requiring a central point of control Blockchain is a peer-to-peer distributed ledger technology for a new generation of transactional applications.
  • 4. 4 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain What is in Block Header, Transaction Count, Block Content Transaction Input Output
  • 5. 5 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Public, Private, Consortium/Hybrid First thing First – Do you even need a Blockchain? ● Database with Shared Access ● Who Controls the Functionality? ● Public or Private Transactions? ● Determining Consensus?
  • 6. 6 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Public, Private, Hybrid ● Public Blockchain: Fully Public, Secured by Cryptocurrencies (Proof of work, Proof of Stake etc), Its for Anyone – Read, Send Transactions, Participate in Consensus Process ● Private Blockchain: Controlled Access, Write permissions are kept centralized to one organization, Read permissions may be public or not (or some part may be public) ● Consortium/Hybrid Blockchain: Pre-selected set of nodes for eg: 15 financial institutions
  • 7. 7 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Public, Private, Hybrid Public Blockchain ● Freedom ● Neutrality ● Openness Private Blockchain ● Known Validator (51% risk goes away) ● Cheaper Transactions ● Privacy No way that there is going to be One way to do Blockchain
  • 8. 8 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Bitcoin – Digitally Signed
  • 9. 9 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Ethereum ● Founder of Ethereum - Vitalik Buterin (22 year old) won the 2014 World Technology Award for invention of Blockchain. ● Ethereum to build programming tools to make Blockchain power any/everything. ● Ethereum is Dynamic and Programmable. You can implement the way you want. For eg: Using Java Script you can implement almost anything.
  • 10. 10 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain What is Better with Ethereum
  • 11. 11 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Smart Contract Smart contracts are computer protocols that facilitate, verify, or enforce the negotiation or performance of a contract, or that make a contractual clause unnecessary. Smart contracts usually also have a user interface and often emulate the logic of contractual clauses. Trust the Bank Trust the Code
  • 12. 12 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Smart Contract – Online Browser
  • 13. 13 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Smart Contract – Mist
  • 14. 14 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Different Needs Different Clients ● When Developing ● Ethereum JS TestRPC ● When Deploying: ● Geth ● Webthree ● Others
  • 16. 18 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Truffle What is Truffle ● Development Environment ● Testing Framework ● Asset Pipeline
  • 17. 19 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Truffle What do you get with Truffle ● Built-in smart contract compilation, linking, deployment and binary management. ● Automated contract testing with Mocha and Chai. ● Configurable build pipeline with support for custom build processes. ● Scriptable deployment & migrations framework ● Network management for deploying to many public & private networks. ● Interactive console for direct contract communication ● Instant rebuilding of assets during development. ● External script runner that executes scripts within a Truffle environment. ● Support for JavaScript, SASS, ES6 and JSX built-in.
  • 18. 21 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Getting Started with Truffle ● Getting Started ● Install Truffle ● Commands ● mkdir myproject ● cd myproject ● truffle init ● app ● contracts ● migrations ● test ● truffle.js ● truffle compile
  • 19. 22 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Testing with Truffle ● Automated Testing ● Mocha ● Assertion ● Chai ● All test files should be located in the ./tests directory. Truffle will only run test files with the following file extensions: .js, .es, .es6, and .jsx. All other files are ignored.
  • 20. 23 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Interacting with SmartContract ● Use Web3 ● Little Difficult though ● Use Ether Pudding ● Chai ● All test files should be located in the ./tests directory. Truffle will only run test files with the following file extensions: .js, .es, .es6, and .jsx. All other files are ignored.
  • 22. 25 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Dapp ● Frontend and Backend ● Reactive Programming – callback functions ● Web3.js ● version ● api ● node/getNode ● network/getNetwork ● ethereum/getEthereum ● whisper/getWhisper ● isConnected() ● setProvider(provider) ● CurrentProvider ● Etc etc etc
  • 23. 26 vgrover1515@gmail.com Offline Slack Channel : www.tinyurl.com/letsdoblockchain Thanks