26 个版本
0.1.25 | 2023年5月22日 |
---|---|
0.1.24 | 2022年10月12日 |
0.1.23 | 2022年8月9日 |
0.1.22 | 2022年6月28日 |
0.1.0 | 2020年11月19日 |
#1494 在 WebAssembly 中排名
每月 120 次下载
用于 8 个 包(6 个直接使用)
530KB
14K SLoC
Exocore
警告:Exocore 处于非常早期的开发阶段,因此不完整、不稳定,并且可能完全不安全。使用风险自负。
Exocore 是一个具有私有和加密数据存储的分布式应用框架。可以将其视为一个基础设施,允许用户拥有自己的个人云,该云可以通过 WebAssembly 应用程序扩展并通过 Web/移动/后端 SDK 访问。它旨在具有容错性,并最终允许离线使用(例如,在移动设备上)。
Exocore 主要用于 Exomind,这是一个与本项目并行构建的个人知识管理工具。Exocore 是 Exomind 的应用程序框架。
Exocore 的主要概念是 Cell,它是一个用于用户应用程序和数据的唯一容器。
Cell 由以下部分组成
- 链节点通过使用区块链数据结构来管理复制和存储。
- 存储节点管理数据的索引、查询和修改(与链节点协同定位)。
- 应用程序宿主节点运行用 WebAssembly 编写的应用程序(与存储节点协同定位)
路线图
v0.1(进行中)
- 链存储和复制:概念验证
- 传输:概念验证
- 实体存储:概念验证
- 应用程序(WASM 宿主):概念验证
v0.2
- Cell 管理(配置复制)
- 增强安全性(链加密、配置签名等)
v0.3 及以后
- Android SDK
- Blob 存储(IPFS)
- 离线支持
依赖项
-
构建依赖项
- 在 MacOS 上:安装 Xcode 和命令行工具
- 在 Ubuntu 上:
apt install build-essential pkg-config libssl-dev
-
- 使用 rustup 安装
- 安装
clippy
和rustfmt
:rustup component add clippy rustfmt
-
- 在MacOS上:
brew install capnp
- 在Ubuntu上:
apt install capnproto
- 在MacOS上:
-
- 在MacOS上:
brew install protobuf swift-protobuf
- 在Ubuntu上:
apt install protobuf-compiler
- 在MacOS上:
使用 & 配置
-
CLI
./tools/install.sh
或cd exo && cargo install --path .
或获取最新发布的二进制文件。
-
配置
快速入门
创建托管在2个节点上的单元格
-
在节点1上
-
生成配置
exo--dir./node1 node init--name node1
-
编辑配置以包括唯一和可访问的地址
exo-d./node1 config edit
-
生成一个单元格
exo-d./node1 cell init--name my_cell
-
-
在节点2上
-
生成配置
exo--dir./node2 node init--name node1
-
编辑配置以包括唯一和可访问的地址。如果两个节点在同一台机器上运行,请确保它们具有唯一的端口。
exo-d./node2 config edit
-
请求作为链和存储节点加入单元格。这将使用exocore的发现服务器(
disco.exocore.io
)来交换配置exo-d./node2 cell join--chain--store
并复制显示的发现PIN。
-
-
在节点1上
-
将节点2添加到单元格
exo-d./node1 cell node add
粘贴节点2的发现PIN并接受其加入请求。
-
-
启动两个节点
- 节点1:
exo -d ./node1 daemon
- 节点2:
exo -d ./node2 daemon
- 节点1:
加入示例Web客户端
- 请参阅 Web示例README
安装 & 运行Exomind
- 请参阅 Exomind README
客户端
Web
C
- 请参阅 C客户端README
iOS
- 请参阅 iOS客户端README
文档
依赖项
~16–31MB
~522K SLoC