3. Blockchain Developer Thoughts
• What type of solution can I build?
• What programming languages can I use?
• Can I reuse any of this code for another blockchain?
• Can I have an interaction on one blockchain with
another on a transaction?
• How do I verify smart contracts, IE audits?
6. Traits of Blockchain Solutions
• Public and Open
• Decentralized
• Tamper proof
• High throughput TPS and performant
• Solutions are a combination of Layer-1 features
• Dev tools: SDKs, REST APIs, IDE’s
• Deploy to web, desktop and device apps
• Deploy dApps to multiple blockchains with Reach
7. Types of Blockchain apps
Public & Closed Public & Open
• Voting
• Voting records
• Whistleblower
• Currencies
• Betting
• Video Games
Private & Closed Private & Open
• Construction
• National Defense
• Law Enforcement
• Military
• Tax Returns
• Supply Chain
• Government financial records
• Corporate earning statements
8. Yieldly
• Bridges - Cross-chain solutions, will expand to other protocols including
Ethereum, Binance, and Polkadot.
• ERC20 bridge between Algorand Standard Assets (ASAs) with the ERC-
20 ecosystem.
• Staking - Users earn passive income.
• Stake YLDY – an Algorand-based token – and earn rewards in the form
of YLDY and ALGO tokens.
• No-loss lotteries - Stake ALGO to maximize the potential gains.
• By gamifying Yieldly is attracting more crypto investors and “yield
farmers” interested in DeFi earnings opportunities.
https://www.algorand.com/resources/blog/yieldly-multi-asset-staking-and-
cross-chain-swapping-on-algorand
9. Developer Office Hours
• Every other Tuesday
• August 10th @ 13:00 UTC (Tuesday 9am EDT) | Yieldly:
No-loss prize games
Multi-asset staking
Cross-chain swapping
DEVOFFICE HOURS sign up:
https://www.algorand.com/developers
10. Bleumi
• Bleumi Pay is a non-custodial cryptocurrency payment platform.
• Works with any Algorand Standard Asset (ASA), and any future Central Bank Digital Currency
(CBDC) built on Algorand.
• Can be integrated by businesses of all sizes to perform payments and payouts securely and
conveniently.
• Bleumi Pay supports payments through eCommerce plugins, such as
• WooCommerce
• Adobe Magento
• OpenCart
• ZenCart
• DrupalCommerce
• OsCommerce
• All a business have to do is download the plugins and start accepting cryptocurrency payments.
• APIs, SDKs and POS (point of Sale) are available.
https://www.algorand.com/resources/blog/why-bleumi-chose-algorand-to-power-crypto-payments
11. Circle and Coinbase – Centre consortium
Payments & treasury infrastructure for the internet
• Accept payments
• Send payouts globally
• Leverage traditional payments
• Through blockchain infrastructure
• Global, Scalable and efficient
• USDC - fastest growing Stablecoin –
4 Billion 22 Billion in circulation.
https://www.algorand.com/resources/blog/algorand-circle-the-power-of-
stablecoins-on-next-generation
12. SIAE - Società Italiana degli Autori ed Editori
(Italian Society of Authors and Publishers)
Digital Copyright Assets using NFTs (Non-Fungible
Tokens)
• 4 million NFTs on Algorand for 95,000+ creators
• Copyrights for the first time - represented as digital
assets
• Decentralized and Transparent public blockchain
• Global and Open Infrastructure
• End-to-end Protection
• The Future of the Industry
https://www.algorand.com/resources/news/siae-launches-4-million-nfts-on-algorand-for-creators
13. Other use cases…
Tamper-proof charity organizations :
• China Ministry using blockchain
• improve transparency of social services
• tracking of donations / audit trail
Voting - tamper-proof
Healthcare - global access / medial records
Automotive
• supply chain visibility - vehicle integrity
• details of wear and tear of spare parts, sensors
writing to blockchain
Source: Forkast.Insights
China Blockchain Report 2019-2020
14. DeFi apps explode in 2020 – 2021 on blockchains.
• 2020: One (1) Trillion dollars
in cumulative blockchain network value!
• 2021: Three (3) Trillion dollars
forecast in the blockchain industry! *
• Source: Crypto Theses for 2021 https://messari.io/
15. Other ideas / Challenges
• Primarily interested in PyTeal or Reach built dApps
• Implement a decentralized naming service - Build a decentralized naming
service that allows various things such as addresses, multisig addresses, and
website names to be decentralized using the Algorand blockchain. Similar to
https://ens.domains/
• A decentralized perpetual contract trading dApp - Build a decentralized
perpetual contract trading platform that showcases how these futures contracts
can be implemented and used on Algorand. Similar to https://www.perp.fi/
• Crowdsourced membership insurance dApp - Build a decentralized insurance
dApp that allows members to share risk. Similar to https://nexusmutual.io/
24. Algorand Atomic Transfers
● All Must Succeed or All Fail
● On chain Native Function
● Easy and Secure
● Up To 16 Transactions
● Guarantees Exchange of Goods
● Combine with other Algorand technologies
25. Examples – Atomic Transfers
● Simplified/Expedited Settlement
● Efficient Matched Funding
● Reduced Counterparty Risk
● Enable any Multilateral Trade
● Circular Trades
● Group Payments
● Combine with Algorand ASA and ASC1
● Instant Settlement for Complex
Multi party / Asset transactions
● Distributed Payments
26. Algorand Smart Contracts
● Transaction Execution Approval Language
○ Contract Logic : TEAL
○ Python Enabled Compiler (PyTeal)
○ Reach
● Two Types Of Smart Contracts
○ Stateless - Approve Spending Transactions
○ Stateful – Global/Local Storage
● Combinable with Other Algorand Technologies
○ Atomic Transfers
○ Algorand Assets
○ Combine Stateless and Stateful Contracts
Smart Contract
28. Indexer
• Use sandbox default for Private network
(includes Indexer instance)
• Use a service:
• Purestake https://www.purestake.com/
• Rand Labs https://algoexplorer.io/
• Build your own
https://developer.algorand.org/docs/run-a-
node/setup/indexer/
29. Combining Layer 1 Features - Voting
Smart
Contract
V
Voting Commission Account
Vote For
Candidate A
Voting Smart Contract
Global State
Increment
Candidate A Vote
Total
Atomically Grouped
Spend Voting Token
30. Combining Layer 1 Features Crowdfunding
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
32. 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 and Rand Labs API services
• Indexed, Archived
• Can access from SDK code on platforms
that do not have nodes
Sandbox
• Docker
• Not for production / snapshot start from current node no sync time
33. + = sandbox
Sandbox
• Clone https://github.com/algorand/sandbox
• Defaults to Private Network (includes indexer) ./sandbox up
• TestNet use: ./sandbox up TestNet
(BetaNet, TestNet and MainNet are all supported)
36. NFT’s – How to build?
• NFTs can be built using Algorand’s layer 1 ASAs
• NFTs with unique transfer logic can be built
using Stateful Smart Contracts.
• NFTs built using ASAs can be manipulated with unique
logic using Stateless Smart Contracts.
• Highly configurable NFT applications can be built using
a combination of Atomic Transfers, ASAs, Stateful and
Stateless Smart Contracts.
46
https://developer.algorand.org/articles/building-nfts-on-algorand/
39. Algorand dApp Architecture
Blockchain
Layer
Algorand SDKs
REST APIs
Stateles
s Smart
Contract
Stateles
s Smart
Contract
Stateless
Smart
Contract
UI/Backend Layer Transaction Types
Algorand Blockchain
Global State
Stateful
Smart
Contract
Local State
Local State
Local State
NFT
Payment
Asset
Application
FT
FT
FT
40. PyTeal Development
PyTeal Code
TEAL
Compile To TEAL
Create with Python
Compile with PyTeal
Compile to Bytecode
Compile with SDK, Submit
to node to compile
automatically, or compile
with command line
Submit to Blockchain
(Create App)
Developer Docs:
https://developer.algorand.org/docs/features/asc1/teal/pyteal/
42. What is Reach?
57
• Programing Language
• JavaScript / Python / and more Syntax
• High-Level Language
• Compiler
• Outputs to Any Chain with Just a Configuration Change
• Mathematically Guarantees Safety
• Outputs the Entire Application(Not just the Smart Contract)
• Deploy
• Launches Appropriate Node
• Runs Test Simulation
43. With Reach, you write once and …
• Deploy to multiple blockchains
• Algorand
• Ethereum
• Conflux
• … more to come
44. Reach is Analogous to Cross Platform App Development
• Common code on each platform
• Deploy to multiple platforms (iOS, Android, Windows)
• Play a game cross platform
• Apps go thru a certification process
Cross Platform tools
• Xamarin
• React Native
• Unity
• Kotlin
• Flutter
Reach is a cross blockchain deployment and development tool
45. Frontend / Backend
• Client / Server
• N-tier Architecture
• Separation of concerns
• ‘Interact’ between the frontend from the
backend.
46. Focus on the business logic
• Reach programmers don’t need to think about details
• contract storage
• protocol diagrams
• state validation
• network details
47. Verification and audits
• Protects against some of the attacks we hear about in the
blockchain world.
• Guarantees that the balance in the contract at the end of
the program is zero.
• Otherwise, tokens could be locked away by
the contract and inaccessible.
• Facilitates General blockchain properties, like token
linearity
48. Reach Architecture
Reach Frontend
Reach Backend
JavaScript
Python
Go
JavaScript
TypeScript
Algorand SDKs REST APIs
Algorand Blockchain
Generate, Deploy and Interact
with Smart Contracts
Automatically
Developer Docs: https://docs.reach.sh/
49. How does Reach compare to Solidity development?
Solidity
• Protocol Design - UML
• Smart Contract - Implicit state space matches the protocol
• Middleware – Dev builds a library that uses SDK like web3.js or ethers to connect smart
contract
• Frontend – Dev builds a frontend that connects to wallet like metamask (user interface
surfaces details about the underlying network)
• Testing - Suite or a developer instance of eth to launch a test consensus network and
then build a suite of unit and end-to-end tests of their application
• Verification – Provided by a wide variety of tools and companies
• Deployment – Deploys to Ethereum - DApp either embedded in frontend for independent
instances of Smart Contract or launched a single time at a well publicized address that
might be embedded in the front end
50. How does Reach compare to Solidity development?
Reach
• Protocol Design – Reach programming language
• Smart Contract – Reach compiler
• Middleware – Reach API
• Frontend – Build with JavaScript or RPC language support for Python, Go and more
• Testing – Reach Run
• Verification – Every Reach compilation includes a thorough formal verification of
the DApp using a SMT-based theorem prover.
• Deployment – Reach compiler configurations to multiple blockchains
51. Handy commands using Reach…
• init
• run
• rpc-run
• update
• clean
• docker-reset
• upgrade
• hashes (check hashes in #releases Discord channel , all should be the same)
• docker system prune
• Reach discord : https://discord.gg/WCDcMGSSPk
52. REACH CONNECTOR MODE – where to deploy
$ REACH_CONNECTOR_MODE=ETH reach run
$ REACH_CONNECTOR_MODE=ALGO reach run
$ REACH_CONNECTOR_MODE=CFX reach run
57. Algorand Foundation Reward Programs
• Developer Awards Program
https://algorand.foundation/developer-incentive-awards-program
• Algorand Developer Ambassador Rewards (DevAms)
https://algorand.foundation/dev-ambassadors
• Grant Programs
https://algorand.foundation/grants-program
• Grant Recipients
https://algorand.foundation/2020-grant-recipients
• Algorand Scouts
https://algoscouts.fund/
https://github.com/algorandfoundation/grow-algorand
• Security
https://www.algorand.com/resources/security
82
58. Community Leadership: 500+ Ambassadors, 66+ countries
Contact Stephen Duignan stephen@algorand.foundation
Visit community.algorand.org
59. Where are the code samples?
Java, JavaScript, Go and Python
• File Structure by Feature/V2/Language:
https://github.com/algorand/docs
https://github.com/algorand/docs/tree/master/examples
• File Structure By Language/V2/Feature:
Clone https://github.com/algorand-devrel/hackathon
https://github.com/algorand-
devrel/hackathon/tree/master/algorandsamples/v2
• Smart Contract DEX example
https://github.com/algorand/smart-contracts
84
60. Upcoming
Developer Office Hours
Every other Tuesday
August 10th @ 13:00 UTC (9am EDT) | Yieldly: No-loss prize games;
Multi-asset staking; Cross-chain swapping.
OFFICE HOURS sign up:
https://www.algorand.com/developers