L6

深度开发

节点源码、超链架设与核心贡献

节点架构
┌─────────────────────────────────────────────────────────┐
│                    Æternity Node                         │
├─────────────┬─────────────┬─────────────┬───────────────┤
│   aecore    │   aehttp    │  aechannel  │   aeoracle    │
│  共识 & 状态 │  HTTP API   │  状态通道    │    预言机     │
├─────────────┴─────────────┴─────────────┴───────────────┤
│                    aetx / aec_trees                      │
│                   交易处理 & 状态树                       │
├─────────────────────────────────────────────────────────┤
│                      aevm / fate                         │
│                   虚拟机 (FATE VM)                        │
├─────────────────────────────────────────────────────────┤
│                      rocksdb                             │
│                      持久化存储                           │
└─────────────────────────────────────────────────────────┘
aecore

核心共识、区块链状态机

aehttp

HTTP/WebSocket API

aechannel

状态通道实现

fate

FATE 虚拟机

源码编译
前置要求:Erlang/OTP 24+, libsodium, autoconf, ncurses
1. 克隆源码
git clone https://github.com/aeternity/aeternity.git
cd aeternity
git checkout v7.2.0  # 选择版本
2. 编译
# 生产构建
make prod-build

# 开发构建 (带调试信息)
make dev-build
3. 运行
./_build/prod/rel/aeternity/bin/aeternity foreground
超链 (Hyperchain) 架设

Hyperchain 是基于主链安全性的独立子链,可自定义共识参数。

┌─────────────────┐
│   Parent Chain  │  ← Æternity mainnet (安全锚点)
│   (ae_mainnet)  │
└────────┬────────┘
         │ checkpoints (每 N 个区块)
         ▼
┌─────────────────┐
│   Hyperchain    │  ← 自定义共识/参数
│   (ae_hc_xxx)   │
│                 │
│ • 自定义出块时间  │
│ • 自定义验证者   │
│ • 自定义 Gas 限制│
└─────────────────┘
关键配置
Genesis

创世区块配置

Validators

验证者集合

Parent Anchor

父链锚点配置

参与贡献

贡献流程
  1. Fork 仓库到个人账户
  2. 创建 feature 分支
  3. 编写代码并添加测试
  4. 确保所有测试通过 (make eunit)
  5. 提交 Pull Request
深度资源
学习路径
L6 Core (当前)