【quorum源碼】quorum cakeshop架構概覽

技術棧

後端

java、spring、springboot、spring-websocket、spring-security、freemarker、slf4j、okhttp3、swagger、jpa、hibernate、maven

前端

js、react、react-dom、bootstrap、d3、ace、bower、gulp、websocket、babel、websock

主要功能

  • 節點/peer管理
    • 節點
      • 節點列表
      • 節點添加
      • 節點刪除
      • 更新節點
      • 啓動節點
      • 停止節點
      • 重啓節點
      • 創建新的鏈(節點重置 )
    • peer
      • peer列表
      • peer添加
      • peer刪除
  • 區塊鏈瀏覽
    • 區塊
      • 區塊列表
      • 最新區塊
      • 根據高度查詢區塊
    • 交易
      • 根據hash查詢交易信息
  • 合約管理
    • 部署合約註冊(管理合約的合約)
    • 合約列表
    • SANDBOX
      • 編輯器,可編寫合約
      • 編譯合約
      • 部署合約
      • 調用合約
  • 錢包管理
    • 賬戶列表
    • 創建賬戶
    • 鎖定賬戶
    • 解鎖賬戶
    • 轉賬
  • 統計
    • 區塊統計(後臺推送)
    • 交易統計(後臺推送)
    • 節點統計
  • 幫助
    • 引導系統使用
  • 用戶
    • 登錄(前端無)
    • 退出(前端無)

子項目

├── cakeshop-abi abi數據結構及abi工具類
├── cakeshop-api 主要代碼邏輯,包括前後端
├── cakeshop-client-java java客服端
├── cakeshop-client-java-codegen 根據abi json生成合約調用代碼工具
├── cakeshop-client-java-sample java客服端使用示例
├── cakeshop-client-js js客戶端
├── cakeshop-node-manager 節點管理restful服務,沒用到?

主要接口

暫時忽略了txmanager

用戶

接口地址 web3 說明
/login 登錄,支持basicAuth OAuth
/logout 登出
/user 用戶信息

錢包

/api/wallet

接口地址 涉及的web3 功能
/list personal_listAccounts 、eth_getBalance 獲取賬戶列表
/create personal_newAccount 創建錢包
/fund eth_sendTransaction 轉賬
/unlock personal_unlockAccount 解鎖賬戶
/lock personal_lockAccount 鎖定賬戶
內部調用 eth_sign 是否解鎖

區塊

/api/block

接口地址 涉及的web3 說明
/get eth_getBlockByHash 、eth_getBlockByNumber 獲取block信息

交易

/api/transaction

接口地址 涉及的web3 說明
/get eth_getTransactionByHash 、eth_getTransactionReceipt 獲取交易信息
/list eth_getTransactionByHash 、eth_getTransactionReceipt 獲取一組交易信息
內部調用 eth_getQuorumPayload 處理交易信息
/save eth_sendTransaction 直接交易

合約

/api/contract

接口地址 涉及的web3 說明
/get eth_getCode 獲取合約代碼
/compile 調用solc
/create eth_sendTransaction 創建合約,先調用 compile再部署
/registry eth_getCode 返回當前“合約註冊”地址
/registry/use eth_getCode 更新到指定“合約註冊”地址
/registry/deploy eth_getCode、eth_sendTransaction 部署“合約註冊”
/registry/list eth_getCode 獲取“合約註冊”地址關聯的合約列表
/read eth_call 根據合約地址、方法名、參數獲取調用函數hex數據
/transact eth_sendTransaction 合約調用
/transact/list eth_getCode 根據合約地址獲取關聯的交易列表

節點管理

/api/node

接口地址 涉及的web3 說明
/add 添加節點
/addAll 添加節點列表
/remove 刪除節點
/get 獲取節點信息
/nodes 所有節點信息
/update 更新節點
/start 啓動節點
/stop 停止節點
/restart 重啓節點
/settings/reset 節點重置
/reset 刪除節點數據目錄
/peers/add 添加peer
/peers/remove 刪除peer
/peers peer列表
/currentUrl 獲取節點url
/url 設置節點url

其他

接口地址 涉及的web3 說明
/api/log/view 查看節點日誌(後臺推送)
/unhealthy 健康檢查
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章