11 个不稳定版本 (5 个破坏性更新)
1.0.0-rc.1 | 2020年2月7日 |
---|---|
0.13.0-rc.2 | 2019年12月5日 |
0.12.0 | 2019年8月14日 |
0.11.0 | 2019年3月15日 |
0.9.0 | 2018年7月20日 |
#1784 in 神奇豆
82 次每月下载
1.5MB
30K SLoC
高级加密货币:带有数据证明的服务
加密货币服务的扩展版本,实现了数据证明。此项目演示了如何使用Exonum 区块链启动自己的加密货币。
请参阅文档以获取如何逐步进行此示例的详细指南。
Exonum 区块链记录用户的余额并处理它们之间的安全交易。
它实现了以下基本操作
- 创建新用户
- 向用户的余额添加资金
- 在用户之间转移资金
安装和运行
使用Docker
只需运行以下命令即可在本地机器上的4个节点上启动加密货币服务
docker run -p 8000-8008:8000-8008 exonumhub/exonum-cryptocurrency-advanced:v1.0.0-rc.1
准备好了!在http://127.0.0.1:8008找到演示。
Docker将自动从仓库拉取镜像并在以下端口运行4个节点(公开端点):127.0.0.1:8000
,...,127.0.0.1:8003
,以及私有端点:127.0.0.1:8004
,...,127.0.0.1:8007
。
要停止Docker容器,请使用docker stop <container id>
命令。
手动安装
先决条件
确保已安装必要的软件包
安装和运行
下面是关于在本地机器上4个节点上启动加密货币服务的分步指南。
构建项目
git clone https://github.com/exonum/exonum
cd exonum/examples/cryptocurrency-advanced/backend
cargo install --path .
生成节点配置模板
mkdir example
exonum-cryptocurrency-advanced generate-template \
example/common.toml \
--validators-count 4
为每个节点生成公钥和私钥
exonum-cryptocurrency-advanced generate-config \
example/common.toml example/1 \
--peer-address 127.0.0.1:6331 -n
exonum-cryptocurrency-advanced generate-config \
example/common.toml example/2 \
--peer-address 127.0.0.1:6332 -n
exonum-cryptocurrency-advanced generate-config \
example/common.toml example/3 \
--peer-address 127.0.0.1:6333 -n
exonum-cryptocurrency-advanced generate-config \
example/common.toml example/4 \
--peer-address 127.0.0.1:6334 -n
请注意,在将包含主密钥的文件复制到其他机器时,您必须为每台机器更改此文件的访问权限。例如
sudo chmod 600 master.key.toml
完成配置
exonum-cryptocurrency-advanced finalize \
--public-api-address 0.0.0.0:8200 \
--private-api-address 0.0.0.0:8091 \
example/1/sec.toml example/1/node.toml \
--public-configs example/{1,2,3,4}/pub.toml
# Similar commands for other 3 nodes, with adjusted paths and socket addresses
运行节点
exonum-cryptocurrency-advanced run \
--node-config example/1/node.toml \
--db-path example/1/db \
--public-api-address 0.0.0.0:8200 \
--master-key-pass pass
# Similar commands for other 3 nodes, with adjusted paths and socket addresses
部署服务
在部署服务之前,请确保您有纯Python实现的Protobuf
pip uninstall protobuf
pip install --no-binary=protobuf protobuf
服务可以按以下方式部署
python3 -m exonum_launcher -i ../cryptocurrency_advanced.yaml
运行前端
安装前端依赖项
cd ../frontend
npm install
构建源代码
npm run build
运行前端
npm start -- --port=8280 --api-root=http://127.0.0.1:8200
--port
是Node.js应用程序的端口。--api-root
是某个节点的公开API地址的根URL。
准备好了!在http://127.0.0.1:8280找到演示。
阅读前端教程以获取有关客户端与Exonum区块链交互的详细信息。
许可协议
加密货币演示受Apache License(版本2.0)许可。有关详细信息,请参阅LICENSE。
依赖关系
~73MB
~1.5M SLoC