通过运行Sawtooth官方提供的供应链demo——sawtooth-supply-chain,来对Sawtooth相关概念进行加深理解。
环境要求
- docker
- docker-compose
项目启动
将项目clone下来并且安装好docker和docker-compose之后,在项目根目录下执行:
docker-compose up
运行完成之后,使用docker ps
命令查看可以发现多出了10个容器
Container | Image | Description |
---|---|---|
supply-asset-client | supply-asset-client | 资产供应链demo客户端 |
supply-fish-client | supply-fish-client | 鱼供应链demo客户端 |
supply-tp | supply-tp | transaction processor智能合约 |
supply-server | supply-server | API Server |
supply-shell | supply-shell | 用于交互的客户端 |
supply-rest-api | hyperledger/sawtooth-rest-api:1.0 | |
supply-settings-tp | hyperledger/sawtooth-settings-tp:1.0 | |
supply-ledger-sync | supply-ledger-sync | 更新账本 |
supply-validator | hyperledger/sawtooth-validator:1.0 | |
supply-rethink | rethinkdb | 数据库 |
supply-asset-client和supply-fish-client是运行在同一个区块链网络上的两个客户端,分别代表资产追溯以及更具体化的鱼的追溯。
资产追溯user story
项目启动成功之后,访问http://localhost:8021/,我们来看一看该demo如何对资产进行追溯管理。
-
注册新代理agent
agent可能的身份为:
- owner
- custodian
- reporter
-
创建资产
输入密码来解锁私钥,用来对该笔交易进行签名
创建完成之后界面如下
- 转移资产拥有者
例如通过下拉框选择,将这笔资产的拥有者转移给另一个agent——Ahab(该数据在项目创建时以seed data的形式填充进来)
- 确定拥有资产
打开新的浏览器或退出当前登陆用户,以登录名密码ahab登陆查看该笔资产
选择Accept Ownership后看到该笔资产的拥有者变更为Ahab
- 资产管理人变更
类似于资产拥有者的变更,我们也可以对资产管理人进行变更。例如这里我们将这批钢材的管理人变更为了Bessie,Bessie登陆并接收之后,此次变更就生效了。
至此,我们体验了该demo的权属管理功能。