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
父链锚点配置
参与贡献
贡献流程
- Fork 仓库到个人账户
- 创建 feature 分支
- 编写代码并添加测试
- 确保所有测试通过 (
make eunit) - 提交 Pull Request
深度资源
- Protocol Specification 协议技术规范
- Node Documentation 节点内部文档
- Erlang Documentation Erlang/OTP 官方文档