通過(guò)運(yùn)行Sawtooth官方提供的供應(yīng)鏈demo——sawtooth-supply-chain,來(lái)對(duì)Sawtooth相關(guān)概念進(jìn)行加深理解。
環(huán)境要求
- docker
- docker-compose
項(xiàng)目啟動(dòng)
將項(xiàng)目clone下來(lái)并且安裝好docker和docker-compose之后,在項(xiàng)目根目錄下執(zhí)行:
docker-compose up
運(yùn)行完成之后,使用docker ps命令查看可以發(fā)現(xiàn)多出了10個(gè)容器

docker ps
| Container | Image | Description |
|---|---|---|
| supply-asset-client | supply-asset-client | 資產(chǎn)供應(yīng)鏈demo客戶(hù)端 |
| supply-fish-client | supply-fish-client | 魚(yú)供應(yīng)鏈demo客戶(hù)端 |
| supply-tp | supply-tp | transaction processor智能合約 |
| supply-server | supply-server | API Server |
| supply-shell | supply-shell | 用于交互的客戶(hù)端 |
| 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 | 數(shù)據(jù)庫(kù) |
supply-asset-client和supply-fish-client是運(yùn)行在同一個(gè)區(qū)塊鏈網(wǎng)絡(luò)上的兩個(gè)客戶(hù)端,分別代表資產(chǎn)追溯以及更具體化的魚(yú)的追溯。
資產(chǎn)追溯user story
項(xiàng)目啟動(dòng)成功之后,訪(fǎng)問(wèn)http://localhost:8021/,我們來(lái)看一看該demo如何對(duì)資產(chǎn)進(jìn)行追溯管理。

asset home page
-
注冊(cè)新代理agent
注冊(cè)新代理agent
agent可能的身份為:
- owner
- custodian
- reporter
-
創(chuàng)建資產(chǎn)
創(chuàng)建資產(chǎn)
輸入密碼來(lái)解鎖私鑰,用來(lái)對(duì)該筆交易進(jìn)行簽名

輸入密碼解鎖私鑰
創(chuàng)建完成之后界面如下

asset detail
- 轉(zhuǎn)移資產(chǎn)擁有者
例如通過(guò)下拉框選擇,將這筆資產(chǎn)的擁有者轉(zhuǎn)移給另一個(gè)agent——Ahab(該數(shù)據(jù)在項(xiàng)目創(chuàng)建時(shí)以seed data的形式填充進(jìn)來(lái))

轉(zhuǎn)移資產(chǎn)擁有者
- 確定擁有資產(chǎn)
打開(kāi)新的瀏覽器或退出當(dāng)前登陸用戶(hù),以登錄名密碼ahab登陸查看該筆資產(chǎn)

asset list
選擇Accept Ownership后看到該筆資產(chǎn)的擁有者變更為Ahab

Accept Ownership
- 資產(chǎn)管理人變更
類(lèi)似于資產(chǎn)擁有者的變更,我們也可以對(duì)資產(chǎn)管理人進(jìn)行變更。例如這里我們將這批鋼材的管理人變更為了Bessie,Bessie登陸并接收之后,此次變更就生效了。

資產(chǎn)管理人變更
至此,我們體驗(yàn)了該demo的權(quán)屬管理功能。

