Skip to content

logos-blockchain/logos-blockchain-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logos-blockchain-ui-new

A Qt UI plugin for the Logos Blockchain Module, providing a graphical interface to control and monitor the Logos blockchain node.

Features

  • Start/Stop blockchain node
  • Configure node parameters (config path, deployment)
  • Check wallet balances
  • Monitor node status and information

How to Build

Using Nix (Recommended)

Build Complete UI Plugin

# Build everything (default)
nix build

# Or explicitly
nix build '.#default'

The result will include:

  • /lib/blockchain_ui.dylib (or .so on Linux) - The Blockchain UI plugin

Build Individual Components

# Build only the library (plugin)
nix build '.#lib'

# Build the standalone Qt application
nix build '.#app'

Development Shell

# Enter development shell with all dependencies
nix develop

Note: In zsh, you need to quote the target (e.g., '.#default') to prevent glob expansion.

If you don't have flakes enabled globally, add experimental flags:

nix build --extra-experimental-features 'nix-command flakes'

The compiled artifacts can be found at result/

Running the Standalone App

After building the app with nix build '.#app', you can run it:

# Run the standalone Qt application
./result/bin/logos-blockchain-ui-app

The app will automatically load the required modules (capability_module, liblogos_blockchain_module) and the blockchain_ui Qt plugin. All dependencies are bundled in the Nix store layout.

Nix Organization

The nix build system is organized into modular files in the /nix directory:

  • nix/default.nix - Common configuration (dependencies, flags, metadata)
  • nix/lib.nix - UI plugin compilation
  • nix/app.nix - Standalone Qt application compilation

Output Structure

When built with Nix:

Library build (nix build '.#lib'):

result/
└── lib/
    └── blockchain_ui.dylib    # Logos Blockchain UI plugin

App build (nix build '.#app'):

result/
├── bin/
│   ├── logos-blockchain-ui-app    # Standalone Qt application
│   ├── logos_host                 # Logos host executable (for plugins)
│   └── logoscore                  # Logos core executable
├── lib/
│   ├── liblogos_core.dylib        # Logos core library
│   ├── liblogos_sdk.dylib         # Logos SDK library
│   └── Logos/DesignSystem/        # QML design system
├── modules/
│   ├── capability_module_plugin.dylib
│   ├── liblogos_blockchain_module.dylib
│   └── liblogos_blockchain.dylib
└── blockchain_ui.dylib            # Qt plugin (loaded by app)

Configuration

Blockchain Node Configuration

The blockchain node can be configured in two ways:

  1. Via UI: Enter the config path in the "Config Path" field
  2. Via Environment Variable: Set LB_CONFIG_PATH to your configuration file path

Example configuration file can be found in the logos-blockchain-module repository at config/node_config.yaml.

QML Hot Reload

During development, you can enable QML hot reload by setting an environment variable:

export BLOCKCHAIN_UI_QML_PATH=/path/to/logos-blockchain-ui/src/qml

This allows you to edit the QML file and see changes by reloading the plugin without recompiling.

About

Blockchain UI app for Logos Core

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published