Steem Late Vote Explorer :: 2.1.0
SLVE - Steem Late Vote Explorer
Description
Steem Late Vote Explorer (SLVE) is a tool I designed to visually represent and track last-minute votes in the interests of education and abuse detection. It is built with customizability in mind and can currently stream the blockchain to show a live feed of last-minute votes, it also has a resident GUI which is currently incomplete.
Repository
https://github.com/sisygoboom/abuse_detection_steemit
Bug Fixes
Initialisation directory was being overwritten by working directory
When creating a new AbuseDetection instance, if a user had passed a directory param to look for the data in, the directory would get instantly overwritten by the working directory (os.getcwd()
).
To fix this, os.getcwd()
is now only used if None
is passed as the directory parameter.
New Features
Data can now be passed as a parameter to AbuseDetection
To save time and resources, if another program or instance has already loaded the data, it makes no sense for a new instance to reload a second copy. That's why I made data a parameter when creating a new AbuseDetection instance.
I did this by creating a new if/else tree. If the data was passed as a parameter, then no further work is needed bar making it an instance variable. If no data is passed, we revert to the code we had previously, where it attempts to load a database.
Stream blockchain in background
Now, when the GUI starts, so does the blockchain streamer. This allows the user to have an up to date database without having to manually start the streamer via command line every time. This makes the program a lot more accessible for non-technical users.
I did this firstly by importing the AbuseDetection class.
And then by creating a new instance. Data can be passed as a parameter, thanks to the development made above. After the instance has been created, we start the stream which has already got multithreading built in, allowing us to continue the rest of the program.
Synchronise keynames
Until this point, voters and receivers had different key names for essentially the same data. Voters had quantity
and value
whereas recievers had total_votes
and total_lme
respectively. The benefits of making both sets of keys the same are preventing repeated code, increasing efficiency and making the code easier to understand.
I did this by using the find + replace all feature in my IDE. I then deleted abuse_log.json
because it still used the old keys. The easiest way to avoid confusion is to hit the reset button in this case.
Account lookup button
In the GUI, when a user selects an account name, they now have the option to click on the account lookup button which takes them directly to that users steemit homepage.
I achieved this by creating a new button, which I then linked to a command called self.lookup()
which plugs the selected username into a steemit.com URL; I made use of the webbrowser module that comes built into vanilla python to open the page.
GitHub Account
Roadmap
- GUI
- Integrate with make_pie.py so pie charts can be used within the GUI
- Right-click menu
- Make reputation/steem UA score visible upon user selection
- Order listbox by reputation
- Listbox showing individual post statistics for selected user
- Top mounted menubar
- Allow user to select what frontend the account lookup uses.
Cool project @sisygoboom!
Download link doesn't work in the repository readme.
There are no installation instructions. I believe, Python apps/packages should be installable with distutils in general.
After installing beem and matploblib, I have managed to get the gui working on my osx setup.
Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post, click here.
Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]
Thanks for the feedback Emre, I'll look into making the changes you suggested!
Thank you for your review, @emrebeyler! Keep up the good work!
Hi @sisygoboom!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server
Hi, @sisygoboom!
You just got a 0.85% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.
Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 3 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.
I upvoted your contribution because to my mind your post is at least 8 SBD worth and should receive 143 votes. It's now up to the lovely Steemit community to make this come true.
I am
TrufflePig
, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!Have a nice day and sincerely yours,
TrufflePig
Hey, @sisygoboom!
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!
Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!