数字资产交易所记录

Posted x-poior

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字资产交易所记录相关的知识,希望对你有一定的参考价值。

  1. 交易所为每位用户提供独立的地址,用于区分不同用户的充币行为,这样交易所就能知道每一笔充值是哪个用户的。

  2. 提币不是从用户的地址中提取,而是从交易所地址中提取。

  3. ERC20的token,不能用普通地址作为充值地址,因为充到普通地址的token无法做归集,因为这个地址上不一定有ETH。那怎么办?只能用合约地址作为用户的充值地址,合约创建者可以调用合约地址上的合约方法来转移token,费用由合约创建者出。

  4. 用户的以太坊和ERC20币使用相同的地址,为什么要这么做,因为3里面提的,充值地址是合约地址,部署合约是要费用的。

  5. 不预先给用户生成地址,只有当用户想充值的时候才给其地址,原因和4一样。

  6. 用户提币的费用由用户出,如果是提ERC20的token,从这个用户的ETH里扣矿工费,如果这个用户没有ETH,那么不给提币。

  7. ERC20到账监听方法:监视所有发送到token合约地址调用transfer方法的transaction

前提是提币失败,比如交易所地址中没有币了,那么这个流程就被中断了,这个时候有两个办法:

  1. 回退

  2. 交易所地址充币,然后继续执行

1. 回退

回退就是使用户的账户回到没有提币时的状态,当然也去除所有记录:

// 第一步找出这个用户的账户,并update记录到原先的状态
SELECT * FROM `accounts` WHERE `member_id` = 26;
UPDATE ...

// 第二步通过账户找到提币记录,删除
SELECT * FROM `withdraws` WHERE `member_id` = 26 and `account_id` = 232;
DELETE FROM `withdraws` WHERE `member_id` = 26 and `account_id` = 232;

// 第三步找到账户变化历史记录,清楚
SELECT * FROM `account_versions` WHERE `member_id` = 26 and `account_id` = 232 and `modifiable_type` = Withdraw;
DELETE FROM  `account_versions` WHERE `member_id` = 26 and `account_id` = 232 and `modifiable_type` = Withdraw;

 

以上是关于数字资产交易所记录的主要内容,如果未能解决你的问题,请参考以下文章

中国数字资产交易平台官网怎么交易的

数字资产量化交易软件_数字资产交易系统开发

数字资产交易所开发合约交易系统开发

交易平台分享- -BTK(比特王)数字资产交易平台

2018年数字资产即将爆发数字资产交易系统开发区块链交易平台技术

数字资产交易平台量化交易软件开发