基于go-zero实现一个数字货币交易所。

lilei · 2023-11-08 09:55:00 · 2077 次点击 · 预计阅读时间 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2023-11-08 09:55:00 的文章,其中的信息可能已经有所发展或是发生改变。

基于go-zero实现一个数字货币交易所。

基于go-zero 开发一个数字货币交易所demo,实现了交易所现货交易的一些基本功能。

  • 限价单,市价单的撮合。
  • 基本行情(盘口,k线,tick),以及个人订单变化的实时推送。

核心模块:订单,撮合,账户,行情。

基本功能

限价单

市价单

运行项目

项目依赖的中间件:消息组件pulsar,数据库mysql,redis,分布式事务dtm,websocket推送gpush。

1、配置一个host 映射, api.gex.com:项目地址

2、项目已经整理好docker-compose文件,依赖和程序分别在不同的docker-compose文件,使用docker-compose即可一键启动项目,docker版本不能太旧具体如下。

root@ubuntu:~/smb# docker-compose -v
Docker Compose version v2.6.1

root@ubuntu:~/smb# docker version
Client: Docker Engine - Community
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.20.7
 Git commit:        ed223bc
 Built:             Mon Sep  4 12:32:12 2023
 OS/Arch:           linux/amd64
 Context:           default

执行命令 
make build 编译项目。
make run 启动项目。
make clear 删除镜像和容器(会删除所有的容器和新建的镜像。)

3、直接访问启动项目机器的ip, 默认nginx配置的是的是80端口。

初步完成了一个demo,实现了基本现货交易的一些基本功能,还有很多地方不完善和考虑不周全的地址。

项目地址 https://github.com/luxun9527/gex 如果觉得对您有帮助,您的一个star就是我更新的动力。

参考 https://github.com/michaelliao/warpexchange/


有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2077 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传