Пост
Поделитесь своими знаниями.
Как получить разбивку заработанных ставок по эпохам?
Я пытался найти способ получить подробную информацию о заработанных мною вознаграждениях за каждую эпоху. Я проверил такие платформы, как Suivision и Suiscan, но они показывают только общую сумму накопленных на данный момент вознаграждений. Есть ли способ увидеть награды по каждой эпохе? Многим людям, в том числе и мне, это нужно для подачи налоговых деклараций.
- Sui
Ответы
15Чтобы получить разбивку заработанных ставок по эпохам в сети Sui Network, вам, скорее всего, придется напрямую полагаться на данные сети Sui, поскольку такие платформы, как Suivision и Suiscan, могут не предоставлять такой подробной разбивки. Вот несколько возможных способов получить доступ к информации о вознаграждениях, основанной на эпохах:
1.Используйте API-интерфейс для обработки данных блокчейна
- Sui предоставляет API, который можно запросить для получения исторических данных, включая вознаграждения за ставки. С его помощью можно отслеживать вознаграждения, заработанные за каждую эпоху, запрашивая определенные данные о ставках.
- Проверьте наличие конечных точек, связанных с вознаграждениями, в интерфейсе Sui JSON-RPC или Sui Explorer (при наличии). *Пример запроса (гипотетический): ищите конечные точки, которые предоставляют вознаграждение за стекинг за каждый валидатор или за каждую эпоху. Возможно, вам придется отфильтровать данные по адресу и эпохе.
2.Используйте интерфейс командной строки для хранения данных
Интерфейс командной строки Sui может предоставлять подробную информацию о ставках, включая вознаграждения за размещение ставок. С помощью интерфейса командной строки можно запросить баланс ставок, вознаграждения и сведения об эпохе.
sui client query --address <your-address> --staking-rewards
Это позволит получить сведения, связанные со ставками, но, возможно, вам придется агрегировать данные вручную или с помощью скриптов, чтобы разбить их по эпохам.
3.Пользовательские скрипты или боты
Если вы знакомы с программированием, вы можете написать скрипт (например, на языке Python) для агрегирования данных о вознаграждениях из Sui API или обозревателя блокчейна, такого как Suiscan. Этот скрипт может отображать вознаграждения за стекинг по эпохам и предоставлять вам подробную разбивку.
Этапы создания пользовательского скрипта:
- Используйте API Sui
Sui SDK
или любые доступные API-интерфейсы Sui для получения данных о вознаграждениях за стейкинг. - Отфильтруйте по эпохам и агрегируйте награды за каждую эпоху.
- Сохраните результаты в формате, подходящем для налоговой отчетности (например, CSV, JSON).
4.Сторонние поставщики данных
Если Suivision и Suiscan не предоставляют эту функцию, возможно, вам стоит попробовать другие сторонние платформы или инструменты экосистемы Sui. Некоторые платформы могут предоставлять более подробные данные, напримеробозреватели блоковилиплатформы для стейкинга, содержащие подробную историческую информацию о вознаграждениях.
5.API узла валидатора
Валидаторы также могут предоставлять своим делегатам данные о вознаграждениях за стейкинг в разбивке по эпохам. В некоторых узлах валидаторов есть панели управления или API, с помощью которых можно запрашивать вознаграждения для определенных делегаций, включая исторические награды по эпохам.
Заключение:
Если Suivision и Suiscan не предлагают детальную разбивку по эпохам, вам придется либо использовать прямые API или интерфейс командной строки Sui, либо написать собственный скрипт для извлечения и обработки этих данных. Обязательно отслеживайте эти данные с течением времени, так как они могут быть полезны при подаче налоговых деклараций и проведении аудиторских проверок.
Чтобы получить подробную разбивку заработанных ставок по эпохам, вы можете запроситьконечную точку Sui RPC, указав suix_getStakes
свой валидатор или адрес для ставок, который возвращает данные о вознаграждениях за каждую эпоху. В качестве альтернативы используйте APISui Explorer(https://explorer.sui.io/) или сторонние инструменты, такие какSuiVision Analytics, для извлечения исторических данных о распределении вознаграждений. @mysten/sui.js``stakeStatus
Для программного доступа программаSui TypeScript SDK() может анализировать эти данные, фильтруя поле в ответе. Если целью является налоговая отчетность, попробуйте экспортировать необработанные данные JSON и обработать их скриптом в соответствии с вашими бухгалтерскими потребностями.
Чтобы получить подробную разбивку заработанных ставок по эпохамв сети Sui, вы правы: на таких платформах, какSuivisionиSuiscan**, обычно отображается только общая сумма накопленных вознаграждений. К сожалению, такая подробная информация не всегда доступна на общедоступных платформах. Однако есть несколько способов подойти к этому:
1.Проверьте панель валидатора Sui на наличие API-интерфейсов
В Sui есть панель управления валидатором и общедоступные API, которые могут предоставить более подробную информацию о размещении вознаграждений, включая разбивку по эпохам. Некоторые валидаторы Sui предоставляют API-интерфейсы, позволяющие запрашивать такие данные, как вознаграждения за каждую эпоху. Возможно, для получения этих данных вам потребуется использовать узлSui Nodeили напрямую получить доступ кSui API.
*Шаги по доступу к данным о вознаграждениях:
- Вы можете проверить, есть ли у валидаторов или узлов доступные конечные точки API, предоставляющиесведения о вознаграждениях в зависимости от эпох.
- Получите доступ кSui Explorerили платформам, предназначенным для валидаторов, которые могут предоставлять дополнительные сведения с помощью своих API.
2.Использование интерфейса командной строки Sui CLI (интерфейс командной строки)
Sui CLIпредлагает инструменты для взаимодействия с блокчейном и позволяет получить более подробную информацию о размещении вознаграждений. Вы можете использовать интерфейс командной строки для получения подробной информации об эпохальных вознаграждениях, если таковые имеются.
*Команда: вы можете использовать интерфейс командной sui
строки для запроса информации о стейкинге. Несмотря на то, что в ней нет прямой команды на получение эпохальных вознаграждений, вы можете просмотреть историю транзакций по стейкингу или проверить события, связанные со стейкингом, с каждой эпохой.
Вот пример того, как можно получить данные, связанные со ставками:
sui client query --gas-budget 10000 --query-type stake
Это не даст подробной разбивки по эпохам напрямую, но с помощью некоторых фильтров и скриптов вы сможете со временем извлекать необходимые данные и группировать их по эпохам.
3.Используйте инструменты блокчейн-аналитики с функциями разбивки по эпохам
Некоторые передовые инструменты аналитики блокчейна, такие какNansenилиDune Analytics, могут позволить вам извлекать более подробные исторические данные о вознаграждениях. Хотя эти платформы могут и не поддерживать Sui по умолчанию, вы можете проверить, предлагают ли они какие-либо специальные аналитические данные или запросы**для Sui, особенно если вы имеете дело с большими объемами данных о ставках в налоговых целях.
4.Ручная разбивка по истории транзакций
*Метод: вы можете вручную проверить количество вознаграждений, просмотрев свои транзакции по размещению ставок и проверив выдачу ли вознаграждений за определенные эпохи.
- Длякаждой транзакции по стейкингу проверьте метку времени и соотнесите ее спереходами между эпохами**.
- Данные о вознаграждениях можно привязать к этим транзакциям и номерам эпох, а экспортировав их (из Sui Explorer или других браузеров), вы сможете вручную рассчитать вознаграждения, заработанные в каждую эпоху.
5.Обратитесь к своему валидатору
Некоторые валидаторы Sui или платформы для ставок могут предоставлять подробные отчеты или настраивать запросы о вознаграждениях, заработанных в разные эпохи, особенно если вы делаете значительную ставку.
Резюме:
В настоящее время программыSuiscanиSuivisionне предлагают прямой разбивки вознаграждений по эпохам**, но вы можете добиться этого с помощью:
- Доступ к APISui Nodeдля получения подробных данных о транзакциях, включая вознаграждения за разные эпохи.
- Использование интерфейсаSui CLIдля запроса данных о размещении ставок. *Платформы блокчейн-аналитики, такие какNansenилиDune, для персонализированной отчетности. *Ручная корреляция стейкинговых операцийс эпохальными переходами.
- Обратитесь к своему валидатору**за более персонализированными отчетами.
Если вам нужны подробные записи для налоговой отчетности, лучшим выбором может бытьиндивидуальный запросс помощью API Sui или обратиться кпоставщикам данных, специфичным для SUI.
ИспользуйтеSui CLIилиNode RPCдля получения наград за каждую эпоху:
1.Команда CLI:
sui client staked-sui --address YOUR_ADDRESS
Показывает сведения о ставках, включая разбивку по эпохам.
2.Запрос RPC:
Позвоните, указав suix_getStakes
свой адрес, чтобы получить структурированные данные о вознаграждениях.
Альтернатива:
- Экспорт истории транзакций из обозревателей (фильтрация по
StakeReward
событиям).
Примечание: Налоговые инструменты, такие какKoinly, могут автоматически рассчитать эту сумму при синхронизации кошелька.
- (Вознаграждения рассчитываются по эпохам, но часто агрегируются в пользовательских интерфейсах — необработанные данные доступны через API. ) *
Исследователи блоков Sui (Suivision, Suiscan) в настоящее время показывают общее количество вознаграждений за ставки, но не разбивку по эпохам.
Чтобы получать награды от эпохи к эпохе, выполните следующие действия:
- Используйте APISui API(
sui_getStakingRewards
) с собственным скриптом:
curl -X POST https://fullnode.mainnet.sui.io \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "sui_getStakingRewards",
"id": 1,
"params": ["<your_address>"]
}'
Это возвращает наградысгруппированные по эпохам.
- Проанализируйте ответ: каждая запись включает налоговую отчетность
epoch
иamount
позволяет отслеживать налоговую отчетность за каждую эпоху.
В качестве альтернативы используйте SDKSui TypeScript:
const rewards = await suiClient.getStakingRewards({ owner: address });
// Returns array of { epoch: number, amount: bigint }
Эти данные объединены в цепочку и являются неизменными — создайте скрипт для их экспорта в CSV. Пока ни один сторонний инструмент не предоставляет такую возможность в исходном виде.
Используйте APISui RPC API(suix_getStakes
) для получения наград за каждую эпоху.
#####1. Запрос через CLI
sui client call \
--function get_stakes \
--package 0x3 \
--module sui_system \
--args 0xYOUR_STAKED_SUI_ID \
--gas-budget 10000000
####2. Пример машинописного текста
import { SuiClient } from '@mysten/sui.js/client';
const client = new SuiClient({ url: 'https://fullnode.mainnet.sui.io' });
const stakes = await client.getStakes({ owner: '0xYOUR_ADDRESS' });
// Extract rewards by epoch
stakes.forEach((stake) => {
stake.stakes.forEach((stakedSui) => {
console.log('Epoch:', stakedSui.requestEpoch);
console.log('Rewards:', stakedSui.estimatedReward);
});
});
###Ключевые примечания
-** requestEpoch
: эпоха, когда ставка была активна.
- estimatedReward
**: награды, полученные в ту эпоху.
-Налоговый совет: суммируйте вознаграждение за каждую эпоху, полученную от выручки.
###Способ 1: использование интерфейса командной строки Sui
# 1. First, get your staked SUI object IDs
sui client objects --json --query '{"matchAll": [{"StructType": "0x3::staking_pool::StakedSui"}]}' | jq '.[].objectId'
# 2. Fetch rewards per epoch for each staked object
sui client call --package 0x3 --module staking_pool --function get_stakes \
--args <STAKED_SUI_OBJECT_ID> --json | jq '.effects.events[] | select(.stakingPoolEvent)'
Это возвращает суммы вознаграждения в виде эпохальных номеров.
###Метод 2: программный (TypeScript)
import { SuiClient } from '@mysten/sui.js/client';
const client = new SuiClient({ url: 'https://fullnode.mainnet.sui.io' });
async function getEpochRewards(stakedSuiId: string) {
const { data } = await client.queryEvents({
query: {
MoveEventType: '0x3::staking_pool::StakingRewardsDistributedEvent'
},
cursor: null,
limit: 100
});
return data.filter(event => event.parsedJson.staked_sui_id === stakedSuiId);
}
###Способ 3: использование SuiVision (расширенный просмотр)
- Перейдите на страницу Подразделение
- Подключите свой кошелек
- Перейдите в раздел «Ставки» → «История»
- Нажмите «Необработанные данные», чтобы увидеть сведения на уровне эпох
###Метод 4: прямой вызов RPC
curl -X POST https://fullnode.mainnet.sui.io \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "suix_queryEvents",
"params": [{
"MoveEventType": "0x3::staking_pool::StakingRewardsDistributedEvent"
}, null, 100, false],
"id": 1
}' | jq '.result.data[] | select(.parsedJson.staked_sui_id == "<YOUR_STAKED_OBJECT_ID>")'
Чтобы получить разбивку заработанных ставок по эпохам, запросите конечную точку Sui RPC, sui_getEvents
отфильтрованную по StakeReward
типу события и адресу вашего стейкера. В StakeReward
турнирах указаны номер эпохи и сумма вознаграждения за каждое распределение. Поскольку награды начисляются только после отмены ставок, необходимо отделить исторические события от 0x3::sui_system::StakeReward
типа события и сгруппировать их по эпохам. Используйте Sui TypeScript SDK для автоматизации поиска и анализа данных. В настоящее время обозреватели блоков не предоставляют разбивки по эпохам, поэтому требуется ручная обработка событий.
��ольшинство исследователей (Suivision, Suiscan) показывают только общую сумму наград, а не за каждую эпоху.
Опции:
-
Ручное отслеживание Записывайте сумму ставки в начале и в конце каждой эпохи → рассчитывайте вознаграждение = конец — начало.
-
Используйте RPC или индексатор Расширенный вариант. Запросите SUI_GetStakes, SUI_Getepochs или создайте собственный индексатор для отслеживания изменений.
-
Настраиваемый скрипт (рекомендуется) Я могу помочь вам написать скрипт Python для получения наград за каждую эпоху и экспорта в CSV.
В настоящее время выне можете получать награды за каждую эпохунепосредственно с помощью встроенных RPC или Explorer, таких как Suivision или SuisScan. Они показывают только суммарные награды. suix_getStakes
RPC suix_getStakesByIds``stakeRequestEpoch
позволяет вам получать каждую ставку, stakeActiveEpoch``estimatedReward
основную сумму и, но награды не разбиты по эпохам ([QuickNode] [1]).
Чтобы получить подробную разбивку по эпохам, вам необходимо реализовать собственную логику индексации:
Для начала позвонитеsuix_getStakes
, чтобы узнать идентификаторы ставок и основные сведения. Затем восстановите заработанные награды за каждую эпоху, сравнив баланс ставок между эпохами или пересмотрев распределение вознаграждений за каждую эпоху, используя известный рост субсидий по ставкам и вознаграждений по пулам.
Вы также можете использовать API GraphQL для запроса в Epoch.totalStakeRewards
поле, чтобы узнать, сколько всего вознаграждений было распределено по сети в каждую эпоху ([Sui Documentation] [2]).
Создав индексатор, который считывает новые контрольные точки или события в каждую эпоху, отслеживает активную сумму вашей ставки и сопоставляет ее с долей субсидий за ту или иную эпоху, вы сможете составить разбивку вознаграждений за каждую эпоху, подходящую для налоговой отчетности или аудита.
Вкратце: не существует стандартного RPC для вознаграждений за каждую эпоху, поэтому вам придется самостоятельно вычислять их с помощью отслеживания ставок и метаданных по эпохам. Сообщите мне, если вам нужна помощь в разработке индексатора Rust или TS для его расчета.
[1]: https://www.quicknode.com/docs/sui/suix_getStakes?utm_source=chatgpt.com «Метод Suix_GetStakes RPC | Документация Sui — QuickNode» [2]: https://docs.sui.io/references/sui-api/sui-graphql/reference/types/objects/epoch?utm_source=chatgpt.com «Эпоха | Документация Sui»
К сожалению, в настоящее время невозможно представить разбивку вознаграждений за ставки по эпохам. Текущие платформы предоставляют только общую сумму заработанных на сегодняшний день вознаграждений без подробного описания распределения по разным эпохам.
Знаете ответ?
Пожалуйста, войдите в систему и поделитесь им.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Заработай свою долю из 1000 Sui
Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.
- Почему BCS требует точного порядка полей для десериализации, когда структуры Move содержат именованные поля?65
- Как максимизировать прибыль, держа SUI: стейкинг и ликвидный стейкинг515
- «Ошибки проверки нескольких источников» в публикациях модуля Sui Move — автоматическое устранение ошибок55
- Ошибка Sui Move — невозможно обработать транзакцию Не найдено действительных газовых монет для транзакции419
- Сбой транзакции Sui: объекты, зарезервированные для другой транзакции410