scry的區塊鏈數據協議層

  • 開源協議:MIT
  • 操作系統: Windows Linux OS X
  • 開發語言:Go
  • 項目所有者:scryinfo
  • 收錄時間:2019-07-09
  • 分享:
編輯評級
3

項目詳細介紹

通過區塊鏈提供數據交換的SDK,讓開發者可以快速方便的開發DAPP應用。主要包含這些內容:數據加解密、簽名、智能合約、事件通知、數據存儲接口、數據獲取與查詢、數字貨幣支付、第三方App支付接口等。過程如下:
數據提供者通過SDK寫入數據及元數據(數據包含靜態數據、動態數據,數據有約定的格式,元數據主要包含數據簽名、數據描述等信息);數據需求者通過SDK查找需要的數據,支付數字貨幣后,可以獲得數據;數據驗證者,通過向智能合約抵押一定的數字貨幣來成為驗證者。在數據交換過程中,數據需求者可以向合約發起有償數據驗證請求或交易仲裁,驗證者由智能合約隨機選取。數據交換的所有參與者可以在參與的交易中相互評分;智能合約會記錄參與者交易及評分信息,生成參與者的信譽評價,信譽評價信息可以通過SDK查詢。

Windows

編譯

編譯環境

下列環境需要自行安裝,未列出不需要自行安裝的環境(如webpack、truffle)與可選的環境(如python)。
括號內為經過測試的推薦版本。

  • go (1.12.5)
  • node.js (10.15.3)
  • gcc (mingw-w64 v8.1.0)

打包UI資源文件:

我們假設你已經完成了node.js的下載與安裝。

執行dp/app/app/ui目錄下的webpackUI.ps1腳本文件完成這一步驟。
你可以通過ui/config/index.js中的bundleAnalyzerReport控制是否顯示webpack結果分析報告。

構建app可執行文件:

在dp/app/app/main目錄下執行go build,成功執行后,會生成入口文件:main.exe。

運行

依賴

  • ipfs客戶端 (0.4.20)
  • geth客戶端 (1.8.27)
  • 瀏覽器 (chrome 74)

啟動用戶服務:

運行dp/dots/auth目錄下的,用戶服務的可執行文件,默認使用48080端口。

連接ipfs:

我們假設你已經完成了ipfs的下載與安裝。

  • 修改配置文件,在你的ipfs下載路徑中,找到config文件。如下所示,為其一級配置項"API"添加下面三條"Access..."配置:
"API": {
  "HTTPHeaders": {
    "Server": [
      "go-ipfs/0.4.14"
    ],
    "Access-Control-Allow-Origin": [
      "*"
    ],
    "Access-Control-Allow-Credentials": [
      "true"
    ],
    "Access-Control-Allow-Methods": [
      "POST"
    ]
  }
},
  • 在命令行執行 ipfs daemon 命令,執行成功時會顯示"Daemon is ready",保持命令行窗口開啟。

因為app使用js進行ipfs上傳,所以上面添加了"允許ipfs跨域執行post請求"的配置。

搭建一條私鏈:

我們假設你已經完成了geth的下載與安裝。

執行dp/dots/binary/contracts/geth_init目錄下的geth_init.ps1腳本文件完成私鏈搭建。
執行相同目錄下的geth_acc_mine.ps1腳本文件創建用戶并開始挖礦。

部署智能合約:

執行dp/dots/binary/contracts目錄下的contract.ps1腳本文件完成這一步驟。
腳本會將部分結果輸出到相同目錄下的migrate.log文件,在文件末尾可以找到ScryToken、ScryProtocol兩個"0x"開頭的42個字符的地址。

修改app配置文件:

key value
app.chain.contracts.tokenAddr 修改為日志文件中找到的ScryToken地址
app.chain.contracts.protocolAddr 修改為日志文件中找到的ScryProtocol地址
app.chain.contracts.deployerKeyjson 修改為dp/dots/binary/contracks/geth_init/chain/keystore目錄下,唯一文件的內容,注意轉義雙引號
app.config.uiResourcesDir 修改dp的目錄即可
app.config.ipfsOutDir 修改為你期望的ipfs下載路徑

體驗

完成上述所有步驟后,即可通過dp/app/app/main/main.exe入口文件進行體驗。

異常處理:

  • windows禁止ps1腳本執行:使用管理員權限打開命令行,執行Set-ExecutionPolicy unrestricted命令。
  • npm install error,找不到python exec:安裝python2或忽略該問題。
  • 用戶服務啟動失敗,找不到vcruntime140.dll:安裝vcre。
  • 智能合約部署失敗,連接不到以太坊客戶端:檢查是否使用了自定義的端口搭建私鏈,修改contracts目錄下的truffle.js配置文件network.geth.port與之一致。
  • 智能合約部署無顯示:查看geth_init.ps1打開的powershell窗口是否仍在挖礦(不斷有消息刷新)。

 

相關開源:

組件Dot:https://github.com/scryinfo/dot
基礎庫:https://github.com/scryinfo/scryg


相關教程

湖北体彩十一选五玩法