tower - Transaction builder for NoShore
tower is a simple interface to view-only wallets based on XMRPC. It can:
- prepare unsigned transactions for cold-wallets
- relay signed transactions to the Monero network
- receive and import key images from hot wallets
In the context of NoShore, its main purpose is to keep track of a user's spendable e-notes ("outputs") and prepare the transactions requested through gate.
When there are key images from transactions relayed by foreign Monero clients, sentry can inform tower about them.
When transacting, tower adds a tiny donation to fund NoShore's development.
For first-time setup refer to install.
Connections
tower will be connected to by:
- gate - for handling tx-creation requests
- sentry - for receiving new key images
In addition, you may grant ssh-access for administrative purposes:
tower 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 sentry and tower are fully synced to the network's latest block-height.
Complete the setup steps for sentry
Allow sentry to access tower:
tower grant SENTRY <SENTRY_SSH_PUBKEY>
On sentry export the view key:
sentry reveal_view
From that key, create a view-only wallet on tower:
tower watch <URI_FROM_PREVIOUS_COMMAND>
When done, continue to configure ghost.
Roadmap
- Support alternative light-wallet back-end for tower
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 tower transaction builder