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 GetTransactionHistoryDeveloper 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() stringGnomon
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) []stringXSWD
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 statsSimulator
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:
| Event | Description |
|---|---|
status:update | 5-second status broadcast (node, wallet, gnomon, miner) |
localdev:reload | File changed in local dev server |
xswd:connection | XSWD connection state changed |
wallet:balance | Wallet balance updated |
miner:stats | Mining statistics updated |
gnomon:progress | Gnomon 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 File | Tests | Benchmarks | Coverage Area |
|---|---|---|---|
miner_manager_test.go | 13 | 4 | CPU mining lifecycle |
epoch_handler_test.go | 17 | 4 | EPOCH requests, rate limiting |
mining_analytics_test.go | 20 | 3 | Graviton storage, stats |
cache_optimizer_test.go | 20 | 3 | LRU cache, eviction |
xswd_permissions_test.go | 28 | 4 | Permission types, persistence |
blockchain_test.go | 24 | 6 | TELA assembly, gzip |
wallet_test.go | 33 | 3 | Wallet operations |
xswd_server_test.go | 24 | 5 | JSON-RPC protocol |
daemon_client_test.go | 45 | 8 | RPC client |
gnomon_test.go | 28 | 4 | Indexer operations |
proof_validation_test.go | 20 | 4 | Proof validation |
| Total | 272 | 48 |
Run tests:
cd /path/to/HOLOGRAM-git
go test -v -count=1 # Run all tests
go test -bench=. -benchmem # Run benchmarks