它是如何工作的?
讓我向您介紹一個潛在的分散式Google雲端硬碟應用的示例,其中兩個使用者(peer)彼此之間共享機密文件。
#1,Alice將機密文件儲存在她的Smart Vault中
·在區塊鏈上部署ACL智慧合約
·該文件將新增到許可權增強的IPFS儲存中
·IPFS Merkle DAG與ACL智慧合約相關聯
·生成公共可共享文件引用,後設資料檔案及其雜湊
#2,Alice想與她的同事Bob分享這份檔案,所以她使用ACL智慧合約授予他讀取許可權
·Alice與Bob共享文件引用(後設資料的雜湊)
#3,Bob嘗試獲取並開啟文件
·Bob的Smart Vault向所有對等方執行讀取請求
·IPFS協議解析持有文件Alice的節點的對等體
·在分發內容之前,Alice的Smart Vault會對機密文件的ACL執行授權檢查
·Bob已被授予訪問許可權,因此授權成功
·Alice的Smart Vault將文件傳送給Bob
·Bob開啟檔案
#4,該文件現在儲存在兩個分散的智慧保管庫中,使用相同的ACL進行保護
新增檔案
對於程式碼愛好者來說,這就是內部結構的工作方式:
如何開始使用Smart Vault?
為了讓開發人員只關注真正重要的事情,DApp業務邏輯,我們將所有技術儲存細節抽象為開發人員友好的SDK,Leth。
根據您的專案需求,Leth允許您以多種方式與Smart Vault互動。將Leth匯入Go庫。執行CLI命令或執行HTTP通訊。
需要前端整合?使用Leth JS SDK包裝HTTP呼叫並在客戶端(瀏覽器/移動裝置)直接簽署ACL事務,並使用智慧合約ABI和web3.js庫將它們廣播到區塊鏈。
HTTP使用示例
curl -X POST \
http://localhost:9091/storage/add \
-H 'Content-Type: multipart/form-data' \
-F owner=0xa92e3705e6d70cb45782bf055e41813060e4ce07 \
-F password=$PWD \
-F file="@/tmp/secret_file.txt"
{
"meta":"QmZYSewpHNvdW1TTgska792QAT7Yd6yxZAoybpYFskTZSf",
"acl":"0xc2DBC8CdAba2df432C821639B80302f0675D6f74"
}
CLI使用示例
leth storage add --nodeid=1 --network=mainnet
--owner=0xa92e3705e6d70cb45782bf055e41813060e4ce07 \
--file=/tmp/secret_file.txt
可用命令的完整列表
智慧保險櫃目前處於alpha階段,還有許多要求的功能正在進行中!
我是否必須使用Lightstreams區塊鏈才能使用Smart Vault?
您也可以將它與以太坊連線。
Smart Vault是雲端儲存嗎?
作為IFPS,Smart Vault不是雲端儲存。它是點對點儲存。檔案在請求時分發給其他裝置。使用我們的IPFS修改版本,檔案僅與授權計算機共享。在理想的分散式環境中,每個使用者都在執行自己的Smart Vault節點。