请问交易所是怎么处理以太坊的转账交易的
发布于 4 个月前 作者 fewer70 2036 次浏览 来自 以太坊

感觉找到组织的感觉!!

是这样的,我自己下本机搭建了eth的开发环境,发现监控每一笔交易比较困难,需要用到Filter,而且这些Filter还有生命周期,过了就要重新加载。那么如果是交易所的话,他们是怎么监控每一笔eth的转入和转出呢? 我看 myetherwallet.com 这个网站用的貌似都是别人网站的api,交易所应该不敢用别人的api吧! 我自己的流程是 newPendingTransactionFilter -> getFilterChanges -> getTransactionByHash 是可以实现的,不过很麻烦,是我的方向不对吗?

16 回复

通过rpc扫区块,然后扫交易,筛选出你的用户的上账交易

@路人-戊 问题有很多用户啊,他每时每刻都在扫么? 有接口么?扫区块,我需要下载以太坊的整个区块么?

@fewer70 是的,需要维护一个全节点,不停的扫

@路人-戊 怎么感觉还不如创建过滤器啊!

@路人-戊 对了,使用本地以太坊api命令的时候,本地也要下载全数据包吧!

@fewer70 过滤器我没有深入研究过,暂不确定能否达到你说的效果,如果你有研究可以分享一下 不一定,有些api即使没有同步任何数据也是可以用的

@路人-戊 过滤器就是只要有转账就会被抓取到,然后放到数组里面了使用了。

@fewer70 如果你的抓取程序挂了,或者有漏掉的交易,怎么补救

@路人-戊 也是额

@路人-戊 你说的那种不停的扫那种,使用那个函数扫的啊,是rpc api里面的函数么?具体哪一个啊?

我最近实现过类似的功能。应该和楼主自己实现的差不多把。如果是以太坊的账户转账,用getBlock拿。如果是代币的话,用getLogs,把address和topic[0],fromBlock,toBlock设置在过滤器里。周期遍历一下。

@路人-戊 我知道啊,自己写程序的原理调用的还是以太坊的api么?

@dream960727 明白你的意思了,周期遍历每个块的信息是么,里面如果有我们交易所里面的地址交易的话就拿出来,没有的话就继续遍历,遍历的最新块为止。然后休眠几分钟继续在此从上一次遍历的结束块开始遍历,这样一直循环下去!

我就突然在想如果突然断电了怎么办!

我发现有些用的是智能合约,但是不知道处理的

回到顶部