Ergo Blockchain Crash Course:
Quick And Dirty (NSFW)
Luca D’Angelo
Purpose
Course Outline
ErgoPad
FIN
Ergo Blockchain Crash Course:
eUTXO Model Review
Outline
eUTXO Model Review: What is eUTXO?
eUTXO ≔ Extended Unspent Transaction Output
Resulting Questions
eUTXO Model Review: What is a transaction?
eUTXO Model Review: What is an output?
eUTXO Model Review: What does unspent mean?
eUTXO Model Review: What makes it extended?
eUTXO Model Review: Informal Definition
eUTXO Model Review: Description Within Ergo
eUTXO ≔ a box
Implications
ErgoPad
FIN
Ergo Blockchain Crash Course:
Anatomy of Ergo Blockchain
Outline
Anatomy of a Box: Registers
Anatomy of a Box: Size Limits
Anatomy of a Box: Box Types
Anatomy of a Transaction
Anatomy of a Transaction
Anatomy of a Transaction: Transaction Cost
Anatomy of a Transaction: Conservation of ERG
What is the flow?
Storage Rent:
Anatomy of a Transaction: Fun Physics Analogies
Consequences:
Anatomy of a Transaction: Mempool
Mempool ≔ Memory Pool
What is the mempool?
What is it used for?
Anatomy of an Address
Anatomy of an Address: Types of Addresses
Network Types
Address Types
Anatomy of an Address: Structure
Anatomy of an Address: Addresses and Boxes
Anatomy of a Token
Anatomy of a Token: What is token?
Anatomy of a Token: What is minting?
Anatomy of a Token: What is an NFT?
Anatomy of a Token: NFT Minting Example
Anatomy of a Block
Anatomy of a Block: What is a blockchain?
Anatomy of a Block: What is a block?
Anatomy of a Block: Proofs of eUTXO Set Transformations
Anatomy of a Block: Extensions
Anatomy of a Block: Transactions
Anatomy of a Block: Header
Anatomy of a Wallet
Anatomy of a Wallet: What is a wallet?
Anatomy of a Wallet: Wallet Address Hierarchy
Structure Following BIP-0044:
On Ergo EIP-0003:
ErgoPad
FIN
Ergo Blockchain Crash Course:
ErgoScript Development Fundamentals
Outline
Multi-Stage Protocols
Multi-Stage Protocols: Enriched Context
p
Multi-Stage Protocols: What is it?
Multi-Stage Protocols: Turing Completeness?
Consequence:
ErgoScript Fundamentals
ErgoScript: What is it?
ErgoScript: Types
ErgoScript: Transaction Context
ErgoScript: Box Registers
ErgoScript: Context Extension Variables
ErgoScript: Contract Evaluation
ErgoScript: Costing
Design Considerations
Design Considerations: Requirements
Design Considerations: Common Design Patterns
Design Considerations: Constraints
Component | Current (nanoERG/Byte) | Min (nanoERG/Byte) | Max (nanoERG/Byte) |
Min ERG For Existence | 360 | 0 | 10000 |
Storage Rent | 1250000 | 0 | 2500000 |
Component | Data Limit (KB) |
Total Tx Size | 95 |
Context Variables | (whatever leftover) |
Box Size | 4 |
Variable | 6 |
Component | Current Min (nanoERG) |
Miner Fee | 10000000 |
Component | Average (min) |
Block Time | 2 |
Component | Limit: Node v4 (MB) | Limit: Node V5 (MB) |
Tx Computational Cost | 5 | 2-3 |
Storage Rent: If your project includes custom tokens, these will be recycled by the protocol if left in an eUTXO with too little ERG in it to pay the minimum transaction fee. This may be a security risk depending on your application and the purpose of the token.
Design Considerations: Protocol Specification
Design Considerations: Stages of Development
Design Considerations: Scaling
Examples
Design Considerations: Testing
Design Considerations: Development Tools
Design Considerations: Ethics
Is this the real life?
Is this just fantasy?
Caught in a landslide
No escape from reality
Open your eyes
Look up your address on the explorer and see
Where did all my ERG go?
Be like this guy, think before you act.
ErgoPad
FIN
Ergo Blockchain Crash Course:
Examples
Outline
Examples: Extended Pinlock
Examples: Grantor/Beneficiary Pinlock Protocol
Examples: Grantor/Beneficiary Pinlock Protocol
Examples: Grantor/Beneficiary Pinlock ErgoScript
Examples: GuapSwap V2
Examples: GuapSwap V1
Examples: GuapSwap V2 Protocol
Examples: GuapSwap V2 ErgoScript
Examples: Whitelist Minting/Direct Sale
Examples: Whitelist Minting/Direct Sale
Examples: Whitelist Minting Protocol
Examples: Whitelist Direct Sale Protocol
What’s Next?
What’s Next?
ErgoPad
FIN