generated from readthedocs/tutorial-template
-
Notifications
You must be signed in to change notification settings - Fork 61
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b6ecbfd
commit 1a9ffbf
Showing
3 changed files
with
160 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Box Lifecycle | ||
|
||
This page describes the journey of a box from creation to spending and destruction in the Ergo blockchain. | ||
|
||
## Stages of a Box | ||
|
||
1. **Creation**: A box is generated as an output of a transaction | ||
2. **Existence**: The box remains in the UTXO set, available to be spent | ||
3. **Spending**: The box is used as an input in a new transaction | ||
4. **Destruction**: The box is removed from the UTXO set after being spent | ||
|
||
## Key Characteristics | ||
|
||
- Immutability | ||
- Unique Identification | ||
- Programmable Conditions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
# The Data Model | ||
|
||
Welcome to the heart of Ergo! This guide provides a comprehensive overview of Ergo's unique data model, based on the UTXO (Unspent Transaction Output) model, enhanced with powerful smart contract capabilities. Whether you are a developer, a researcher, or simply curious about what makes Ergo tick, this resource will equip you with the knowledge you need. | ||
|
||
## 1. Getting Started: Understanding the Basics | ||
|
||
### 1.1. UTXO vs. Account Model: A Paradigm Shift | ||
|
||
* [UTXO Model Explained](accountveutxo.md): Understand the fundamental differences between Ergo's UTXO model and the account-based model used in other blockchains like Ethereum. This section highlights the benefits of the UTXO model in terms of parallelism, privacy, and scalability. | ||
|
||
### 1.2. Foundational Concept: The Box | ||
|
||
* [Box Overview](box.md): The fundamental unit of value and logic in Ergo. Learn how boxes extend the traditional UTXO model with programmable capabilities, making them far more than just containers of value. | ||
* Extends traditional UTXO model with programmable capabilities | ||
* Immutable containers of value, tokens, and executable logic | ||
* [Box Lifecycle](lifecycle.md): Understand the journey of a box from creation to spending and destruction. This is crucial for grasping how data and value flow through the Ergo network. | ||
|
||
## 2. Core Components: Building Blocks of the Ergo Ecosystem | ||
|
||
### 2.1. Box Model: In-Depth | ||
|
||
* **Core Box Mechanics** | ||
* [Box Deep Dive](box.md): A more technical look at how boxes function, including their structure and constraints. | ||
* **Box Internal Structures** | ||
* [Box Modeling](box_modeling.md): Designing flexible and secure box interactions. | ||
* [Registers](registers.md): Typed data storage within boxes. | ||
* Enable complex data embedding and smart contract parameters. | ||
* Learn about the different types of registers (R0-R9) and how to use them effectively in your smart contracts. | ||
* [Box Serialization](serialization.md): Understanding how box data is serialized for storage and transmission on the network. | ||
|
||
### 2.2. Assets and Tokens: Powering a Diverse Economy | ||
|
||
* **Token Types and Standards** | ||
* **Fungible Tokens** | ||
* [Token Basics](tokens.md): Introduction to how tokens function within the Ergo ecosystem and their fundamental characteristics. | ||
* [Asset Standard (EIP-4)](eip4.md): Detailed explanation of the standard for creating and managing tokens on Ergo. | ||
* [Token Verification (EIP-21)](eip21.md): Learn about the verification process for tokens to ensure their authenticity and integrity. | ||
* **Non-Fungible Tokens (NFTs)** | ||
* [NFT Overview](index.md): Comprehensive introduction to Non-Fungible Tokens in the Ergo blockchain. | ||
* [NFT Creation](create.md): Step-by-step guide to minting your own Non-Fungible Tokens. | ||
* [NFT Versions (V1 vs V2)](v1v2.md): Comparison of different NFT implementation versions and their unique features. | ||
* [On-Chain NFTs](on-chain.md): Explore how NFTs can be stored directly on the blockchain. | ||
* [NFT Royalties](royalties.md): Understanding how royalty mechanisms work for NFT creators. | ||
* **Special Token Concepts** | ||
* [Perpetual Tokens](perpetual.md): Learn about tokens designed to exist indefinitely within the Ergo ecosystem. | ||
* [Token Burning](burn.md): Explanation of how and why tokens can be permanently removed from circulation. | ||
* [Singletons](singletons.md): Explore unique token types with special properties. | ||
* [Auction Contract (EIP-22)](eip22.md): Technical details of the standard auction contract implementation. | ||
* [Artwork Contract (EIP-24)](eip24.md): Specialized contract standard for managing digital artwork tokens. | ||
|
||
### 2.3. Addressing and Identity: Navigating the Network | ||
|
||
* **Address Fundamentals** | ||
* [Address Basics](address.md): Core concepts of addressing in the Ergo blockchain. | ||
* [Address Types](address_types.md): Detailed breakdown of different address formats (P2PK, P2SH, P2S) and their use cases. | ||
* [Address Validation](address_validation.md): Methods and techniques for verifying address integrity and correctness. | ||
|
||
### 2.4. Transactions: The Engine of Change | ||
|
||
* **Transaction Foundations** | ||
* [Transaction Overview](transactions.md): Fundamental principles of how transactions work in Ergo. | ||
* [Transaction Composition](composing.md): Detailed guide to constructing complex transactions. | ||
* [Transaction Format](format.md): Technical specification of transaction structure. | ||
* **Advanced Transaction Mechanisms** | ||
* [Chained Transactions](chained.md): Explore the concept of sequentially executing off-chain transactions. | ||
* [Merkle Tree in Transactions](tx-merkle.md): Understanding how Merkle trees are used to ensure data integrity within transactions. | ||
* [Transaction Signing](signing.md): Cryptographic principles of transaction authentication. | ||
* [Backend Signing](sign-tx.md): Practical implementation of transaction signing techniques. | ||
* [Transaction Validation](validation.md): Comprehensive overview of transaction verification processes. | ||
* **Specialized Transaction Features** | ||
* [Data Inputs (Read-Only Inputs)](read-only-inputs.md): Advanced technique for accessing data without spending boxes. | ||
* [Transaction Fees](min-fee.md): Understanding the fee structure and calculation in Ergo. | ||
* [Babel Fees](babel-fees.md): Innovative method of paying transaction fees using alternative tokens. | ||
* [Babel Fees Plugin](babel-fleet.md): Technical implementation details of the Babel Fees mechanism. | ||
* [Unified Transactions](unified.md): Exploring the concept of combining multiple transaction types. | ||
|
||
### 2.5. Payment Standards and Protocols | ||
|
||
* [ErgoPay Protocol (EIP-20)](eip20.md): Interaction protocol for wallet applications and decentralized applications. | ||
* [Payment Request URI (EIP-25)](eip25.md): Standard for creating and processing payment requests. | ||
* [Proxy Contracts (EIP-17)](eip17.md): Understanding the implementation of proxy contract mechanisms. | ||
|
||
### 2.6. Blockchain Structure: Components and Function | ||
|
||
* **Block Components** | ||
* [Block Overview](block.md): Comprehensive introduction to block structure in Ergo. | ||
* [Block Header](block-header.md): Detailed examination of block header components. | ||
* [Block Transactions](block-transactions.md): How transactions are organized within a block. | ||
* [AD Proofs](block-adproofs.md): Understanding the role of Authenticated Data Proofs in Ergo's stateless client model. | ||
* [Extension Section](extension-section.md): Exploring the flexible data storage section of Ergo blocks. | ||
|
||
## 3. Advanced Concepts: Mastering Ergo's Capabilities | ||
|
||
### 3.1. Multi-Stage Contracts: Building Complex Applications | ||
|
||
* [Multi-Stage Contracts in the UTXO Model](multi-stage.md): Advanced techniques for designing complex, multi-step smart contracts within the UTXO framework. | ||
|
||
### 3.2. Data Preservation Strategies | ||
|
||
* [Data Longevity on Ergo](#): Comprehensive strategies for ensuring long-term data availability and integrity on the Ergo blockchain. (Note: This link is currently a placeholder and needs to be developed) | ||
|
||
### 3.3. Storage Rent: Ensuring Sustainability | ||
|
||
* [Storage Rent Mechanism](storage-rent.md): Detailed explanation of how storage rent works to maintain network efficiency and prevent blockchain bloat. | ||
|
||
### 3.4. Context Variables: Interacting with the Blockchain | ||
|
||
* [Context Variables and Usage](context-variables.md): In-depth guide to using blockchain context variables like HEIGHT, SELF, INPUTS, and OUTPUTS in smart contract development. | ||
|
||
## 4. Development: Building on Ergo | ||
|
||
### 4.1. Common Contract Development Patterns | ||
|
||
* [Contract Design Patterns](#): Comprehensive collection of best practices and recurring solutions for smart contract development. (Note: This link is currently a placeholder and needs to be developed) | ||
|
||
### 4.2. Testing and Debugging | ||
|
||
* [Testing Strategies](testing.md): Methodical approach to testing Ergo smart contracts to ensure reliability and security. | ||
* [Debugging Guide](debugging.md): Practical techniques for identifying and resolving issues in ErgoScript contracts. | ||
|
||
### 4.3. Best Practices | ||
|
||
* [Smart Contract Security](ergoscript-security.md): Critical insights into avoiding common vulnerabilities and writing secure smart contracts. | ||
* [ErgoScript Optimization](ergoscript-optimisation.md): Advanced techniques for improving the performance and efficiency of ErgoScript code. | ||
|
||
### 4.4 Ergo Developer Tools | ||
|
||
* [ErgoTool](ergotool.md): Command-line utility for interacting with the Ergo blockchain and managing smart contracts. | ||
* [Model Transaction](model-tx.md): Detailed guide to creating and manipulating transaction models. | ||
* [Payments Overview](payments.md): Comprehensive overview of payment mechanisms and implementations. | ||
|
||
## 5. Reference: In-Depth Technical Resources | ||
|
||
### 5.1. Underlying Data Structures | ||
|
||
* [General Data Structures](data-structures.md): Foundational overview of data structures used in the Ergo blockchain. | ||
* **Merkle Structures** | ||
* [Merkle Tree](merkle-tree.md): Detailed explanation of Merkle tree implementation in Ergo. | ||
* [Merkle Batch Proof](merkle-batch-proof.md): Advanced techniques for batch verification using Merkle proofs. | ||
* [Merkle Extension](merkle-extension.md): Understanding the extended Merkle tree functionality. | ||
* [Merkle Light Proof](merkle-light-proof.md): Lightweight proof verification techniques. | ||
* [Interlink Vectors](interlink-vectors.md): Exploration of interlink vector data structure and its role in blockchain verification. | ||
* [Proof of Proof-of-Work (PoPow)](popow.md): In-depth look at the Proof of Proof-of-Work consensus mechanism. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters