部署VON测试网络及Aries
-
VON Network
携式开发级别的Indy Node网络,包括Ledger Browser。分类帐浏览器(例如BC Gov的GreenLight演示应用程序的分类帐)允许用户查看网络节点的状态并浏览/搜索/过滤分类帐交易。
-
Hyperledger Aries
允许基于分散的身份和可验证的凭据进行受信任的peer to peer交互。Aries包括协议定义,工具和参考实现。Aries协议支持植根于各种分布式分类帐或区块链中的身份。这种身份识别方法通常称为自我主权身份(SSI)。
- Agent Framework 模型
Agent Framework 模型允许你可以将 controller 创建为一个应用程序,其中还内嵌了 Aries Agent(以类库的形式存在)。目前只有 aries-framework-dotnet 可以做这种 Agent Framework。
- Cloud Agent 模型(不适合手机)
Cloud agent 模型是将 agent 和 controller 分开,彼此之间使用 HTTP API 的方式进行调用。这种方式 controller 就跟我们平时开发的 web 应用程序没有任何区别了。目前 Cloud Agent 只有 aries-cloudagent-python。Controller 设置也可以是既存的企业应用系统,但是可以跟 Aries Agent 进行通信来跟 Indy 网络进行交互。
1. 部署VON网络
参考:https://github.com/bcgov/greenlight/blob/master/docker/VONQuickStartGuide.md
-
安装s2i(在docker-compose中需要)
在https://github.com/openshift/source-to-image/releases中下载二进制包,拷贝到
/usr/local/bin
目录下。 -
Docker-compose需要较高版本
建议安装1.24.1
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
-
下载VON代码及构建
git clone https://github.com/bcgov/von-network.git ./manage build
-
运行
./manage start
或者指定ip端口启动:
./manage start public_ip_address WEB_SERVER_HOST_PORT=80 "LEDGER_INSTANCE_NAME=My Ledger"
如需查看日志:
./manage logs
访问localhost:9000将得到如下页面:(默认9000端口,可以在运行时指定)
-
这时候还需要安装TheOrgBook、greenlight(可以不需要)
它们是VON网络的一部分。
TheOrgBook是有关实体的可验证凭据的凭据注册表。TheOrgBook的公共实例包含有关可信任的公共机构(例如公司注册,监管机构,许可服务,许可服务,采购服务等)发布的组织(公司,专业人员等)的可验证凭据。
GreenLight(分散式WorkFlow的一个实例)演示了一个用于部署VON-X库的基本应用程序,以便启用发行人注册,索偿验证以及向TheOrgBook提交凭据。
VON-X是一个Python库,可以快速部署Hyperledger Indy凭证发行者,持有者和验证者服务,尤其是与TheOrgBook集成时。
安装及运行TheOrgBook:
git clone https://github.com/bcgov/TheOrgBook.git cd TheOrgBook/docker ./manage build ./manage start seed=the_org_book_0000000000000000000
可访问:http://localhost:8080/en/home
安装及运行greenlight
git clone https://github.com/bcgov/greenlight.git cd greenlight/docker ./manage build ./manage start
可访问查看用户界面:(未成功)
2. 部署Aries Agent
这里采用aries-cloudagent-python
官方建议使用第二台Ubuntu进行部署,因为8080、8000端口冲突。
我在这里使用了同一台,故需需要修改下docker端口映射。
-
下载代码
git clone https://github.com/hyperledger/aries-cloudagent-python
-
启动Agent
进入到代码根目录下,运行以下命令启动一个 Agent,并且开启 Admin API 功能,该功能提供了一个 Swagger 工具以查看所有支持的 API 服务信息(8080 端口访问),将
von_ip_address
替换成 VON VM 的 IPPORTS="8080:8080 8000:8000" \ scripts/run_docker start --wallet-type indy \ --seed 000000000000000000000000000Agent \ --wallet-key welldone \ --wallet-name myWallet \ --genesis-url http://von_ip_address/genesis \ --inbound-transport http 0.0.0.0 8000 \ --outbound-transport http \ --admin 0.0.0.0 8080 \ --admin-insecure-mode
进行修改:
将8080端口映射到8088,将8000端口映射到8888;
VON IP修改为自己设备的局域网/外网IP,不要使用127.0.0.1!
PORTS="8088:8080 8888:8000" \ scripts/run_docker start --wallet-type indy \ --seed 000000000000000000000000000Agent \ --wallet-key welldone \ --wallet-name myWallet \ --genesis-url http://10.4.68.245:9000/genesis \ --inbound-transport http 0.0.0.0 8000 \ --outbound-transport http \ --admin 0.0.0.0 8080 \ --admin-insecure-mode
打开http://localhost:8088/api/doc查看API文档
网友评论