# 说明 该项目包含 2 部分功能, 链上事件爬取和链上数据查询接口(GraphQL 和普通接口) # 一. 链上数据查询 ## 1. 验证地址是否是指定 NFT 的 holder > 供 galxe.com 的任务系统使用 ``` endpoint: https://chianquery.cebggame.com/graphql 网页访问: https://chianquery.cebggame.com/graphiql ``` ## 2. 普通接口 ### 1. 检查用户是否有已 claim NFT 1. Method: POST|GET 2. URI: /chain/query_info 3. HOST: https://chianquery.cebggame.com > 参数, body(json, x-www-form-urlencoded) 或 querystring 都可 | 字段 | 说明 | | --------- | --------------------- | | \*address | 用户钱包地址 | | contract | ClaimFactory 合约地址 | 3. Response: JSON ```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 中配置 ```js ;[ { address: '0x3F13F83E6363D97d0353cAAfACA08B05D9BF3637', // 合约地址 chain: 42161, // 链 id event: 'Transfer', // 事件名 abi: 'ERC721', // 合约使用的abi, 在src/abis中定义, 这里取文件名 fromBlock: 105016690, // 开始块高 eventProcesser: 'NftTransferEvent', // 事件处理器 }, ] ```