Есть ли способ получить номер блока Solana по DateTime?JAVA

Программисты JAVA общаются здесь
Anonymous
Есть ли способ получить номер блока Solana по DateTime?

Сообщение Anonymous »

Я хочу получить номер блока по временной метке, аналогично методу ethblockbytime , но я еще не нашел хорошего решения на Solana. Есть более удобный способ? < /P>
public BigInteger getSlotForTimestamp(long targetTimestamp) throws Exception {
RpcClient client = new RpcClient(SOLANA_RPC_URL);
RpcApi api = client.getApi();
long latestSlot = api.getSlot();
if (latestSlot == 0) {
throw new Exception("Failed to get the latest slot");
}
long latestBlockTime = api.getBlockTime(latestSlot);
long earliestSlot = 0;
if (targetTimestamp = latestBlockTime) {
return BigInteger.valueOf(latestSlot);
}
BigInteger left = BigInteger.valueOf(earliestSlot);
BigInteger right = BigInteger.valueOf(latestSlot);
BigInteger result = right;
while (left.compareTo(right) targetTimestamp) {
right = mid.subtract(BigInteger.ONE);
} else {
return mid;
}
}
return result;
}


Подробнее здесь: https://stackoverflow.com/questions/795 ... y-datetime

Вернуться в «JAVA»