SlideShare a Scribd company logo
Developing on Tezos
1
1
Who am I?
Tech Lead @ Marigold
Tech Lead @ Marigold
Tezos lover
Tezos lover
blockchain enthusiast
blockchain enthusiast
web3 magician
web3 magician
@benji_fuentes
@benji_fuentes
2
2
What is Tezos ?
4
4
Definition
decentralized open-source blockchain
decentralized open-source blockchain
peer-to-peer transactions
peer-to-peer transactions
a platform for deploying smart contracts
a platform for deploying smart contracts
native cryptocurrency named
native cryptocurrency named tez
tez (which has the symbol
(which has the symbol
XTZ
XTZ )
)
proof-of-stake consensus
proof-of-stake consensus eco-friendly
eco-friendly
on-chain governance model
on-chain governance model
protocol amendment via upgrade proposals
protocol amendment via upgrade proposals
avoid hard forks
avoid hard forks
community vote governance
community vote governance
smart contract formal verification
smart contract formal verification
5
5
Networks
1 public network called
1 public network called mainnet
mainnet
several additional testnets
several additional testnets
granada
granada (previous version)
(previous version)
hangzhounet
hangzhounet (current version - Dec 2021)
(current version - Dec 2021)
passive node or node validators called
passive node or node validators called bakers
bakers who can
who can
create blocks
create blocks
final user not holding node can delegate Tz to bakers
final user not holding node can delegate Tz to bakers
no certificate authority node
no certificate authority node
6
6
Consensus
Liquid proof of stake
Liquid proof of stake
Emmy * (
Emmy * (nakamoto-style
nakamoto-style): stake Tz for a period of
): stake Tz for a period of
time (
time (cycle
cycle) where bakers are randomly choosen to
) where bakers are randomly choosen to
bake blocks and get rewarding if not accused of
bake blocks and get rewarding if not accused of
fraud
fraud
Tenderbake (
Tenderbake (BFT-style
BFT-style): deterministic finality, use 2
): deterministic finality, use 2
phases of endorsements among a quorum of
phases of endorsements among a quorum of
random bakers who get rewarded(or punished) for
random bakers who get rewarded(or punished) for
their participation
their participation
unique elected baker is executing transactions for each
unique elected baker is executing transactions for each
new block
new block
no multiple execution = no paralellism issue
no multiple execution = no paralellism issue
7
7
Smart contracts (1)
execution is sandboxed at node level, no external calls
execution is sandboxed at node level, no external calls
predictability
predictability
require oracles
require oracles
native low-level stack language named
native low-level stack language named michelson
michelson
high level language
high level language ligo
ligo
jsligo
jsligo
pascalligo
pascalligo
camelligo
camelligo
reasonligo
reasonligo
current date is the timestamp of the future block
current date is the timestamp of the future block
creation
creation
8
8
Smart contracts (2)
read operations are free of charge
read operations are free of charge
write operation are very cheap (~few USD cents
write operation are very cheap (~few USD cents )
)
inter-contract calls are possible and use callbacks
inter-contract calls are possible and use callbacks
each contract has a balance like any
each contract has a balance like any implicit
implicit account
account
FA2 (TZIP-12) : ERC20-like
FA2 (TZIP-12) : ERC20-like fungible token
fungible token & ERC721-
& ERC721-
like
like non-fungible token
non-fungible token
TZIP-16 : A standard for accessing contract meta in
TZIP-16 : A standard for accessing contract meta in
JSON format in on-chain storage or off-chain using IPFS
JSON format in on-chain storage or off-chain using IPFS
or HTTP(S)
or HTTP(S)
smart contract formalization as a theorem (Coq and Mi-
smart contract formalization as a theorem (Coq and Mi-
Cho-Coq library)
Cho-Coq library)
9
9
Limitations & solutions
slow TPS (but still better than other public blockchains)
slow TPS (but still better than other public blockchains)
ORU Rollup : Layer2 validating transactions on
ORU Rollup : Layer2 validating transactions on
behalf of the main chain
behalf of the main chain
DEKU Sidechain : secondary blockchain paired to a
DEKU Sidechain : secondary blockchain paired to a
parent blockchain
parent blockchain
limited storage size and quick exponential cost
limited storage size and quick exponential cost
metadata storage : links pointing to IPFS or other
metadata storage : links pointing to IPFS or other
low level API, no joins
low level API, no joins
indexers : providing rich API, caching on top of
indexers : providing rich API, caching on top of
RPC node
RPC node
no events
no events
3th party indexer eventing mechanism
3th party indexer eventing mechanism
10
10
Architecture
12
12
Example
13
13
Indexer
Problem : Tezos RPC does not provide indexes
Problem : Tezos RPC does not provide indexes
Solution : Index Tezos data to provide fast information
Solution : Index Tezos data to provide fast information
and enrich RPC API
and enrich RPC API
, Nomadic labs indexer , etc … there plenty
, Nomadic labs indexer , etc … there plenty
of Tezos indexers
of Tezos indexers
Example :
Example :
instead of querying 10 times a node to get
instead of querying 10 times a node to get
last 10th transaction, query the indexer that
last 10th transaction, query the indexer that
will return you all in 1 call
will return you all in 1 call
if you want to get all contract from a
if you want to get all contract from a
particular user, it is an indexer join operation
particular user, it is an indexer join operation
TZKT.io
TZKT.io
14
14
Oracle
Problem : smart contract execution is sandboxed
Problem : smart contract execution is sandboxed
Solution : bring data on-chain via an external push
Solution : bring data on-chain via an external push
1. deploy oracle smart contract
deploy oracle smart contract
2. push data to the oracle
push data to the oracle
3. access oracle data via inter smartcontract calls
access oracle data via inter smartcontract calls
15
15
Metadata storage
Problem : Tezos blockchain cannot store huge amount
Problem : Tezos blockchain cannot store huge amount
of data (~some Ko)and it is costy
of data (~some Ko)and it is costy
Solution : Provide external cheap storage
Solution : Provide external cheap storage
IPFS “Interplanetary File System” : commonly used
IPFS “Interplanetary File System” : commonly used
for DAPPs because Data is exchanged in a peer-to-
for DAPPs because Data is exchanged in a peer-to-
peer network, every file is accessed by its hash,
peer network, every file is accessed by its hash,
since every node can copy/cache files hosted on
since every node can copy/cache files hosted on
IPFS, they can be stored stored very decentralized
IPFS, they can be stored stored very decentralized
Any other
Any other storage could work too
storage could work too
16
16
Ecosystem
18
18
Tezos blockchain explorer
19
19
Tezos statistics
20
20
Tezos Agora Forum
21
21
Ligo tooling
22
22
Taquito, the wallet SDK
23
23
Thank you
Question ?
24
24

More Related Content

Similar to tezos_hands-on-training.pdf

Blockchain Explorer
Blockchain ExplorerBlockchain Explorer
Blockchain Explorer
Rihusoft
 
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
 
Eth-Defi-Ecosystem-v2022.pdf
Eth-Defi-Ecosystem-v2022.pdfEth-Defi-Ecosystem-v2022.pdf
Eth-Defi-Ecosystem-v2022.pdf
Anthony De Monroy
 
Introduction to IPFS & Filecoin - longer version
Introduction to IPFS & Filecoin - longer versionIntroduction to IPFS & Filecoin - longer version
Introduction to IPFS & Filecoin - longer version
TinaBregovi
 
Blockchin architecture azure meetup
Blockchin architecture azure meetupBlockchin architecture azure meetup
Blockchin architecture azure meetup
Mohammad Asif
 
[JSDC 2021] Blockchain 101 for Frontend Engs
[JSDC 2021] Blockchain 101 for Frontend Engs[JSDC 2021] Blockchain 101 for Frontend Engs
[JSDC 2021] Blockchain 101 for Frontend Engs
Lucien Lee
 
Blockchain in the Heart of Digital Transformation
Blockchain in the Heart of Digital TransformationBlockchain in the Heart of Digital Transformation
Blockchain in the Heart of Digital Transformation
Dr. Mohamed Torky
 
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
 
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTsFIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE
 
Blockchain
BlockchainBlockchain
Blockchain
vrkhandelwal
 
Encode polkadot club event 2, intro to polkadot
Encode polkadot club   event 2, intro to polkadotEncode polkadot club   event 2, intro to polkadot
Encode polkadot club event 2, intro to polkadot
Vanessa Lošić
 
Introduction to Blockchain Web3 Session
Introduction to Blockchain Web3 SessionIntroduction to Blockchain Web3 Session
Introduction to Blockchain Web3 Session
DSCIITPatna
 
[PyCon Korea 2018] Python in Chains: Running Python Code for IoT Projects on ...
[PyCon Korea 2018] Python in Chains: Running Python Code for IoT Projects on ...[PyCon Korea 2018] Python in Chains: Running Python Code for IoT Projects on ...
[PyCon Korea 2018] Python in Chains: Running Python Code for IoT Projects on ...
Daniel Hong
 
Hyperledger
HyperledgerHyperledger
Hyperledger
Vinay Aitha
 
Blockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius NetworkBlockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius Network
charles okaformbah
 
Zero-knowledge proofs and why it is future of blockchain.pdf
Zero-knowledge proofs and why it is future of blockchain.pdfZero-knowledge proofs and why it is future of blockchain.pdf
Zero-knowledge proofs and why it is future of blockchain.pdf
Konrad Kokosa
 
Introduction to IPFS & Filecoin
Introduction to IPFS & FilecoinIntroduction to IPFS & Filecoin
Introduction to IPFS & Filecoin
TinaBregovi
 
Substrate: Advantages and Opportunities
Substrate: Advantages and OpportunitiesSubstrate: Advantages and Opportunities
Substrate: Advantages and Opportunities
Marianne Goldin
 
Ergo Hong Kong meetup
Ergo Hong Kong meetupErgo Hong Kong meetup
Ergo Hong Kong meetup
Dmitry Meshkov
 

Similar to tezos_hands-on-training.pdf (20)

Blockchain Explorer
Blockchain ExplorerBlockchain Explorer
Blockchain Explorer
 
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
 
Eth-Defi-Ecosystem-v2022.pdf
Eth-Defi-Ecosystem-v2022.pdfEth-Defi-Ecosystem-v2022.pdf
Eth-Defi-Ecosystem-v2022.pdf
 
Introduction to IPFS & Filecoin - longer version
Introduction to IPFS & Filecoin - longer versionIntroduction to IPFS & Filecoin - longer version
Introduction to IPFS & Filecoin - longer version
 
Blockchin architecture azure meetup
Blockchin architecture azure meetupBlockchin architecture azure meetup
Blockchin architecture azure meetup
 
[JSDC 2021] Blockchain 101 for Frontend Engs
[JSDC 2021] Blockchain 101 for Frontend Engs[JSDC 2021] Blockchain 101 for Frontend Engs
[JSDC 2021] Blockchain 101 for Frontend Engs
 
Blockchain in the Heart of Digital Transformation
Blockchain in the Heart of Digital TransformationBlockchain in the Heart of Digital Transformation
Blockchain in the Heart of Digital Transformation
 
Hong Kong Hyperledger Meetup January 2018
Hong Kong Hyperledger Meetup January 2018Hong Kong Hyperledger Meetup January 2018
Hong Kong Hyperledger Meetup January 2018
 
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTsFIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
 
Blockchain
BlockchainBlockchain
Blockchain
 
Encode polkadot club event 2, intro to polkadot
Encode polkadot club   event 2, intro to polkadotEncode polkadot club   event 2, intro to polkadot
Encode polkadot club event 2, intro to polkadot
 
Introduction to Blockchain Web3 Session
Introduction to Blockchain Web3 SessionIntroduction to Blockchain Web3 Session
Introduction to Blockchain Web3 Session
 
[PyCon Korea 2018] Python in Chains: Running Python Code for IoT Projects on ...
[PyCon Korea 2018] Python in Chains: Running Python Code for IoT Projects on ...[PyCon Korea 2018] Python in Chains: Running Python Code for IoT Projects on ...
[PyCon Korea 2018] Python in Chains: Running Python Code for IoT Projects on ...
 
Hyperledger
HyperledgerHyperledger
Hyperledger
 
Blockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius NetworkBlockchain mechanism for IET Mauritius Network
Blockchain mechanism for IET Mauritius Network
 
Zero-knowledge proofs and why it is future of blockchain.pdf
Zero-knowledge proofs and why it is future of blockchain.pdfZero-knowledge proofs and why it is future of blockchain.pdf
Zero-knowledge proofs and why it is future of blockchain.pdf
 
Introduction to IPFS & Filecoin
Introduction to IPFS & FilecoinIntroduction to IPFS & Filecoin
Introduction to IPFS & Filecoin
 
Substrate: Advantages and Opportunities
Substrate: Advantages and OpportunitiesSubstrate: Advantages and Opportunities
Substrate: Advantages and Opportunities
 
Ergo Hong Kong meetup
Ergo Hong Kong meetupErgo Hong Kong meetup
Ergo Hong Kong meetup
 

More from Neven6

Scaffold your dApp with ink!athon
Scaffold your dApp with ink!athonScaffold your dApp with ink!athon
Scaffold your dApp with ink!athon
Neven6
 
Encode Summer Hackathon Sponsored by the Solana Foundation 2023 Launch Slides
Encode Summer Hackathon Sponsored by the Solana Foundation 2023 Launch SlidesEncode Summer Hackathon Sponsored by the Solana Foundation 2023 Launch Slides
Encode Summer Hackathon Sponsored by the Solana Foundation 2023 Launch Slides
Neven6
 
Discover Calimero
Discover CalimeroDiscover Calimero
Discover Calimero
Neven6
 
Developing Using Meta Pool in Aurora
Developing Using Meta Pool in AuroraDeveloping Using Meta Pool in Aurora
Developing Using Meta Pool in Aurora
Neven6
 
Rocklabs Workshop
Rocklabs WorkshopRocklabs Workshop
Rocklabs Workshop
Neven6
 
Internet Computer BUIDL Bitcoin Hackathon Launch
Internet Computer BUIDL Bitcoin Hackathon LaunchInternet Computer BUIDL Bitcoin Hackathon Launch
Internet Computer BUIDL Bitcoin Hackathon Launch
Neven6
 
Slurping all the yummy on-chain data
Slurping all the yummy on-chain dataSlurping all the yummy on-chain data
Slurping all the yummy on-chain data
Neven6
 
Building with Hashi on Gnosis Chain
Building with Hashi on Gnosis ChainBuilding with Hashi on Gnosis Chain
Building with Hashi on Gnosis Chain
Neven6
 
Zero to Hero: Getting Started on Mantle
Zero to Hero: Getting Started on MantleZero to Hero: Getting Started on Mantle
Zero to Hero: Getting Started on Mantle
Neven6
 
Establishing Connection Using GetBlock.pdf
Establishing Connection Using GetBlock.pdfEstablishing Connection Using GetBlock.pdf
Establishing Connection Using GetBlock.pdf
Neven6
 
Building Web3 on Bitcoin with Interlay
Building Web3 on Bitcoin with InterlayBuilding Web3 on Bitcoin with Interlay
Building Web3 on Bitcoin with Interlay
Neven6
 
Market Creation and Liquidity on Zeitgeist
Market Creation and Liquidity on ZeitgeistMarket Creation and Liquidity on Zeitgeist
Market Creation and Liquidity on Zeitgeist
Neven6
 
Encode x Polkadot Spring 2023 Hackathon: A Deep Dive into ink! and the Astar ...
Encode x Polkadot Spring 2023 Hackathon: A Deep Dive into ink! and the Astar ...Encode x Polkadot Spring 2023 Hackathon: A Deep Dive into ink! and the Astar ...
Encode x Polkadot Spring 2023 Hackathon: A Deep Dive into ink! and the Astar ...
Neven6
 
Develop Acala EVM+ with Chopsticks.pdf
Develop Acala EVM+ with Chopsticks.pdfDevelop Acala EVM+ with Chopsticks.pdf
Develop Acala EVM+ with Chopsticks.pdf
Neven6
 
Encode x Polkadot Spring 2023 Educate: Ecosystem and Governance
Encode x Polkadot Spring 2023 Educate: Ecosystem and GovernanceEncode x Polkadot Spring 2023 Educate: Ecosystem and Governance
Encode x Polkadot Spring 2023 Educate: Ecosystem and Governance
Neven6
 
Next Video Build: XMTP Workshop Slides
Next Video Build: XMTP Workshop SlidesNext Video Build: XMTP Workshop Slides
Next Video Build: XMTP Workshop Slides
Neven6
 
Next Video Build:UCAN Build Apps with IPFS and W3UI Slides
Next Video Build:UCAN Build Apps with IPFS and W3UI SlidesNext Video Build:UCAN Build Apps with IPFS and W3UI Slides
Next Video Build:UCAN Build Apps with IPFS and W3UI Slides
Neven6
 
Introduction to Full Stack Web3 Social with Lens Protocol and Next.js
Introduction to Full Stack Web3 Social with Lens Protocol and Next.jsIntroduction to Full Stack Web3 Social with Lens Protocol and Next.js
Introduction to Full Stack Web3 Social with Lens Protocol and Next.js
Neven6
 
Next Video Build Launch Event Slides
Next Video Build Launch Event SlidesNext Video Build Launch Event Slides
Next Video Build Launch Event Slides
Neven6
 
Evmos-Covalent #OneMillionWallets Hackathon Launch Event
Evmos-Covalent #OneMillionWallets Hackathon Launch EventEvmos-Covalent #OneMillionWallets Hackathon Launch Event
Evmos-Covalent #OneMillionWallets Hackathon Launch Event
Neven6
 

More from Neven6 (20)

Scaffold your dApp with ink!athon
Scaffold your dApp with ink!athonScaffold your dApp with ink!athon
Scaffold your dApp with ink!athon
 
Encode Summer Hackathon Sponsored by the Solana Foundation 2023 Launch Slides
Encode Summer Hackathon Sponsored by the Solana Foundation 2023 Launch SlidesEncode Summer Hackathon Sponsored by the Solana Foundation 2023 Launch Slides
Encode Summer Hackathon Sponsored by the Solana Foundation 2023 Launch Slides
 
Discover Calimero
Discover CalimeroDiscover Calimero
Discover Calimero
 
Developing Using Meta Pool in Aurora
Developing Using Meta Pool in AuroraDeveloping Using Meta Pool in Aurora
Developing Using Meta Pool in Aurora
 
Rocklabs Workshop
Rocklabs WorkshopRocklabs Workshop
Rocklabs Workshop
 
Internet Computer BUIDL Bitcoin Hackathon Launch
Internet Computer BUIDL Bitcoin Hackathon LaunchInternet Computer BUIDL Bitcoin Hackathon Launch
Internet Computer BUIDL Bitcoin Hackathon Launch
 
Slurping all the yummy on-chain data
Slurping all the yummy on-chain dataSlurping all the yummy on-chain data
Slurping all the yummy on-chain data
 
Building with Hashi on Gnosis Chain
Building with Hashi on Gnosis ChainBuilding with Hashi on Gnosis Chain
Building with Hashi on Gnosis Chain
 
Zero to Hero: Getting Started on Mantle
Zero to Hero: Getting Started on MantleZero to Hero: Getting Started on Mantle
Zero to Hero: Getting Started on Mantle
 
Establishing Connection Using GetBlock.pdf
Establishing Connection Using GetBlock.pdfEstablishing Connection Using GetBlock.pdf
Establishing Connection Using GetBlock.pdf
 
Building Web3 on Bitcoin with Interlay
Building Web3 on Bitcoin with InterlayBuilding Web3 on Bitcoin with Interlay
Building Web3 on Bitcoin with Interlay
 
Market Creation and Liquidity on Zeitgeist
Market Creation and Liquidity on ZeitgeistMarket Creation and Liquidity on Zeitgeist
Market Creation and Liquidity on Zeitgeist
 
Encode x Polkadot Spring 2023 Hackathon: A Deep Dive into ink! and the Astar ...
Encode x Polkadot Spring 2023 Hackathon: A Deep Dive into ink! and the Astar ...Encode x Polkadot Spring 2023 Hackathon: A Deep Dive into ink! and the Astar ...
Encode x Polkadot Spring 2023 Hackathon: A Deep Dive into ink! and the Astar ...
 
Develop Acala EVM+ with Chopsticks.pdf
Develop Acala EVM+ with Chopsticks.pdfDevelop Acala EVM+ with Chopsticks.pdf
Develop Acala EVM+ with Chopsticks.pdf
 
Encode x Polkadot Spring 2023 Educate: Ecosystem and Governance
Encode x Polkadot Spring 2023 Educate: Ecosystem and GovernanceEncode x Polkadot Spring 2023 Educate: Ecosystem and Governance
Encode x Polkadot Spring 2023 Educate: Ecosystem and Governance
 
Next Video Build: XMTP Workshop Slides
Next Video Build: XMTP Workshop SlidesNext Video Build: XMTP Workshop Slides
Next Video Build: XMTP Workshop Slides
 
Next Video Build:UCAN Build Apps with IPFS and W3UI Slides
Next Video Build:UCAN Build Apps with IPFS and W3UI SlidesNext Video Build:UCAN Build Apps with IPFS and W3UI Slides
Next Video Build:UCAN Build Apps with IPFS and W3UI Slides
 
Introduction to Full Stack Web3 Social with Lens Protocol and Next.js
Introduction to Full Stack Web3 Social with Lens Protocol and Next.jsIntroduction to Full Stack Web3 Social with Lens Protocol and Next.js
Introduction to Full Stack Web3 Social with Lens Protocol and Next.js
 
Next Video Build Launch Event Slides
Next Video Build Launch Event SlidesNext Video Build Launch Event Slides
Next Video Build Launch Event Slides
 
Evmos-Covalent #OneMillionWallets Hackathon Launch Event
Evmos-Covalent #OneMillionWallets Hackathon Launch EventEvmos-Covalent #OneMillionWallets Hackathon Launch Event
Evmos-Covalent #OneMillionWallets Hackathon Launch Event
 

Recently uploaded

GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
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
 
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
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
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
 
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
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
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
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
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
 
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
 
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
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
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
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
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.
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 

Recently uploaded (20)

GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
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
 
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
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
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
 
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...
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
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
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
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
 
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
 
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
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
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
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
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
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 

tezos_hands-on-training.pdf

  • 2. Who am I? Tech Lead @ Marigold Tech Lead @ Marigold Tezos lover Tezos lover blockchain enthusiast blockchain enthusiast web3 magician web3 magician @benji_fuentes @benji_fuentes 2 2
  • 4. Definition decentralized open-source blockchain decentralized open-source blockchain peer-to-peer transactions peer-to-peer transactions a platform for deploying smart contracts a platform for deploying smart contracts native cryptocurrency named native cryptocurrency named tez tez (which has the symbol (which has the symbol XTZ XTZ ) ) proof-of-stake consensus proof-of-stake consensus eco-friendly eco-friendly on-chain governance model on-chain governance model protocol amendment via upgrade proposals protocol amendment via upgrade proposals avoid hard forks avoid hard forks community vote governance community vote governance smart contract formal verification smart contract formal verification 5 5
  • 5. Networks 1 public network called 1 public network called mainnet mainnet several additional testnets several additional testnets granada granada (previous version) (previous version) hangzhounet hangzhounet (current version - Dec 2021) (current version - Dec 2021) passive node or node validators called passive node or node validators called bakers bakers who can who can create blocks create blocks final user not holding node can delegate Tz to bakers final user not holding node can delegate Tz to bakers no certificate authority node no certificate authority node 6 6
  • 6. Consensus Liquid proof of stake Liquid proof of stake Emmy * ( Emmy * (nakamoto-style nakamoto-style): stake Tz for a period of ): stake Tz for a period of time ( time (cycle cycle) where bakers are randomly choosen to ) where bakers are randomly choosen to bake blocks and get rewarding if not accused of bake blocks and get rewarding if not accused of fraud fraud Tenderbake ( Tenderbake (BFT-style BFT-style): deterministic finality, use 2 ): deterministic finality, use 2 phases of endorsements among a quorum of phases of endorsements among a quorum of random bakers who get rewarded(or punished) for random bakers who get rewarded(or punished) for their participation their participation unique elected baker is executing transactions for each unique elected baker is executing transactions for each new block new block no multiple execution = no paralellism issue no multiple execution = no paralellism issue 7 7
  • 7. Smart contracts (1) execution is sandboxed at node level, no external calls execution is sandboxed at node level, no external calls predictability predictability require oracles require oracles native low-level stack language named native low-level stack language named michelson michelson high level language high level language ligo ligo jsligo jsligo pascalligo pascalligo camelligo camelligo reasonligo reasonligo current date is the timestamp of the future block current date is the timestamp of the future block creation creation 8 8
  • 8. Smart contracts (2) read operations are free of charge read operations are free of charge write operation are very cheap (~few USD cents write operation are very cheap (~few USD cents ) ) inter-contract calls are possible and use callbacks inter-contract calls are possible and use callbacks each contract has a balance like any each contract has a balance like any implicit implicit account account FA2 (TZIP-12) : ERC20-like FA2 (TZIP-12) : ERC20-like fungible token fungible token & ERC721- & ERC721- like like non-fungible token non-fungible token TZIP-16 : A standard for accessing contract meta in TZIP-16 : A standard for accessing contract meta in JSON format in on-chain storage or off-chain using IPFS JSON format in on-chain storage or off-chain using IPFS or HTTP(S) or HTTP(S) smart contract formalization as a theorem (Coq and Mi- smart contract formalization as a theorem (Coq and Mi- Cho-Coq library) Cho-Coq library) 9 9
  • 9. Limitations & solutions slow TPS (but still better than other public blockchains) slow TPS (but still better than other public blockchains) ORU Rollup : Layer2 validating transactions on ORU Rollup : Layer2 validating transactions on behalf of the main chain behalf of the main chain DEKU Sidechain : secondary blockchain paired to a DEKU Sidechain : secondary blockchain paired to a parent blockchain parent blockchain limited storage size and quick exponential cost limited storage size and quick exponential cost metadata storage : links pointing to IPFS or other metadata storage : links pointing to IPFS or other low level API, no joins low level API, no joins indexers : providing rich API, caching on top of indexers : providing rich API, caching on top of RPC node RPC node no events no events 3th party indexer eventing mechanism 3th party indexer eventing mechanism 10 10
  • 12. 13 13
  • 13. Indexer Problem : Tezos RPC does not provide indexes Problem : Tezos RPC does not provide indexes Solution : Index Tezos data to provide fast information Solution : Index Tezos data to provide fast information and enrich RPC API and enrich RPC API , Nomadic labs indexer , etc … there plenty , Nomadic labs indexer , etc … there plenty of Tezos indexers of Tezos indexers Example : Example : instead of querying 10 times a node to get instead of querying 10 times a node to get last 10th transaction, query the indexer that last 10th transaction, query the indexer that will return you all in 1 call will return you all in 1 call if you want to get all contract from a if you want to get all contract from a particular user, it is an indexer join operation particular user, it is an indexer join operation TZKT.io TZKT.io 14 14
  • 14. Oracle Problem : smart contract execution is sandboxed Problem : smart contract execution is sandboxed Solution : bring data on-chain via an external push Solution : bring data on-chain via an external push 1. deploy oracle smart contract deploy oracle smart contract 2. push data to the oracle push data to the oracle 3. access oracle data via inter smartcontract calls access oracle data via inter smartcontract calls 15 15
  • 15. Metadata storage Problem : Tezos blockchain cannot store huge amount Problem : Tezos blockchain cannot store huge amount of data (~some Ko)and it is costy of data (~some Ko)and it is costy Solution : Provide external cheap storage Solution : Provide external cheap storage IPFS “Interplanetary File System” : commonly used IPFS “Interplanetary File System” : commonly used for DAPPs because Data is exchanged in a peer-to- for DAPPs because Data is exchanged in a peer-to- peer network, every file is accessed by its hash, peer network, every file is accessed by its hash, since every node can copy/cache files hosted on since every node can copy/cache files hosted on IPFS, they can be stored stored very decentralized IPFS, they can be stored stored very decentralized Any other Any other storage could work too storage could work too 16 16
  • 20. 21 21
  • 22. Taquito, the wallet SDK 23 23