Full API Reference

Full API Reference

Complete reference of all Hologram API methods. These are Go methods exposed to the frontend via Wails bindings.

Navigation

Navigate(scid string) map[string]interface{}
GoBack() map[string]interface{}
GoForward() map[string]interface{}
Reload() map[string]interface{}
FetchSCID(scid string) map[string]interface{}
FetchByDURL(durl string) map[string]interface{}

Wallet

OpenWallet(filePath, password string) map[string]interface{}
CloseWallet() map[string]interface{}
CreateWallet(filePath, password string) map[string]interface{}
RestoreWallet(filePath, password, seed string) map[string]interface{}
SwitchWallet(filePath, password string) map[string]interface{}
GetWalletStatus() map[string]interface{}
GetBalance() map[string]interface{}
GetAddress() map[string]interface{}
GetTransactionHistory(limit int) map[string]interface{}
// Coinbase transactions visible in GetTransactionHistory

Developer Support (EPOCH)

SetDevSupportEnabled(enabled bool) map[string]interface{}
IsDevSupportEnabled() bool
GetDevSupportStatus() map[string]interface{}
GetDevSupportStats() map[string]interface{}
SetEpochEnabled(enabled bool) map[string]interface{}  // Legacy alias
IsEpochEnabled() bool
IsEpochActive() bool
GetEpochStats() map[string]interface{}
SetEpochConfig(maxHashes, maxThreads int) map[string]interface{}
HandleEpochRequest(hashes int, appSCID string) map[string]interface{}
InitializeEpoch() map[string]interface{}
ShutdownEpoch() map[string]interface{}
GetEpochDeveloperAddress() string

Gnomon

StartGnomon() map[string]interface{}
StopGnomon() map[string]interface{}
GetGnomonStatus() map[string]interface{}
GetDiscoveredApps() map[string]interface{}
SearchApps(query string) map[string]interface{}
GetAppDetails(scid string) map[string]interface{}
GetAppRating(scid string) map[string]interface{}
GetNameSuggestions(prefix string) map[string]interface{}

Gnomon Tagging & Classification (v6.3)

// Tag queries
GetAllTags() map[string]interface{}
GetSCIDsByTag(tag string) map[string]interface{}
GetTagStats() map[string]interface{}
 
// Class queries
GetAllClasses() map[string]interface{}
GetSCIDsByClass(class string) map[string]interface{}
GetSCIDMetadata(scid string) map[string]interface{}
 
// TELA apps with tags
GetTELAAppsWithTags() map[string]interface{}
 
// Rebuild index
RebuildTagIndex() map[string]interface{}

Gnomon Historical Queries (v6.3)

// Timeline queries
GetSCIDTimeline(scid string) map[string]interface{}
GetSCIDStateAtHeight(scid string, height int64) map[string]interface{}
CompareSCIDHeights(scid string, height1, height2 int64) map[string]interface{}
 
// History management
GetHistoryStats() map[string]interface{}
SetMaxSnapshots(max int) map[string]interface{}
ClearSCIDHistory(scid string) map[string]interface{}
ClearAllHistory() map[string]interface{}

Gnomon WebSocket API (v6.3)

StartGnomonWSServer(address string) map[string]interface{}
StopGnomonWSServer() map[string]interface{}
GetGnomonWSStatus() map[string]interface{}

Explorer

GetBlock(height int64) map[string]interface{}
GetBlockByHash(hash string) map[string]interface{}
GetTransaction(txid string) map[string]interface{}
GetTransactionExtended(txid string) map[string]interface{}
GetCoinbaseMiner(txid string) map[string]interface{}
GetBlockchainStats() map[string]interface{}
GetRecentBlocks(count int) map[string]interface{}
GetMempoolTransactions() map[string]interface{}
GetSCInfo(scid string) map[string]interface{}

Proof Validation

ValidatePayloadProofAmount(amount uint64) error
ValidatePayloadProofAmountWithContext(amount uint64) map[string]interface{}
DetectSuspiciousProofPatterns(amount uint64) []string

XSWD

ConnectXSWD() map[string]interface{}
DisconnectXSWD() map[string]interface{}
CallXSWD(methodJSON string) map[string]interface{}
GetXSWDStatus() map[string]interface{}
SubscribeToBlockEvents() map[string]interface{}
SubscribeToWalletEvents() map[string]interface{}

Enhanced Explorer

ResolveDeroName(name string) map[string]interface{}
GetNameForAddress(address string) map[string]interface{}
GetTokenPortfolio() map[string]interface{}
CreatePaymentRequest(amount uint64, comment string) map[string]interface{}
DecodeIntegratedAddress(addr string) map[string]interface{}
EstimateSCGas(scid, entrypoint string, args []map) map[string]interface{}
InvokeSCFromExplorer(scid, entrypoint string, args []map, deposit uint64) map[string]interface{}

Smart Contract Function Interactor (v6.3)

// Parse SC code to discover callable functions
ParseSCFunctions(scid string) map[string]interface{}
 
// Invoke SC function with auto-generated params
InvokeSCFunction(paramsJSON string) map[string]interface{}
 
// Deploy new smart contract to mainnet
InstallSmartContract(code string, anonymous bool) map[string]interface{}

Time Travel

CaptureSCState(scid string) map[string]interface{}
GetSCStateAtHeight(scid string, height uint64) map[string]interface{}
CompareSCStateAtHeights(scid string, from, to uint64) map[string]interface{}
GetSCStateHistory(scid string) map[string]interface{}
GetSCChangeTimeline(scid string) map[string]interface{}
WatchSmartContract(scid, name string) map[string]interface{}
UnwatchSmartContract(scid string) map[string]interface{}
GetWatchedSmartContracts() map[string]interface{}
RefreshWatchedSCs() map[string]interface{}

Offline Cache

PrefetchApp(scid string) map[string]interface{}
GetCachedApps() map[string]interface{}
IsAppCachedOffline(scid string) map[string]interface{}
RemoveCachedApp(scid string) map[string]interface{}
GetOfflineCacheStats() map[string]interface{}
ClearOfflineCache() map[string]interface{}
SetOfflineCacheEnabled(enabled bool) map[string]interface{}
SetOfflineCacheMaxSize(bytes int64) map[string]interface{}

Developer Support Stats

Developer Support statistics are available via:

GetDevSupportStats() map[string]interface{}  // Total hashes, miniblocks, uptime
GetEpochStats() map[string]interface{}       // Current session stats

Simulator

StartSimulatorMode() map[string]interface{}
StopSimulatorMode() map[string]interface{}
GetSimulatorStatus() map[string]interface{}
IsSimulatorReady() map[string]interface{}
ResetSimulator() map[string]interface{}
MineSimulatorBlocks(count int) map[string]interface{}
GenerateTestDERO(targetBalance uint64) map[string]interface{}
GetSimulatorMiningStats() map[string]interface{}
CreateSimulatorWallet() map[string]interface{}
OpenSimulatorWallet() map[string]interface{}
CloseSimulatorWallet() map[string]interface{}
GetSimulatorWalletStatus() map[string]interface{}
DeployToSimulator(code string) map[string]interface{}
PreviewTELAApp(appJSON string) map[string]interface{}
QuickDeployFile(name, content, docType string) map[string]interface{}
BatchDeployToSimulator(codesJSON string) map[string]interface{}
EstimateSimulatorGas(docJSON string) map[string]interface{}
IsInSimulatorMode() bool
GetSimulatorDeploymentInfo() map[string]interface{}

Local Development Server

StartLocalDevServer(directory string) map[string]interface{}
StopLocalDevServer() map[string]interface{}
GetLocalDevServerStatus() map[string]interface{}
RefreshLocalDevServer() map[string]interface{}

Node Management

StartNode(config map[string]interface{}) map[string]interface{}
StopNode() map[string]interface{}
GetNodeStatus() map[string]interface{}
DownloadDerodFromGitHub() map[string]interface{}
GetGetWorkEndpoint() map[string]interface{}

Content Filtering

SetFilterConfig(config map[string]interface{}) map[string]interface{}
GetFilterConfig() map[string]interface{}
GetFilterHistory(limit int) map[string]interface{}
ShouldAllowApp(appInfo map[string]interface{}) map[string]interface{}

NRS Cache

GetNRSCacheStats() map[string]interface{}
GetAllCachedNames() map[string]interface{}
InvalidateNRSCache() map[string]interface{}

Settings

GetSettings() map[string]interface{}
UpdateSettings(settings map[string]interface{}) map[string]interface{}
GetRecentWallets() map[string]interface{}
ClearRecentWallets() map[string]interface{}

Events

Hologram emits these events to the frontend:

EventDescription
status:update5-second status broadcast (node, wallet, gnomon, miner)
localdev:reloadFile changed in local dev server
xswd:connectionXSWD connection state changed
wallet:balanceWallet balance updated
miner:statsMining statistics updated
gnomon:progressGnomon indexing progress

Response Format

All API methods return a map with standard fields:

{
    "success": bool,      // Operation succeeded
    "error":   string,    // Error message if success=false
    "data":    interface{} // Result data if success=true
    // Plus method-specific fields
}

Unit Test Coverage

Test FileTestsBenchmarksCoverage Area
miner_manager_test.go134CPU mining lifecycle
epoch_handler_test.go174EPOCH requests, rate limiting
mining_analytics_test.go203Graviton storage, stats
cache_optimizer_test.go203LRU cache, eviction
xswd_permissions_test.go284Permission types, persistence
blockchain_test.go246TELA assembly, gzip
wallet_test.go333Wallet operations
xswd_server_test.go245JSON-RPC protocol
daemon_client_test.go458RPC client
gnomon_test.go284Indexer operations
proof_validation_test.go204Proof validation
Total27248

Run tests:

cd /path/to/HOLOGRAM-git
go test -v -count=1        # Run all tests
go test -bench=. -benchmem # Run benchmarks