11 个不稳定版本 (5 个破坏性更新)

1.0.0-rc.12020年2月7日
0.13.0-rc.22019年12月5日
0.12.0 2019年8月14日
0.11.0 2019年3月15日
0.9.0 2018年7月20日

#1784 in 神奇豆

Download history 8/week @ 2023-10-16 8/week @ 2023-10-23 24/week @ 2023-10-30 3/week @ 2023-11-06 1/week @ 2023-11-13 14/week @ 2023-11-20 42/week @ 2023-11-27 12/week @ 2023-12-04 2/week @ 2023-12-11 14/week @ 2023-12-18 27/week @ 2023-12-25 2/week @ 2024-01-08 13/week @ 2024-01-15 19/week @ 2024-01-22 48/week @ 2024-01-29

82 次每月下载

Apache-2.0

1.5MB
30K SLoC

高级加密货币:带有数据证明的服务

加密货币服务的扩展版本,实现了数据证明。此项目演示了如何使用Exonum 区块链启动自己的加密货币。

请参阅文档以获取如何逐步进行此示例的详细指南。

Cryptocurrency demo

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