/XETH

⭐ An open source platform about ethereum data intelligent analysis and management.

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

XETH

⭐An open source platform about ethereum data intelligent analysis and management.

后端开发指南

模型搭建

  • config:相关配置文件

    • resultMsg.go:API返回格式的封装,可自行添加
    • config.go:数据库等变量的配置,这里读取环境变量.env
    • code.go:返回码的枚举,可自行添加
  • sql:数据库相关配置

    • xeth.sql可以直接运行导入本地数据库xeth
    • block.png相关可视化的图,上面附有数据库变量名以及数据类型,可能有不准/有些值没有设置成NOT NULL,后续修改,读者可以依赖此图完成mode层相关配置的编写,具体可参考 MySQL和Go数据类型互相转换
  • dbDriver:数据库相关配置,由于初步只是建立一个数据库,所以配置了全局变量,同时保留了之前的函数方便不同数据库的配置

  • server:相关路由配置,跨域已初步配置好了,现在只需要参照已配置好的相关路由组配置其他model对应的路由组

  • model:直接与数据库相连,为不同结构体,对应数据库的不同表

  • controller:控制层,借助在server.go中配置的路由,获取前端传来的参数,并调用service层相关函数进行实际处理

  • service:真正的逻辑处理层,上面有相关查询的不同数据,根据不同的查询需求定义不同的函数

  • DTO:由于推荐传参方式为POST传JSON,故定义不同DTO结构体,作为service层和controller层相关函数的参数,设计目的是便于修改以及便于传参等,需要自行定义

  • utils:相关工具层

    • constants.go定义相关常量
    • encrypt.go定义MD5加密,不知道有没有用
    • log个性化配置,非必要,待完善
  • .env:相关环境变量,与其相配的读取方法位于config

  • pkg:相关外部模块,比如download.py,我有做修改,比如py脚本下载的相关数据

    P.S. 此为不确定功能,因为压缩包还要解压存入数据库,极其恶心,为图简便建议提前下载好数据,写代码存入数据库(推荐使用带有可视化界面的软件进行输入),同时更新xeth.sql文件

    标准化方法:调用下载脚本下载,然后解压,解析csv文件并存入数据库(以上种种函数可以放到config层或utils层当中,新建go程序)