当前位置: 首页 > 工具软件 > cakeshop > 使用案例 >

【quorum源码】quorum cakeshop架构概览

曾嘉荣
2023-12-01

技术栈

后端

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功能
/listpersonal_listAccounts 、eth_getBalance获取账户列表
/createpersonal_newAccount创建钱包
/fundeth_sendTransaction转账
/unlockpersonal_unlockAccount解锁账户
/lockpersonal_lockAccount锁定账户
内部调用eth_sign是否解锁

区块

/api/block

接口地址涉及的web3说明
/geteth_getBlockByHash 、eth_getBlockByNumber获取block信息

交易

/api/transaction

接口地址涉及的web3说明
/geteth_getTransactionByHash 、eth_getTransactionReceipt获取交易信息
/listeth_getTransactionByHash 、eth_getTransactionReceipt获取一组交易信息
内部调用eth_getQuorumPayload处理交易信息
/saveeth_sendTransaction直接交易

合约

/api/contract

接口地址涉及的web3说明
/geteth_getCode获取合约代码
/compile调用solc
/createeth_sendTransaction创建合约,先调用 compile再部署
/registryeth_getCode返回当前“合约注册”地址
/registry/useeth_getCode更新到指定“合约注册”地址
/registry/deployeth_getCode、eth_sendTransaction部署“合约注册”
/registry/listeth_getCode获取“合约注册”地址关联的合约列表
/readeth_call根据合约地址、方法名、参数获取调用函数hex数据
/transacteth_sendTransaction合约调用
/transact/listeth_getCode根据合约地址获取关联的交易列表

节点管理

/api/node

接口地址涉及的web3说明
/add添加节点
/addAll添加节点列表
/remove删除节点
/get获取节点信息
/nodes所有节点信息
/update更新节点
/start启动节点
/stop停止节点
/restart重启节点
/settings/reset节点重置
/reset删除节点数据目录
/peers/add添加peer
/peers/remove删除peer
/peerspeer列表
/currentUrl获取节点url
/url设置节点url

其他

接口地址涉及的web3说明
/api/log/view查看节点日志(后台推送)
/unhealthy健康检查
 类似资料: