Eu uso uma carteira interativa spectre-cli
de Spectre , uma moeda similar à Kaspa em seu design. Quando eu quero manualmente obter o saldo da minha carteira, preciso executar
spectre-cli
e então connect
, open
de dentro de spectre-cli
. Tudo isso se parece com isto:
spectre-cli
Spectre Cli Wallet v0.3.16 (type 'help' for list of commands)
$ connect
Connected to Spectre node version 0.3.16 at ws://127.0.0.1:19110
$ open
Enter wallet password:
Your wallet hint is: This is a hint.
$ $
• ****************
• [********]: 4.47042578 SPR 1 UTXOs
spectre:******************************************************
[********] • 4.47042578 SPR $
Eu escrevi um script expect para executar essas etapas para mim (para que a única coisa que eu precisasse digitar fosse minha senha):
#!/usr/bin/expect -f
# Set a timeout (in seconds) for how long to wait for each prompt
set timeout 5
spawn spectre-cli
expect "$ "
send "connect\r"
expect "$ "
send "open\r"
interact
Eu obtenho uma saída inconsistente do script. Cerca de 70% das vezes eu obtenho:
./get_balance_works.exp
spawn spectre-cli
Spectre Cli Wallet v0.3.16 (type 'help' for list of commands)
$ connect
connectopen
command not found: connectopen
$
enquanto o resto do tempo o script funciona como esperado:
./get_balance_works.exp
spawn spectre-cli
Spectre Cli Wallet v0.3.16 (type 'help' for list of commands)
$ connect
$ open
Connected to Spectre node version 0.3.16 at ws://127.0.0.1:19110
Enter wallet password:
Your wallet hint is: This is a hint.
$ $
• ****************
• [********]: 4.47042578 SPR 1 UTXOs
spectre:******************************************************
[********] • 4.47042578 SPR $
Existe uma maneira de fazer o script funcionar conforme o esperado de maneira consistente?
PS: Estou usando um Ubuntu LTS.