Skip to content

Latest commit

 

History

History
82 lines (63 loc) · 1.74 KB

README.md

File metadata and controls

82 lines (63 loc) · 1.74 KB

hemictl

The hemictl command is a generic tool to script commands to various daemons.

Usage

hemictl <daemon> <action> [json parameters]

Components

  • daemon: Determines the default URI hemictl connects to (e.g., bss connects to ws://localhost:8081/v1/ws)
  • action: Specifies which command will be called (e.g., ping)
  • parameters: JSON encoded parameters for the action (e.g., {"timestamp":1})

Environment Variables

  • LOGLEVEL: Sets the logging level (e.g., INFO, DEBUG)
  • PGURI: Override database connection URI for database operations
  • HEMI_URI: Override default daemon URI (format: ws://host:port/v1/ws)

Examples

Basic Ping Command

hemictl bss ping '{"timestamp":1}'

Response:

{
    "origintimestamp": 1,
    "timestamp": 1701091119
}

Error Handling Example

hemictl bss l1tick '{"l1_height":0}'

Response:

{
    "error": {
        "timestamp": 1701091156,
        "trace": "804d952f893e686c",
        "error": "L1 tick notification with height zero"
    }
}

Database Operations

hemictl provides direct access to the storage layer, currently supporting PostgreSQL.

Check Database Version

hemictl bfgdb version

Response:

{"bfgdb_version":1}

Custom Database Connection

LOGLEVEL=INFO PGURI="user=username password=secretpassword database=bfgdb" hemictl bfgdb version

Error Handling

The tool provides detailed error messages with:

  • Timestamp of the error
  • Trace ID for debugging
  • Human-readable error message

Notes

  • Always ensure proper JSON formatting in parameters
  • Use appropriate environment variables for production deployments
  • Check logs when troubleshooting failed commands