SlideShare a Scribd company logo
1 of 20
STARTING ON ETHEREUM
A DEVELOPER’S
APPROACH
ME, MYSELF AND I
@nicolas_frankel #ethereum #developer
2
By day
• Developer
By night
• Teacher
• Book author
• Conference speaker
• Blogger
DISCLAIMER
@nicolas_frankel #ethereum #developer
3
I’m not a FinTech expert
I’m not a BlockChain expert
I’m not an Ethereum expert
I’m just a developer!
(You won’t get rich by attending this
presentation)
BLOCKCHAIN?
@nicolas_frankel #ethereum #developer
4
A chain of blocks 
BLOCKCHAIN
•Content: More content
•Hash: 0x445566
•Previous hash: 0x112233
Block 2
•Content: First meaningful content
•Hash: 0x112233
•Previous hash: 0
Block 1
•Content: null
•Hash: 0
Block 0
@nicolas_frankel #ethereum #developer
5
BLOCKCHAIN PROPERTIES
Immutable
Distributed
Transparent
@nicolas_frankel #ethereum #developer
6
TOP 10 CRYPTOS BY MARKET CAP
Market cap (as of Apr. 5th 2018)
1 Bitcoin $115,546,442,632
2 Ethereum $37,362,905,045
3 Ripple $19,345,376,207
4 Bitcoin Cash $10,923,911,621
5 Litecoin $6,668,812,205
6 EOS $4,700,080,629
7 Cardano $3,833,135,890
8 Stellar $3,651,361,761
9 NEO $3,059,712,500
10 Monero $2,761,064,420
@nicolas_frankel #ethereum #developer
7
Source https://coinmarketcap.com/
WHY ETHEREUM?
@nicolas_frankel #ethereum #developer
8
1. You can write code
2. Deploy it on the blockchain
3. Call it from outside the blockchain
ETHEREUM VM
“From a practical standpoint, the EVM can be thought of as a
large decentralized computer containing millions of objects,
called "accounts", which have the ability to maintain an internal
database, execute code and talk to each other.”
--https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial
@nicolas_frankel #ethereum #developer
9
ACCOUNT TYPES
@nicolas_frankel #ethereum #developer
10
Externally owned account
Contract
ETHEREUM CONCEPTS
 “[…] the Ethereum execution environment is lifeless; nothing
happens and the state of every account remains the same.
 However, any user can trigger an action by sending a
transaction from an externally owned account, setting
Ethereum's wheels in motion.
 […] if the destination is a contract, then the contract in turn
activates, and automatically runs its code.”
@nicolas_frankel #ethereum #developer
11
ETHEREUM CODE
@nicolas_frankel #ethereum #developer
12
Ethereum runs specific bytecode
Solidity is the language of choice
SOLIDITY
@nicolas_frankel #ethereum #developer
13
Statically typed
Offers inheritance
Supports libraries
Allows user-defined types
@nicolas_frankel #ethereum #developer
14
INTERESTING BITS
@nicolas_frankel #ethereum #developer
15
Language version header
contract as top-level block name
Return value can be named
Multiple return values
pure keyword
BEYOND THE SANDBOX
@nicolas_frankel #ethereum #developer
16
Your own local network
Test network
• Rinkeby
Production network
ETHEREUM WALLET
@nicolas_frankel #ethereum #developer
17
INDUSTRIALIZATION
@nicolas_frankel #ethereum #developer
18
Testing
• Automated
Deployment
TRUFFLE
@nicolas_frankel #ethereum #developer
19
Ethereum “framework”
• Dedicated structure
NPM package
Provides a local network
THANKS!
@nicolas_frankel #ethereum #developer
20
http://blog.frankel.ch/
@nicolas_frankel
https://git.io/vNZ3P

More Related Content

Similar to Riga Dev Days - Starting on Ethereum, a developer's perspective

How NFT Works
How NFT WorksHow NFT Works
How NFT Works
101 Blockchains
 

Similar to Riga Dev Days - Starting on Ethereum, a developer's perspective (20)

Blockchain and smart contracts, what they are and why you should really care ...
Blockchain and smart contracts, what they are and why you should really care ...Blockchain and smart contracts, what they are and why you should really care ...
Blockchain and smart contracts, what they are and why you should really care ...
 
Spectre coin
Spectre coinSpectre coin
Spectre coin
 
From Crypto Kitties to non fungible token to ERC721 standard
From Crypto Kitties to non fungible token to ERC721 standardFrom Crypto Kitties to non fungible token to ERC721 standard
From Crypto Kitties to non fungible token to ERC721 standard
 
Webinar: From Crypto Kitties to non fungible token to ERC721 standard - Stefa...
Webinar: From Crypto Kitties to non fungible token to ERC721 standard - Stefa...Webinar: From Crypto Kitties to non fungible token to ERC721 standard - Stefa...
Webinar: From Crypto Kitties to non fungible token to ERC721 standard - Stefa...
 
Erc 721 token development company
Erc 721 token development companyErc 721 token development company
Erc 721 token development company
 
What all Skills you need to Become a Blockchain Expert
What all Skills you need to Become a Blockchain ExpertWhat all Skills you need to Become a Blockchain Expert
What all Skills you need to Become a Blockchain Expert
 
How NFT Works
How NFT WorksHow NFT Works
How NFT Works
 
NFT.pdf
NFT.pdfNFT.pdf
NFT.pdf
 
Information Management on Web3
Information Management on Web3Information Management on Web3
Information Management on Web3
 
Ethereum for developer 16th Nov 2018
Ethereum for developer 16th Nov 2018Ethereum for developer 16th Nov 2018
Ethereum for developer 16th Nov 2018
 
Stefano Maestri - Blockchain and smart contracts, what they are and why you s...
Stefano Maestri - Blockchain and smart contracts, what they are and why you s...Stefano Maestri - Blockchain and smart contracts, what they are and why you s...
Stefano Maestri - Blockchain and smart contracts, what they are and why you s...
 
[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners
[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners
[Workshop] Getting Started with Cryptos, NFTs & Web 3.0 for Absolute Beginners
 
Blockchain Ecosystem
Blockchain EcosystemBlockchain Ecosystem
Blockchain Ecosystem
 
NFT [Autosaved].pptx
NFT [Autosaved].pptxNFT [Autosaved].pptx
NFT [Autosaved].pptx
 
Non Fungible Tokens (NFT) Yearly Report - 2018
Non Fungible Tokens (NFT) Yearly Report - 2018Non Fungible Tokens (NFT) Yearly Report - 2018
Non Fungible Tokens (NFT) Yearly Report - 2018
 
Bancor review
Bancor reviewBancor review
Bancor review
 
Ethereum explorer
Ethereum explorerEthereum explorer
Ethereum explorer
 
Architecture behind decentraland
Architecture behind decentralandArchitecture behind decentraland
Architecture behind decentraland
 
Improving Blockchain Developer Experience (DevX): Where UX meets Developer Tools
Improving Blockchain Developer Experience (DevX): Where UX meets Developer ToolsImproving Blockchain Developer Experience (DevX): Where UX meets Developer Tools
Improving Blockchain Developer Experience (DevX): Where UX meets Developer Tools
 
Blockchain tokens for gaming - PGC London 2020
Blockchain tokens for gaming - PGC London 2020Blockchain tokens for gaming - PGC London 2020
Blockchain tokens for gaming - PGC London 2020
 

More from Nicolas Fränkel

jLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cachejLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cache
Nicolas Fränkel
 
OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!
Nicolas Fränkel
 
JOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheJOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen Cache
Nicolas Fränkel
 

More from Nicolas Fränkel (20)

SnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy applicationSnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy application
 
Un CV de dĂŠvelopeur toujours a jour
Un CV de dĂŠvelopeur toujours a jourUn CV de dĂŠvelopeur toujours a jour
Un CV de dĂŠvelopeur toujours a jour
 
Zero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with HazelcastZero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with Hazelcast
 
jLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cachejLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cache
 
BigData conference - Introduction to stream processing
BigData conference - Introduction to stream processingBigData conference - Introduction to stream processing
BigData conference - Introduction to stream processing
 
ADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in GoADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in Go
 
TestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your TestsTestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your Tests
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
 
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cacheGeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
 
JavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architectureJavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architecture
 
OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!
 
Devclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processingDevclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processing
 
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring BootOSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
 
JOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheJOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen Cache
 
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
 
JUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streamingJUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streaming
 
Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!
 
vJUG - Introduction to data streaming
vJUG - Introduction to data streamingvJUG - Introduction to data streaming
vJUG - Introduction to data streaming
 
London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...
 
OSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in GoOSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in Go
 

Recently uploaded

Recently uploaded (20)

Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
What is a Recruitment Management Software?
What is a Recruitment Management Software?What is a Recruitment Management Software?
What is a Recruitment Management Software?
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 

Riga Dev Days - Starting on Ethereum, a developer's perspective