[piston.web] First Open Source Steem GUI - Searching for alpha testers

in #piston8 years ago (edited)

1.png

Piston.web - Standalone User Interface
Many may already know piston as a tool that simplifies interaction with Steem/Steemit. You can read, post, comment, edit, transfer funds and much more, if you are willing to use the command line.

This changes now. With piston.web, the toolbox now comes with graphical user interface that you can access via your browser. It is fully independent of steemit.com, which means that you can do what you love doing on Steem, even if steemit.com goes down.

Available Features

#browsing steem posts
#reading full posts and comments
#reply to topics and comments
#upvote/downvote
#read account details
#recommended posts
#blog posts
#funds
#transaction history
#integrated wallet
#full encrypted (AES + BIP32) for private keys
#import keys from account name and password

Screenshots

Browse:

2.png

Account

3.png

Funds:

4.png

Wallet:

5.png

Installation

Until we leave pre-alpha, piston.web is on a different branch.

git clone https://github.com/xeroc/piston
cd piston
git checkout feature/standalone-web
make install-user

install extra requirements for piston.web

pip install -r requirements-web.txt

Usage

piston web

On first run, you will be asked to provide a passphrase for your new wallet. Empty password are allowed but result in private keys being stored in plain text.

After that, you will see

  • Running on http://127.0.0.1:5054/ (Press CTRL+C to quit)
  • Restarting with stat
  • Debugger is active!
  • Debugger pin code: 227-869-909
    Ignore the debugging output and start using piston.web in your browser
    by accessing

http://127.0.0.1:5054/
NOTE: piston.web will only be reachable from the same machine (localhost).

Technologies

Backend
The backend is written in python using

#Flask (with Jinja2)
#python-steem.
It offers the HTML files and a Socket-IO for real-time communications.

Frontend
These technologies have been used so far in piston.web:

#Bootstrap
#Markdown
#Font-Awesome
#Plain Javascript

Wallet

The wallet is only accessible from the backend. All keys are encrypted with a random master password that is stored in an SQLite3 database in its AES encrypted form. Each private key is encrypted with the master password using BIP32 and stored in a SQLite3 database. The wallet will make backups of the SQLite3 database every week and keep several weeks of backup.

#Todos
#Transfer of funds
#PowerUp, PowerDown
#Trading
#Account Administration (changing keys etc)
#Allow to attach JSON object to posts
#Secure socket.io with a password
#layout and style improvements

Contributions
Currently, we are looking for the bravest of the bravest to help us test what is already there and give

#bug reports
#improvement proposals
#feature request

Please use the github issue tracker to make it easier for us to remember all the feedback.

Important Note
piston.web is alpha software. For that reason, you need to expect it to break at any time. Use at your own risk.

Update 1
I'd like to clarify that this GUI is not meant to replace steemit.com or be used as a hosted, public site. It rather offers a personal, localhost-only page that you can use to access your wallet. Exposing the piston.web to a publicly accessible port is not recommended!

Update 2
I fixed the sqlite3.OperationalError: unable to open database file error earlier today so that people can actually take a look.

Update 3
More short-term fixes for the weekend-testers:

  • [2016-07-23][bf3dae5] | [setup] make sure the user uses python3
  • [2016-07-23][c31eec7] | [web] highlight own posts
  • [2016-07-23][03e0d2f] | [web] fix reply identifier not in the form

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.102
BTC 62638.51
ETH 1784.84
USDT 1.00
SBD 0.38