Settings Reference

Settings Reference

Hologram's Settings page contains 14 configuration sections. This guide covers the key areas.

Settings Overview

SectionPurpose
GeneralTheme, language, startup options
NodeDaemon connection and embedded node
SimulatorOne-click development environment
TELA ServersManage running TELA content servers
Offline CacheLocal content caching settings
Sync ManagerBatch sync favorites for offline use
Safe BrowsingContent filtering and ratings
NetworkNetwork mode and connection settings
GnomonIndexer configuration and search filters
Connected AppsManage dApp permissions
Privacy ModeNetwork isolation controls
ConsoleReal-time application logs
Developer SupportEPOCH passive hashing
AboutVersion info and credits

TELA Server Manager

Manage TELA content servers running on your machine.

Active Servers

View all running TELA servers with:

  • Port: The port each server is running on
  • SCID/Path: What content is being served
  • Uptime: How long the server has been running

Server Controls

ActionDescription
ShutdownStop a specific server
Shutdown AllStop all running servers
Port StartSet starting port for new servers
Max ServersLimit concurrent servers

API Reference

// List all running servers
GetRunningServers() -> {
    servers: [
        { port: 8080, scid: "abc123...", uptime: "2h 15m" },
        ...
    ]
}
 
// Shutdown a specific server
ShutdownServer(port int) -> { success: true }
 
// Shutdown all servers
ShutdownAllServers() -> { success: true, count: 3 }
 
// Configure server limits
SetMaxServers(count int) -> { success: true }
SetPortStart(port int) -> { success: true }

TELA servers are started automatically when you browse dApps. Use this panel to manage them if you need to free up ports or resources.

Console

Real-time application logs for debugging and monitoring.

Features

  • Live Logs: See all application events in real-time
  • Auto-scroll: Automatically scrolls to newest entries
  • User Scroll Detection: Pauses auto-scroll when you scroll up
  • Copy Buttons: Quick copy last 25 or 50 log lines
  • Clear: Clear all logs (both UI and backend)

Log Levels

LevelColorDescription
INFOCyanNormal operations
WARNYellowPotential issues
ERRORRedErrors requiring attention
DEBUGGreyDetailed debugging info

Keyboard Shortcuts

  • Scroll Up: Pause auto-scroll, review history
  • Scroll to Bottom: Resume auto-scroll

API Reference

// Get recent logs
GetConsoleLogs() -> {
    logs: [
        { timestamp: "...", level: "INFO", message: "..." },
        ...
    ]
}
 
// Clear all logs
ClearConsoleLogs() -> { success: true }

Console logs are stored in memory and cleared on application restart. For persistent logs, check the application log file in your data directory.

Gnomon Configuration

Configure the Gnomon indexer for content discovery.

Auto-start

Toggle whether Gnomon starts automatically when Hologram launches.

SetGnomonAutostart(enabled bool) -> { success: true }
GetGnomonAutostart() -> { enabled: bool }

Status Indicator

The sidebar displays Gnomon sync status with a visual progress bar:

StateAppearanceDescription
SyncingCyan animated bar + percentageGnomon is catching up to chain tip
SyncedGreen bar at 100%Fully synchronized
OfflineRed dim bar + "OFF"Gnomon not running

The progress bar shows exact percentage (e.g., "42%") so you always know sync status at a glance. Click the Gnomon row to jump to Settings > Gnomon.

Resync Database

If Gnomon gets out of sync or corrupted:

  1. Click Resync Database
  2. Wait for reindexing to complete
  3. All TELA apps will be rediscovered
ResyncGnomon() -> { success: true, message: "Resyncing..." }

Fastsync Limitations

⚠️

Known Limitation: When using fastsync mode, Gnomon may not have complete historical data for SCIDs deployed before the sync started.

What this means:

  • Gnomon fastsync bootstraps quickly by skipping full block validation
  • However, it may miss historical SCID interaction data for older contracts
  • Newly discovered SCIDs work fine; historical queries may return incomplete results

Symptoms:

  • Version History shows fewer commits than expected
  • SC variable timeline missing early snapshots
  • Search results missing older apps

Workarounds:

  1. Full Resync — Click "Resync Database" to re-index from block 0 (slow but complete)
  2. Wait for upstream fix — The Gnomon addscid_toindex feature will allow on-demand historical indexing

Full resync from block 0 can take many hours or days depending on blockchain height. Only use if you need complete historical data.

Search Exclusions

Filter out specific SCIDs from search results:

  1. Find the Search Exclusions section
  2. Enter SCID or pattern to exclude
  3. Click Add

Excluded content won't appear in:

  • OmniSearch results
  • Discover tab
  • App suggestions

Min-Likes Filter

Set a minimum approval percentage for search results:

  • 0%: Show all apps
  • 50%: Show apps with majority approval
  • 80%: Show only highly-rated apps

Time Machine Watch List

Monitor smart contracts for state changes over time. The Watch List appears in Settings > Gnomon and shows all SCs you're tracking.

Watched SCs Panel

+--------------------------------------------------------------+
| ◎ WATCHED SMART CONTRACTS                      [Refresh All] |
+--------------------------------------------------------------+
| My Voting App                                                |
| abc123...xyz789  │  Since Jan 3  │  3 changes      [Unwatch] |
+--------------------------------------------------------------+
| Token Contract                                               |
| def456...uvw012  │  Since Jan 5  │  0 changes      [Unwatch] |
+--------------------------------------------------------------+
| 2 SCs being watched                                          |
+--------------------------------------------------------------+

Features

ActionDescription
Refresh AllCheck all watched SCs for changes and capture new snapshots
UnwatchRemove an SC from your watch list
Change CountNumber of times the SC has changed since you started watching
Since DateWhen you started watching the SC

Adding to Watch List

You can add SCs to your watch list from two places:

  1. Explorer SC Header — Click the Watch button next to the balance
  2. Time Machine Panel — Expand Time Machine section and click Watch

Watched SCs automatically capture state snapshots when changes are detected. View the full timeline in Explorer > Time Machine panel.

WebSocket Query API

Expose Gnomon's indexing data via WebSocket for external applications and TELA dApps.

The Gnomon WebSocket API allows external tools to query indexed blockchain data without embedding Gnomon themselves. This is useful for:

  • TELA dApps needing indexer access
  • External monitoring tools
  • Custom blockchain explorers
  • Automated trading bots

Enabling the WebSocket Server

  1. Navigate to Settings > Gnomon
  2. Find the Simple-Gnomon Features card
  3. Toggle WebSocket API to enable
  4. Optionally configure the port (default: auto-detect)
+----------------------------------------------------------+
|  [Zap] Simple-Gnomon Features                             |
+----------------------------------------------------------+
|  WebSocket API                                            |
|  Expose Gnomon queries via WebSocket for external apps    |
|                                                           |
|  [ON/OFF Toggle]  Port: [44400]  Status: Running          |
+----------------------------------------------------------+

API Reference

// Start the WebSocket server
StartGnomonWSServer(address) -> {
    success: bool,
    address: string,  // "127.0.0.1:44400"
    message: string,
}
 
// Stop the WebSocket server
StopGnomonWSServer() -> {
    success: bool,
    message: string,
}
 
// Check server status
GetGnomonWSStatus() -> {
    success: bool,
    running: bool,
    address: string,
    port: int,
}

WebSocket Protocol

Connect via WebSocket and send JSON-RPC 2.0 requests:

const ws = new WebSocket('ws://127.0.0.1:44400/gnomon');
 
ws.onopen = () => {
    ws.send(JSON.stringify({
        jsonrpc: '2.0',
        id: 1,
        method: 'GetAllTags',
        params: {}
    }));
};
 
ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    console.log(response.result); // { tags: ["tela", "g45", ...] }
};

Available Methods

MethodDescription
GetAllTagsList all classification tags
GetSCIDsByTagGet SCIDs matching a tag
GetSCIDMetadataGet metadata for a specific SCID
GetTagStatsGet tag distribution statistics
GetSCIDTimelineGet historical snapshots for an SC
GetSCIDStateAtHeightGet SC state at a specific height
GetDiscoveredAppsList all indexed TELA apps
SearchAppsSearch apps by name/description
⚠️

The WebSocket server only binds to localhost by default. For remote access, configure your firewall and use a secure tunnel.

Connected Apps

Manage permissions granted to TELA dApps.

Viewing Permissions

Each connected app shows:

  • App Name/Origin: The dApp identifier
  • Permissions: What access was granted
  • Last Used: When the app last made a request

Permission Types

PermissionDescription
read_addressView wallet address
read_balanceView wallet balance
read_historyView transaction history
signSign messages
transferSend DERO/tokens
sc_invokeCall smart contracts

Revoking Access

  • Revoke All: Remove all permissions for an app
  • Revoke Specific: Remove individual permissions
RevokeAppPermissions(origin string) -> { success: true }
RevokeAppPermission(origin, permission string) -> { success: true }
⚠️

Revoking permissions may break dApp functionality. The app will need to request permissions again on next use.

Advanced Node Options

For power users running the embedded node.

Fast Sync

Skip full block verification for faster initial sync:

SetNodeAdvancedConfig({
    fastSync: true,
    pruneHistory: 0
}) -> { success: true }
⚠️

Fast sync trades security for speed. Only use on trusted networks.

Pruning

Reduce disk usage by pruning old block data:

SettingDescription
0Keep all history (default)
1000Keep last 1000 blocks
10000Keep last 10000 blocks

Network Mode

Switch between networks without restarting:

NetworkPortUse Case
Mainnet10102Production
Simulator20000Development
SetNetworkMode(mode string) -> { success: true }
// mode: "mainnet", "simulator"

Hologram supports Mainnet and Simulator modes. Testnet support was removed to simplify the codebase—use Simulator for development and testing.

Keyboard Shortcuts

Global keyboard shortcuts available throughout Hologram:

ShortcutAction
Cmd/Ctrl + KFocus OmniSearch
Cmd/Ctrl + 1-5Switch tabs
Cmd/Ctrl + ,Open Settings
EscapeClose modals