A command line tool to interface with the BitShares network.
pip3 install airsign
git clone https://github.com/xeroc/airsign
cd airsign
python3 setup.py install --user
$ pip install --user --upgrade airsign
You can get a full length help by running:
usage: airsign [-h] [--node NODE] [--rpcuser RPCUSER] [--rpcpassword RPCPASSWORD] [--nobroadcast] {set,addkey,listkeys,listaccounts,getbalance,transfer,approve} ...
Command line tool to interact with the BitShares network
positional arguments:
{set,addkey,listkeys,listaccounts,getbalance,transfer,approve}
sub-command help
set Set configuration
addkey Add a new key to the wallet
listkeys List available keys in your wallet
listaccounts List available accounts in your wallet
getbalance Get balances of available account(s)
transfer Transfer funds from your wallet to someone else
approve approve funds from your wallet to someone else
optional arguments:
-h, --help show this help message and exit
--node NODE Websocket URL for public BitShares API (default: "wss://bitshares.openledger.info/ws")
--rpcuser RPCUSER Websocket user if authentication is required
--rpcpassword RPCPASSWORD
Websocket password if authentication is required
--nobroadcast Do not broadcast anything
airsign comes with its own encrypted wallet to which keys need to be added:
airsign addkey <posting-wif-key>
On first run, you will be asked to provide a new passphrase that you will need to provide every time you want to post on the BitShares network. If you chose an empty password, your keys will be stored in plain text which allows automated posting but exposes your private key to your local user.
airsign listkeys
This command will give the list of public keys to which the private keys are available.
airsign listaccounts
This command tries to resolve the public keys into account names registered on the network (experimental).
The command getbalance
only takes optional arguments if you want to
see the balance of a specific account, else it will show all balances
for which a key has been added to the wallet (see above)
$ airsign getbalance
Please unlock your existing wallet!
Passphrase:
wallet.xeroc:
+-------------+----------+
| Amount | Asset |
+-------------+----------+
| 61557.53766 | BTS |
| 1e-07 | OPEN.BTC |
| 107.5035 | MKR |
+-------------+----------+
live-coding:
+------------+-------+
| Amount | Asset |
+------------+-------+
| 9993.84531 | BTS |
+------------+-------+
Transfers can be initiated from any account for which the active key
is installed. The --amount
parameter can be applied several times to
send different assets from the same origin to the same recepient. The
command supports encrypted memos. If your account has a distinct memo
key (usually identical to the active key), then you need to add that key
to your wallet aswell.
airsign transfer --from <fromaccount> --to <recepient> --amount "1 USD" --amount "2 BTS" --memo <Text>
The global --nobroadcast
flag can be added before transfer
to
prevent airsign to broadcast the transaction to the BitShares network:
airsign --nobroadcast transfer --from <fromaccount> --to <recepient> --amount "1 USD" --amount "2 BTS" --memo <Text>
Any proposal can be approved using airsign:
airsign approve <proposal-id>
The default account will be used, unless stated otherwise with
an --account
parameter. The proposal-id must habe the form 1.10.x
.