Transacting users before HF20 vs after.

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@mattockfs·
0.000 HBD
Transacting users before HF20 vs after.
To gain some insights on the impact of HF20 on access to the STEEM blockchain, I ran a little script that looked at one simple metric: **The number of unique transacting accounts per hour of the day**. To get a usefull insights I rewinded to a few days before the hard fork untill just before the moment I made this post. I'll share my script below, but first, here is the data.
Let us first look what two normal days look like:

| Date| From|Till| Transacting users  |   |
|---|---|---|---|---|
| 2018-09-23  | 0:00  | 1:00  | 13398  |   |
|   | 1:00  |  2:00 |  14807 |   |
|   | 2:00  |  3:00 | 12984  |   |
|   | 3:00  |  4:00 | 12781  |   |
|   | 4:00  |  5:00 | 11569  |   |
|   | 5:00  |  6:00 | 14502  |   |
|   | 6:00  |  7:00 | 14645  |   |
|   | 7:00  |  8:00 | 14012  |   |
|   | 8:00  |  9:00 | 13098  |   |
|   | 9:00  |  10:00 | 13349  |   |
|   | 10:00  |  11:00 | 15252  |   |
|   | 11:00  |  12:00 | 13588  |   |
|   | 12:00  |  13:00 | 17553  |   |
|   | 13:00  |  14:00 | 16040 |   |
|   | 14:00  |  15:00 |  15115 |   |
|   | 15:00  |  16:00 | 17483  |   |
|   | 16:00  |  17:00 | 15255  |   |
|   | 17:00  |  18:00 | 16414  |   |
|   | 18:00  |  19:00 | 17095  |   |
|   | 19:00  |  20:00 | 16090  |   |
|   | 20:00  |  21:00 | 15258  |   |
|   | 21:00  |  22:00 | 15101  |   |
|   | 22:00  |  23:00 | 12428  |   |
|   | 23:00  |  24:00 | 13247  |   |
| 2018-09-24  | 0:00  | 1:00  | 13287  |   |
|   | 1:00  |  2:00 | 13338  |   |
|   | 2:00  |  3:00 | 13619  |   |
|   | 3:00  |  4:00 | 14070  |   |
|   | 4:00  |  5:00 | 14289  |   |
|   | 5:00  |  6:00 | 13608  |   |
|   | 6:00  |  7:00 | 13756  |   |
|   | 7:00  |  8:00 | 16027  |   |
|   | 8:00  |  9:00 | 12244  |   |
|   | 9:00  |  10:00 | 17003  |   |
|   | 10:00  |  11:00 | 15512  |   |
|   | 11:00  |  12:00 |  15231 |   |
|   | 12:00  |  13:00 | 17231  |   |
|   | 13:00  |  14:00 | 15986  |   |
|   | 14:00  |  15:00 | 15101  |   |
|   | 15:00  |  16:00 | 17626  |   |
|   | 16:00  |  17:00 |  16788 |   |
|   | 17:00  |  18:00 |  17124 |   |
|   | 18:00  |  19:00 |  17918 |   |
|   | 19:00  |  20:00 | 15851  |   |
|   | 20:00  |  21:00 | 18640  |   |
|   | 21:00  |  22:00 | 16303  |   |
|   | 22:00  |  23:00 | 12480  |   |
|   | 23:00  |  24:00 | 14577  |   |


And now two days with HF20 in it. Remember, HF20 was supposed to activate at 15:00 on the 25th.

| Date| From|Till| Transacting users  |   |
|---|---|---|---|---|
| 2018-09-25  | 0:00  | 1:00  | 14633  |   |
|   | 1:00  |  2:00 |  13038 |   |
|   | 2:00  |  3:00 |  12497 |   |
|   | 3:00  |  4:00 | 12908  |   |
|   | 4:00  |  5:00 |  13970 |   |
|   | 5:00  |  6:00 | 14156  |   |
|   | 6:00  |  7:00 | 13635  |   |
|   | 7:00  |  8:00 | 14027  |   |
|   | 8:00  |  9:00 | 13483  |   |
|   | 9:00  |  10:00 | 15537  |   |
|   | 10:00  |  11:00 | 14755  |   |
|   | 11:00  |  12:00 | 15216  |   |
|   | 12:00  |  13:00 | 15931  |   |
|   | 13:00  |  14:00 | 18746  |   |
|   | 14:00  |  15:00 | 18782  |   |
|   | 15:00  |  16:00 |  635 |   |
|   | 16:00  |  17:00 | 92 |   |
|   | 17:00  |  18:00 | 74  |   |
|   | 18:00  |  19:00 | 79  |   |
|   | 19:00  |  20:00 | 56  |   |
|   | 20:00  |  21:00 | 51  |   |
|   | 21:00  |  22:00 | 59  |   |
|   | 22:00  |  23:00 | 83  |   |
|   | 23:00  |  24:00 | 45  |   |
| 2018-09-26  | 0:00  | 1:00  | 65  |   |
|   | 1:00  |  2:00 | 44  |   |
|   | 2:00  |  3:00 | 48  |   |
|   | 3:00  |  4:00 | 91  |   |
|   | 4:00  |  5:00 | 41  |   |
|   | 5:00  |  6:00 | 43  |   |
|   | 6:00  |  7:00 | 118  |   |
|   | 7:00  |  8:00 | 157  |   |
|   | 8:00  |  9:00 | 130  |   |
|   | 9:00  |  10:00 | 136  |   |
|   | 10:00  |  11:00 | 99  |   |
|   | 11:00  |  12:00 | 72  |   |
|   | 12:00  |  13:00 | 107  |   |
|   | 13:00  |  14:00 | 87  |   |
|   | 14:00  |  15:00 | 118  |   |
|   | 15:00  |  16:00 | 5061  |   |
|   | 16:00  |  17:00 | 6670  |   |
|   | 17:00  |  18:00 | 4207  |   |
|   | 18:00  |  19:00 | 4020  |   |
|   | 19:00  |  20:00 | 2819  |   |
|   | 20:00  |  21:00 | 2372  |   |
|   | 21:00  |  22:00 |   |   |
|   | 22:00  |  23:00 |   |   |
|   | 23:00  |  24:00 |   |   |

Most if obvious from the tables, but let us look at it in a little graph:

![](https://cdn.steemitimages.com/DQmXCFSVqwzueXxpstaNCErT93W2cybutczxuaTDrNRfm6X/image.png)

The above data was gathered using the below asyncsteem script.
```python
#!/usr/bin/python
from twisted.internet import reactor, endpoints
from twisted.logger import Logger, textFileLogObserver
from asyncsteem import ActiveBlockChain

class CommentStream:
    def __init__(self):
        self.accounts = set()
    def _account(self,account):
        self.accounts.add(account)
    def hour(self,tm,event,client):
        print tm,len(self.accounts)
        self.accounts = set()
    def account_create(self,tm,event,client):
        self._account(event["creator"])
    def account_create_with_delegation(self,tm,event,client):
        self._account(event["creator"])
    def account_update(self,tm,event,client):
        self._account(event["account"])
    def account_witness_proxy(self,tm,event,client):
        self._account(event["account"])
    def account_witness_vote(self,tm,event,client):
        self._account(event["account"])
    def cancel_transfer_from_savings(self,tm,event,client):
        self._account(event["from"])
    def change_recovery_account(self,tm,event,client):
        self._account(event["account_to_recover"])
    def claim_reward_balance(self,tm,event,client):
        self._account(event["account"])
    def comment_options(self,tm,event,client):
        self._account(event["author"])
    def comment(self,tm,event,client):
        self._account(event["author"])
    def decline_voting_rights(self,tm,event,client):
        self._account(event["account"])
    def delegate_vesting_shares(self,tm,event,client):
        self._account(event["delegator"])
    def delete_comment(self,tm,event,client):
        self._account(event["author"])
    def feed_publish(self,tm,event,client):
        self._account(event["publisher"])
    def limit_order_cancel(self,tm,event,client):
        self._account(event["owner"])
    def limit_order_create(self,tm,event,client):
        self._account(event["owner"])
    def recover_account(self,tm,event,client):
        self._account(event["account_to_recover"])
    def request_account_recovery(self,tm,event,client):
        self._account(event["account_to_recover"])
    def transfer_from_savings(self,tm,event,client):
        self._account(event["from"])
    def transfer(self,tm,event,client):
        self._account(event["from"])
    def transfer_to_savings(self,tm,event,client):
        self._account(event["from"])
    def transfer_to_vesting(self,tm,event,client):
        self._account(event["from"])
    def vote(self,tm,event,client):
        self._account(event["voter"])
    def withdraw_vesting(self,tm,event,client):
        self._account(event["account"])
    def witness_update(self,tm,event,client):
        self._account(event["owner"])

mypath = dirname(realpath(__file__))
observer = textFileLogObserver(io.open(join(mypath,"hf20.log"), "a"))
logger = Logger(observer=observer,namespace="asyncsteem")
blockchain = ActiveBlockChain(reactor,log=logger,nodelist="default",rewind_days=3)
steembot = CommentStream()
blockchain.register_bot(steembot,"comment_stream")
reactor.run()
```
👍 , , , , , , , , , , , , , ,