# Snapshot 导出投票记录对不上：核 proposal、choice序号与分页覆盖

整理：链小知（AI 辅助）
资料核对日期：2026-10-14
引用地址：https://lianxiaozhi.com/tools/guides/snapshot-hub-vote-record-choice-pagination-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

读取已有Hub记录，排查提案混用、选项错位和只取第一页造成的统计缺口。

## 使用工具
- [Snapshot](https://lianxiaozhi.com/tools/snapshot) · [官方入口](https://snapshot.box/)

## 前置条件
- 准备有权查看的已有提案、原时点设置或脱敏记录；只核对材料，不连接钱包、投票、签名或更改配置。
- 官方说明用于解释记录；未访问本人账户或请求业务API，未知字段和运行状态保留未知。

## 1. 核提案与查询环境

官方Hub文档分别列生产hub.snapshot.org/graphql和演示testnet.hub.snapshot.org/graphql。检查已有记录来自哪一个端点，proposal.id和space.id对应哪份提案，示例里的旧提案不是本人的实时记录。

单提案材料可包含choices、snapshot、network、strategies、scores、scores_by_strategy、scores_total和scores_updated；保留实际返回的字段，缺失不补零。

核对结果：端点、空间、提案和结果更新时间可对应。
依据：[Snapshot Hub：提案、投票与分页字段](https://docs.snapshot.box/tools/api.md)

## 2. 检查筛选和分页

Get votes支持first、skip、where中的proposal/space/voter及排序。官方示例first:1000、skip:0仅展示一个请求，不是全量证明或保证的最大上限。检查已有每页条件和排序是否一致。

仅有第一页或同页重复保存就标部分覆盖；按vote.id去重，保留每页数量、读取时点和缺页情况。活跃投票的新增记录会影响基于skip的页位，跨时点材料不能自动当一次完整快照。

核对结果：统计带过滤条件、页位和覆盖边界。
依据：[Snapshot Hub：提案、投票与分页字段](https://docs.snapshot.box/tools/api.md)

## 3. 核选项身份和票权

官方文档规定choice索引从1开始，第一项对应choices[0]；只在该投票类型确实返回单一序号时这样对应。多选、权重或排名形式按实际类型解读，不能强制转成一个整数。

vote.id是记录身份，voter是地址；vp、vp_by_strategy与vp_state分别保留。不能用记录条数替代票权，也不能把地址去重后声称独立人数。

核对结果：选项序号、原choice形式和vp状态均保留。
依据：[Snapshot Hub：提案、投票与分页字段](https://docs.snapshot.box/tools/api.md)
依据：[Snapshot：投票类型与结果计算](https://docs.snapshot.box/proposals/voting-types)
依据：[Snapshot：票权策略与历史配置](https://docs.snapshot.box/user-guides/voting-strategies.md)

## 4. 对齐汇总范围

将同一提案、同一读取范围的投票材料与scores相关汇总并列，按实际投票类型解释差异。记录页没带vp或完整choice时，不能凭示例response缺字段推不存在。

文档中vp示例出现final，本文只记录实际vp_state，未独立重算票权或调用Score API；局部记录无法解释差异就保留待核。

核对结果：局部数据与汇总不一致时保留原因及未知项。
依据：[Snapshot Hub：提案、投票与分页字段](https://docs.snapshot.box/tools/api.md)
依据：[Snapshot：投票类型与结果计算](https://docs.snapshot.box/proposals/voting-types)

## 常见错误
- 示例里的first:1000和旧时间不代表当前服务限额或当日提案。
- 网页/API示例可读不证明本人导出完整或投票结果已执行。

## 完成检查
- 保存端点、提案、条件、页覆盖、vote.id与choice映射的核对表。
- 不补发API、不签名，也不从缺失记录得出零参与。

## 相关知识
- [治理提案通过就是生效了吗？从投票追到执行交易](https://lianxiaozhi.com/learn/governance-proposal-status)

## 官方依据
- [Snapshot Hub：提案、投票与分页字段](https://docs.snapshot.box/tools/api.md)
- [Snapshot：投票类型与结果计算](https://docs.snapshot.box/proposals/voting-types)
- [Snapshot：票权策略与历史配置](https://docs.snapshot.box/user-guides/voting-strategies.md)
