Skip to content

Latest commit

 

History

History
115 lines (85 loc) · 4.35 KB

2017-02.md

File metadata and controls

115 lines (85 loc) · 4.35 KB

Python-steem and uptick (1.14.52)

Preface

In the last couple months, I have been focusing on python development for the Steem blockchain due to it's quickly growing user and developer base. During that time, I have developed piston and the python-steem library which became very popular and are widely used.

Given that many Steemians already know about BitShares, it makes sense to bring in this popular toolkit to BitShares. Instead of extending piston to also work on the BitShares network, I hereby announce the beginning of a new tool called:

uptick

This tool will be similar to piston (Steem) and sx (Bitcoin) and allow to interact with the BitShares blockchain on a simple command line tool. With this tool, it will also be easy to manage your BitShares assets, use whitelists and halt markets, as well as transfer assets, or trade on the DEX.

To be able to build this tool and add functionality, I will first develop

python-bitshares

which is a library that actually interfaces with the blockchain and makes further development of end-user apps super easy (see for instance how people write bots for STEEM using python-steem). I have already started work on this library and am happy to tell that the foundations are already up and running. This library will also be used for the testnet stress test.

Tasks & Milestones

Milestone 1

  • Extract the BitShares specific code from python-graphenelib
  • Refactor BitShares code in a distinct python library
  • Add local encrytped wallet
  • Setup a redundante public API node
  • Allow the usage with BitShares and the TEST network

Milestone 2

  • Create modules to abstract blockchain obects (Amounts, Prices, Assets, Accounts, Block, Blockchain, Witnesses)
  • Add commonly used operations like transfer, buy, sell, create account
  • Create a DEX specific module to simplify the creation of trading bots
  • Create a command line tool uptick to access the libraries methods

Milestone 3

  • In-code documentation for developers
  • Tutorials and howtos to describe the use of the library
  • Tutorials to show the power of uptick command line tool

Milestone 4

  • Add ability to create and maintain multisig accounts
  • Ability to easily monitor the blockchain for specific operations or blocks

Worker

Given that a worker will be voted in for quite some time, I would like to propose a new model of running a worker: with shareholders keeping a say:

  • I will create a new account, upgrade it to LTM and make it multisig with the committee account and trusted members of the community
  • The worker will redeem it's funds on a regular basis and buy up bitUSD from the market (only up to +5% above market)
  • If the market doesn't offer sufficient bitUSD, the worker account will borrow bitUSD at 2.5x collateral
  • For this reasons, the actual pay of the worker is 2.5x the USD value
  • The worker will only pay the agreed amount of money and only in bitUSD to chainsquad
  • Every thing that is not paid out after the end of the worker will be settled and returned to the reserve fund
  • Everything left and held as collateral will be maintained by the committee and kept in full by the BitShares shareholders

Unfortunately, the BitShares foundations is not yet in a state to supervise this. Thus I have contacted a couple trusted community members to be my excrow agents and help implement the above procedure:

  • (3/3) committee-account
  • (1/3) dev.bitsharesblocks
  • (1/3) cass
  • (1/3) chainsquad
  • (1/3) fox
  • (1/3) blocktrades

Duration and Salary

This proposal will last for 3 months starting at 15. February 2017.

The pay constitutes a regular and a fixed part. The latter consisting of

  • $100 account LTM fee and
  • $150 worker creation fee

while the monthly fee contains:

  • $4000/mth python development
  • $100/mth public API reachable on this.uptick.rocks

These settings, plus the additional backoff of 2.5x amount to rougly 90,000 BTS of daily pay. Keep in mind that the BTS will be paid to a multisig account which only pays the above mentioned USD to chainsquad. None of the BTS will be transfered out of the multisig account.


This message has been signed with PGP. The cryptographic signature can be found in this git repository and you can verify it with gpg --verify 2017-02.md.sig.