基于NodeJS演示如何运行超级账本Indy
- docker
- docker-compose (非必须)
可以直接从Docker Hub下载所需镜像:
$ docker pull blokaly/xpindy-node1
$ docker pull blokaly/xpindy-node2
$ docker pull blokaly/indy-nodejs-demo如果已从Docker Hub下载了镜像,请跳过此部分
如果镜像存储在本地系统,执行以下命令:
$ docker load -i indy-node1.tar
$ docker load -i indy-node2.tar
$ docker load -i indy-nodejs-demo.tar在indy-nodejs-demo目录下,运行命令:
$ docker-compose up -d
那么你应该看到以下输出:
Creating network "indy-demo-network" with driver "bridge"
Creating indy-node1 ... done
Creating indy-nodejs-demo ... done
Creating indy-node2 ... done然后我们可以进入到indy-nodejs-demo的运行容器中:
$ docker attach indy-nodejs-demo
如果没有安装docker-compose,可以运行以下docker命令:
$ docker network create --driver=bridge --subnet=172.18.0.0/16 indy-demo-network
$ docker run -dit --name indy-node1 --network indy-demo-network --ip 172.18.0.2 --publish 9702:9702 blokaly/xpindy-node1
$ docker run -dit --name indy-node2 --network indy-demo-network --ip 172.18.0.3 --publish 9704:9704 blokaly/xpindy-node2
$ docker run -it --name indy-nodejs-demo --network indy-demo-network --ip 172.18.0.4 blokaly/indy-nodejs-demo bash经过步骤3.1或3.2后,在indy-nodejs-demo容器中,我们运行以下命令:
> su - indy
$ cd indy-nodejs-demo
$ npm run main那么你应该看到以下输出:
> indy-nodejs-demo@1.0.0 main /home/indy/indy-nodejs-demo
> node ./src/main.js
Anoncreds Revocation scenario sample -> started
Set protocol version 2 to work with Indy Node 1.4
Actors Open connections to ledger
Actors Create Wallets
Actors Create DIDs
......
......
Actors close and delete wallets
Actors close and delete poolHandles
Anoncreds Revocation sample -> completed
恭喜你!你已经成功地运行了这个NodeJS演示
- 如果运行
npm run main时出现问题,可以运行clear.sh脚本来删除缓存并再次重新调用它 - 演示运行完成后,可以键入
exit两次以退出容器 - 最后,可以运行
docker-compose down来清除docker容器或使用docker命令手动删除它们 - 源文件是从原始的Indy SDK仓库复制和改编的:
https://github.com/hyperledger/indy-sdk/tree/master/samples/nodejs/src