Skip to content
This repository has been archived by the owner on Mar 23, 2020. It is now read-only.

Piston 0.4.0

Latest
Compare
Choose a tag to compare
@xeroc xeroc released this 07 Dec 13:01
· 69 commits to master since this release

Piston 0.4.0

Piston is the Swiss-army knife for Python developers working on Steem. It allows you to read content from the blockchain and put new content on it. Furthermore it has a wallet to store your private keys (in an encrypted form) locally for convenience and allow easy automation.

It's my pleasure to announce a new piston release numbered 0.4.0 which is compliant with changes made to the API in Steem 0.16.0. Let's see what has changed:

Refactoring

A major changes had been happened under the hood, namely, most libraries have been moved from piston into python-steem. This allows to use Steem() with as little code as this:

from steem import Steem()

In order to not break compatibility with your existing code, you can still load Steem() and all the other classes from piston.steem, however, you will see a depracation error.

In general, developers can replace all appearances of:

from piston.XXXXXXX import YYYYYYY

by

from steem.XXXXXXX import YYYYYYY

Going forward, piston will be evolve towards the reference application implementation that utilizes the steem python library. :It already comes with

  • a full-featured cli wallet,
  • a alpha web wallet, and
  • will probably soon see a graphical interface (probably written in QT)

Win32 Packaging

I finally managed to build packages for windows that can be installed using NSIS installer and are fully (except for the web interface) usable in the cmd command line.

Windows Installer

This is the foundation to package a graphical frontend for STEEM for windows platforms.

Eager developers can see the build procedure in contrib/.

New Calls

Piston 0.4.0 comes with a few brand new calles:

  • piston info: Read data from the blockchain, optionally use blocknumbers, account names, public keys, or post identifiers as argument
  • piston setprofile/delprofile: This allows you to set profile content in your accounts json_metadata
  • piston follow/unfollow: Follow/Unfollow some other users' blogs
  • piston resteem: Resteem articles
  • piston history --csv: Export your history as CSV file
  • piston approvewitness/disapprovewitness: Approve/Disapprove witnesses

Changelog

New:

  • [docs] update docs to reflect app-only
  • [tests] move piston tests to steem
  • [refactor] piston libraries into steem
  • [legacy] delete legacy configuration code
  • [profile] allow to update the user's profile through metadata_json
  • [docs] add follow/unfollow to app
  • [piston,steem] Allow to follow and unfollow accounts
  • [piston,api] Allow to resteem posts
  • [piston] import wallet now has --roles
  • [info] improved command 'piston info' to show way more data
  • [refactor] web stuff moved to subfolder
  • [win32] build infrastructure completed
  • [steem] Use Amount class to deal with amounts and assets
  • [steem] Allow any kind of valid argument for Post also for steem.get_content()
  • [piston] allow CSV export of history
  • [piston/steem] approve/disapprove witnesses
  • [piston] allow to exclude ops from 'history'
  • [steem] get promoted posts

Fixes:

  • [imports] fix missing imports
  • Fix error in getOpeningPost #32
  • [cleanup] and fixes for tests
  • [steem] fix get_blog() #74
  • [profile] don't delete existing profile variables
  • [profile] allow to remove profile variables
  • [profile] allow to only 'update' existing keys
  • [doc] setprofile
  • [piston] sort info output by key
  • [piston] pretty format 'interest'
  • [docs] public api update
  • [API] change get_key_references API
  • [refactor] move Amount and Post out of steem.py
  • [cleanup] remove legacy wallet code
  • [win32] compile progress and proper dependencies
  • [win32] install openssl to support scrypt
  • [piston] remove default 'to' for powerups
  • [steem] powerup on the same account