aeternity/aeternity
GitHub: aeternity/aeternity
æternity 是一个用 Erlang 编写的可扩展区块链节点,通过状态通道和内置预言机解决智能合约的性能与外部数据集成问题。
Stars: 1085 | Forks: 242
# Aeternity 节点
[][circleci]
[][license]
[][rebar3]
为 æpps 打造的全新区块链。
通过 state-channels 内的智能合约优化了可扩展性。
内置了 oracle,以便与现实世界的数据进行集成。
附带了一个命名系统,以提升开发者体验。
使用 Erlang 编写。
要安装并运行 Aeternity 节点,请参阅[下方](#how-to-start)的说明,或者直接通过 GitHub Issues 关注项目的进展。
如果您发现了错误或安全漏洞,请与我们联系。对于严重的漏洞,Aeternity Crypto Foundation 会支付高达 100.000 AE Tokens 的漏洞赏金。请通过 [security@aeternity-foundation.org](mailto:security@aeternity-foundation.org) 与我们联系。
## 文档
有关不同平台的安装过程概述、从源码构建软件包,以及 Aeternity 节点的配置和操作,请参阅 [Aeternity 节点文档](https://docs.aeternity.io/)。
我们将我们的 protocol、API 和研究规范保留在单独的 [protocol][protocol] 仓库中。
# 如何开始
我们在 GitHub 上为主要平台[发布软件包][releases]。
每个版本都附带了 [发布说明][release-notes],描述了 Aeternity 节点在每个特定版本中的更改。
请使用 [最新发布的稳定版本][latest-release],而不是 [`master` 分支][master]。
`master` 分支跟踪迈向下一个待发布稳定版本的持续开发工作,但不保证其稳定性。
## 快速安装
**Linux / Mac**
通过使用安装程序来安装最新的稳定版本:
```
bash <(curl -s https://install.aeternity.io/install.sh)
```
请查阅有关[启动](https://docs.aeternity.io/en/stable/operation/#start-the-node)和[配置](https://docs.aeternity.io/en/stable/configuration/#example)节点的文档。
## Docker
或者,您可以将节点客户端作为 Docker 容器运行:
**Linux / Mac**
或者运行一个 Docker 容器(latest 标签):
```
mkdir -p ~/.aeternity/maindb
docker pull aeternity/aeternity
docker run -p 3013:3013 -p 3015:3015 \
-v ~/.aeternity/maindb:/home/aeternity/node/data/mnesia \
aeternity/aeternity
```
**Windows**
```
mkdir %APPDATA%\aeternity\maindb
docker pull aeternity/aeternity
docker run -p 3013:3013 -p 3015:3015 -v %APPDATA%/aeternity/maindb:/home/aeternity/node/data/mnesia aeternity/aeternity
```
#### 从快照恢复
为了加快初始的区块链同步速度,可以按照以下步骤从快照恢复节点数据库:
* 如果节点已经启动过,请删除数据库的内容
* 下载数据库快照
* 验证快照的校验和是否与下载的文件匹配
* 解压数据库快照
**请注意,在替换数据库之前必须停止 Docker 容器**
假设数据库路径为 ` ~/.aeternity/maindb`,可以使用以下代码片段将当前数据库替换为最新的主网快照:
```
rm -rf ~/.aeternity/maindb/ && mkdir -p ~/.aeternity/maindb/
curl -o ~/.aeternity/mnesia_main_v-1_latest.tar.zst https://aeternity-database-backups.s3.eu-central-1.amazonaws.com/main_backup_v1_full_latest.tar.zst
CHECKSUM=$(curl https://aeternity-database-backups.s3.eu-central-1.amazonaws.com/main_backup_v1_full_latest.tar.zst.md5)
diff -qs <(echo $CHECKSUM) <(openssl md5 -r ~/.aeternity/mnesia_main_v-1_latest.tar.zst | awk '{ print $1; }')
test $? -eq 0 && tar --use-compress-program=unzstd -xf ~/.aeternity/mnesia_main_v-1_latest.tar.zst -C ~/.aeternity/maindb/
```
## 其他资源
* [威胁模型](https://github.com/aeternity/aetmodel/blob/master/ThreatModel.md)
标签:Erlang, 加密货币, 区块链, 区块链节点, 安全监控, 智能合约, 状态通道, 请求拦截