技術棧
後端
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 | 無 | 健康檢查 |