March 24, 2021

By Mike Berry

More on the Tari Console Wallet

Tari Console Wallet

Until recently, there was a wallet to hold your testnet tXTR packaged into the Tari base node. This built-in wallet was useful for early testing, but interacting with it only through commands was limited. There are also the much prettier mobile app wallets, where the design is aimed at simplifying the process of sending funds. The standalone console based tari_console_wallet allows a user more insight and advanced features, and also provides a place for the developers to implement features quicker, among other things.

Apart from the standard wallet functions, here are some other features exposed by the tari_console_wallet:

GRPC interface

The tari_console_wallet exposes a gRPC interface for other applications, like mining pools, to interact. The two mining applications, tari_mining_node and tari_merge_mining_proxy call onto this interface to generate coinbase transactions when assembling blocks. You can also initiate transactions and query the balance or transactions via this interface.

The wallet can also be run in the background with no interface by starting it with --daemon-mode, or just -d.

Command mode

The tari_console_wallet can be used to run scripted commands using the --command command line argument. This allows a user to get-balance or send-tari. The development community often pushes a lot of transactions onto the network for testing using the coin-split and make-it-rain commands.

WalletNotify

The console wallet has also implemented WalletNotify functionality. This enables you to specify a script or program to be called when specific transaction events occur. For example, you could send a slack notification when a new transaction is received, or send an API request when a transaction is confirmed.

This setting can be set in the config.toml file with a notify key in the [wallet] section, which should be a string pointing to the script path. This script will be triggered with relevant arguments whenever these transaction events are detected:

  • a new transaction is received
  • a received transaction is mined, but still below the confirmation threshold
  • a received transaction has been mined and reached the configured number of confirmations
  • a transaction has been cancelled
  • a new transaction is sent

You can see an example notify script in the Tari github repository.

We’re excited to see what kind of cool integrations the Tari community comes up with!