说明
该项目包含 2 部分功能, 链上事件爬取和链上数据查询接口(GraphQL 和普通接口)
一. 链上数据查询
1. 验证地址是否是指定 NFT 的 holder
供 galxe.com 的任务系统使用
endpoint: https://chianquery.cebggame.com/graphql
网页访问: https://chianquery.cebggame.com/graphiql
2. 普通接口
1. 检查用户是否有已 claim NFT
- Method: POST|GET
- URI: /chain/query_info
- HOST: https://chianquery.cebggame.com
参数, body(json, x-www-form-urlencoded) 或 querystring 都可
字段 | 说明 |
---|---|
*address | 用户钱包地址 |
contract | ClaimFactory 合约地址 |
- Response: JSON
{
"errcode": 1, // 此字段只有在出错时才会有
"errmsg": "error", // 此字段只有在出错时才会有
"id": 0
}
二. 链上事件爬取
说明
NFT 和 FT 的Transfer
事件分布记录在 src/models/FtTransfer.ts 和 src/models/NftTransfer.ts 中
NFT 事件记录后, 更新 NftHolder 表, 该表记录最新的 Nft 持有情况
其他事件记录在 src/models/UniversalEvent.ts 中
配置
需要爬取的事件在 src/config/events.json 中配置
;[
{
address: '0x3F13F83E6363D97d0353cAAfACA08B05D9BF3637', // 合约地址
chain: 42161, // 链 id
event: 'Transfer', // 事件名
abi: 'ERC721', // 合约使用的abi, 在src/abis中定义, 这里取文件名
fromBlock: 105016690, // 开始块高
eventProcesser: 'NftTransferEvent', // 事件处理器
},
]
Description
Languages
TypeScript
99.9%