Join us for a great session on tap about everything new with the Algorand blockchain. We will take a look at these new features and provide demos using goal and the SDKs. The first half of the session will provide an overview of these features and the second half will focus on code samples.
Algorand’s Rekeying feature allows users to change their private spending key without the need to change their public address.
Fast Catchup enables developers to quickly sync a node and get started developing.
Algorand Smart Contracts - Algorand now provides both stateless and stateful smart contracts that can be used to build on-chain applications that scale.
Indexer V2 - Algorand’s new Indexer now provides the ability to do historic-based and paginated result set searches across the entire blockchain in an efficient and fast way.
Review getting started code, using V2 SDKs, for transactions and building stateless and stateful applications.
In this session you will learn...
How to build blockchain solutions using the V2 SDKs.
How to change the account private key without changing the public key.
How to spin up a node and have it synced in a matter of minutes instead of days
How to search the Algorand blockchain in an easy way.
2. The documents and statements presented on (or directly accessible from)
this presentation may contain forward-looking statements. These statements
relate to future events or Algorand Network's future performance, financial
or otherwise. Any statements that are not statements of historical fact
(including without limitation statements to the effect that the Company or its
management “believes”, “expects”, “anticipates”, “plans” (and similar
expressions) should be considered forward looking statements. There are a
number of important factors that could cause Algorand Network’s actual
results and outcomes to differ materially from those indicated by the forward
looking statements. The Algorand or any other party contained within
disclaim any obligation to update any forward looking statement.
Safe Harbor
3. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Experience with development and blockchain poll
4
4.
5. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
ENTER TO WIN $100 Amazon Gift card
TODAY IN THIS SESSION!
Sign up for developer newsletter!
https://developer.algorand.org/pages/newsletter/
9
6. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Get the goods!!!
Developer site: http://developer.algorand.org
SDKs: https://github.com/algorand
PowerPoint:
Code: https://github.com/algorand-devrel/hackathon
10
7. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Problems with Blockchains
• Say I have a long running public address and then I
want to change the authorized private key?
• I have an account signing my transactions, but I
want to change it to Multisig or Logic Sig? How?
• I create a node and can not use it for days. Catching
up from the genesis block takes forever!
• The cost and speed of other smart contracts make
business models hard, UX spotty and tough to
implement
• How do I do searches on the Blockchain? Quick!
12
8. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Developers, Developers, Developers!!!
• 200 - CareerBuilder
• 1800 - Monster
• 4600 – Dice
• * The total number of Blockchain developers in late 2018
was estimated at around 105,000. [source paybis and dappros ]
13
9. § Why Algorand?
§ Algorand Layer 1 Features
§ Fast Catchup
§ ReKeying
§ Indexer V2
§ Algorand Foundation Reward
Programs
§ Developer Tools!
§ Community Resources
§ Code Demos
11. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Why Algorand
Pure Proof of Stake Consensus
Efficient Blockchain: Scales to billions of users
Enterprise Speed: 1000 TPS, < 5s Block Times
Instant Finality: There are no soft forks.
Cost Effective: < $0.001 USD cost per transaction
12. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Pure Proof of Stake Consensus
ü Public and Permissionless
ü All users can participate in consensus
ü Blocks are confirmed by voting
ü Every token carries the same voting power
ü No need to delegate or bond
ü Minimal compute required
13. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Technical Innovation Continuing to Drive Adoption
14. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Year 1
26
16. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Standard Assets (ASA)
Algorand Smart Contracts (ASC1)
Atomic Transactions
Algorand Layer 1 Features
Rekeying
Algorand Accounts
17. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Accounts
Smart Contract
Standard Account Multisig Account Logic Account
18. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Rekeying Accounts
Authorization
Public Address
Smart Contract
19. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
● Issue Layer 1 Native Token (NFT/FT)
○ Native Like the Algo
○ Create in Minutes
○ Require no on-chain code
● An administrator can
○ Mint and Burn units
○ Freeze Accounts
○ Revoke an Asset
○ Delegate
● Asset Spam Protection
○ Accounts Option In to ASA
● Quick Demo Algodesk.io
Algorand Standard Assets (ASA)
T
Block Block Block
20. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
● Native Function
○ Atomic transfers on Algorand is a native function instead of implemented
with 3rd party contracts
(No need for HTLC or notary)
● Easy and Secure
● Up To 16 Transactions
● All Must Succeed or All Fail
● Guarantees Exchange of Goods
Algorand Atomic Transfers
21. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
● Transaction Execution Approval Language
○ The contract logic on Algorand are described with TEAL
○ Python Enabled Compiler (PyTEAL)
● Two Types Of Smart Contracts
○ Stateless - Used to Approve Spending Transactions
○ Stateful - Onchain Global and Local Storage
● Combinable with Other Algorand Technology
○ Atomic Transfers
○ Algorand Assets
○ Combine Stateless and Stateful Contracts
Algorand Smart Contracts
Smart Contract
22. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
TEAL - Transaction Execution Approval Language
● Bytecode based stack language
● Returns True or False (Positive Value Left on Stack)
● SDK Support
● Templates
● > 70 Opcodes
● Access to ASA/Algo Balances
● Read all Transactions in a Group
● Stateful - Global/Local Storage Calls
● Stateless - Signature Verification
● PyTEAL library to write in python
25. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
TEAL Example
txn CloseRemainderTo
addr SOEI...
==
txn Receiver
addr SOEI...
==
&&
arg 0
len
int 32
==
&&
arg 0
sha256
byte base64 VeU...
==
&&
txn CloseRemainderTo
addr RFGE...
==
...
Program
Byte constant
CloseRemainderTo
uint64/[]byte
…(up to 1000)
● Sender
● Fee
● FirstValid
● FirstValidTime
● LastValid
● Note
● Lease
● Receiver
● Amount
● CloseRemainderTo
● VotePK
● SelectionPK
● VoteFirst
● VoteLast
● VoteKeyDilution
● Type
● TypeEnum
● XferAsset
● AssetAmount
● AssetSender
● AssetReceiver
● AssetCloseTo
● GroupIndex
● TxID
Transaction(s)
Convert address to byte constant and
push to the stack
Stack
26. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
TEAL Example
txn CloseRemainderTo
addr SOEI...
==
txn Receiver
addr SOEI...
==
&&
arg 0
len
int 32
==
&&
arg 0
sha256
byte base64 VeU...
==
&&
txn CloseRemainderTo
addr RFGE...
==
...
Program
1/0
uint64/[]byte
uint64/[]byte
…(up to 1000)
● Sender
● Fee
● FirstValid
● FirstValidTime
● LastValid
● Note
● Lease
● Receiver
● Amount
● CloseRemainderTo
● VotePK
● SelectionPK
● VoteFirst
● VoteLast
● VoteKeyDilution
● Type
● TypeEnum
● XferAsset
● AssetAmount
● AssetSender
● AssetReceiver
● AssetCloseTo
● GroupIndex
● TxID
Transaction(s)
Pops the top two values off the stack and replaces with
1 or 0 depending on if they were equal
Stack
27. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
PyTEAL -Python Library
Returns
28. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Video on TEAL
https://youtu.be/OWFRP9McBmk
40
• Youtube.com/algorand
29. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Stateless Smart Contracts
● Replaces Signing of Transactions
● Two Usage Modes
○ Logic Account: any transactions sent from this account will be verified by the
predefined logic
■ Escrow Style Accounts
■ Split Payments
■ HTLC Contracts
○ Logic Signature: any transactions signed with this signature will be verified by the
predefined logic (Delegated Authority)
■ Recurring Payments
30. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Stateful Smart Contracts
Smart Contract
Global State
Local State
Application Call Transactions
Trigger Smart Contract
A
A
B
C
31. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Combining Layer 1 Features
Smart
Contract
V
Voting Commission Account
Vote ForCandidate A
Voting Smart Contract
Global State
Increment Candidate
A Vote Total
Atomically Grouped
Spend Voting Token
32. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Combining Layer 1 Features
Stateful
Smart
Contract
Crowdfunding Smart Contract
Atomically Grouped
Payment from Escrow to User 1
Stateless
Smart
Contract
Crowdfunding Escrow Account
User 1 Claims Escrow Funds
34. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Indexer V2
35. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Indexer V2
• The Indexer works as a standalone service that reads committed blocks
from the Algorand blockchain and maintains a database of transactions,
accounts and assets that are searchable and indexed.
• Search filters:
• Round
• Date
• Address (Sender|Receiver)
• Balances
• Signature type
• Transaction type
• Asset holdings
• Asset name
47
36. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Indexer V2
• Look up historical account data for a particular round
• Result pagination
• Enriched transaction and account data:
• Confirmation round (block containing the transaction)
• Confirmation time
• Signature type
• Asset ID
• Close amount when applicable
• Rewards
48
37. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Indexer V2
• Build your own https://developer.algorand.org/docs/run-
a-node/setup/indexer/
• Use a service:
• Purestake
• https://www.purestake.com/
49
39. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Fast Catchup
Problem: Catching up from the genesis block extends the time to
productivity
Solution: Nodes create catchpoints, a secure and downloadable
ledger as of specific blocks
51
40. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Fast Catchup Key Design Principles and Differentiators
Simple single command during startup
Secure continuous and easily verifiable trust
visible across network
Optional users are free to catch up in their
desired fashion
52
41. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Fast Catchup Use Cases
Lowers the bar for developer environments
Participate in consensus in a matter of
minutes
53
43. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
ReKey
Problem: Private key security policies without operational
overhead. To change a signing key for and account, create a new
account.
Solution: Keep a long running public address and change the
authorized private key as desired
55
44. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Key Design Principles and Differentiators
Simple a single, optional, new field in existing
transactions
Flexible change to a single key, a multi-sig key, or
a stateless smart contract
Unlimited change your authorized private key as
frequently as desired
56
48. Developers, Developers, Developers!!
•SDKs: REST -JavaScript, Python, Java, Golang
•CLI Tools: Play with node from command line
•SandBox - Quick Start Setup
•Indexer V2: Rest API for querying data from Blockchain
•Wallet - Algorand Mobile Wallet Android/IOS
•AlgoSigner - Chrome Plugin for SigningTransactions (now
available)
•Community Supplied
• Explorers
• API Services
• Wallets
• SDKs
• Online TEAL Editor and debugger
• Algorand Studio Editor
49. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
AlgoSigner – Chrome Extension
https://chrome.google.com/webstore/detail/algosigner/kmmolakhbgdlpkjkcjkebenjheonagdm
67
50. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Developer Newsletter – signup at
https://developer.algorand.org/pages/newsletter/
68
51. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Networks
69
52. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Open API REST V2 Specifications
• Algod
https://github.com/algorand/go-
algorand/blob/master/daemon/algod/api/algod.oas2.json
https://github.com/algorand/go-
algorand/blob/master/daemon/algod/api/algod.oas3.yml
• KMD :
curl http://$(cat ~/node/data/kmd-v0.5/kmd.net)/swagger.json >
swaggerkmd.json
• Indexer
https://github.com/algorand/indexer/blob/develop/api/indexer.oas2.json
https://github.com/algorand/indexer/blob/develop/api/indexer.oas3.yml
71
53. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Nodes. https://developer.algorand.org/docs/build-apps/setup/
• Create and run your own
• Mac
• Ubuntu
• Other Linux Distros (Example - Raspberry Pi)
• Used to take several hours to sync, but now Fast catch-up is here!
• Purestake API service
• Indexed, Archived
• Can access from SDK code on platforms
that do not have nodes (Windows)
• Sandbox
• Docker
• Not for production
• Snapshot start from current node
• No sync time
74
54. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Sandbox – The quickest way to get going
Docker Instance
https://github.com/algorand/sandbox
75
https://medium.com/algorand/introducing-sandbox-the-quick-way-to-get-started-on-algorand-8082c2d18854
55. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
developer.algorand.org
56. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Start Building!
Developer..algorand.org
80
57. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
https://developer.algorand.org/solutions/
81
58. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
https://developer.algorand.org/articles/
82
59. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
https://developer.algorand.org/tutorials/
83
61. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Become An Algorand Ambassador
• Work directly with the Algorand team and
learn from the best in the field
• Host your own hackathon or developer
meetup to help others in your community
build on top of Algorand
• Connect with other developers from all
over the world who are also building on
Algorand
• Get the latest news and updates about
our platform before anyone else hears
about it
86
è Visit community.algorand.org
Contact Stephen Duignan
stephen@algorand.foundation
62. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Community
• Community Landing page
https://community.algorand.org/
• Community Blog
https://community.algorand.org/blog/
(send email to ecosystem@algorand.com to post)
• Community Events
https://community.algorand.org/events/#/list
87
63. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Community C# SDK
https://github.com/RileyGe/dotnet-algorand-sdk
88
65. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Userful Resources
● Developer Portal (Documentation and Tutorials):
https://developer.algorand.org/
● Forum: https://forum.algorand.org/
● GitHub: https://github.com/algorand
● Discord: https://discord.gg/YgPTCVk
● PowerPoint: https://bit.ly/3j2hWaj
66. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
ENTER TO WIN $100 Amazon Gift card
TODAY IN THIS SESSION!
Sign up for developer newsletter!
https://developer.algorand.org/pages/newsletter/
92
67. Summary
§ Blockchain Basics
§ Why Algorand?
§ Algorand Layer 1 Features
§ Algorand Foundation Reward Programs
§ Developer Tools!
§ Algorand BetaNet, TestNet, MainNet
§ Local Nodes and Standup Instances
§ APIs, SDKs and Command Line tools
§ Community Resources
§ Code Demos
68. And the winner is…
Please fill out Feedback on session…
https://www.surveymonkey.com/r/PBCJN6Z
69. • Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Sign up Today!
95