d81a36f875
A bash command interface to trianglesd RPC designed for Hermes, Krystie, and Sami to manage TRI wallets and communicate via the built-in secure messaging system (smessage). Features: - Info: status, balance, peers, staking info - Wallet: addresses, send, transactions - Secure messaging: inbox, outbox, send (encrypted via ECDH over Tor P2P) - Raw RPC passthrough for any daemon command - Bash + zsh completion - SSH-tunneled RPC for remote node access - Config at /etc/tri/nodes.conf (shared between agents) Files: - scripts/tri/tri Main script - scripts/tri/nodes.conf.example Config template - scripts/tri/tri-completion.bash Bash completion - scripts/tri/_tri_zsh_completion Zsh completion - scripts/tri/README.md Documentation Tested against live DNS3 node (block 2,207,455, 4 peers). Secure messaging verified: send → inbox → outbox all working.
41 lines
1.2 KiB
Bash
41 lines
1.2 KiB
Bash
# bash/zsh completion for tri command
|
|
# Install: source this file or place in /etc/bash_completion.d/
|
|
|
|
_tri_complete() {
|
|
local cur prev opts
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
|
|
# Top-level commands
|
|
local top_cmds="status balance peers stake address send tx msg raw help"
|
|
local addr_subcmds="new list balance"
|
|
local msg_subcmds="inbox outbox send anon keys enable pubkey unlock"
|
|
|
|
if [[ ${COMP_CWORD} -eq 1 ]]; then
|
|
COMPREPLY=($(compgen -W "${top_cmds}" -- "${cur}"))
|
|
return 0
|
|
fi
|
|
|
|
# Subcommand completion
|
|
if [[ ${COMP_CWORD} -eq 2 ]]; then
|
|
case "${COMP_WORDS[1]}" in
|
|
address|addr)
|
|
COMPREPLY=($(compgen -W "${addr_subcmds}" -- "${cur}"))
|
|
return 0
|
|
;;
|
|
msg|message|messages)
|
|
COMPREPLY=($(compgen -W "${msg_subcmds}" -- "${cur}"))
|
|
return 0
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# Address completion for send/msg send (would need wallet addresses in practice)
|
|
# For now, no further completion
|
|
|
|
return 0
|
|
}
|
|
|
|
complete -F _tri_complete tri
|