ghost - Transaction signer for NoShore
ghost is a simple cold-wallet manager based on XMRPC. It can:
- sign unsigned Monero transaction data
- initiate payments on remote point-of-sales devices
In the context of NoShore, it powers the device presented by customers to gate in order to authorize payments at checkout.
For first-time setup refer to install.
Connections
None of NoShore's other modules need to connect to sentry. You may however grant ssh-access for administrative purposes:
ghost grant ADMIN \
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEZMrYeB4fveZj93I3N2p9bmLcuU2nrEeAB8T1RrKUrC adminuser@adminhost
Replace the key with your own - usually found in ~/.ssh/id_ed25519.pub
.
Setup
Hint: To prevent long hangs at command-execution, be sure that gate and tower are fully synced to the network's latest block-height.
On sentry export the full key:
sentry reveal_full
Create a wallet from that key on ghost:
ghost create <URI_FROM_PREVIOUS_COMMAND>
Fund your wallet at the shown address:
ghost address
Configure ghost's home tower
ghost conf tower ssh://tower@127.0.0.1:22333
When done, continue to configure gate.
Roadmap
- Have ghost provide a restricted ssh-key for its tower to gate. It can be cycled frequently by the user in order to invalidate.
Changelog
To avoid unexpected behaviour, be sure to use a tagged commit where available.
- 2025-06-18 initialize custom sshd_config files [v0.1.1]
- 2025-06-16 add main noshore readme [v0.1.0]
- 2025-06-13 allow access to underlying xmrpc
- 2025-06-12 add ghost payment signer