SlideShare a Scribd company logo
1 of 46
Download to read offline
Building Blockchain Solutions
with Algorand Developer Tools
Russ@algorand.com
Russ Fustino
Technical Evangelist
Allison Nolan
Product Marketing
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Russ Fustino
2
• Algorand Technical Evangelist
• Microsoft MVP (2013-2018)
• Book Author – “Azure and Xamarin Forms”
publisher Apress.
• Publisher of several apps including the
Endorsed Jethro Tull App
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Get the goods
• Code and SDKs:
https://github.com/algorand
4
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Tamperproof Transparency Trust
The Blockchain Promise
Unlimited Applications
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Ransomware Attacks
6
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Erosion of Trust
7
Agenda
§ What is Algorand?
§ Algorand’s Consensus Model
§ TestNet
§ Process Architecture
§ APIs, SDKs and Command Line tools
§ Planned Developer Features
What is Algorand
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Borderless…
Commerce
Transactions
Exchange
Opportunity
Applications
Development
Finance
Currency
EconomyMoney
Governance
Investment
Participation
Trade
Markets
Customers
Technology
Innovation
Contracts
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand
§ Pure Proof of Stake (PPOS) Blockchain
§ Permissionless
§ Fast Transaction Throughput and Finality
§ No Forking – only one Block can get Quorum
§ Upgrades on Chain
Consensus Keynote by Silvio Micali, Founder of Algorand
“Building the Technical Innovation Required for a New Borderless Economy“
https://www.coindesk.com/events/consensus-2019/videos
Algorand YouTube Channel
https://www.youtube.com/algorand
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
The Blockchain Trilemma
“At most two of…”
Security
Scalability
Decentralization
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Generating New Blocks
• Various approaches for choosing the next block:
• Proof-of-work
• Delegated proof of stake
• Bonded proof of stake
• All these approaches have a fatal flaw
• “The whole economy is at the mercy of a small part of
the economy.”
13
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
How do you select a new block to be appended to the chain?
proof-of-work
• Minors own only a small fraction of the money in a proof-of-
work blockchain
• There are only 3 mining pools
• The chain is not secure.
• An adversary may thus attack either the protocol  or
communication network
• Forks can cause scalability issues
• Not Green
14
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
How do you select a new block to be appended to the chain?
(continued)
Delegated proof-of-stake
• The community empowers a few special delegates, to choose
the next block
• It is centralized from the get-go.
• Since the delegates are known, a determined adversary
could bring down all the delegates by a fast DoS attack.
15
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
How do you select a new block to be appended to the chain?
(Continued)
Bonded Proof-of-Stake
• Bonded PoS allows 20 users, or as many as are willing, to put
some money on the table — a bond.
• These are the users who select the next block.
• If they misbehave, their money is confiscated.
• makes it easy for big thieves to put a disproportionate amount
of money on the table for the sole purpose of controlling the
blockchain.
16
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand’s Logic and Pure Proof-of-Stake
• No money is ever hostage.
• All money is always where it should be: in your wallet, at your fingertips ready
to be spent, or in the various financial instruments that the Algorand
blockchain offers you.
• We want block generation to be simultaneously scalable, secure, and
decentralized.
Phase 1
• A single token is randomly selected, and its owner is the user who proposes the
next block.
Phase 2
• 1000 tokens are selected among all tokens currently in the system. The owners
of these 1000 tokens are selected to be part of a phase-2 ‘committee,’ which
approves the block proposed by the first user.
17
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Defeating the Trilemma
§ Security –
§ Committee members are not known until after the fact
§ Everything is cryptographically signed
§ Scalability
§ Minimal messages
§ Lottery execution extremely fast
§ Decentralization
§ Low barrier to entry
§ Anyone can participate in consensus
19
Alogorand’s CORE Technology in a nutshell)
https://medium.com/algorand/algorands-core-technology-in-a-nutshell-e2b824e03c77
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
’s Technical Advancements
• A new and super fast Byzantine agreement – Allows system to agree on a new block
while that block propagates
• VRFs (Verifiable Random Function) is open sourced and Cryptographic Self-Selection
to Blockchains. Allow users to secretly, fairly and provable select themselves
• Player Replaceability – Withstands the corruption of all users in the middle of a
protocol.
20
Algorand Consensus
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Consensus Overview
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Foundation Dutch Auctions
• https://algorand.foundation/
• Foundation will launch Auctions
• Tokens bids stored on chain
• Auction winners are recorded on chain
• Auction parameters posted to chain prior to Auction
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Foundation Rewards
§ See Foundation site
§ https://algorand.foundation/token-dynamics
§ All users online and offline are eligible to earn rewards
Algorand TestNet
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
TestNet Live!
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
TestNet Node Map
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
TestNet AlgoExplorer
34
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Install you node!
Install new node
• Log into https://developer.algorand.org/
• https://developer.algorand.org/docs/introduction-installing-node
35
Process Architecture
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Wallets and Accounts - Logical Overview
wallet Account
Private Key
Address/Public Key
Derived
Mnemonic
Spending
ParticipationParticipation Key
Account
Account
Im
port/Export
Stand Alone SDK/Algokey Generated
WalletID
Wallet Name
Mnemonic
Wallet Driver
Spending keys used for creating and issuing signed transactions
Participation Keys are used for participating in consensus and associated to
spending keys
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Multi-Sig accounts
Multi-Sig
Account
Address2 (PK2)
Address1 (PK1)
Address3 (PK3)
Threshold Level
Address(Hash of PKs)
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Processes
kmd
algod
Node
1
2
1. KMD handles all interaction with
spending keys, including signing
transactions. Signing can be stand
alone as well.
2. Algod is responsible for
processing the protocol and
interacting with SQLite to record the
ledger. Implements REST API for
read only APIs.
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Node Scenarios
kmd
algod
Node
kmd
algod
Node
kmd
algod
Node
algod
Node
algod
Node
kmd
algod
Node
kmd
Node
Offline algod
Relay
App
Algorand Wallet
Air Gapped
Application
JS SDK,
GO SDK,
Java SDK
APIs and Command Line
Tools
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand APIs and Command Line Tools
• algod process is for
protocol and read only Rest
APIs, submit signed txs
• kmd process is for wallet
integrations and
transactions
• Goal command line tool for
interacting with Node
• algokey stand-alone
command line utility used
to generate, import, export
keys and to sign
transactions.
• SDKs stand alone key
functions
Goal
kmdSwagger Supported Rest/JSON
HTTP PORT
Swagger Supported Rest/JSON
HTTP PORT algod
Algorand Node
JS SDK, GO SDK, Java SDK
Algokey
Custom
Code
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Goal
goal
clerk
account
addpartkey
balance
changeonlinestatus
importrootkey
list
new
multisig
rename
send
multisig
rawsend
ledger supply
logging
disable
enable
send
network
create
delete
restart
start
status
stop
node
clone
generatetoken
lastround
restart
start
status
stop
version
Wallet
KMD
list
new
start
stop
delete
listpartkeys
rewards
pendingtxns
SDKs and Swagger
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Swagger.Json
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Generating Clients
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
SDK Functionality
49
kmd Wrapper
algod Wrapper
Stand-alone
functions
Create accounts
Account Mnemonic
Create Transaction
kmd
algod
Sign Transaction
Air Gapped
Applications
Networked
Applications
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
SDK Documentation
50
JS, Go, Java SDK’s Demo
51
Coming Features
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Near Term Projects
§ Vault - Solve blockchain storage issues
§ Pixel – Address size and bandwidth of multi-signature requirements
§ Self Validating Transactions – Address balance time constraint
§ Atomic Swaps – Crosschain and multi-asset swaps in single transactions
§ Post-and-Sale Trades – Get buyers and sellers together quickly
Further out
Smart² contracts, quantum-resiliency
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Sign up Today!
55
Questions?

More Related Content

What's hot

Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Russ Fustino
 
Building with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowBuilding with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowRuss Fustino
 
Understanding Algorand's smart contract language
Understanding Algorand's smart contract language   Understanding Algorand's smart contract language
Understanding Algorand's smart contract language Vanessa Lošić
 
Algorand Technical Workshop 2021
Algorand Technical Workshop 2021Algorand Technical Workshop 2021
Algorand Technical Workshop 2021DanielBohnemann
 
Diving into Algorand - Overview, Key Metrics & Future Possibilities
Diving into Algorand - Overview, Key Metrics & Future PossibilitiesDiving into Algorand - Overview, Key Metrics & Future Possibilities
Diving into Algorand - Overview, Key Metrics & Future Possibilitiesintotheblock
 
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...R3
 
R3 Corda Simple Tutorial
R3 Corda Simple TutorialR3 Corda Simple Tutorial
R3 Corda Simple TutorialEric Lee
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introductionLennartF
 
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 ProjectManuel Garcia
 
Corda Developer Bootcamp: Tokens
Corda Developer Bootcamp:  TokensCorda Developer Bootcamp:  Tokens
Corda Developer Bootcamp: TokensR3
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricBenjamin Fuentes
 
Response cards k12 qt ntx lt
Response cards k12 qt ntx ltResponse cards k12 qt ntx lt
Response cards k12 qt ntx ltWilliam McIntosh
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528Arnaud Le Hors
 

What's hot (18)

Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)
 
Building with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowBuilding with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to know
 
Algorand
AlgorandAlgorand
Algorand
 
Understanding Algorand's smart contract language
Understanding Algorand's smart contract language   Understanding Algorand's smart contract language
Understanding Algorand's smart contract language
 
Algorand
AlgorandAlgorand
Algorand
 
Algorand Technical Workshop 2021
Algorand Technical Workshop 2021Algorand Technical Workshop 2021
Algorand Technical Workshop 2021
 
Diving into Algorand - Overview, Key Metrics & Future Possibilities
Diving into Algorand - Overview, Key Metrics & Future PossibilitiesDiving into Algorand - Overview, Key Metrics & Future Possibilities
Diving into Algorand - Overview, Key Metrics & Future Possibilities
 
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
 
R3 Corda Simple Tutorial
R3 Corda Simple TutorialR3 Corda Simple Tutorial
R3 Corda Simple Tutorial
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 
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
 
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
 
Dash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for TechiesDash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for Techies
 
Corda Developer Bootcamp: Tokens
Corda Developer Bootcamp:  TokensCorda Developer Bootcamp:  Tokens
Corda Developer Bootcamp: Tokens
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabric
 
Response cards k12 qt ntx lt
Response cards k12 qt ntx ltResponse cards k12 qt ntx lt
Response cards k12 qt ntx lt
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528
 
Bit coin
Bit coinBit coin
Bit coin
 

Similar to Building Blockchain Solutions with Algorand Developer Tools

Algorand Development Environment
Algorand Development Environment Algorand Development Environment
Algorand Development Environment Vanessa Lošić
 
Bypassing malware detection mechanisms in online banking
Bypassing malware detection mechanisms in online bankingBypassing malware detection mechanisms in online banking
Bypassing malware detection mechanisms in online bankingJakub Kałużny
 
MongoDB and MongoMK Source Event
MongoDB and MongoMK Source EventMongoDB and MongoMK Source Event
MongoDB and MongoMK Source EventYuval Ararat
 
The Savage Curtain: Mobile SSL Failures
The Savage Curtain: Mobile SSL FailuresThe Savage Curtain: Mobile SSL Failures
The Savage Curtain: Mobile SSL Failures☠Tony Trummer☠
 
20221110 MetaCoin
20221110 MetaCoin20221110 MetaCoin
20221110 MetaCoinHu Kenneth
 
Long Life Software
Long Life SoftwareLong Life Software
Long Life SoftwareMike Long
 
Algorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandAlgorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandTinaBregovi
 
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfBuild Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfRussFustino
 
Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsVlad Mihalcea
 
New Developments in the BREACH attack
New Developments in the BREACH attackNew Developments in the BREACH attack
New Developments in the BREACH attackE Hacking
 
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAre You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAlejandro Hernández
 
My internwork
My internworkMy internwork
My internworkV C
 
Week 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
Week 4 - DApps, Smart Contracts, and Decentralized Incentive SystemsWeek 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
Week 4 - DApps, Smart Contracts, and Decentralized Incentive SystemsRoger Royse
 
Wwc developing hyperledger applications v2
Wwc  developing hyperledger applications v2Wwc  developing hyperledger applications v2
Wwc developing hyperledger applications v2LennartF
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4LennartF
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceESUG
 
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018Alan Quayle
 
The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.Fran Strajnar
 
5 things you need to know about the Scala compiler
5 things you need to know about the Scala compiler5 things you need to know about the Scala compiler
5 things you need to know about the Scala compilerIulian Dragos
 

Similar to Building Blockchain Solutions with Algorand Developer Tools (20)

Algorand Development Environment
Algorand Development Environment Algorand Development Environment
Algorand Development Environment
 
Bypassing malware detection mechanisms in online banking
Bypassing malware detection mechanisms in online bankingBypassing malware detection mechanisms in online banking
Bypassing malware detection mechanisms in online banking
 
MongoDB and MongoMK Source Event
MongoDB and MongoMK Source EventMongoDB and MongoMK Source Event
MongoDB and MongoMK Source Event
 
The Savage Curtain: Mobile SSL Failures
The Savage Curtain: Mobile SSL FailuresThe Savage Curtain: Mobile SSL Failures
The Savage Curtain: Mobile SSL Failures
 
20221110 MetaCoin
20221110 MetaCoin20221110 MetaCoin
20221110 MetaCoin
 
Long Life Software
Long Life SoftwareLong Life Software
Long Life Software
 
Algorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandAlgorand Educate: Intro to Algorand
Algorand Educate: Intro to Algorand
 
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfBuild Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
 
Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control Patterns
 
New Developments in the BREACH attack
New Developments in the BREACH attackNew Developments in the BREACH attack
New Developments in the BREACH attack
 
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAre You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
 
My internwork
My internworkMy internwork
My internwork
 
Week 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
Week 4 - DApps, Smart Contracts, and Decentralized Incentive SystemsWeek 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
Week 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
 
Spectre coin
Spectre coinSpectre coin
Spectre coin
 
Wwc developing hyperledger applications v2
Wwc  developing hyperledger applications v2Wwc  developing hyperledger applications v2
Wwc developing hyperledger applications v2
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
 
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
 
The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.
 
5 things you need to know about the Scala compiler
5 things you need to know about the Scala compiler5 things you need to know about the Scala compiler
5 things you need to know about the Scala compiler
 

More from Russ Fustino

Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms Russ Fustino
 
Visual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoVisual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoRuss Fustino
 
OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!Russ Fustino
 
Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Russ Fustino
 
Implementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcastImplementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcastRuss Fustino
 
Improving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingImproving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingRuss Fustino
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadRuss Fustino
 

More from Russ Fustino (8)

Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
Visual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoVisual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ Fustino
 
OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!
 
Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)
 
Implementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcastImplementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcast
 
Improving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingImproving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error Reporting
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) upload
 

Recently uploaded

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 

Recently uploaded (20)

Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

Building Blockchain Solutions with Algorand Developer Tools

  • 1. Building Blockchain Solutions with Algorand Developer Tools Russ@algorand.com Russ Fustino Technical Evangelist Allison Nolan Product Marketing
  • 2. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Russ Fustino 2 • Algorand Technical Evangelist • Microsoft MVP (2013-2018) • Book Author – “Azure and Xamarin Forms” publisher Apress. • Publisher of several apps including the Endorsed Jethro Tull App
  • 3.
  • 4. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Get the goods • Code and SDKs: https://github.com/algorand 4
  • 5. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Tamperproof Transparency Trust The Blockchain Promise Unlimited Applications
  • 6. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Ransomware Attacks 6
  • 7. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Erosion of Trust 7
  • 8. Agenda § What is Algorand? § Algorand’s Consensus Model § TestNet § Process Architecture § APIs, SDKs and Command Line tools § Planned Developer Features
  • 10. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Borderless… Commerce Transactions Exchange Opportunity Applications Development Finance Currency EconomyMoney Governance Investment Participation Trade Markets Customers Technology Innovation Contracts
  • 11. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand § Pure Proof of Stake (PPOS) Blockchain § Permissionless § Fast Transaction Throughput and Finality § No Forking – only one Block can get Quorum § Upgrades on Chain Consensus Keynote by Silvio Micali, Founder of Algorand “Building the Technical Innovation Required for a New Borderless Economy“ https://www.coindesk.com/events/consensus-2019/videos Algorand YouTube Channel https://www.youtube.com/algorand
  • 12. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level The Blockchain Trilemma “At most two of…” Security Scalability Decentralization
  • 13. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Generating New Blocks • Various approaches for choosing the next block: • Proof-of-work • Delegated proof of stake • Bonded proof of stake • All these approaches have a fatal flaw • “The whole economy is at the mercy of a small part of the economy.” 13
  • 14. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level How do you select a new block to be appended to the chain? proof-of-work • Minors own only a small fraction of the money in a proof-of- work blockchain • There are only 3 mining pools • The chain is not secure. • An adversary may thus attack either the protocol  or communication network • Forks can cause scalability issues • Not Green 14
  • 15. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level How do you select a new block to be appended to the chain? (continued) Delegated proof-of-stake • The community empowers a few special delegates, to choose the next block • It is centralized from the get-go. • Since the delegates are known, a determined adversary could bring down all the delegates by a fast DoS attack. 15
  • 16. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level How do you select a new block to be appended to the chain? (Continued) Bonded Proof-of-Stake • Bonded PoS allows 20 users, or as many as are willing, to put some money on the table — a bond. • These are the users who select the next block. • If they misbehave, their money is confiscated. • makes it easy for big thieves to put a disproportionate amount of money on the table for the sole purpose of controlling the blockchain. 16
  • 17. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand’s Logic and Pure Proof-of-Stake • No money is ever hostage. • All money is always where it should be: in your wallet, at your fingertips ready to be spent, or in the various financial instruments that the Algorand blockchain offers you. • We want block generation to be simultaneously scalable, secure, and decentralized. Phase 1 • A single token is randomly selected, and its owner is the user who proposes the next block. Phase 2 • 1000 tokens are selected among all tokens currently in the system. The owners of these 1000 tokens are selected to be part of a phase-2 ‘committee,’ which approves the block proposed by the first user. 17
  • 18. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Defeating the Trilemma § Security – § Committee members are not known until after the fact § Everything is cryptographically signed § Scalability § Minimal messages § Lottery execution extremely fast § Decentralization § Low barrier to entry § Anyone can participate in consensus 19 Alogorand’s CORE Technology in a nutshell) https://medium.com/algorand/algorands-core-technology-in-a-nutshell-e2b824e03c77
  • 19. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level ’s Technical Advancements • A new and super fast Byzantine agreement – Allows system to agree on a new block while that block propagates • VRFs (Verifiable Random Function) is open sourced and Cryptographic Self-Selection to Blockchains. Allow users to secretly, fairly and provable select themselves • Player Replaceability – Withstands the corruption of all users in the middle of a protocol. 20
  • 21. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand Consensus Overview
  • 22. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand Foundation Dutch Auctions • https://algorand.foundation/ • Foundation will launch Auctions • Tokens bids stored on chain • Auction winners are recorded on chain • Auction parameters posted to chain prior to Auction
  • 23. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand Foundation Rewards § See Foundation site § https://algorand.foundation/token-dynamics § All users online and offline are eligible to earn rewards
  • 25. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level TestNet Live!
  • 26. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level TestNet Node Map
  • 27. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level TestNet AlgoExplorer 34
  • 28. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Install you node! Install new node • Log into https://developer.algorand.org/ • https://developer.algorand.org/docs/introduction-installing-node 35
  • 30. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Wallets and Accounts - Logical Overview wallet Account Private Key Address/Public Key Derived Mnemonic Spending ParticipationParticipation Key Account Account Im port/Export Stand Alone SDK/Algokey Generated WalletID Wallet Name Mnemonic Wallet Driver Spending keys used for creating and issuing signed transactions Participation Keys are used for participating in consensus and associated to spending keys
  • 31. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Multi-Sig accounts Multi-Sig Account Address2 (PK2) Address1 (PK1) Address3 (PK3) Threshold Level Address(Hash of PKs)
  • 32. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand Processes kmd algod Node 1 2 1. KMD handles all interaction with spending keys, including signing transactions. Signing can be stand alone as well. 2. Algod is responsible for processing the protocol and interacting with SQLite to record the ledger. Implements REST API for read only APIs.
  • 33. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Node Scenarios kmd algod Node kmd algod Node kmd algod Node algod Node algod Node kmd algod Node kmd Node Offline algod Relay App Algorand Wallet Air Gapped Application JS SDK, GO SDK, Java SDK
  • 34. APIs and Command Line Tools
  • 35. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand APIs and Command Line Tools • algod process is for protocol and read only Rest APIs, submit signed txs • kmd process is for wallet integrations and transactions • Goal command line tool for interacting with Node • algokey stand-alone command line utility used to generate, import, export keys and to sign transactions. • SDKs stand alone key functions Goal kmdSwagger Supported Rest/JSON HTTP PORT Swagger Supported Rest/JSON HTTP PORT algod Algorand Node JS SDK, GO SDK, Java SDK Algokey Custom Code
  • 36. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Goal goal clerk account addpartkey balance changeonlinestatus importrootkey list new multisig rename send multisig rawsend ledger supply logging disable enable send network create delete restart start status stop node clone generatetoken lastround restart start status stop version Wallet KMD list new start stop delete listpartkeys rewards pendingtxns
  • 38. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Swagger.Json
  • 39. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Generating Clients
  • 40. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level SDK Functionality 49 kmd Wrapper algod Wrapper Stand-alone functions Create accounts Account Mnemonic Create Transaction kmd algod Sign Transaction Air Gapped Applications Networked Applications
  • 41. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level SDK Documentation 50
  • 42. JS, Go, Java SDK’s Demo 51
  • 44. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Near Term Projects § Vault - Solve blockchain storage issues § Pixel – Address size and bandwidth of multi-signature requirements § Self Validating Transactions – Address balance time constraint § Atomic Swaps – Crosschain and multi-asset swaps in single transactions § Post-and-Sale Trades – Get buyers and sellers together quickly Further out Smart² contracts, quantum-resiliency
  • 45. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Sign up Today! 55