æternity Documentation Hub
AeternityGitHub
  • æternity Hub
  • Developer Documentation
  • Welcome to æternity documentation
  • Getting Started
    • What is æternity?
    • How to Use Aeternity
  • æternity core concepts
    • Introduction
    • æternity Protocol
      • æternity Coin
      • Fast Æternity Transaction Engine (FATE VM)
      • æternity Nodes
        • Node architecture
        • Node types
        • Node Roles
      • Transactions
        • Types of transactions
        • Transaction Lifecycle
        • Transaction Fees
        • Meta-transactions and Generalized Accounts
        • State Channel Transactions
      • Networks
      • Consensus Mechanisms
        • Next Generation Nakamoto Consensus (Bitcoin-NG)
        • Cuckoo Cycle Proof of Work
        • Hyperchains and Delegated Proof of Stake
        • Governance and Weighted Coin Voting
      • State Channels
      • Oracles
      • Aeternity Naming System (AENS)
    • Hyperchains
      • Hyperchains Whitepaper
    • Aeternity Governance
    • Aeternity Foundation
  • aeternity user tools and services
    • Introduction
    • Run an æternity node
    • Hyperchains web app
    • Hyperchains Bridge app
    • Mine aeternity coin
    • Superhero DEX
    • Superhero Wallet
    • ærc Bridge
    • Make an NFT
    • aepps: decentralized applications on æternity
    • æScan: æternity blockchain explorer
  • æternity Developer tools
    • Quick Start Guide
      • Development Environment Setup
      • Essential Tools Overview
      • Æternity Stack
      • First Steps in Development
    • Protocol
      • Core Protocol Components
        • æternity Consensus Protocol
        • Generalized Accounts
        • Smart Contracts
          • FATE VM
          • Smart contract languages
            • æternity Sophia Language
              • In-Depth Overview
              • Sophia Compiler
              • Sophia Visual Studio
              • Sophia http
              • æREPL
            • Solidity
          • Contract Transactions
        • State Channels
        • Oracles
      • Network Layer
        • Nodes
          • Node Documentation
          • Node API Reference
        • Sync
        • Gossip
        • Stratum
      • Utility Features
        • æternity Naming System (AENS)
        • Seralization Formats
    • æternity Sophia Language
      • In-Depth Overview
      • Sophia Compiler
      • Sophia Visual Studio
      • Sophia http
      • æREPL
    • Development Infrastructure
      • CLIs
      • SDKs and APIs
        • Javascript/Typescript SDK
        • Java SDK
        • Outdated SDKs
        • APIs
          • Node API reference
      • Middleware
      • Testing and Deployment
        • æproject
        • Testnet
          • Localnet
          • Faucet
        • Testnets and Faucet
    • Token Standards
      • æternity token standards
        • AEXs: Aeternity Expansions
        • AEX-1
        • AEX-9
        • AEX-141
    • Aepps: Building apps on Aeternity
      • Boiler Plates
        • Angular Boiler Plate
        • React JS BoilerPlate
        • Vue BoilerPlate
      • Æpp architecture
      • Implementation Guidelines
      • Reference æpps
        • Case Studies
        • Code Examples
        • Aeternity Graffiti
    • Data and analytics
      • æScan
    • ÆRC Bridge
  • Hyperchains
    • Hyperchains Development Guide
    • Hyperchains Bridge
Powered by GitBook
On this page
  • Basic Transaction Types
  • Oracle Transactions
  • Name Service Transactions
  • Governance and System Transactions
  • Meta-Transactions
  • Channel State Transactions
  • System Management Transactions

Was this helpful?

Export as PDF
  1. æternity core concepts
  2. æternity Protocol
  3. Transactions

Types of transactions

Basic Transaction Types

The most fundamental transaction type in æternity is the spend transaction, used to transfer AE coins between accounts. These transactions specify a sender, receiver, amount, and optional payload data. The payload feature allows users to attach arbitrary binary data to transactions, enabling proof of existence or custom messaging capabilities.

Contract-related transactions form another essential category. These include contract creation transactions, which deploy new smart contracts to the blockchain, and contract call transactions, which interact with existing contracts. Contract creation transactions contain the compiled bytecode of the contract along with its initialization parameters, while call transactions specify the contract address, function to call, and any required arguments.

Oracle Transactions

Oracle functionality in æternity is implemented through specific transaction types. Oracle registration transactions announce new oracles to the network, specifying the expected query format and response format. Oracle query transactions allow users to request information from registered oracles, while oracle response transactions enable oracle operators to provide answers to these queries. The oracle system also supports transactions for extending oracle TTL (Time To Live) and updating oracle configurations.

Name Service Transactions

The æternity Naming System (AENS) uses several specialized transaction types. Name preclaim transactions initiate the two-step name claiming process by submitting a hash of the desired name and a random number. Name claim transactions follow preclaims, revealing the actual name and completing the registration process. Name update transactions modify the information associated with a name, while name transfer transactions change name ownership. Name revoke transactions allow owners to release names back to the system.

Governance and System Transactions

Governance in æternity is supported by specific transaction types that enable network participants to signal their preferences and participate in decision-making. These transactions include delegation of voting power and actual voting transactions for network proposals.

Channel transactions facilitate state channel operations. Channel create transactions establish new state channels between parties, while channel deposit and withdraw transactions manage fund allocation within channels. Channel close transactions handle both mutual and forced channel closures, implementing the dispute resolution mechanisms crucial for state channel security.

Meta-Transactions

Meta-transactions provide a layer of abstraction over standard transactions through generalized accounts. These transactions wrap ordinary transactions with additional authentication data, enabling custom verification logic and advanced account management features. This mechanism allows for innovative transaction authorization schemes beyond standard cryptographic signatures.

Channel State Transactions

Within state channels, specialized transaction types handle off-chain state updates. These transactions never appear on the main chain unless needed for dispute resolution. They include state updates, intermediate settlements, and force progress transactions that enable contract execution within channels.

System Management Transactions

The protocol includes system-level transactions for network maintenance and updates. These specialized transactions handle protocol upgrades, network parameter adjustments, and other system-level operations that maintain and evolve the network's functionality.

Each transaction type implements specific validation rules and includes appropriate authorization mechanisms. Understanding these different transaction types is crucial for developers building on æternity and for users interacting with the network's various features.

PreviousTransactionsNextTransaction Lifecycle

Last updated 6 months ago

Was this helpful?