Company logo
  • Empleos
  • Bootcamp
  • Acerca de nosotros
  • Para profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
    • Bootcamp
  • Para empresas
    • Inicio
    • Nuestro proceso
    • Planes
    • Pruebas
    • Nómina
    • Blog
    • Comercial
    • Calculadora

0

106
Vistas
How to get the Solana unix_timestamp on the front-end (in JavaScript)?

Solana Rust smart contracts have access to

solana_program::clock::Clock::get()?.unix_timestamp

which is seconds from epoch (midnight Jan 1st 1970 GMT) but has a significant drift from any real-world time-zone as a product of Solana's slowdowns over time. Many contracts factor in this unix timestamp when calculating reward amounts (notably Step Finance and therefore Gem Farm which reuses the logic). How can I reconstruct this Solana unix timestamp on the front-end in JavaScript without requiring any transaction / wallet signature? Calls to a Solana node RPC are fine.

7 months ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

You can use the getBlockTime endpoint from JSON RPC. First you'll need the highest slot using the getSlot. That would become:

const connection = new Connection('https://api.testnet.solana.com', 'processed');
const slot = await connection.getSlot();
const timestamp = await connection.getBlockTime(slot);

More info at https://docs.solana.com/developing/clients/jsonrpc-api#getblocktime and https://docs.solana.com/developing/clients/jsonrpc-api#getslot

7 months ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos