* Elide long config paths in the node view instead of wrapping The User Config path is a long absolute path with no spaces, so Text.WordWrap can't break it cleanly and it overflows the status row. Switch both the User Config and Deployment Config labels to Text.ElideMiddle so the path truncates in the middle — keeping the leading directories and the file name visible — and the row keeps its height. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Add spacing between the User/Deployment config rows Drop the negative topMargin that pulled the two config lines together and give the column a small spacing so they don't read as cramped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Alisher <xAlisher@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
logos-blockchain-ui
A QML + C++ backend UI module for the Logos platform that provides a graphical interface to control and monitor the Logos blockchain node.
Built with logos-module-builder using the mkLogosQmlModule pattern (QML frontend + C++ backend with Qt Remote Objects).
Features
- Start/Stop blockchain node
- Configure node parameters (config path, deployment)
- Check wallet balances
- Monitor node status and information
- Account management
Standalone App Quickstart
- Build and run the app:
nix run
- Generate a new config using initial peers from the live testnet. See the ⚙️ Initialize Your Node section of the latest release notes
Note that what's shown in the release document is a CLI command. For the UI's "Initial peers" field, strip everything but the peer addresses themselves (no quotes, brackets, or commas) and paste one per line.
Like so:
/ip4/203.0.113.10/udp/3000/quic-v1/p2p/12D3KooWh82pJGF9p7kpzb6eU326EFZf2cDnimbTFVeJtx1qtBmU /ip4/203.0.113.10/udp/3001/quic-v1/p2p/12D3KooWNJAEqN76R7PwPfHt3oWb8R6cKvhgyxQdDn53jFrK6wFx /ip4/203.0.113.10/udp/3002/quic-v1/p2p/12D3KooW7RJWhvQBQPEjJmki5fhBboGBWRJhmcFkMvrr4Fu3tMSJ /ip4/203.0.113.10/udp/3003/quic-v1/p2p/12D3KooW5EdynMEiYSyiWAH9GpcbHpeUzeSQF9ZY6q4x8AhBskUf
- Start the node and let it sync. Track progress:
watch -n1 'curl -s localhost:8080/cryptarchia/info'
Compare the height with the block explorer.
-
Request funds from the faucet — copy one of the keys from the UI and paste it there.
-
Once synced, refresh your balance to see your funds.
Leaving the node running for ~3.5 hours allows your tokens to age and become eligible for consensus participation (automatic).
For a video walkthrough, see this recording.
How to Run
Standalone (recommended for development)
# Run directly
nix run
# With local workspace overrides
nix run --override-input liblogos_blockchain_module path:../logos-blockchain-module \
--override-input liblogos_blockchain_module/logos-module-builder path:../logos-module-builder
In Basecamp
# Build LGX
nix build .#lgx
# Install into Basecamp's plugin directory
lgpm --ui-plugins-dir ~/Library/Application\ Support/Logos/LogosBasecampDev/plugins \
install --file result/*.lgx
Or from the workspace:
ws bundle logos-blockchain-ui --auto-local
Build Targets
nix build # default — combined plugin + QML output
nix build .#lgx # .lgx package for distribution
nix build .#install # lgpm-installed output (modules/ + plugins/)
nix run # standalone app with blockchain module
nix develop # enter development shell
Module Structure
logos-blockchain-ui/
├── flake.nix # mkLogosQmlModule
├── metadata.json # Module config (ui_qml type)
├── CMakeLists.txt # logos_module() macro
└── src/
├── BlockchainBackend.rep # RemoteObject interface
├── BlockchainBackend.h/cpp # Business logic (extends BlockchainBackendSimpleSource)
├── BlockchainPlugin.h/cpp # Thin plugin entry point
├── BlockchainPluginInterface.h # Plugin interface marker
├── AccountsModel.h/cpp # QAbstractListModel for accounts
├── LogModel.h/cpp # QAbstractListModel for logs
└── qml/
└── BlockchainView.qml # QML frontend (+ sub-views)
Configuration
Blockchain Node Configuration
- Via UI: Enter the config path in the "Config Path" field
- Via Environment Variable: Set
LB_CONFIG_PATHto your configuration file path
QML Hot Reload
During development, set the environment variable to load QML from disk:
export BLOCKCHAIN_UI_QML_PATH=/path/to/logos-blockchain-ui/src/qml
Dependencies
| Dependency | Purpose |
|---|---|
| Qt6 Core, Gui, RemoteObjects, Declarative | UI framework + IPC |
logos-module-builder |
Build system (mkLogosQmlModule) |
logos-blockchain-module |
Blockchain backend module |
Related Repositories
| Repository | Role |
|---|---|
logos-blockchain-module |
Blockchain backend — this UI's required dependency |
logos-module-builder |
Module build system |
logos-liblogos |
Logos Core platform |