一、USDT/BTC
(1)搭建BTC/USDT节点并同步数据
git地址:https://github.com/OmniLayer/omnicore,目前该omni版本已支持BTC,不用再单独部署btc节点
(2)检查是否同步最新
可参考区块浏览器https://btc.com/,调用omnicore-cli的getblockchaininfo方法检查是否同步到最新高度
二、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)查询需要处理的区块信息
(5)查询对应区块的所有交易信息
(6)循环处理该区块的交易信息处理充币
(6-1)过滤已成功的交易
(6-2)查询到账地址是否为系统地址
(6-3
对我们大多数人来说,使用和开发区块链的目的并不是真正重建区块链,而是基于现有区块链底部或技术框架开发自己的应用程序。因此,我们只需要实现类似的加密算法P2P对技术、共识算法等有一个基本的了解,暂时不需要深入研究。我们入门...
区块链数字货币交易所开发技术框架方案,交易所建设区块链数字货币交易所是数字货币交易的网站平台。区块链交易所,这些交易平台通常只提供充值、转账、现金提取等功能,也就是说,他们只告诉你钱包的支付地址,通常不提供钱包钥匙、助记...
2019年初,数字资产区块链迅速爆发,巨头们纷纷进入市场,试图从各个维度颠覆和重塑行业。随着数字资产区块链产业的快速发展,数字货币作为一种创造区块链技术的数字货币,具有广阔的未来前景。全球数字资产交易市过7000亿美元,...
软件开发本身的一件有趣的事情是,开发人员不喜欢做无聊、可预测和重复的肮脏工作,所以各种车轮都在工作。开发人员喜欢为问题而不是问题创建解决方案。AI 在实现最终目标之前,通常会在这些地方发现更多的价值,比如使用 GPT-3...