Publicación
Comparte tu conocimiento.
¿Cómo obtener un desglose de las recompensas de apuestas ganadas por época?
He estado intentando encontrar una forma de obtener un desglose detallado de las recompensas de las apuestas que he ganado en cada época. He comprobado plataformas como Suivision y Suiscan, pero solo muestran el total de recompensas acumuladas hasta el momento. ¿Hay alguna forma de ver las recompensas de cada época? Muchas personas, entre las que me incluyo, necesitamos esto para presentar sus impuestos.
- Sui
Respuestas
15Para obtener un desglose de las recompensas de las apuestas ganadas por época en la red Sui, es probable que tengas que confiar directamente en los datos de la red Sui, ya que es posible que plataformas como Suivision y Suiscan no ofrezcan este desglose detallado. Estas son algunas de las posibles maneras de acceder a la información sobre las recompensas según la época:
1.API de datos de Sui Blockchain
- Sui proporciona una API que se puede consultar para obtener datos históricos, incluidas las recompensas de las apuestas. Puedes usarla para hacer un seguimiento de las recompensas ganadas por época consultando datos de apuesta específicos.
- Consulta el JSON-RPC de Sui o la API Sui Explorer para ver los puntos finales relacionados con las recompensas (si están disponibles). *Ejemplo de consulta (hipotético): busca puntos finales que ofrezcan recompensas apostadas por validador o recompensas por época. Es posible que tengas que filtrar los datos por dirección y época.
2.La CLI de Sui para reponer datos
La CLI de Sui puede proporcionar información detallada sobre las apuestas, incluidas las recompensas de las apuestas. Puedes usar la CLI para consultar el saldo de tus apuestas, las recompensas y los detalles de la época.
sui client query --address <your-address> --staking-rewards
Esto arrojaría detalles relacionados con las apuestas, pero es posible que tengas que agregar los datos manualmente o mediante secuencias de comandos para desglosarlos por época.
3.Scripts o bots personalizados
Si estás familiarizado con la programación, puedes escribir un script (en Python, por ejemplo) para agregar los datos de recompensas de las API de Sui o de un explorador de cadenas de bloques como Suiscan. Este script podría obtener las recompensas de las apuestas por época y proporcionarte un desglose detallado.
Pasos para un guion personalizado:
- Usa la
Sui SDK
API de Sui o cualquier otra disponible para recuperar los datos de las recompensas apostadas. - Filtra por época y suma las recompensas de cada época.
- Guarda los resultados en un formato adecuado para la declaración de impuestos (p. ej., CSV, JSON).
4.Proveedores de datos de terceros
Si Suivision y Suiscan no ofrecen esta función, es posible que desees comprobar si hay otras plataformas de terceros o herramientas del ecosistema de Sui. Es posible que algunas plataformas ofrezcan datos más detallados, como losexploradores de bloqueoso lasplataformas de apuestas, que proporcionan información detallada sobre el historial de recompensas.
5.API de nodo validador
Los validadores también pueden mostrar los datos de las recompensas de las apuestas que reciben sus usuarios por época. Algunos nodos de validación ofrecen paneles o API en los que puedes consultar las recompensas de delegaciones específicas, incluido el historial de recompensas por época.
Conclusión:
Si Suivision y Suiscan no ofrecen un desglose detallado por época, tendrás que usar las API o la CLI directas de Sui o escribir un script personalizado para extraer y procesar estos datos. Asegúrate de llevar un registro de estos datos a lo largo del tiempo, ya que pueden resultar útiles para la presentación de impuestos y la auditoría.
Para obtener un desglose detallado de las recompensas de apuestas ganadas por época, puedes consultar elpunto final del RPCde Sui suix_getStakes
con tu validador o dirección de apuesta, que muestra datos de recompensas por época. También puedes usar laAPI de Sui Explorer(https://explorer.sui.io/) o herramientas de terceros, comoSuiVision Analytics, para extraer el historial de distribuciones de recompensas. @mysten/sui.js``stakeStatus
Para el acceso mediante programación, elSui TypeScript SDK() puede analizar estos datos filtrando el campo de la respuesta. Si el objetivo es la presentación de informes fiscales, considera exportar los datos JSON sin procesar y procesarlos con un script que se adapte a tus necesidades contables.
Para obtener undesglose detallado de las recompensas de apuestas ganadas por épocaen la red Sui, tienes razón al decir que plataformas comoSuivisionySuiscansuelen mostrar solo el total de recompensas acumuladas. Lamentablemente, este tipo de información detallada no siempre está disponible en las plataformas públicas. Sin embargo, hay algunas maneras de abordar esto:
1.Consulte el panel de validación de Sui para ver las API
Sui tiene un panel de validación y API públicas que pueden proporcionar información más detallada sobre las recompensas que se apuestan, incluidos los desgloses por época. Algunos validadores de Sui incluyen API que permiten consultar datos como las recompensas por época. Es posible que necesites usar unnodo Suio acceder directamente a lasAPI Suipara obtener estos datos.
*Pasos para acceder a los datos de recompensas:
- Puedes comprobar si hay puntos finales de API disponibles que proporcionendetalles de recompensas específicos de cada épocapor parte de los validadores o nodos.
- Accede alSui Explorero a plataformas específicas para validadores, que pueden mostrar información adicional a través de sus API.
2.Uso de la CLI (interfaz de línea de comandos) de Sui
LaCLI de Suiofrece herramientas para interactuar con la cadena de bloques y puede proporcionar información más detallada sobre las recompensas apostadas. Puedes usar la CLI para obtener información sobre las recompensas de época, si están disponibles.
*Comando: puedes usar la sui
CLI para consultar la información sobre las apuestas. Aunque no ofrece un comando directo sobre las recompensas por época, puedes consultar tu historial de transacciones de apuesta o comprobar si hay eventos de apuesta vinculados a cada época.
Este es un ejemplo de cómo puedes obtener datos relacionados con las apuestas:
sui client query --gas-budget 10000 --query-type stake
Esto no proporcionará un desglose detallado por época directamente, pero con algunos filtros y secuencias de comandos, puede extraer los datos necesarios a lo largo del tiempo y agruparlos por época.
3.Utilice las herramientas de análisis de la cadena de bloques con las funciones de desglose de épocos
Algunas herramientas avanzadas de análisis de cadenas de bloques, comoNansenoDune Analytics, pueden permitirte extraer datos históricos de recompensas más detallados. Si bien es posible que estas plataformas no admitan Sui de forma predeterminada, puedes comprobar si ofrecenanálisis o consultas personalizadaspara Sui, especialmente si estás trabajando con grandes cantidades de datos sobre apuestas con fines fiscales.
4.Desglose manual según el historial de transacciones
*Método: Puedes inspeccionar manualmente las recompensas consultando las transacciones en las que has apostado y comprobando si las recompensas se han emitido en épocas específicas.
- Paracada transacción de apuesta, comprueba la fecha y correlaciónala con lastransiciones de época.
- Los datos de recompensas pueden estar vinculados a estas transacciones y números de época, y al exportarlos (desde Sui Explorer u otros exploradores), puedes calcular manualmente las recompensas ganadas en cada época.
5.Póngase en contacto con su validador
Algunos validadores o plataformas de apuestas de Sui pueden ofrecer informes detallados o realizar consultas personalizadas sobre las recompensas conseguidas por época, especialmente si tienes una participación importante.
Resumen:
Actualmente,SuiscanySuivisionno ofrecen un desglose directo de las recompensas según la epoca**, pero puedes conseguirlo de la siguiente manera:
- Accede a lasAPI del nodo Suipara obtener información detallada sobre las transacciones, incluidas las recompensas específicas de cada época.
- Usar laCLI de Suipara consultar los datos de las apuestas. *Plataformas de análisis de blockchain, comoNansenoDune, para crear informes personalizados. *Correlacionar manualmente las transacciones de estacadocon las transiciones de época. *Ponte en contacto con tu validadorpara obtener informes más personalizados.
Si necesitas registros detallados para la declaración de impuestos, lo mejor que puedes hacer es realizarconsultas personalizadasa través de las API de Sui o ponerte en contacto conproveedores de datos específicos de SUI.
UsaSui CLIoNode RPCpara conseguir recompensas por época:
1.Comando CLI:
sui client staked-sui --address YOUR_ADDRESS
Muestra los detalles de las apuestas, incluidos los desgloses por época.
2.Consulta RPC:
Llama suix_getStakes
con tu dirección para obtener datos estructurados sobre las recompensas.
Alternativa:
- Exporta el historial de transacciones de los exploradores (filtra por
StakeReward
eventos).
Nota: Las herramientas fiscales comoKoinlypueden calcularlo automáticamente si sincronizas tu monedero.
- (Las recompensas se basan en la época, pero a menudo se acumulan en la interfaz de usuario; los datos sin procesar están disponibles a través de la API. ) *
Los exploradores de bloques Sui (Suivision, Suiscan) muestran actualmente las recompensas totales de apuesta, pero no los desgloses por época.
Para conseguir recompensas época por época:
- Usa laSui API(
sui_getStakingRewards
) con un script personalizado:
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>"]
}'
Esto devuelve las recompensasagrupadas por época.
- Analice la respuesta: cada entrada incluye
epoch
yamount
, lo que permite el seguimiento por época para la declaración de impuestos.
También puedes usar elSui TypeScript:
const rewards = await suiClient.getStakingRewards({ owner: address });
// Returns array of { epoch: number, amount: bigint }
Estos datos están en cadena y son inmutables: cree un script para exportarlos a CSV. Ninguna herramienta de terceros proporciona esto de forma nativa todavía.
Usa laAPI Sui RPC(suix_getStakes
) para conseguir recompensas por época.
####1. Consulta mediante CLI
sui client call \
--function get_stakes \
--package 0x3 \
--module sui_system \
--args 0xYOUR_STAKED_SUI_ID \
--gas-budget 10000000
2. Ejemplo de TypeScript*
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);
});
});
###Notas clave
-** requestEpoch
: Época en la que la apuesta estaba activa.
- estimatedReward
**: Recompensas ganadas en esa época.
-Consejo fiscal: suma las recompensas obtenidas por época.
###Método 1: uso de la CLI 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)'
Esto devuelve los montos de recompensa con números de época.
###Método 2: Programático (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);
}
###Método 3: uso de SuiVision (vista avanzada)
- Ve a SuiVision
- Conecta tu billetera
- Navega hasta «Apuestas» → «Historial»
- Haga clic en «Datos sin procesar» para ver los detalles a nivel de época
###Método 4: llamada RPC directa
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>")'
Para obtener un desglose de las recompensas de las apuestas ganadas por época, consulta el punto final de Sui RPC y sui_getEvents
filtra por el StakeReward
tipo de evento y la dirección de tu apostador. Los StakeReward
eventos incluyen el número de época y el importe de la recompensa de cada distribución. Como las recompensas solo se desembolsan al desembolsarlas, debes analizar los eventos históricos según el 0x3::sui_system::StakeReward
tipo de evento y agruparlos por época. Usa el SDK Sui TypeScript para automatizar esta recuperación y análisis. Los exploradores de bloques actualmente no proporcionan desgloses por época, por lo que es necesario procesar los eventos de forma manual.
La mayoría de los exploradores (Suivision, Suiscan) solo muestran recompensas totales, no por época.
Opciones:
-
Seguimiento manual Registra el importe de tu apuesta al principio y al final de cada época → calcula la recompensa = final - principio.
-
Usa RPC o Indexer Opción avanzada. Consulta SUI_GetStakes, SUI_GetEpochs o crea un indizador personalizado para realizar un seguimiento de los cambios.
-
Script personalizado (recomendado) Puedo ayudarte a escribir un script de Python para obtener recompensas por época y exportarlo a CSV.
Actualmenteno puedes recuperar las recompensas de apuesta por épocadirectamente a través de un RPC o un explorador integrado, como Suivision o Suiscan, ya que solo muestran recompensas acumulables. Los RPC suix_getStakes
y suix_getStakesByIds
te permiten hacerte con cada apuesta, el stakeRequestEpoch``stakeActiveEpoch
capital y las recompensas, pero no desglosan las recompensas por época estimatedReward
([QuickNode] [1]).
Para obtener un desglose detallado por época, tendrás que implementar tu propia lógica de indexación:
Empieza por llamar suix_getStakes
para obtener tus identificadores de apuesta y lo básico. Después, reconstruye las recompensas ganadas en cada época comparando los saldos de las apuestas entre épocas o repitiendo la distribución de recompensas de cada época utilizando el conocido aumento de las bonificaciones de participación y las recompensas acumuladas.
También puedes usar la API de GraphQL para consultar el Epoch.totalStakeRewards
campo y ver cuántas recompensas totales se distribuyeron en toda la red durante cada época ([Documentación complementaria] [2]).
Al crear un indexador que lea los nuevos puntos de control o eventos en cada época, haga un seguimiento del importe activo de tu apuesta y lo correlacione con la cuota de subvención de la época, puedes compilar un desglose de las recompensas por época adecuado para la elaboración de informes fiscales o auditorías.
En resumen: no existe un RPC estándar para las recompensas por época, por lo que tendrás que calcularlo tú mismo mediante el seguimiento de las apuestas y los metadatos por época. Avísame si necesitas ayuda para diseñar un indexador de Rust o TS para calcularlo.
[1]: https://www.quicknode.com/docs/sui/suix_getStakes?utm_source=chatgpt.com «Método RPC Suix_getstakes | Sui Docs - QuickNode» [2]: https://docs.sui.io/references/sui-api/sui-graphql/reference/types/objects/epoch?utm_source=chatgpt.com «Documentación sobre Epoch | Sui»
Lamentablemente, por el momento, no se puede ver un desglose de las recompensas de apuesta por época. Las plataformas actuales solo proporcionan el total de recompensas ganadas hasta la fecha, sin detallar la distribución en las diferentes épocas.
Sabes la respuesta?
Inicie sesión y compártalo.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Gana tu parte de 1000 Sui
Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.
- ¿Por qué BCS requiere un orden de campo exacto para la deserialización cuando las estructuras Move tienen campos con nombre?65
- Cómo maximizar la retención de ganancias SUI: Sui Staking versus Liquid Staking515
- «Errores de verificación de múltiples fuentes» en las publicaciones del módulo Sui Move: resolución automática de errores55
- Error de movimiento: no se puede procesar la transacción No se han encontrado monedas de gasolina válidas para la transacción419
- Fallo en la transacción Sui: objetos reservados para otra transacción410