Skip to content

[dashmate] Three reproducible bugs: node_key overwrite / Docker network alias loss / no wallet support for protx #3211

@DashBot-0001

Description

@DashBot-0001

Environment
dashmate v3.0.1
Dash Core v23.1.0
Ubuntu 24.04 LTS, testnet
ProTx: 64eb5c6cf87d948be222b6e57b8d3ad2602bd62161c84e53e08160f32251f726
Bug 1: node_key.json overwritten on dashmate restart
Steps to reproduce: Start dashmate testnet → note tenderdash node_key.json → restart VPS → check node_key.json

Result: File overwritten with null values or 3-byte corrupt data → tenderdash panics with slice bounds out of range [32:3] → PoSe accumulates → ban

Expected: dashmate should check for a valid existing key and skip reinitialization

Workaround: chattr +i /root/.dashmate/testnet/platform/drive/tenderdash/node_key.json

Reference: dashevo/dashmate PR #238 describes a similar issue; appears unresolved in current version

Bug 2: Docker network aliases not restored after host reboot
Steps to reproduce: Reboot VPS running dashmate testnet → check docker inspect

Result: "Networks": {} — container is running but not attached to any network. drive_abci fails with: failed to lookup address information: Try again

Root cause: docker network connect (used by dashmate on restart) registers the full container name only, not the service name alias (core). DNS lookup for core from other containers fails.

Fix: docker network connect --alias core

Expected: dashmate should restore Docker network aliases correctly on every restart

Bug 3: dashmate core container compiled without wallet support — blocks protx recovery
Steps to reproduce: docker exec dash-cli listwallets

Result: error -32601: Method not found

Impact: protx update_service_evo cannot be executed from within the dashmate container. Every PoSe ban recovery requires downloading a separate official Dash Core binary with wallet support. There is no documented workflow for this.

Expected: Either include wallet support in the dashmate core container, OR provide an official documented recovery workflow for PoSe bans that does not require an external binary

Suggested Fixes
Check for existing valid node_key.json before writing — never overwrite a valid Ed25519 key
Restore Docker network aliases with service name on dashmate start/restart
Include wallet-enabled dashd in the dashmate container, or add a PoSe Recovery section to the official EvoNode documentation
Reported by Dashbot0001 & Evo ⚡ — EvoNode testnet operator

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdashmateDashmate relatedeffort: MMedium effort — a few dayspriority: highHigh priority — address soon

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions