当前位置:首页 > 知识 >

建交易所钱包系统流程详解

>1、搭建区块链钱包节点 1、USDT/BTC (1) 搭建BTC/USDT节点并同步数据 Git地址:https://github.com/OmniLayer/omnicore,目前该Omni版本已支持BTC,不用再单独部署BTC节点 (2) 检查是否同步最新 可参考区块浏览器https://btc.com/,调用omnicore-cli的getblockchaininfo方法检查是否同步到最新高度

2、ERC20/ETH (1) 搭建ETH节点 Git地址:https://github.com/multi-geth/multi-geth/releases (2) 检查最新 可参考区块浏览器https://cn.etherscan.com/,使用gethattach接入节点,调用eth.syncing检查是否同步到最新高度;或者使用RPC提供的接口eth_syncing查看。

2、搭建交易所钱包系统 以现在市面上用的最多的优盾钱包为例: 参考案例:优盾钱包 优盾钱包官网API接口文档:https://www.uduncloud.com/gateway-interface 至少添加以下几张表 (1) 会员钱包表 会员ID、币种、余额、冻结余额、充值地址 逻辑1:对应会员地址有充币时,增加对应钱包余额 逻辑2:会员提币时,从余额冻结对应提币数量,待提币成功,扣除对应冻结数量,提币失败,返还对应冻结数量 (2) 充币记录表 txid、充值地址、会员ID、币种、数量、时间 逻辑1:对应会员地址有充值时录入充币类型记录 逻辑2:可根据txid和充值地址判断唯一,防止重复入账 (3) 提币审核表 提币编号、会员ID、币种、提币地址、提币数量、提币状态、txid、时间 逻辑1:会员申请提币时录入待审核记录 逻辑2:审核通过,将会员提币的金额成功发送到链上后,设置为审核成功,记录交易哈希txid 逻辑3:审核拒绝,设置为审核失败 逻辑4:获取交易在区块链的状态,根据状态判断该笔审核交易的成功与失败,成功扣除提币冻结资金、失败则返还 (4) 支持币种表 币种、币种类型 逻辑1:根据支持币种去生成地址 逻辑2:只允许提币支持的币种

3、实现充提币对接 生成地址: (1) 在对应部署的区块节点上创建钱包 (2) 通过RPC接口进行生成地址 (3) 将生成的地址分配给交易所用户的钱包信息中,供用户充值使用 充提币处理逻辑: (1) 查询最新区块链最新高度 (2) 对比系统已处理的最新高度 (3) 假如区块链最新高度大于已处理的最新高度,则处理系统已处理的最新高度加一的高度 (4) 查询需要处理的区块信息

猜你喜欢

微信二维码

微信