Introducing conductor, a simple Steem Witness Toolkit

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@furion·
0.000 HBD
Introducing conductor, a simple Steem Witness Toolkit
conductor - Steem Witness Toolkit
=============================
*conductor* is a user friendly, KISS utility for creating, updating and management of your witness.

Install
-------
Requirements:
 - Python 3.5 or higher

``` sourceCode
pip install -U git+https://github.com/Netherdrake/conductor
```

First Steps
-----------

conductor is built on top of `steem-python`, and leverages it's BIP38 encrypted wallet to store our witness Active key. This key is required for price feed updates.

To create the wallet, and add our key to it, simply run:

``` sourceCode
steempy addkey
```

Creating or importing your witness
----------------------------------

``` sourceCode
conductor init
```

*conductor* will ask you for your witness (Steem account) name. If the witness already exists, it will import its current settings from the blockchain.

Otherwise, it will guide you trough the setup wizard, and create the witness for you.

Updating your witness
---------------------

If you wish to change one or more of your witness properties, such as witness url, interest rate, block size, etc., you can do so using `conductor update` command.

``` sourceCode
~ % conductor update
What should be your witness URL? [https://steemdb.com/@furion/witness]:
How much should be account creation fee? [0.500 STEEM]:
What should be the maximum block size? [65536]:
What should be the SBD interest rate? [0]: 10

Configuration:
---------------
{'props': {'account_creation_fee': '0.500 STEEM',
           'maximum_block_size': 65536,
           'sbd_interest_rate': 10},
 'witness': {'name': 'furion', 'url': 'https://steemdb.com/@furion/witness'}}

Do you want to commit the updated values? [y/N]: n
Aborted!
~ %
```

Enabling your witness
---------------------

Enabling your witness is as simple as setting a public signing key. This command can also be used for key rotation (for example, if you're falling back to a backup witness node).

**To set a public signing key on your witness run:**

``` sourceCode
conductor enable <PUBLIC_SIGNING_KEY>
```

Disabling a witness
-------------------

Sometimes you might want to disable your witness yourself. For example, if you're upgrading your witness server, and don't want to miss any blocks.

**To disable your witness run:**

``` sourceCode
conductor disable
```

Kill Switch
-----------

Kill Switch is a witness monitoring utility, that tracks block misses. If your witness server bugs out, and stops producing blocks, this tool will automatically disable your witness to avoid further misses.

**To run a killswitch, simply run:**

``` sourceCode
conductor kill-switch
```

Optionally, we can provide number of blocks number of blocks we are allowed to miss before kill-switch disables our witness. We can achieve this by providing `-n` argument, like so: `conductor kill-switch -n 25`. By default `-n` is 10.

Price Feeds
-----------

Price feeds are a vital component of STEEM ecosystem, as they power SBD->STEEM conversions, as well as rewards estimates. Witnesses act as an oracle between the blockchain and real-world, by providing honest input on what the implied price of STEEM is. Furthermore, the prices may contain *bias* to loosely support the SBD stablecoin's peg to USD.

*conductor* ships with `markets` module from [SteemData](https://steemdata.com/). This module interfaces with 3rd party exchanges to fetch VWAP (volume weighted average prices) mean (average of VWAP's from all exchanges) prices.

**Exchanges Used:**  
  -   Bitstamp, Bitfinex, Kraken, OKCoin, BTC-E for BTC/USD
  -   Poloniex, Bittrex for STEEM/BTC and SBD/BTC

**To run pricefeeds, simply run:**

``` sourceCode
conductor feed
```

Usage
-----

``` sourceCode
~ % conductor
Usage: conductor [OPTIONS] COMMAND [ARGS]...

  Steem Witness Toolkit.

Options:
  -h, --help  Show this message and exit.

Commands:
  disable      Disable a witness.
  enable       Enable a witness, or change key.
  feed         Update Price Feeds.
  init         Add your witness account.
  kill-switch  Monitor for misses w/ disable.
  status       Print basic witness info.
  tickers      Print Tickers.
  update       Update witness properties.
```

There are two additional, read only commands we haven't covered yet. `status` and `tickers`. They simply print some info for us.

**Status**

``` sourceCode
~ % conductor status
+---------+--------+-------------------------------------------------------+
| Enabled | Misses | Key                                                   |
+---------+--------+-------------------------------------------------------+
| True    | 105    | STM7WDG2QpThdkRa3G2PYXM7gH9UksoGm4xqoFBrNet6GH7ToNUYx |
+---------+--------+-------------------------------------------------------+
```

**Tickers**

``` sourceCode
~ % conductor tickers
| Symbol    |   Price |
|-----------+---------|
| BTC/USD   | 2444.31 |
| SBD/USD   |   1.804 |
| STEEM/USD |    1.19 |
```

### License

MIT.

Pull requests are welcome.

Source: https://github.com/Netherdrake/conductor

![DQmeBtkDw9J3evsQdzL4MNFepWxkdn55QUpvxz5dCGkzgWY_1680x8400.png](https://steemitimages.com/DQmUM7i9TwjrGAZASSftKKfPwAia5hjicBDDTAdaPU6cnxy/DQmeBtkDw9J3evsQdzL4MNFepWxkdn55QUpvxz5dCGkzgWY_1680x8400.png)
👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,