MYKEY Docs
中文
English
Search…
中文
简介
基于MYKEY的第三方授权登录
接入MYKEY
多种方式接入MYKEY
Mobile H5页面接入
MYKEY Android SDK接入
MYKEY iOS SDK接入
Web应用扫码接入
SimpleWallet协议接入
Deeplink协议接入
深入MYKEY
深入MYKEY账户
类和方法定义
错误码
识别MYKEY合约充值
ETH充值
EOS充值
MYKEY白皮书
KEY ID
KEYID ETH合约介绍
账户恢复机制
KEYID合约升级流程
KEYID合约升级记录
开发资源
ETH
EOS
加入我们
项目提交上架
开发者社区
Powered By
GitBook
EOS充值
MYKEY用户的交易,通过MYKEY服务端的Postman账户(携带用户签名)上链, 用户的充值是内部交易,在区块链浏览器上会显示在交易详情中。
下面会介绍如何从程序端识别合约充值:
交易所识别
推荐使用官方的工具history-tool, 将交易中所有的action trace存储到数据库中。从而不需要区分普通交易和合约交易,统一处理。
对比mongo插件,history-tool效率更高,支持PostgreSQL/RocksDB。
编译安装步骤(fill-pg为例)
1.
代码:
https://github.com/EOSIO/history-tools
注意: 当前版本(0.2.0)会写一些数据量很大但是我们又不需要的表(action_trace_authorization和action_trace_auth_sequence),由于没有配置,所以只能在编译前修改源码,注释掉往这2个表的写入(可以减少一半以上数据量)
https://github.com/EOSIO/history-tools/blob/4859e331588676b5c45ef0b393ce9cdf72375b13/src/fill_pg_plugin.cpp#L777-L782
2.
编译: 参考
https://eosio.github.io/history-tools/build-ubuntu-1804.html
. 注意编译比较慢, 尽量8核16G内存
3.
运行环境缺少.so 编译完成后把fill-pg复制到需要运行的环境,如果启动报缺少.so, 运行lddfill−pglddfill-pg查看缺少什么
4.
启动: 第一次启动需要参数--fpg-create 创建数据库和表结构
5.
pg维护(数据清理) action_trace表的数据量很大,按500aps算,一天超过4000万数据。因此需要根据block_num对action_trace表做partition,清理历史数据的时候drop掉最老的partition.
在action_trace表中,按照block_num顺序处理,act_account中过滤出关注的token,识别出目标地址是交易所充值地址的action。
由于存在微分叉,当block_num低于不可逆块时,才可以判定交易成功。(pg会修复微分叉的交易)
DAPP识别
history-tool部署维护较重,DAPP方建议使用dfuse的graphql接口来查询/监听交易action。
https://docs.dfuse.io/reference/eosio/graphql/
如果已有交易id,可以使用/v0/search/transactions来获取交易中所有的action和其他交易详情。
MYKEY转账举例
比如账号 mykeyhulu511 转 nowwearegoin 0.2826 EOS,交易ID为:
https://eosq.app/tx/ad0e029edf6c8e3ae84b586f36737170fc27c5d995f1564422112050464b48cc
识别出转账交易,从中提取出data就行:
Previous
ETH充值
Next - 深入MYKEY
MYKEY白皮书
Last modified
2yr ago
Copy link
Outline
交易所识别
DAPP识别
MYKEY转账举例