Repository
https://github.com/gigatoride/steemradar.js
SteemRadar.js v0.0.8
Logo design by only licensed for contributions related to this project
New Features
In this version, I've made a lot of changes since v0.0.1 to v0.0.3 I was using the bluebird library for promises but now I'm trying to reduce the dependencies for the module, Which lead me to make a decision to replace bluebird with native ES 2017 async/await method and replaced steem-js with dsteem as it has faster response time and supports the native stream method for node.js, I also decided to use the ES6 classes instead of normal objects for helpers files and created scan as the main client and config constructor for all helpers.
Scanning Classes
Blockchain
This class doesn't return the scan matches immediately because it keeps monitoring the blockchain transaction flow for results if any results have been matched with user request it will callback the results and repeats the whole operation again.
Database
This class is supposed to search in blockchain database latest results and callback it to the user by request matches, also it will keep streaming any other results added to the database.
Utopian
This class keeps monitoring the utopian dApp for any updates or changes inside the Steem blockchain and callback it to the user.
Pause & Resume
In previous versions, I was using only stop for streaming, but now every scan instance could be paused by all operations running on it, also pause could be used for ending operations if not required anymore for usage after pausing it.
- Note: all these classes are controlled by scan as the main client.
Better utilities
Moreover, changes have been made on utilities to be lighter with fewer dependencies currently axios, bad-words
for promise-based API calls and profane detecting also I've made a native method for accountName instead of steem-js utilities because it has been removed and replaced with dsteem which doesn't have this method an alternative method has been created. with an axios await/async method for blacklist get request here
Global Blacklist Support
This method will keep tracking the operations flow on blockchain and it will detect any user in the global blacklist that has been made by for more information see this
It will return an object for each user that blacklisted in or just in a bid bot in real-time.
It keeps detecting all users posts and transfers from all blacklisted users.
Profane Detecting Improvements
In previous versions profane method was just scanning the comments for profane words and callback it, But now profane is becoming better than before it now supports detecting profane in posts/comments/memos in real-time instead of posts/comments.
Detecting Accounts Changes
A new method for detecting accounts changes that will be streamed immediately, Also the old activity date method for accounts has been replaced with a new method supports multiple accounts in the array and it will return an array with accounts objects that have the latest changes if any account broadcasted any changes or posts or transactions etc..
Detecting Accounts Votes
Another method also has been added to keep tracking the transaction flow and scanning for multiple usernames by a minimum weight and it will callback the matches.
Utopian.io Monitoring & Streaming
Utopian has a big part in the project for monitoring and streaming as I've mentioned before in previous post roadmap
as a decentralized app on steem blockchain
Utopian Vote
This method will monitor the votes for contributions or out the range of contributions and will callback every vote details with the timestamp continuously this time this feature is depended on the dsteem module.
Utopian Contributions
This method will keep scanning for new contributions that have been added to utopian I've used the module node-utopian-rocks for this purpose.
Callbacks have the full post details according to utopian.rocks API.
Utopian Moderatos Reviews
Moderators reviews also have a part inside this class it keeps monitoring all moderators reviews in all utopian-io categories and calls it back with the details and timestamp of every review and its contribution, username etc...
Ready for test!
All changes that have been made and all new methods have been added for the test, You can test them easily
by running the following command:
npm test
Full Documenation
For easier usage, I've made a full documentation for all methods right here