Update for beem - command line tool beempy ready to use

in #utopian-io8 years ago (edited)

beem-logo.png

beem is a python library for steem. beem has 395 unit tests and a coverage of 84 %. The current version is 0.19.22. beem can be installed by:

pip install -U beem

or

conda config --add channels conda-forge
conda install beem

I created a discord channel for answering question or discussing beem: https://discord.gg/4HM592V

New Features

  • In this update, the command line tool beempy was completed. beempy has the now same syntax and functions as steempy, the command line tool from python-steem.
  • beempy is rewritten from scratch and contrary to steempy it uses the Click library.

The following new functions (not available in steempy) are added to beempy

  • witnesses
  • createwallet
  • walletinfo
  • openorders
  • orderbook
  • claimreward
  • follower
  • following
  • unit tests for all cli functions

How to start using beempy and transfer 1 SBD from user_a to user_b with memo hello

First create a new wallet and set a wallet password by:

beempy createwallet

Set the default account:

beempy set default_account user_a

Then enter your active wif

beempy addkey

Creating a wallet and entering private keys has to perform only once. The data are stored in a sql database on the PC. All private keys are encrypted with the wallet password.

At first, the help of the transfer function is shown:

beempy transfer --help
Usage: beempy transfer [OPTIONS] TO AMOUNT ASSET [MEMO]

  Transfer SBD/STEEM

Options:
  -a, --account TEXT  Transfer from this account
  --help              Show this message and exit.

Now the syntax for a transfer is clear and a transfer can be performed by:

beempy transfer user_b 1 SBD hello

After entering the wallet password, 1 SBD is transfered to user_b. When user_a is not the default account, the command changes to:

beempy transfer --account user_a user_b 1 SBD hello

Complete listing of all available commands

  • output of beempy --help

    image.png

New commands for beempy (not available in steempy)

createwallet

beempy createwallet
wipes the wallet without knowing the old password. Asks then for a new password and creates a new wallet.


image.png

witnesses

beempy witnesses
lists all witnesses and shows their stats.

beempy witnesses holger80
lists only witnesses which were voted by holger80


image.png

walletinfo

beempy walletinfo
Shows information about the wallet


image.png

openorders

beempy openorders beem
shows all open orders of account beem


image.png

orderbook

beempy orderbook
shows the last orders, can be limit with --limit 10


image.png

claimreward

beempy claimreward holger80
claims all unclaimed rewards. Rewards to claim can be specified by --reward_steem, --reward_sbd or --reward_vests.

follower

beempy follower holger80
shows statistics about the followers.


image.png

following

beempy following holger80
shows statistics about following accounts.


image.png

Improved commands for beempy (also available in steempy but with limited function)

buy and sell

beempy buy 1 STEEM or beempy sell 1 STEEM
can be called without price. The price is then taken from the last entry in the orderbook.


image.png

set nodes

beempy set nodes "" resets nodes to the standard node list.

info

beempy info -1 shows the last block. Transaction are not shown, only the number of transaction in the block.

beempy info -1:1 shows the first transaction of the last block together with stats about the block.

Changes

CLI improved and extended

account

  • get_account_history is more robust against empty rpc returns

steem

  • add functions to store default vote weight and nodes

cli

  • Same parameter as in steempy are used
  • main parameter improved
  • set improved
  • addkey improved
  • delkey added
  • listkeys improved
  • info improved and info about a block, an account, post and a public key added

Unit tests

  • test_testnet improved
  • test_cli adapted on changes

CLI improved

cli

  • unlock_wallet and asset_callback added
  • upvote and downvote improved
  • transfer, powerup and powerdown added

unit_test

  • missing commands added to test_cli

More function added to cli

account

  • set_withdraw_vesting_route added

cli

  • powerdownroute, convert and interest added

steemnoderpc

  • error messages improved
  • _check_api_name added
  • ApiNotSupported when Api is not supported by node but exists

graphenerpc

  • error messages improved

rpcutils

  • error messages in sleep_and_check_retries improved

unit tests

  • new function added

Improved CLI und unit tests

CLI

  • improved password handling and confirmation for changewalletpassphrase, delkey and createwallet

unit tests

  • improved test_cli
  • removed uneeded test for test_websocket

More cli functions added

cli

  • permissions, allow, disallow, updateMemoKey, approvewitness, disapprovewitness and witnesses added
  • upvote and downvote improved

unit tests

  • new functions added to test_cli
  • test_upvote and test_downvote improved

More cli function added

account

  • follow and unfollow improved

cli

  • newaccount, importaccount, orderbook, buy, sell, cancel, openorders, resteem, follow, unfollow, witnessupdate and witnesscreate added

steem

  • witness_update added

witness

  • update uses steem.witness_update

unit tests

  • new cli functions added to unit tests test_cli

Doku for cli added

cli

  • sign, broadcast, setprofile and delprofile added
  • refactoring
  • wallet password from UNLOCK environment variable works

utils

  • detection of complete urls added

unit tests

  • tests for profile added
  • new functions tests added to test_cli
  • unit tests for utils improved

Add claimreward to cli

cli

  • add claimreward

unit test

  • add unit test for claimreward

Improved coverage for cli tool

Add price prediction for buy and sell of cli

cli

  • Add price prediction for buy and sell of cli

steemnoderpc

  • refactoring

Exceptions

  • CallRetriesReached added

unit tests

  • tests for test_cli added

Follower and following added to cli

cli

  • follower and following added

witness

  • is_active added

Witnesses

  • printAsTable improved

unit tests

  • follower and following added to test_cli

Some improvements for cli

cli

  • some improvements and additions

Add parsewif to cli



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Truly impressed by the work you are putting into this. Awesome mate!!
And I love the "beempy" name. :)

Thanks a lot :). I'm trying my best. I like python and steem, so this is my way to contribute.

And what a great way to contribute!
I promise I will try out beem, just need to find the time for it. Might get back to you in case I have some questions.

Congratulations on your new logo and beempy. Wow a measily 5 SBD for this post so far. Here is about 14¢ USD worth.

Hi @holger80, thanks for the contribution, it has been approved.

I am seriously impressed with your work, hopefully one day I can be on your level... Keep up it up!


Need help? Write a ticket on https://support.utopian.io.
Chat with us on Discord.

[utopian-moderator]

This post has been just added as new item to timeline of beem on Steem Projects.

If you want to be notified about new updates from this project, register on Steem Projects and add beem to your favorite projects.

Hey @holger80! Thank you for the great work you've done!

We're already looking forward to your next contribution!

Fully Decentralized Rewards

We hope you will take the time to share your expertise and knowledge by rating contributions made by others on Utopian.io to help us reward the best contributions together.

Utopian Witness!

Vote for Utopian Witness! We are made of developers, system administrators, entrepreneurs, artists, content creators, thinkers. We embrace every nationality, mindset and belief.

Want to chat? Join us on Discord https://discord.me/utopian-io