商业票据交易网络案例分析
前言
准备环境
-
Java/JavaScript
- Node.js v8(如果要运行 JavaScript 客户端应用程序)
- Maven,用于构建 Java 应用程序
- Java v8(如果要运行 Java 客户端应用程序)
-
Fabric联盟链搭建
-
Docker 和 docker-compose
-
项目案例
建议打开 3 个控制台窗口;一个用于监控基础架构,另外两个用于监控 MagnetoCorp 和 DigiBank
这里的意思是一个需要开启其联盟链底层系统,另外两个代表两方操作
git clone https://github.com/hyperledger/fabric-samples.git
cd fabric-samples/commercial-paper
这里的下载地址就是fabric官方的案例库
启动
链启动
进入目录commercial-paper在一个控制台窗口中,运行./roles/network-starter.sh
脚本;这将启动基本基础架构,同时开始监控所有docker 容器
安装合约
合约安装与初始化
docker exec cliMagnetoCorp peer chaincode install -n papercontract -v 0 -p /opt/gopath/src/github.com/contract -l node
docker exec cliMagnetoCorp peer chaincode instantiate -n papercontract -v 0 -l node -c '{"Args":["org.papernet.commercialpaper:instantiate"]}' -C mychannel -P "AND ('Org1MSP.member')"
注意在进行使用js文件的过程中要先使用npm install
,安装依赖项
使用js文件
MagnetoCorp方面在commercial-paper/organization/magnetocorp/application 目录操作
添加要使用的身份
node addToWallet.js
发行商业票据
node issue.js
Digibank 方面在fabric-samples/commercial-paper/organization/digiban/ application目录下操作
添加要使用的身份
node addToWallet.js
购买票据
node buy.js
赎回
node redeem.js
分析
在以上操作中我们不难发现,其实我们一直在调用封装好的js文件从而实现了一定的链上功能。整体来看:启动了链+docker环境,合约的安装在docker中进行,js/Java在调用相应的合约实现功能