Skip to main content

getLatestBlockhash

Fetches the most recent, valid blockhash from the Solana cluster. A blockhash is required when creating a transaction. It serves as a timestamp and a proof-of-work, ensuring that a transaction is not processed after a certain point in time, which prevents attacks like double-spending.

Every transaction must include a valid recent_blockhash.

Parameters

This function takes no parameters.

Return Value

  • String: If successful, returns the latest blockhash as a Base58 encoded string. Returns an empty String on failure.

Example Code (main.cpp)

#include <Arduino.h>
#include <WiFi.h>
#include "Infratic-lib.h"

// --- WiFi Settings ---
const char* WIFI_SSID = "YOUR_WIFI_SSID";
const char* WIFI_PASSWORD = "YOUR_WIFI_PASSWORD";

// --- Solana Settings ---
const String SOLANA_RPC_URL = "[https://api.devnet.solana.com](https://api.devnet.solana.com)";
Infratic solana(SOLANA_RPC_URL);

void setup() {
Serial.begin(115200);
delay(1000);

// Connect to WiFi
Serial.print("Connecting to WiFi...");
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\n✅ WiFi connected!");

Serial.println("\n=== Get Latest Blockhash Example ===");

String blockhash = solana.getLatestBlockhash();
if (!blockhash.isEmpty()) {
Serial.println("✅ Latest Blockhash: " + blockhash);
} else {
Serial.println("❌ Failed to get blockhash.");
}
}

void loop() {
// Can be left empty
}