数字货币交易所解决方案

数字货币交易所解决方案
了解咨询

雷达评级

AA

用户规模

-

产品上线

-

功能介绍

NuggetEx 交易所是我们为客户完整开发的一个数字货币交易所, 具有币币交易、法币交易、做市机器人、IEO功能;

其中法币交易、IEO还未正式上线运营, 不过我们已经开发完成。

前端使用Vue开发, 后端使用Golang开发, 移动端使用Flutter开发, 项目全部容器化, 采用k8s部署。

后端技术栈包括:

(1) Golang: 后端统一语言;

(2) Go-kit: API框架;

(3) gRPC: 内部服务通信;

(4) Kafka: 消息队列, 在撮合系统中让内存撮合成为可能, 撮合效率120万笔/秒;

(5) Redis: 缓存中心;

(6) Tidb: 事务数据库, 可无限水平扩容, 再也不用担心扩容问题了;

(7) Consul: 维服务注册中心;

(8) K8S: 服务全部部署在K8S上, 可水平扩容, 再也不用担心服务不可用了;

(9) Terraform: 运维自动化, 再也不用担心因为改错文件或手工操作失误导致的运维事故了;

(10) Gitlab: Git仓库, 搭配CI/CD, push 代码实时构建不香吗?

 

后端拆分的微服务如下:

1. 账户服务(account):

负责全系统的账户认证、授权等;

2. 资产服务(asset):

包括资金账户(充币提币), 币币账户, 法币账户;

3. 币币交易(spot):

子服务:

(1)trading: 功能包括币币交易API、下单、取消订单、KLine、Orderbook、Websocket、订单财务结算等;

(2)match-engine: 撮合引擎, 全内存撮合, 接收来自Kafka的订单消息, 内存进行撮合, 再将结果 Push 到 Kafka,

trading的consumer消费成交消息, 然后进行财务结算;

4. 法币交易(otc):

提供OTC交易, 包括: 一键买币/卖币; 自选交易; 发布广告等;

5. IEO(ieo);

提供和币安IEO一样的功能, 包括上币、抢购、结算、代币分发、利润分发等;

6. 内容服务(ex);

主要包括首页新闻发布;

7. 财务审计服务(audit);

这个是重点, 其实交易所的核心和难点不在一般人认为的撮合引擎, 而是在于审计系统。

今年出事的FCoin就是因为当年发展太快, 在财务审计这一块埋下了一个巨大炸弹, 所以后面不断累积, 最后兜不住跑了...

现在几大所我想应该都有专门的财务审计部分专门做审计, 不然也可能发展不到现在。其中BitMEX提供了每秒百次的实时审计功能, 我们这个也提供。

我们会在用户的每一次跟财务有关的操作上做一次财务审计, 确保用户操作前和操作后系统的资产系统不会出问题, 如果审计出现了错误, 那么对应的功能会自动停止服务, 防止进一步产生脏数据。

8. 钱包服务(wallet);

这一块也比较重要, 主要是提供充值和提现功能; 其中充值会注意假充值的情况, 会在区块确认后为用户上账;

提现采用专门的冷钱包进行提现, 数据库中没有存任何私钥, 我们做了一个自动化的冷钱包, 用户提现经人工审核之后会将提现请求做一个二维码, 然后线下机房有一个专门的硬件扫码设备将请求传输到离线机器上进行签名,签名结果会回传给联网机器, 然后进行广播。

这个交易所跟其他交易所不一样的地方就是, 完全采用冷钱包的设计, 数据库中没有存任何私钥, 确保黑客及时黑进服务器也拿不到什么;

9. 后台管理服务(admin);

提供各个模块的管理功能;

10. 做市商服务(maker).

做市机器人, 自动将大交易所的差价补齐, 防止搬砖撸羊毛。


案例图片