
Update for beem - coverage improved and other improvements
beem is a python library for accessing the steem blockchain. I build beem from scratch using python-bitshares as template. At the moment, beem is not really used, as the github has around 1 unique visitor each day and thats maybe me. The newest version of beem is 0.19.19.
I created a discord channel for answering question or discussing beem: https://discord.gg/4HM592V
beem is not a copy of python-steem, thus the classes and functions are different. beem is almost feature complete and should be able to do all things that python-steem can do. Differences to python-steem:
| beem | python-steem | |
|---|---|---|
| websocket nodes | yes | no |
| native appbase calls | yes | no |
| python 2.7 supportet | yes | yes |
| python 3.3 supportet | yes | no |
| python 3.4 supportet | yes | no |
| python 3.6 supportet | yes | yes |
| number of unit tests | 340 | 70 |
| coverage | 75 % - 83% | ? |
| can be used on android | yes | no |
I decided to create an own library for steem and not participating to python-steem by pull-requests for the following reasons:
- as python-steem is the official library, all changes have to be reviewed carfully. This takes a lot of time.
- python-steem is used by many, therefore it is not possible to change classes or functions easily.
- I like it to have my own repo, in which I can do what I want :).
beem is open source, so my work may improve python-steem.
Changes
Sync changes from python-graphenelib
Remove register_api and api_id calls
- https://github.com/holgern/beem/commit/69948415b7fc403e11a3198066e3cc3d8f4100e2
- All rpc calls are handled with direct api call. Register api was a relict from bitshares.
Import Wallet changes from bitshares and bug fixes
- https://github.com/holgern/beem/commit/af565903fe916f35c15e28165a5efda48d9bc0f2
- Nodes can be given as ,or ; seperated string
- is_connected added in steem
Removed not used classes
Improved test coverage
- https://github.com/holgern/beem/commit/8559d6da01907f8fe2bc348bf5cb7009fc1f64a2
- Fix vote tests
- improved transactionbuilder tests
- Improved detection of MissingRequiredActiveAuthority
Several changes and improvements
- https://github.com/holgern/beem/commit/cdd778096a04cf4b922b67a54b6028fa6f9299a1
- Fix blocks for threaded and batched calls
- add blockchain_version function on steem
- Fix node input on graphenerpc
- Improve benchmark_nodes
- Add unit tests for bateched and threaded blocks calls
- Use https://api.steemit.com as default appbase node
Update test_steemnoderpc.py
Fix depreated function warning
- https://github.com/holgern/beem/commit/e3262e45bfa809381c7cc9422059e1165b3a71ee
- Improve blockchain unittests
Improve coverage of test_cli
Improve coverage for Price
Move post and comment_options to steem class
- https://github.com/holgern/beem/commit/9fb1330590c25736adcbe74040a093a82d446189
- RecentReplies improved
- Comment init improved
- test coverage for comment and steem improved.
Improve coverage for steem
Remove steemitstage and improve coverage for steemnoderpc
Improvements for blockchain parameter reading and nodes benchmark
steem
- Robustify reading of blockchain parameters
utils
- improve formatTimedelta output
Examples
- improve benchmark_nodes by added account history
Speedup wait_for_and_get_block
blockchain
- reduced times in which get_current_block_num is called
- when last_fetched_block_num is given, get_current_block_num is only called when block_number is greater than last_fetched_block_num
storage
- default nodes list enhanced
steemnoderpc
- Service Temporarily Unavailable and Bad Gateway added to exception detection
graphenerpc
- check for Service Temporarily Unavailable and Bad Gateway
- Improved handling of Client returned invalid format. Expected JSON! when output is int
Unit test
- test_utils fixed
num_retries improved
Steemnoderpc
- self.errror_cnt_call used instead of local variable doRetryCount
Graphenerpc
- num_retries_call added for setting a max number of retries on a rpc call
- self.n_urls added for getting the number of given nodes
- sleep on retry removed, when switching over to the next node
self.error_cnt_call used for counting rpc call retries
rpcutils
- sleep_and_check_retries improved
Unit tests
- num_retries added
- test_golos reduced
Add option to set block_numbers as start and stop in history and history revers
Account
- add option use_block_num to history, history_reverse and get_account_history
Reduce duplicate code
Wallet
- reduce code duplication
operations
- reduce code duplication
Posted on Utopian.io - Rewarding Open Source Contributors
Leave Update for beem - coverage improved and other improvements to:
Read more #utopian-io posts
Best Posts From Holger
We have not curated any of holger80's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From Holger
- BLURT is under heavy spam attack right now
- Beempy post will create a new post, when changing the title in the yaml header, will fix this soon.
- EOS inflates their blocktivity stats by massively sending batched transactions with a value of 0.0001 EOS
- Verify blocktivity numbers for Hive and Blurt
- How to use a coldcard MK3 to derive your new account password from a 24 word seed
- Update for beem: improved account history handling
- How to use beempy in tails (e.g. for changing the account keys)
- update for beem: make beem/beempy ready for tails
- update for beem: changes regarding HF24
- update for beem: compatibility issues with HF24 have been fixed