SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
dApp development
on Tezos
putting it all together
Overview
At the presentations leading up to today, we have gone through the components of
building a distributed application.
In this session, we are going to recap the key takeaways, and review:
- The architecture of a distributed application
- User experience design for distributed applications
Also, we’ll say a few words about the upcoming Encode / Tezos hackathon.
dApp architecture
What is a dApp
Distributed Applications, or ‘dApps’ are
applications that rely on decentralized database(s) (usually including a blockchain).
Classification of dApps by decentralization:
- Fully decentralized (only a browser and a blockchain is needed)
- Fully decentralizable (single source of truth, all data accessible)
- Semi-centralized (some proprietary components / data)
- Centralized with decentralized components
(not really a ‘dApp’, but a valid application of decentralized technology)
dApp architecture
Centralized
DB
Blockchain
node
Indexer
Indexer DB
Application
backend
Application
frontend
Decentralized
storage (IPFS)
Smart contract layer
Code that runs on the blockchain
and implements business logic restrictions
“Soda vending machine” metaphor - Nick Szabo
What goes here?
- Only trust-critical components - payments, ownership
- Execution time and storage are limited
- and expensive
- Tezos: the smart contract layer is intentionally constrained
- most Tezos dApps are of the ‘decentralizable’ sort
Decentralized off-chain storage
Storing data on the blockchain is expensive!
Solution: Off-chain decentralized storage (IPFS)
- Decentralized technology (high redundancy, censorship resistant)
- Free & can store a lot of data
- Demand-driven (data that is requested is replicated)
- Volatile (data may be ejected from it)
- Content addressable - content is accessible by content hash
- Pinning: instructing a node to never eject certain data
- Accessible as a paid service
Centralized components
- De-facto centralized components
- These could be deployed by the user
- Open source
- No proprietary or restricted data is needed for functionality
- Blockchain node(!)
- IPFS node and pinning service
- Indexer - eg. https://github.com/tzConnectBerlin/que-pasa
- Open source backend
- Web server
- ‘Fully’ centralized systems
- eg. Proprietary MMO game with NFT / blockchain component
Centralized blockchain identity
Many dApps are impersonal - they are public goods to be used by anyone.
Some blockchain-based systems (not really ‘dApps’) involve a legal entity,
with its own blockchain identity (wallet)
‘‘I’d like to mint NFTs for everyone who finds this geocache’
- ‘Someone’ needs to mint the NFTs
- You need a centralized, automated system with a wallet
There are ‘task engines’ that can automatically originate operations on the chain.
eg. https://github.com/tzConnectBerlin/peppermint
dApp frontend
Frontend roles
- Presentation layer / UX optimization
- Identity management: blockchain wallet
- Non-trust-critical business logic
Key technologies and tools in Tezos
- Beacon for wallet connectivity
- Taquito for blockchain operations
Designing with a security mindset
- What operations need to be trusted?
- What data is trust-critical?
- What components can be exploited (eg. to cheat in a game)?
- Who could benefit from exploiting a component?
- How could they benefit?
- Who is in a position to exploit a component?
- How does their position set them up for this?
- What components does a user have to trust?
- In what way could they be harmed if these components were malicious?
- How could they mitigate these risks?
- What can you, as designer, do to mitigate these risks?
Design
Summary
1. Identify problems to solve
2. Identify user types
3. Brainstorm features to support user goals
4. Diagram user flows
5. Design UI
6. Write clear, concise, and useful copy
7. Validate ideas with user testing
Identify problems to solve
Research question
Determine a meaningful use case for NFTs in a video game tournament
Interview questions
Tell me about the last time you…
…participated in a video game tournament
…observed a video game tournament
Look for: sources of value, signs of accomplishment
Identify user types
Interview questions
What is your experience with blockchain? NFTs?
What is experience with this video game? This tournament?
Look for: knowledge, behavior patterns, values + attitudes
User research results
NFT use case
Give an NFT to player who dealt the final blow to a tournament victim
User types
Blockchain experience: mostly minimal interaction, heard about NFTs through the hype
Video game experience: mostly very invested in game and surrounding world
Very interested in new technologies, under-the-hood details
Brainstorm features to support user goals
Connect gaming account to dApp + create wallet
Receive NFT for each final blow
Send NFT to another address
Top up tez balance
Browse NFT gallery
Learn how it works
Diagram user flows
Considerations based on user type
Level of handholding + guidance
Abstraction from technical details
Nest off-app interactions in explanations
Meta education flow
Diagram user flows
Design UI
Sketches > wireframes > high fidelity
Use gestalt principles for clear information architecture
Use UI patterns to minimize cognitive load
Keep accessibility in mind
Design UI
Design UI
Write clear, concise, and useful copy
Pare it down to the essentials
Minimize complex language
Use consistent wording and language patterns
Use tone as a tool to signal weight of action
Write clear, concise, and useful copy
Validate ideas with user testing
Sample tasks
You open the landing page — describe what you see
Collect an NFT you earned from the tournament
Sell an NFT you earned from the tournament
Learn about the technical details on how this works
Hackathon
Hackathon
“Creating positive social impact via Web3: imagine ways in which the
Tezos stack can be used to help people around the world.”
Start Date: 13th April 2022
Register by: 13th April 2022, late registrations open until 20th April
Submission Date: Sunday, 15th May 2022
Tracks
Learn to Earn
Earn tez while gaining hands-on development experience in the Tezos ecosystem.
● Set up an NFT contract with automated minting of tokens with Peppermint
● Write and deploy a simple smart contract using LIGO
🤑 $50 in tez for the first 50 submissions in both categories
Total prize: $5000 in tez
Small but great
Build a simple dApp on the Tezos technology stack with a clear goal.
On this track, no project is too small to compete. Web3 has again opened up the world for individual
developers to create meaningful change with nothing but a computer and a dream. We invite you to take
part in this wave and build something cool.
🤑 Prizes
1st: $5000 in tez
2nd: $2500 in tez
3rd: $1000 in tez
Honorable ideas: 3*$500 in tez
Total prize: $10000 in tez
Disrupt all the things
Lay the foundations of a major Tezos-based project, and show us what you are truly capable of.
This track is intended for teams with a disruptive vision, to showcase an PoC / MVP of their dream Web3
product.
🤑 Prizes
1st: $20000 in tez
2nd: $10000 in tez
3rd: $5000 in tez
Total: $25000 in tez

Mais conteúdo relacionado

Mais procurados

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ć
 
Encode polkadot club event 3, technical deepdive
Encode polkadot club   event 3, technical deepdiveEncode polkadot club   event 3, technical deepdive
Encode polkadot club event 3, technical deepdive
Vanessa Lošić
 
Decentralized possibilities with filecoin & ipfs_encode filecoin club
Decentralized possibilities with filecoin & ipfs_encode filecoin clubDecentralized possibilities with filecoin & ipfs_encode filecoin club
Decentralized possibilities with filecoin & ipfs_encode filecoin club
KlaraOrban
 

Mais procurados (20)

Ethereum introduction
Ethereum introductionEthereum introduction
Ethereum introduction
 
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
 
Encode Club workshop slides
Encode Club workshop slidesEncode Club workshop slides
Encode Club workshop slides
 
Etherium Intro for techies
Etherium Intro for techiesEtherium Intro for techies
Etherium Intro for techies
 
Introduction to Filecoin
Introduction to Filecoin   Introduction to Filecoin
Introduction to Filecoin
 
Ethereum Devcon1 Report (summary writing)
Ethereum Devcon1 Report (summary writing)Ethereum Devcon1 Report (summary writing)
Ethereum Devcon1 Report (summary writing)
 
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
 
Ethereum Smart Contract Tutorial
Ethereum Smart Contract TutorialEthereum Smart Contract Tutorial
Ethereum Smart Contract Tutorial
 
Dash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for TechiesDash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for Techies
 
Litecoin Crypto Currency Bootcamp
Litecoin Crypto Currency BootcampLitecoin Crypto Currency Bootcamp
Litecoin Crypto Currency Bootcamp
 
20180714 workshop - Ethereum decentralized application with truffle framework
20180714 workshop - Ethereum decentralized application with truffle framework20180714 workshop - Ethereum decentralized application with truffle framework
20180714 workshop - Ethereum decentralized application with truffle framework
 
Write Smart Contracts with Truffle Framework
Write Smart Contracts with Truffle FrameworkWrite Smart Contracts with Truffle Framework
Write Smart Contracts with Truffle Framework
 
Blockchian introduction
Blockchian introductionBlockchian introduction
Blockchian introduction
 
Introduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractIntroduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart Contract
 
Encode polkadot club event 3, technical deepdive
Encode polkadot club   event 3, technical deepdiveEncode polkadot club   event 3, technical deepdive
Encode polkadot club event 3, technical deepdive
 
Encode club introduction_to_libp2p
Encode club introduction_to_libp2pEncode club introduction_to_libp2p
Encode club introduction_to_libp2p
 
20190606 blockchain101
20190606 blockchain10120190606 blockchain101
20190606 blockchain101
 
Decentralized possibilities with filecoin & ipfs_encode filecoin club
Decentralized possibilities with filecoin & ipfs_encode filecoin clubDecentralized possibilities with filecoin & ipfs_encode filecoin club
Decentralized possibilities with filecoin & ipfs_encode filecoin club
 
[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
 
FIWARE Wednesday Webinars - How to Secure IoT Devices
FIWARE Wednesday Webinars - How to Secure IoT DevicesFIWARE Wednesday Webinars - How to Secure IoT Devices
FIWARE Wednesday Webinars - How to Secure IoT Devices
 

Semelhante a Encode x Tezos: Building a dApp on Tezos

EPAM_Envelop deck_NFT2.0_08.06.2023.pdf
EPAM_Envelop deck_NFT2.0_08.06.2023.pdfEPAM_Envelop deck_NFT2.0_08.06.2023.pdf
EPAM_Envelop deck_NFT2.0_08.06.2023.pdf
ssuser93c1aa
 
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
DevCamp Campinas
 
Encode x The Graph - Introduction to the Graph
Encode x The Graph - Introduction to the GraphEncode x The Graph - Introduction to the Graph
Encode x The Graph - Introduction to the Graph
KlaraOrban
 

Semelhante a Encode x Tezos: Building a dApp on Tezos (20)

How to run your own blockchain pilot
How to run your own blockchain pilotHow to run your own blockchain pilot
How to run your own blockchain pilot
 
Encode x Harmony Hackathon: Launch Event Slides
Encode x Harmony Hackathon: Launch Event SlidesEncode x Harmony Hackathon: Launch Event Slides
Encode x Harmony Hackathon: Launch Event Slides
 
Building Blockchain Apps: Intro to Dash Platform
Building Blockchain Apps: Intro to Dash PlatformBuilding Blockchain Apps: Intro to Dash Platform
Building Blockchain Apps: Intro to Dash Platform
 
BlockchainLAB Hackathon
BlockchainLAB HackathonBlockchainLAB Hackathon
BlockchainLAB Hackathon
 
EPAM_Envelop deck_NFT2.0_08.06.2023.pdf
EPAM_Envelop deck_NFT2.0_08.06.2023.pdfEPAM_Envelop deck_NFT2.0_08.06.2023.pdf
EPAM_Envelop deck_NFT2.0_08.06.2023.pdf
 
Blockchain Experience Design Meetup #1
Blockchain Experience Design Meetup #1Blockchain Experience Design Meetup #1
Blockchain Experience Design Meetup #1
 
AMA: all you need to know about Launching successful NFT collections
AMA: all you need to know about Launching successful NFT collectionsAMA: all you need to know about Launching successful NFT collections
AMA: all you need to know about Launching successful NFT collections
 
NET !!! A must have tool under your belt
NET !!! A must have tool under your beltNET !!! A must have tool under your belt
NET !!! A must have tool under your belt
 
ff.pptx
ff.pptxff.pptx
ff.pptx
 
ASP.NET MVC 4 Overview
ASP.NET MVC 4 OverviewASP.NET MVC 4 Overview
ASP.NET MVC 4 Overview
 
New Business Models enabled by Blockchain
New Business Models enabled by BlockchainNew Business Models enabled by Blockchain
New Business Models enabled by Blockchain
 
Building Digital Transaction Systems in the new Banking World
Building Digital Transaction Systems in the new Banking WorldBuilding Digital Transaction Systems in the new Banking World
Building Digital Transaction Systems in the new Banking World
 
What is up with dapps?
What is up with dapps?What is up with dapps?
What is up with dapps?
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011
 
Dao - Mobiloitte
Dao - MobiloitteDao - Mobiloitte
Dao - Mobiloitte
 
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
 
Company presentation
Company presentationCompany presentation
Company presentation
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
 
Encode x The Graph - Introduction to the Graph
Encode x The Graph - Introduction to the GraphEncode x The Graph - Introduction to the Graph
Encode x The Graph - Introduction to the Graph
 
How to design, code, deploy and execute a smart contract
How to design, code, deploy and execute a smart contractHow to design, code, deploy and execute a smart contract
How to design, code, deploy and execute a smart contract
 

Mais de KlaraOrban

Encode x NEAR: Technical Overview of NEAR 1
Encode x NEAR: Technical Overview of NEAR 1Encode x NEAR: Technical Overview of NEAR 1
Encode x NEAR: Technical Overview of NEAR 1
KlaraOrban
 
Encode x NEAR: Technical Overview of NEAR 1
Encode x NEAR: Technical Overview of NEAR 1Encode x NEAR: Technical Overview of NEAR 1
Encode x NEAR: Technical Overview of NEAR 1
KlaraOrban
 
Encode x The Graph: How to get involved with The Graph
Encode x The Graph: How to get involved with The GraphEncode x The Graph: How to get involved with The Graph
Encode x The Graph: How to get involved with The Graph
KlaraOrban
 
Encode x The Graph: Curating and delegating on The Graph
Encode x The Graph: Curating and delegating on The GraphEncode x The Graph: Curating and delegating on The Graph
Encode x The Graph: Curating and delegating on The Graph
KlaraOrban
 
Best practices for canisters in rust
Best practices for canisters in rustBest practices for canisters in rust
Best practices for canisters in rust
KlaraOrban
 

Mais de KlaraOrban (19)

Encode x Tezos Hack: Hands-on dApp Training
Encode x Tezos Hack: Hands-on dApp Training Encode x Tezos Hack: Hands-on dApp Training
Encode x Tezos Hack: Hands-on dApp Training
 
Building Applications on Avalanche
Building Applications on AvalancheBuilding Applications on Avalanche
Building Applications on Avalanche
 
Building on NEAR, Part 1
Building on NEAR, Part 1Building on NEAR, Part 1
Building on NEAR, Part 1
 
Encode x NEAR: Technical Overview of NEAR 1
Encode x NEAR: Technical Overview of NEAR 1Encode x NEAR: Technical Overview of NEAR 1
Encode x NEAR: Technical Overview of NEAR 1
 
Encode x NEAR: Technical Overview of NEAR 1
Encode x NEAR: Technical Overview of NEAR 1Encode x NEAR: Technical Overview of NEAR 1
Encode x NEAR: Technical Overview of NEAR 1
 
Encode x The Graph: How to get involved with The Graph
Encode x The Graph: How to get involved with The GraphEncode x The Graph: How to get involved with The Graph
Encode x The Graph: How to get involved with The Graph
 
Encode x NEAR: Intro to NEAR
Encode x NEAR: Intro to NEAREncode x NEAR: Intro to NEAR
Encode x NEAR: Intro to NEAR
 
Encode x The Graph: Curating and delegating on The Graph
Encode x The Graph: Curating and delegating on The GraphEncode x The Graph: Curating and delegating on The Graph
Encode x The Graph: Curating and delegating on The Graph
 
Encode x NEAR: Intro to Blockchain
Encode x NEAR: Intro to BlockchainEncode x NEAR: Intro to Blockchain
Encode x NEAR: Intro to Blockchain
 
bounties4bandits: Information event
bounties4bandits: Information eventbounties4bandits: Information event
bounties4bandits: Information event
 
Intro to avalanche
Intro to avalancheIntro to avalanche
Intro to avalanche
 
Encode x Graph: The Data Economy
Encode x Graph: The Data EconomyEncode x Graph: The Data Economy
Encode x Graph: The Data Economy
 
Encode x BitDAO Intro Event
Encode x BitDAO Intro EventEncode x BitDAO Intro Event
Encode x BitDAO Intro Event
 
Hack DeFi: DeFi with Wintermute
Hack DeFi: DeFi with WintermuteHack DeFi: DeFi with Wintermute
Hack DeFi: DeFi with Wintermute
 
Hack DeFi Launch
Hack DeFi LaunchHack DeFi Launch
Hack DeFi Launch
 
Nft Hack Ideation Workshop
Nft Hack Ideation WorkshopNft Hack Ideation Workshop
Nft Hack Ideation Workshop
 
Best practices for canisters in rust
Best practices for canisters in rustBest practices for canisters in rust
Best practices for canisters in rust
 
NFT Hack: Launch Event
NFT Hack: Launch Event NFT Hack: Launch Event
NFT Hack: Launch Event
 
ICP Hack Information Event
ICP Hack Information Event ICP Hack Information Event
ICP Hack Information Event
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Encode x Tezos: Building a dApp on Tezos

  • 2. Overview At the presentations leading up to today, we have gone through the components of building a distributed application. In this session, we are going to recap the key takeaways, and review: - The architecture of a distributed application - User experience design for distributed applications Also, we’ll say a few words about the upcoming Encode / Tezos hackathon.
  • 4. What is a dApp Distributed Applications, or ‘dApps’ are applications that rely on decentralized database(s) (usually including a blockchain). Classification of dApps by decentralization: - Fully decentralized (only a browser and a blockchain is needed) - Fully decentralizable (single source of truth, all data accessible) - Semi-centralized (some proprietary components / data) - Centralized with decentralized components (not really a ‘dApp’, but a valid application of decentralized technology)
  • 6. Smart contract layer Code that runs on the blockchain and implements business logic restrictions “Soda vending machine” metaphor - Nick Szabo What goes here? - Only trust-critical components - payments, ownership - Execution time and storage are limited - and expensive - Tezos: the smart contract layer is intentionally constrained - most Tezos dApps are of the ‘decentralizable’ sort
  • 7. Decentralized off-chain storage Storing data on the blockchain is expensive! Solution: Off-chain decentralized storage (IPFS) - Decentralized technology (high redundancy, censorship resistant) - Free & can store a lot of data - Demand-driven (data that is requested is replicated) - Volatile (data may be ejected from it) - Content addressable - content is accessible by content hash - Pinning: instructing a node to never eject certain data - Accessible as a paid service
  • 8. Centralized components - De-facto centralized components - These could be deployed by the user - Open source - No proprietary or restricted data is needed for functionality - Blockchain node(!) - IPFS node and pinning service - Indexer - eg. https://github.com/tzConnectBerlin/que-pasa - Open source backend - Web server - ‘Fully’ centralized systems - eg. Proprietary MMO game with NFT / blockchain component
  • 9. Centralized blockchain identity Many dApps are impersonal - they are public goods to be used by anyone. Some blockchain-based systems (not really ‘dApps’) involve a legal entity, with its own blockchain identity (wallet) ‘‘I’d like to mint NFTs for everyone who finds this geocache’ - ‘Someone’ needs to mint the NFTs - You need a centralized, automated system with a wallet There are ‘task engines’ that can automatically originate operations on the chain. eg. https://github.com/tzConnectBerlin/peppermint
  • 10. dApp frontend Frontend roles - Presentation layer / UX optimization - Identity management: blockchain wallet - Non-trust-critical business logic Key technologies and tools in Tezos - Beacon for wallet connectivity - Taquito for blockchain operations
  • 11. Designing with a security mindset - What operations need to be trusted? - What data is trust-critical? - What components can be exploited (eg. to cheat in a game)? - Who could benefit from exploiting a component? - How could they benefit? - Who is in a position to exploit a component? - How does their position set them up for this? - What components does a user have to trust? - In what way could they be harmed if these components were malicious? - How could they mitigate these risks? - What can you, as designer, do to mitigate these risks?
  • 13. Summary 1. Identify problems to solve 2. Identify user types 3. Brainstorm features to support user goals 4. Diagram user flows 5. Design UI 6. Write clear, concise, and useful copy 7. Validate ideas with user testing
  • 14. Identify problems to solve Research question Determine a meaningful use case for NFTs in a video game tournament Interview questions Tell me about the last time you… …participated in a video game tournament …observed a video game tournament Look for: sources of value, signs of accomplishment
  • 15. Identify user types Interview questions What is your experience with blockchain? NFTs? What is experience with this video game? This tournament? Look for: knowledge, behavior patterns, values + attitudes
  • 16. User research results NFT use case Give an NFT to player who dealt the final blow to a tournament victim User types Blockchain experience: mostly minimal interaction, heard about NFTs through the hype Video game experience: mostly very invested in game and surrounding world Very interested in new technologies, under-the-hood details
  • 17. Brainstorm features to support user goals Connect gaming account to dApp + create wallet Receive NFT for each final blow Send NFT to another address Top up tez balance Browse NFT gallery Learn how it works
  • 18. Diagram user flows Considerations based on user type Level of handholding + guidance Abstraction from technical details Nest off-app interactions in explanations Meta education flow
  • 20. Design UI Sketches > wireframes > high fidelity Use gestalt principles for clear information architecture Use UI patterns to minimize cognitive load Keep accessibility in mind
  • 23. Write clear, concise, and useful copy Pare it down to the essentials Minimize complex language Use consistent wording and language patterns Use tone as a tool to signal weight of action
  • 24. Write clear, concise, and useful copy
  • 25. Validate ideas with user testing Sample tasks You open the landing page — describe what you see Collect an NFT you earned from the tournament Sell an NFT you earned from the tournament Learn about the technical details on how this works
  • 27. Hackathon “Creating positive social impact via Web3: imagine ways in which the Tezos stack can be used to help people around the world.” Start Date: 13th April 2022 Register by: 13th April 2022, late registrations open until 20th April Submission Date: Sunday, 15th May 2022
  • 28.
  • 30. Learn to Earn Earn tez while gaining hands-on development experience in the Tezos ecosystem. ● Set up an NFT contract with automated minting of tokens with Peppermint ● Write and deploy a simple smart contract using LIGO 🤑 $50 in tez for the first 50 submissions in both categories Total prize: $5000 in tez
  • 31. Small but great Build a simple dApp on the Tezos technology stack with a clear goal. On this track, no project is too small to compete. Web3 has again opened up the world for individual developers to create meaningful change with nothing but a computer and a dream. We invite you to take part in this wave and build something cool. 🤑 Prizes 1st: $5000 in tez 2nd: $2500 in tez 3rd: $1000 in tez Honorable ideas: 3*$500 in tez Total prize: $10000 in tez
  • 32. Disrupt all the things Lay the foundations of a major Tezos-based project, and show us what you are truly capable of. This track is intended for teams with a disruptive vision, to showcase an PoC / MVP of their dream Web3 product. 🤑 Prizes 1st: $20000 in tez 2nd: $10000 in tez 3rd: $5000 in tez Total: $25000 in tez