What is steem.rocks?
steem.rocks is a simple activity feed for steem accounts. You can follow your own profile page to see what's happening to your account in the network.
You can check your account with that URL: http://steem.rocks/@insert_your_username_here
Story behind it
I had needed a personal activity feed for steem accounts. I want to know:
- who follows/unfollows me
- who makes a transfer to me
- who delegates some power
- who makes X action effecting my account
Currently, you can see them with different tools but not in the same page. With that idea in my mind, I managed to build a simple activity feed for steem accounts.
Warning
This is an experimental project and may contain bugs. If you see a bug in the application or if you have any ideas for new features, please contribute by creating a ticket or using utopian.io.
Limitations
No support for old blocks yet
For testing phase, I didn't parse all blocks from the beginning. Only activities after 30.10.2017 will be seen. I will parse old blocks asynchronously in the background when I feel the project is mature and stable.
Supported activities for the feed
All operations are not currently implemented. steem.rocks currently supports these operations:
- Vote
- Comment/Post
- Follow/Unfollow
- Transfer
Eventhough, I log all types of operations into the database, only these operations are supported in the web interface for now.
Only last 50 activities
No pagination support yet. Related issue. Only last 50 activities of your account will be seen in the profile page.
Caching on account metadata
Currently, all info requests to account for metadata are live. I will add caching here to reduce potential RPC calls. Related issue.
Roadmap
I know, currently, supported operations are very small and limited. First priority will be supporting all types of operations. This issue list is what I will do in the near future.
It's open source!
After this part is for geeks only. If you want to run your own steem.rocks instance, you can follow these instructions.
Installation and Running
$ virtualenv -p python3 steemrocks-env
$ source steemrocks-env/bin/activate
$ git clone https://github.com/emre/steemrocks.git
$ cp steemrocks/local_settings.py.ex local_settings.py
$ vim steemrocks/local_settings.py # edit accordingly
$ pip install -r requirements.txt
Database import
Database creation queries located under the sql directory. Just import it
to your mySQL database.
mysql -u username -p database_name < sql/base.sql
Installation is done. steemrocks has two seperate processes.
Configuration Parameters
Editing local_settings.py with the right knowledge is important. Let's go through them one by one:
DB_INFO = ('localhost', 'user', 'pass', 'dbname')
This is the database information for the MySQL. steem.rocks only works with mySQL at the moment. You need to create a mysql database and put related credentials for it.
NODES = ['https://rpc.buildteam.io',]
This is the list for public nodes we use in the steemrocks. I suggest using @buildteam's public rpc server since it's stable and fast.
Bear in mind that, RPC nodes must support get_transaction call. If they dont, steem.rocks fails to process transactions. (This is a temporary workaround. It will be changed later on.)
SITE_URL = '...'
This is pretty self-explanatory, you will just put the URL of steem.rocks instance. It's required for internal linking the in the interface.
Transaction Listener Process
$ FLASK_APP=app.py flask listen_transactions
This process listens transactions and put them into the database. By default
It will start listening from the latest block. If you want to specify a starting
block, you should edit ~/.steemrocks/checkpoint file (create it, if it does not exists)
and put the block number here.
You should see something like that:
Server Process
In development environment:
cd [steemrocks_directory]
FLASK_APP=app.py run
For production, you can use gunicorn:
gunicorn steemrocks.app:app --bind 0.0.0.0:[PORT_NUMBER]
Feel free to fire up an issue for bugs and feature requests.
Open Source Contribution posted via https://utopian.io