Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
2.295USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
1.855SP
├── Own SP
39.574SP
└── Outgoing Deleg
-37.719SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
39.574SP
Delegated Out
37.719SP
Delegation In
0.000SP
Effective Power
1.855SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "64370.838560 VESTS",
  "delegated_vesting_shares": "61352.822014 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namedamage-un
id670507
rank1,471,681
reputation9510350
created2018-01-27T23:43:27
recovery_accountsteem
proxyNone
post_count3
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-02-06T23:50:18
last_root_post2018-02-06T23:50:18
last_vote_time2018-05-31T12:19:36
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power9,800
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares64370.838560 VESTS
delegated_vesting_shares61352.822014 VESTS
received_vesting_shares0.000000 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update1970-01-01T00:00:00
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM7N4gXwpLhVGH9tneZD6KxKLjpdRLu45V5GHcfpxUUDziMTAd4a",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "balance": "0.000 STEEM",
  "can_vote": true,
  "comment_count": 0,
  "created": "2018-01-27T23:43:27",
  "curation_rewards": 5,
  "delegated_vesting_shares": "61352.822014 VESTS",
  "downvote_manabar": {
    "current_mana": 0,
    "last_update_time": 1517096607
  },
  "guest_bloggers": [],
  "id": 670507,
  "json_metadata": "",
  "last_account_recovery": "1970-01-01T00:00:00",
  "last_account_update": "1970-01-01T00:00:00",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_post": "2018-02-06T23:50:18",
  "last_root_post": "2018-02-06T23:50:18",
  "last_vote_time": "2018-05-31T12:19:36",
  "lifetime_vote_count": 0,
  "market_history": [],
  "memo_key": "STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz",
  "mined": false,
  "name": "damage-un",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "other_history": [],
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM86Cv7VaFeDUDk7huttPMoUtP3axiYw32cvN9DXEjnu7LXiBEnh",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "pending_claimed_accounts": 0,
  "post_bandwidth": 0,
  "post_count": 3,
  "post_history": [],
  "posting": {
    "account_auths": [],
    "key_auths": [
      [
        "STM87PVjtL8vaHehh2MqZqWgcFGbRyReM5PqzPQ8tbvkHYWHYLQ3v",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting_json_metadata": "",
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "proxy": "",
  "received_vesting_shares": "0.000000 VESTS",
  "recovery_account": "steem",
  "reputation": 9510350,
  "reset_account": "null",
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "sbd_balance": "0.000 SBD",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2018-02-19T20:07:33",
  "tags_usage": [],
  "to_withdraw": 0,
  "transfer_history": [],
  "vesting_balance": "0.000 STEEM",
  "vesting_shares": "64370.838560 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "vote_history": [],
  "voting_manabar": {
    "current_mana": 9800,
    "last_update_time": 1527769176
  },
  "voting_power": 9800,
  "withdraw_routes": 0,
  "withdrawn": 0,
  "witness_votes": [],
  "witnesses_voted_for": 0,
  "rank": 1471681
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
2020/01/28 00:44:24
authorsteemitboard
bodyCongratulations @damage-un! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@damage-un/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@damage-un) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=damage-un)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authordamage-un
parent permlinkcreating-a-reusable-uitableviewcell
permlinksteemitboard-notify-damage-un-20200128t004423000z
title
Transaction InfoBlock #40309305/Trx a300be96f63a0f2843f180d2227c718cefed8b42
View Raw JSON Data
{
  "block": 40309305,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @damage-un! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@damage-un/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@damage-un) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=damage-un)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "damage-un",
      "parent_permlink": "creating-a-reusable-uitableviewcell",
      "permlink": "steemitboard-notify-damage-un-20200128t004423000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-01-28T00:44:24",
  "trx_id": "a300be96f63a0f2843f180d2227c718cefed8b42",
  "trx_in_block": 7,
  "virtual_op": 0
}
2019/01/28 01:02:09
authorsteemitboard
bodyCongratulations @damage-un! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@damage-un/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@damage-un)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authordamage-un
parent permlinkcreating-a-reusable-uitableviewcell
permlinksteemitboard-notify-damage-un-20190128t010209000z
title
Transaction InfoBlock #29837238/Trx b27320e9458d6b8131a5747bb2263bd8244169fe
View Raw JSON Data
{
  "block": 29837238,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @damage-un! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@damage-un/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@damage-un)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "damage-un",
      "parent_permlink": "creating-a-reusable-uitableviewcell",
      "permlink": "steemitboard-notify-damage-un-20190128t010209000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-01-28T01:02:09",
  "trx_id": "b27320e9458d6b8131a5747bb2263bd8244169fe",
  "trx_in_block": 16,
  "virtual_op": 0
}
2018/05/31 12:19:36
authormystic-creature
permlinkone-month-with-a-white-ferret
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #22911856/Trx 7f448af1d39c2506961715eda5a76eb807a9db66
View Raw JSON Data
{
  "block": 22911856,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "one-month-with-a-white-ferret",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-31T12:19:36",
  "trx_id": "7f448af1d39c2506961715eda5a76eb807a9db66",
  "trx_in_block": 1,
  "virtual_op": 0
}
2018/03/01 23:21:18
authormystic-creature
permlinka-bee-on-a-purple-flower-photocontests-macrophotography
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #20307025/Trx 570aed4976faa955146b429327ab1f7495389798
View Raw JSON Data
{
  "block": 20307025,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "a-bee-on-a-purple-flower-photocontests-macrophotography",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-01T23:21:18",
  "trx_id": "570aed4976faa955146b429327ab1f7495389798",
  "trx_in_block": 61,
  "virtual_op": 0
}
damage-unupvoted (100.00%) @mystic-creature / love
2018/02/23 22:38:54
authormystic-creature
permlinklove
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #20133601/Trx 0c03b0a336853592b25647cf4015f86a309905a8
View Raw JSON Data
{
  "block": 20133601,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "love",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-23T22:38:54",
  "trx_id": "0c03b0a336853592b25647cf4015f86a309905a8",
  "trx_in_block": 9,
  "virtual_op": 0
}
2018/02/23 22:38:39
authormystic-creature
permlinkhmmm-what-was-cut-off-the-fans-of-got-know-d-zg1hbmlh-u5x68
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #20133596/Trx a288543dccb2a92ca16982fd85d5e895ee8e104e
View Raw JSON Data
{
  "block": 20133596,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "hmmm-what-was-cut-off-the-fans-of-got-know-d-zg1hbmlh-u5x68",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-23T22:38:39",
  "trx_id": "a288543dccb2a92ca16982fd85d5e895ee8e104e",
  "trx_in_block": 38,
  "virtual_op": 0
}
2018/02/20 15:53:45
authormystic-creature
permlinkdark-humor-zg1hbmlh-ytgnn
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #20039113/Trx 66a1c315b8af8091718a581ea68d90ec1c59300e
View Raw JSON Data
{
  "block": 20039113,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "dark-humor-zg1hbmlh-ytgnn",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-20T15:53:45",
  "trx_id": "66a1c315b8af8091718a581ea68d90ec1c59300e",
  "trx_in_block": 1,
  "virtual_op": 0
}
damage-unclaimed reward balance: 0.006 SP
2018/02/19 20:07:33
accountdamage-un
reward sbd0.000 SBD
reward steem0.000 STEEM
reward vests10.221790 VESTS
Transaction InfoBlock #20015397/Trx ad47a3da5e44bcf7ea30561c93dfdedaa3ffb27c
View Raw JSON Data
{
  "block": 20015397,
  "op": [
    "claim_reward_balance",
    {
      "account": "damage-un",
      "reward_sbd": "0.000 SBD",
      "reward_steem": "0.000 STEEM",
      "reward_vests": "10.221790 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-19T20:07:33",
  "trx_id": "ad47a3da5e44bcf7ea30561c93dfdedaa3ffb27c",
  "trx_in_block": 35,
  "virtual_op": 0
}
2018/02/19 09:29:45
authormystic-creature
permlinkbundy-saw-marcy-in-a-dress-zg1hbmlh-2qd8o
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #20002658/Trx 8893183017937e9eb8623a8eea540db740f57f01
View Raw JSON Data
{
  "block": 20002658,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "bundy-saw-marcy-in-a-dress-zg1hbmlh-2qd8o",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-19T09:29:45",
  "trx_id": "8893183017937e9eb8623a8eea540db740f57f01",
  "trx_in_block": 4,
  "virtual_op": 0
}
2018/02/19 09:29:36
authormystic-creature
permlinkwhat-thinks-al-bundy-about-monday-d-zg1hbmlh-fuw5q
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #20002655/Trx 3fb6d9ab9d33b2e8c95973b778a8a79f16be4756
View Raw JSON Data
{
  "block": 20002655,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "what-thinks-al-bundy-about-monday-d-zg1hbmlh-fuw5q",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-19T09:29:36",
  "trx_id": "3fb6d9ab9d33b2e8c95973b778a8a79f16be4756",
  "trx_in_block": 28,
  "virtual_op": 0
}
2018/02/19 09:29:24
authormystic-creature
permlinkmain-character-kurent-of-the-carnival-event-kurentovanje-in-slovenia
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #20002651/Trx 8ba2a7497b130d9ef2383b27193fe6b96b22865f
View Raw JSON Data
{
  "block": 20002651,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "main-character-kurent-of-the-carnival-event-kurentovanje-in-slovenia",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-19T09:29:24",
  "trx_id": "8ba2a7497b130d9ef2383b27193fe6b96b22865f",
  "trx_in_block": 22,
  "virtual_op": 0
}
2018/02/16 21:33:00
comment authormystic-creature
comment permlink11-years-since-the-loss-of-a-best-friend
curatordamage-un
reward10.221790 VESTS
Transaction InfoBlock #19930741/Virtual Operation #6
View Raw JSON Data
{
  "block": 19930741,
  "op": [
    "curation_reward",
    {
      "comment_author": "mystic-creature",
      "comment_permlink": "11-years-since-the-loss-of-a-best-friend",
      "curator": "damage-un",
      "reward": "10.221790 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-16T21:33:00",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 6
}
2018/02/14 12:38:57
authormystic-creature
permlinkmy-entry-for-killerpix
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19862524/Trx c7bd8170899027999211ae754a78d90b0816de96
View Raw JSON Data
{
  "block": 19862524,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "my-entry-for-killerpix",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-14T12:38:57",
  "trx_id": "c7bd8170899027999211ae754a78d90b0816de96",
  "trx_in_block": 42,
  "virtual_op": 0
}
2018/02/14 11:35:42
authormystic-creature
permlinkmy-dog-arni-photocontests-animalphotography
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19861260/Trx 6910b07507cdfb40548df2f02d6cecbc518959f2
View Raw JSON Data
{
  "block": 19861260,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "my-dog-arni-photocontests-animalphotography",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-14T11:35:42",
  "trx_id": "6910b07507cdfb40548df2f02d6cecbc518959f2",
  "trx_in_block": 11,
  "virtual_op": 0
}
2018/02/14 11:35:15
authormystic-creature
permlinkmy-entry-for-the-smartphonephotography
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19861251/Trx 2cefa91b9f7580dcbcf8d4efabdbf47ca396ec1f
View Raw JSON Data
{
  "block": 19861251,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "my-entry-for-the-smartphonephotography",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-14T11:35:15",
  "trx_id": "2cefa91b9f7580dcbcf8d4efabdbf47ca396ec1f",
  "trx_in_block": 17,
  "virtual_op": 0
}
steemdelegated 0.000 SP to @damage-un
2018/02/09 23:58:06
delegateedamage-un
delegatorsteem
vesting shares0.000000 VESTS
Transaction InfoBlock #19732215/Trx abb8c30a2c9d41f6dc2b29897e4581e4d5ca52c7
View Raw JSON Data
{
  "block": 19732215,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "damage-un",
      "delegator": "steem",
      "vesting_shares": "0.000000 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T23:58:06",
  "trx_id": "abb8c30a2c9d41f6dc2b29897e4581e4d5ca52c7",
  "trx_in_block": 45,
  "virtual_op": 0
}
damage-undelegated 37.719 SP to @mystic-creature
2018/02/09 22:03:45
delegateemystic-creature
delegatordamage-un
vesting shares61352.822014 VESTS
Transaction InfoBlock #19729930/Trx abea066ef5f2c97b3b171d1d9b566de32fe360d1
View Raw JSON Data
{
  "block": 19729930,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "mystic-creature",
      "delegator": "damage-un",
      "vesting_shares": "61352.822014 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T22:03:45",
  "trx_id": "abea066ef5f2c97b3b171d1d9b566de32fe360d1",
  "trx_in_block": 6,
  "virtual_op": 0
}
2018/02/09 22:01:09
authormystic-creature
permlink11-years-since-the-loss-of-a-best-friend
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19729879/Trx abc9baf89887bf3336deca317369e0c886737448
View Raw JSON Data
{
  "block": 19729879,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "11-years-since-the-loss-of-a-best-friend",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T22:01:09",
  "trx_id": "abc9baf89887bf3336deca317369e0c886737448",
  "trx_in_block": 20,
  "virtual_op": 0
}
damage-unpowered up 29.980 STEEM to @damage-un
2018/02/09 21:56:57
amount29.980 STEEM
fromdamage-un
todamage-un
Transaction InfoBlock #19729795/Trx eb7889c900ee40a91e2e5856f7d28df4844d8aa9
View Raw JSON Data
{
  "block": 19729795,
  "op": [
    "transfer_to_vesting",
    {
      "amount": "29.980 STEEM",
      "from": "damage-un",
      "to": "damage-un"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T21:56:57",
  "trx_id": "eb7889c900ee40a91e2e5856f7d28df4844d8aa9",
  "trx_in_block": 13,
  "virtual_op": 0
}
bittrexsent 14.990 STEEM to @damage-un- "STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz"
2018/02/09 21:56:18
amount14.990 STEEM
frombittrex
memoSTM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz
todamage-un
Transaction InfoBlock #19729782/Trx 11a39f4012618f4801beb35afe2c22db50ce15f0
View Raw JSON Data
{
  "block": 19729782,
  "op": [
    "transfer",
    {
      "amount": "14.990 STEEM",
      "from": "bittrex",
      "memo": "STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz",
      "to": "damage-un"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T21:56:18",
  "trx_id": "11a39f4012618f4801beb35afe2c22db50ce15f0",
  "trx_in_block": 18,
  "virtual_op": 0
}
bittrexsent 14.990 STEEM to @damage-un- "STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz"
2018/02/09 21:54:06
amount14.990 STEEM
frombittrex
memoSTM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz
todamage-un
Transaction InfoBlock #19729738/Trx 74235bb71b5d41c1220670c0ec8d31a9265c241e
View Raw JSON Data
{
  "block": 19729738,
  "op": [
    "transfer",
    {
      "amount": "14.990 STEEM",
      "from": "bittrex",
      "memo": "STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz",
      "to": "damage-un"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T21:54:06",
  "trx_id": "74235bb71b5d41c1220670c0ec8d31a9265c241e",
  "trx_in_block": 17,
  "virtual_op": 0
}
2018/02/09 00:05:57
authordamage-un
permlinkcreating-a-reusable-uitableviewcell
votermystic-creature
weight10000 (100.00%)
Transaction InfoBlock #19703595/Trx dddc92913ab9611871452e46de92e9df6846bf84
View Raw JSON Data
{
  "block": 19703595,
  "op": [
    "vote",
    {
      "author": "damage-un",
      "permlink": "creating-a-reusable-uitableviewcell",
      "voter": "mystic-creature",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T00:05:57",
  "trx_id": "dddc92913ab9611871452e46de92e9df6846bf84",
  "trx_in_block": 27,
  "virtual_op": 0
}
2018/02/07 08:15:18
authordamage-un
body@@ -1,19 +1,4 @@ -# Reusability%0A%0A When
json metadata{"tags":["programming","education","swift","ios"],"image":["https://steemitimages.com/DQmfPP14WQXyTyL68mjT5NEYeUcqRiFWFryLJiaPQiJzU6E/Writing%20extendable%20code.png","https://steemitimages.com/DQma7RRAGxUanQKNMJY9x5QwNrBRbiY5CK9X2CWKBM8m14s/Writing%20extendable%20code%20(1).png","https://steemitimages.com/DQmfXm6VUagKPrAeCLsoisVz3kGXxEUnQHAevZyqK6aWWnd/Screen%20Shot%202018-02-06%20at%2022.12.08.png","https://steemitimages.com/DQmemGKx2cSAHFi12BBCvs8UJ9X9JzcPnAeH83aoJdFG9Uh/Screen%20Shot%202018-02-07%20at%2000.04.45.png","https://steemitimages.com/DQmS3G5VA7zDFrNDJ8SmZ2kC8ykBY45PHCrPV9anmynQ5ci/Screen%20Shot%202018-02-07%20at%2000.04.31.png"],"links":["https://github.com/damijanracel/ReusableTableViewCellExample"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkprogramming
permlinkcreating-a-reusable-uitableviewcell
titleCreating a reusable UITableViewCell
Transaction InfoBlock #19656022/Trx ec5e0154a4cee3d3b5fb7c469bc100ab9b525409
View Raw JSON Data
{
  "block": 19656022,
  "op": [
    "comment",
    {
      "author": "damage-un",
      "body": "@@ -1,19 +1,4 @@\n-# Reusability%0A%0A\n When\n",
      "json_metadata": "{\"tags\":[\"programming\",\"education\",\"swift\",\"ios\"],\"image\":[\"https://steemitimages.com/DQmfPP14WQXyTyL68mjT5NEYeUcqRiFWFryLJiaPQiJzU6E/Writing%20extendable%20code.png\",\"https://steemitimages.com/DQma7RRAGxUanQKNMJY9x5QwNrBRbiY5CK9X2CWKBM8m14s/Writing%20extendable%20code%20(1).png\",\"https://steemitimages.com/DQmfXm6VUagKPrAeCLsoisVz3kGXxEUnQHAevZyqK6aWWnd/Screen%20Shot%202018-02-06%20at%2022.12.08.png\",\"https://steemitimages.com/DQmemGKx2cSAHFi12BBCvs8UJ9X9JzcPnAeH83aoJdFG9Uh/Screen%20Shot%202018-02-07%20at%2000.04.45.png\",\"https://steemitimages.com/DQmS3G5VA7zDFrNDJ8SmZ2kC8ykBY45PHCrPV9anmynQ5ci/Screen%20Shot%202018-02-07%20at%2000.04.31.png\"],\"links\":[\"https://github.com/damijanracel/ReusableTableViewCellExample\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "programming",
      "permlink": "creating-a-reusable-uitableviewcell",
      "title": "Creating a reusable UITableViewCell"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-07T08:15:18",
  "trx_id": "ec5e0154a4cee3d3b5fb7c469bc100ab9b525409",
  "trx_in_block": 14,
  "virtual_op": 0
}
2018/02/06 23:50:18
authordamage-un
body# Reusability When we code, we always try not to repeat ourselves. If we have multiple implementations of the same functionality it will cause problems for us somewhere down the line. For this reason, we would usually reuse a component, when we see the potential for repeating the same code. But are we doing it in the correct way? I would like to show this problem on a simple example, based on what I have encountered in practice. Imagine a UITableView cell implementation of a cell that is being used more than once in the app. In my example, the cell looks the same, but it is displaying different data. It also might be showing or hiding some components # The problem ![Writing extendable code.png](https://steemitimages.com/DQmfPP14WQXyTyL68mjT5NEYeUcqRiFWFryLJiaPQiJzU6E/Writing%20extendable%20code.png) (State showing the image and 4 labels) ![Writing extendable code (1).png](https://steemitimages.com/DQma7RRAGxUanQKNMJY9x5QwNrBRbiY5CK9X2CWKBM8m14s/Writing%20extendable%20code%20(1).png) (State showing only two of the labels) We have title and subtitles on the left and right side and an image view. We will show the same cell in many screens in the app. Sometimes we have to hide some of the components and we have to populate this cell with different data on every screen. This cell must display the user data on one screen and the data for a pet in another screen. So we create one cell in order to reuse it everywhere we need it. We create a view in the interface builder and connect it to the swift class: *ReusableTableViewCell*. ![Screen Shot 2018-02-06 at 22.12.08.png](https://steemitimages.com/DQmfXm6VUagKPrAeCLsoisVz3kGXxEUnQHAevZyqK6aWWnd/Screen%20Shot%202018-02-06%20at%2022.12.08.png) Here we have two models, User and Pet that we want to display in this cell. Since the user doesn't have a picture, we should hide the image view when displaying a user. struct User { let name: String let nickname: String } struct Pet { let name: String let owner: String let breed: String let weight: Int let avatar: UIImage? } One way of implementing this would be to add two functions to the *ReusableTableViewCell*, *set(with user: User)* and *set(with pet: Pet)*. In those two functions, we would set the labels and toggle the visibility of the image view. We would hide the image view when displaying the user data and show the image view when displaying the pet data. func set(with user: User) { leftTitleLabel.text = user.name leftSubtitleLabel.text = "Nick: " + user.nickname hideImage() } func set(with pet: Pet) { leftTitleLabel.text = pet.name leftSubtitleLabel.text = "Owner: " + pet.owner rightTitleLabel.text = pet.breed rightSubtitleLabel.text = pet.weight.description iconImageView.image = pet.avatar showImage() } private func showImage() { iconWidthConstraint.constant = 50 iconLeftConstraint.constant = 8 } private func hideImage() { iconWidthConstraint.constant = 0 iconLeftConstraint.constant = 0 } I would argue that this is not the best way to go about doing something like that. I would like to reference the open-closed principle that says that classes should be: <center> **“open for extension, but closed for modification.”**</center> The principle originated with Bertrand Meyer who wrote about it in his book Object-Oriented Software Construction. You can also read more about it in an article from Robert C. Martin, The Open-Closed Principle. # A Different Approach Our goal is to write the *ReusableTableViewCell* once, but leave it open for extension for all the existing cases and all the cases that may come up in the future. So what do we gain from this? We won’t ever have to change the code in the *ReusableTableViewCell* itself or at least we won’t have to change it that often. This will help a lot if we have many places in our app that are using this cell. Everytime we are changing the *ReusableTableViewCell*, we can introduce a bug that can affect a large part of our app. We also would have to consider every case where this cell is used and try not to break that specific case. This can introduce bugs that are hard to discover. If the cell will be able to show a lot more models in the future it will get bloated since we will have to write a function for every model it will be able to display. The cell itself shouldn't be aware of all those classes and how they must be presented. ## So how do we achive this? We will introduce a new protocol called *ReusableTableViewCellDataProvider*. This will be the data source that the table view cell will get the data it needs from. This protocol tells us what the cell can display and that's the only thing this cell will be aware of. protocol ReusableTableViewCellDataProvider { var leftTitle: String? { get } var leftSubtitle: String? { get } var rightTitle: String? { get } var rightSubtitle: String? { get } var image: UIImage? { get } } We will than add a *UserReusableCellDataProvider* that will implement the *ReusableTableViewCellDataProvider* protocol. It will act as an adapter between the *ReusableTableViewCell* and the *User* model. It is the job of the *UserReusableCellDataProvider* to provide the data that the cell can display. struct UserReusableCellDataProvider: ReusableTableViewCellDataProvider { let user: User var leftTitle: String? { return user.name } var leftSubtitle: String? { return "Nick: " + user.nickname } var rightTitle: String? { return "" } var rightSubtitle: String? { return "" } var image: UIImage? { return nil } } In the cell itself, we can remove the functions that accept concrete classes for User and Pet since we only need to pass in any object that implements the *ReusableTableViewCellDataProvider* protocol. func set(with dataProvider: ReusableTableViewCellDataProvider) { leftTitleLabel.text = dataProvider.leftTitle leftSubtitleLabel.text = dataProvider.leftSubtitle rightTitleLabel.text = dataProvider.rightTitle rightSubtitleLabel.text = dataProvider.rightSubtitle set(image: dataProvider.image) } With *set(image: UIImage)* function we make sure that we hide the imageView if the data provider doesn't return an image private func set(image: UIImage?) { guard let image = image else { hideImage() return } showImage() iconImageView.image = image } When dequeuing the cell in tableView cellForRowAt indexPath function of the users screen, we will create an instance of the *UserReusableCellDataProvider* and pass it into the *ReusableTableViewCell*. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { guard let cell = tableView.dequeueReusableCell(withIdentifier: "ReusableTableViewCell") as? ReusableTableViewCell, indexPath.row < users.count else { return UITableViewCell() } let user = users[indexPath.row] let dataProvider = UserReusableCellDataProvider(user: user) cell.set(with: dataProvider) return cell } If we want to display the Pet data in the same cell, we only need to create a new DataProvider. struct PetReusableCellDataProvider: ReusableTableViewCellDataProvider { let pet: Pet var leftTitle: String? { return pet.name } var leftSubtitle: String? { return "Owner: " + pet.owner } var rightTitle: String? { return pet.breed } var rightSubtitle: String? { return pet.weight.description } var image: UIImage? { return pet.avatar } } In the screen with the list of pets, we will deque the cell in the same way, but pass in the *PetReusableCellDataProvider*. # The end result <center>![Screen Shot 2018-02-07 at 00.04.45.png](https://steemitimages.com/DQmemGKx2cSAHFi12BBCvs8UJ9X9JzcPnAeH83aoJdFG9Uh/Screen%20Shot%202018-02-07%20at%2000.04.45.png)</center> <center>**Pets**</center> <br/> <center>![Screen Shot 2018-02-07 at 00.04.31.png](https://steemitimages.com/DQmS3G5VA7zDFrNDJ8SmZ2kC8ykBY45PHCrPV9anmynQ5ci/Screen%20Shot%202018-02-07%20at%2000.04.31.png)</center> <center>**Users**</center> As you can see, we have created two ways of displaying data in our cell but we didn’t have to touch any of the code in the cell itself. If we wanted, we could also add new DataProviders without bloating the cell. You can find the example project on [GitHub](https://github.com/damijanracel/ReusableTableViewCellExample)
json metadata{"tags":["programming","education","swift","ios"],"image":["https://steemitimages.com/DQmfPP14WQXyTyL68mjT5NEYeUcqRiFWFryLJiaPQiJzU6E/Writing%20extendable%20code.png","https://steemitimages.com/DQma7RRAGxUanQKNMJY9x5QwNrBRbiY5CK9X2CWKBM8m14s/Writing%20extendable%20code%20(1).png","https://steemitimages.com/DQmfXm6VUagKPrAeCLsoisVz3kGXxEUnQHAevZyqK6aWWnd/Screen%20Shot%202018-02-06%20at%2022.12.08.png","https://steemitimages.com/DQmemGKx2cSAHFi12BBCvs8UJ9X9JzcPnAeH83aoJdFG9Uh/Screen%20Shot%202018-02-07%20at%2000.04.45.png","https://steemitimages.com/DQmS3G5VA7zDFrNDJ8SmZ2kC8ykBY45PHCrPV9anmynQ5ci/Screen%20Shot%202018-02-07%20at%2000.04.31.png"],"links":["https://github.com/damijanracel/ReusableTableViewCellExample"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkprogramming
permlinkcreating-a-reusable-uitableviewcell
titleCreating a reusable UITableViewCell
Transaction InfoBlock #19645937/Trx 5827bea52522ba8987721975a87bbccb4fb954ed
View Raw JSON Data
{
  "block": 19645937,
  "op": [
    "comment",
    {
      "author": "damage-un",
      "body": "# Reusability\n\nWhen we code, we always try not to repeat ourselves. If we have multiple implementations of the same functionality it will cause problems for us somewhere down the line. For this reason, we would usually reuse a component, when we see the potential for repeating the same code. But are we doing it in the correct way?\n\nI would like to show this problem on a simple example, based on what I have encountered in practice. Imagine a UITableView cell implementation of a cell that is being used more than once in the app. In my example, the cell looks the same, but it is displaying different data. It also might be showing or hiding some components\n\n# The problem\n\n\n![Writing extendable code.png](https://steemitimages.com/DQmfPP14WQXyTyL68mjT5NEYeUcqRiFWFryLJiaPQiJzU6E/Writing%20extendable%20code.png)\n(State showing the image and 4 labels)\n\n![Writing extendable code (1).png](https://steemitimages.com/DQma7RRAGxUanQKNMJY9x5QwNrBRbiY5CK9X2CWKBM8m14s/Writing%20extendable%20code%20(1).png)\n(State showing only two of the labels)\n\nWe have title and subtitles on the left and right side and an image view. We will show the same cell in many screens in the app. Sometimes we have to hide some of the components and we have to populate this cell with different data on every screen. This cell must display the user data on one screen and the data for a pet in another screen. \n\nSo we create one cell in order to reuse it everywhere we need it. We create a view in the interface builder and connect it to the swift class: *ReusableTableViewCell*. \n\n![Screen Shot 2018-02-06 at 22.12.08.png](https://steemitimages.com/DQmfXm6VUagKPrAeCLsoisVz3kGXxEUnQHAevZyqK6aWWnd/Screen%20Shot%202018-02-06%20at%2022.12.08.png)\n\nHere we have two models, User and Pet that we want to display in this cell. Since the user doesn't have a picture, we should hide the image view when displaying a user.\n\n    struct User {\n        let name: String\n        let nickname: String\n    }\n\n    struct Pet {\n        let name: String\n        let owner: String\n        let breed: String\n        let weight: Int\n        let avatar: UIImage?\n    }\n\nOne way of implementing this would be to add two functions to the *ReusableTableViewCell*, *set(with user: User)* and *set(with pet: Pet)*. In those two functions, we would set the labels and toggle the visibility of the image view. We would hide the image view when displaying the user data and show the image view when displaying the pet data. \n\n    func set(with user: User) {\n        leftTitleLabel.text = user.name\n        leftSubtitleLabel.text = \"Nick: \" + user.nickname\n        hideImage()\n    }\n\n    func set(with pet: Pet) {\n        leftTitleLabel.text = pet.name\n        leftSubtitleLabel.text = \"Owner: \" + pet.owner\n        \n        rightTitleLabel.text = pet.breed\n        rightSubtitleLabel.text = pet.weight.description\n        \n        iconImageView.image = pet.avatar\n        showImage()\n    }\n    \n    private func showImage() {\n        iconWidthConstraint.constant = 50\n        iconLeftConstraint.constant = 8\n    }\n\n    private func hideImage() {\n        iconWidthConstraint.constant = 0\n        iconLeftConstraint.constant = 0\n    }\n\nI would argue that this is not the best way to go about doing something like that. I would like to reference the open-closed principle that says that classes should be:\n\n<center> **“open for extension, but closed for modification.”**</center>\n\n The principle originated with Bertrand Meyer who wrote about it in his book Object-Oriented Software Construction. You can also read more about it in an article from Robert C. Martin, The Open-Closed Principle.\n\n# A Different Approach\n\nOur goal is to write the *ReusableTableViewCell* once, but leave it open for extension for all the existing cases and all the cases that may come up in the future. So what do we gain from this? We won’t ever have to change the code in the *ReusableTableViewCell* itself or at least we won’t have to change it that often. This will help a lot if we have many places in our app that are using this cell. Everytime we are changing the *ReusableTableViewCell*, we can introduce a bug that can affect a large part of our app. We also would have to consider every case where this cell is used and try not to break that specific case. This can introduce bugs that are hard to discover.\n\nIf the cell will be able to show a lot more models in the future it will get bloated since we will have to write a function for every model it will be able to display. The cell itself shouldn't be aware of all those classes and how they must be presented.\n\n## So how do we achive this? \nWe will introduce a new protocol called *ReusableTableViewCellDataProvider*. This will be the data source that the table view cell will get the data it needs from. This protocol tells us what the cell can display and that's the only thing this cell will be aware of.\n\n    protocol ReusableTableViewCellDataProvider {\n        var leftTitle: String? { get }\n        var leftSubtitle: String? { get }\n        var rightTitle: String? { get }\n        var rightSubtitle: String? { get }\n        var image: UIImage? { get }\n    }\n\nWe will than add a *UserReusableCellDataProvider* that will implement the *ReusableTableViewCellDataProvider* protocol. It will act as an adapter between the *ReusableTableViewCell* and the *User* model. It is the job of the *UserReusableCellDataProvider* to provide the data that the cell can display.\n\n    struct UserReusableCellDataProvider: ReusableTableViewCellDataProvider {\n        let user: User\n\n        var leftTitle: String? {\n            return user.name\n        }\n    \n        var leftSubtitle: String? {\n            return \"Nick: \" + user.nickname\n        }\n    \n        var rightTitle: String? {\n            return \"\"\n        }\n    \n        var rightSubtitle: String? {\n            return \"\"\n        }\n    \n        var image: UIImage? {\n            return nil\n        }\n    }\n\nIn the cell itself, we can remove the functions that accept concrete classes for User and Pet since we only need to pass in any object that implements the *ReusableTableViewCellDataProvider* protocol.\n\n    func set(with dataProvider: ReusableTableViewCellDataProvider) {\n        leftTitleLabel.text = dataProvider.leftTitle\n        leftSubtitleLabel.text = dataProvider.leftSubtitle\n        \n        rightTitleLabel.text = dataProvider.rightTitle\n        rightSubtitleLabel.text = dataProvider.rightSubtitle\n        \n        set(image: dataProvider.image)\n    }\n\nWith *set(image: UIImage)* function we make sure that we hide the imageView if the data provider doesn't return an image\n\n    private func set(image: UIImage?) {\n        guard let image = image else {\n            hideImage()\n            return\n        }\n        \n        showImage()\n        iconImageView.image = image\n    }\n\nWhen dequeuing the cell in tableView cellForRowAt indexPath function of the users screen, we will create an instance of the *UserReusableCellDataProvider* and pass it into the *ReusableTableViewCell*.\n\n    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {\n        guard let cell = tableView.dequeueReusableCell(withIdentifier: \"ReusableTableViewCell\") as? ReusableTableViewCell, indexPath.row < users.count  else {\n            return UITableViewCell()\n        }\n        \n        let user = users[indexPath.row]\n        let dataProvider = UserReusableCellDataProvider(user: user)\n        cell.set(with: dataProvider)\n        return cell\n    }\n\nIf we want to display the Pet data in the same cell, we only need to create a new DataProvider.\n\n    struct PetReusableCellDataProvider: ReusableTableViewCellDataProvider {\n        let pet: Pet\n    \n        var leftTitle: String? {\n            return pet.name\n        }\n    \n        var leftSubtitle: String? {\n            return \"Owner: \" + pet.owner\n        }\n    \n        var rightTitle: String? {\n            return pet.breed\n        }\n    \n        var rightSubtitle: String? {\n            return pet.weight.description\n        }\n    \n        var image: UIImage? {\n            return pet.avatar\n        }\n    }\n\nIn the screen with the list of pets, we will deque the cell in the same way, but pass in the *PetReusableCellDataProvider*.\n\n# The end result\n\n<center>![Screen Shot 2018-02-07 at 00.04.45.png](https://steemitimages.com/DQmemGKx2cSAHFi12BBCvs8UJ9X9JzcPnAeH83aoJdFG9Uh/Screen%20Shot%202018-02-07%20at%2000.04.45.png)</center>\n<center>**Pets**</center>\n\n<br/>\n\n<center>![Screen Shot 2018-02-07 at 00.04.31.png](https://steemitimages.com/DQmS3G5VA7zDFrNDJ8SmZ2kC8ykBY45PHCrPV9anmynQ5ci/Screen%20Shot%202018-02-07%20at%2000.04.31.png)</center>\n<center>**Users**</center>\n\n\n As you can see, we have created two ways of displaying data in our cell but we didn’t have to touch any of the code in the cell itself. If we wanted, we could also add new DataProviders without bloating the cell.\n\nYou can find the example project on [GitHub](https://github.com/damijanracel/ReusableTableViewCellExample)",
      "json_metadata": "{\"tags\":[\"programming\",\"education\",\"swift\",\"ios\"],\"image\":[\"https://steemitimages.com/DQmfPP14WQXyTyL68mjT5NEYeUcqRiFWFryLJiaPQiJzU6E/Writing%20extendable%20code.png\",\"https://steemitimages.com/DQma7RRAGxUanQKNMJY9x5QwNrBRbiY5CK9X2CWKBM8m14s/Writing%20extendable%20code%20(1).png\",\"https://steemitimages.com/DQmfXm6VUagKPrAeCLsoisVz3kGXxEUnQHAevZyqK6aWWnd/Screen%20Shot%202018-02-06%20at%2022.12.08.png\",\"https://steemitimages.com/DQmemGKx2cSAHFi12BBCvs8UJ9X9JzcPnAeH83aoJdFG9Uh/Screen%20Shot%202018-02-07%20at%2000.04.45.png\",\"https://steemitimages.com/DQmS3G5VA7zDFrNDJ8SmZ2kC8ykBY45PHCrPV9anmynQ5ci/Screen%20Shot%202018-02-07%20at%2000.04.31.png\"],\"links\":[\"https://github.com/damijanracel/ReusableTableViewCellExample\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "programming",
      "permlink": "creating-a-reusable-uitableviewcell",
      "title": "Creating a reusable UITableViewCell"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-06T23:50:18",
  "trx_id": "5827bea52522ba8987721975a87bbccb4fb954ed",
  "trx_in_block": 39,
  "virtual_op": 0
}
2018/02/06 23:21:42
authormystic-creature
permlinkthe-power-of-dog-love
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19645365/Trx f9c698eb99b8426c64b6c0366e74f9728c68a851
View Raw JSON Data
{
  "block": 19645365,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "the-power-of-dog-love",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-06T23:21:42",
  "trx_id": "f9c698eb99b8426c64b6c0366e74f9728c68a851",
  "trx_in_block": 6,
  "virtual_op": 0
}
2018/02/05 21:16:54
authordonaldoz
permlinkstop-jungle-justice-its-not-the-best-option
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19614079/Trx cc4c27c2e2f9dd26c03b2efc2faa07f42b71cbaa
View Raw JSON Data
{
  "block": 19614079,
  "op": [
    "vote",
    {
      "author": "donaldoz",
      "permlink": "stop-jungle-justice-its-not-the-best-option",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-05T21:16:54",
  "trx_id": "cc4c27c2e2f9dd26c03b2efc2faa07f42b71cbaa",
  "trx_in_block": 35,
  "virtual_op": 0
}
2018/02/04 11:15:03
authoraantonop
permlinkthe-real-aantonop
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19573265/Trx 36adca712e11ad567464e67cd08007cd39ce9a4f
View Raw JSON Data
{
  "block": 19573265,
  "op": [
    "vote",
    {
      "author": "aantonop",
      "permlink": "the-real-aantonop",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-04T11:15:03",
  "trx_id": "36adca712e11ad567464e67cd08007cd39ce9a4f",
  "trx_in_block": 70,
  "virtual_op": 0
}
2018/02/04 11:14:54
idfollow
json["follow",{"follower":"damage-un","following":"aantonop","what":["blog"]}]
required auths[]
required posting auths["damage-un"]
Transaction InfoBlock #19573262/Trx 394807a27407d769154ba6b267749580381ca074
View Raw JSON Data
{
  "block": 19573262,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"damage-un\",\"following\":\"aantonop\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "damage-un"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-04T11:14:54",
  "trx_id": "394807a27407d769154ba6b267749580381ca074",
  "trx_in_block": 36,
  "virtual_op": 0
}
2018/02/02 14:41:03
authormystic-creature
bodywe always asks ourselves, how aliens in a human way look like, but we never wonder, how aliens in an animal way look :P maybe they really are the animal aliens :)
json metadata{"tags":["animals"],"app":"steemit/0.1"}
parent authordamage-un
parent permlinkre-mystic-creature-little-black-yellow-eyed-animal-with-red-wings-and-mouth-20180202t132501293z
permlinkre-damage-un-re-mystic-creature-little-black-yellow-eyed-animal-with-red-wings-and-mouth-20180202t144104364z
title
Transaction InfoBlock #19519927/Trx fdb2798fce9d3b3c0b5dd52f4d3916dc88ba7b83
View Raw JSON Data
{
  "block": 19519927,
  "op": [
    "comment",
    {
      "author": "mystic-creature",
      "body": "we always asks ourselves, how aliens in a human way look like, but we never wonder, how aliens in an animal way look :P maybe they really are the animal aliens :)",
      "json_metadata": "{\"tags\":[\"animals\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "damage-un",
      "parent_permlink": "re-mystic-creature-little-black-yellow-eyed-animal-with-red-wings-and-mouth-20180202t132501293z",
      "permlink": "re-damage-un-re-mystic-creature-little-black-yellow-eyed-animal-with-red-wings-and-mouth-20180202t144104364z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-02T14:41:03",
  "trx_id": "fdb2798fce9d3b3c0b5dd52f4d3916dc88ba7b83",
  "trx_in_block": 53,
  "virtual_op": 0
}
2018/02/02 13:25:00
authordamage-un
bodyThey look like aliens :P
json metadata{"tags":["animals"],"app":"steemit/0.1"}
parent authormystic-creature
parent permlinklittle-black-yellow-eyed-animal-with-red-wings-and-mouth
permlinkre-mystic-creature-little-black-yellow-eyed-animal-with-red-wings-and-mouth-20180202t132501293z
title
Transaction InfoBlock #19518408/Trx a8ddd9dd1e63aae5f67c6e3036750ac065457ffc
View Raw JSON Data
{
  "block": 19518408,
  "op": [
    "comment",
    {
      "author": "damage-un",
      "body": "They look like aliens :P",
      "json_metadata": "{\"tags\":[\"animals\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "mystic-creature",
      "parent_permlink": "little-black-yellow-eyed-animal-with-red-wings-and-mouth",
      "permlink": "re-mystic-creature-little-black-yellow-eyed-animal-with-red-wings-and-mouth-20180202t132501293z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-02T13:25:00",
  "trx_id": "a8ddd9dd1e63aae5f67c6e3036750ac065457ffc",
  "trx_in_block": 53,
  "virtual_op": 0
}
2018/02/02 07:10:09
authormystic-creature
permlinkre-cryptoctopus-contest-share-your-best-meme-20180202t001134387z
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19510922/Trx 9ea6bcead6f2531146991ef226a146a8014420e3
View Raw JSON Data
{
  "block": 19510922,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "re-cryptoctopus-contest-share-your-best-meme-20180202t001134387z",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-02T07:10:09",
  "trx_id": "9ea6bcead6f2531146991ef226a146a8014420e3",
  "trx_in_block": 54,
  "virtual_op": 0
}
steemdelegated 16.993 SP to @damage-un
2018/02/02 00:44:42
delegateedamage-un
delegatorsteem
vesting shares27639.994902 VESTS
Transaction InfoBlock #19503223/Trx 4b829b6815dfba294621eb0fc065570a7b6ba4d9
View Raw JSON Data
{
  "block": 19503223,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "damage-un",
      "delegator": "steem",
      "vesting_shares": "27639.994902 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-02T00:44:42",
  "trx_id": "4b829b6815dfba294621eb0fc065570a7b6ba4d9",
  "trx_in_block": 2,
  "virtual_op": 0
}
2018/02/02 00:03:30
authormystic-creature
permlinklittle-black-yellow-eyed-animal-with-red-wings-and-mouth
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19502399/Trx 94f0bb84b8fe6309e7438f5efc2b9efad7aac799
View Raw JSON Data
{
  "block": 19502399,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "little-black-yellow-eyed-animal-with-red-wings-and-mouth",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-02T00:03:30",
  "trx_id": "94f0bb84b8fe6309e7438f5efc2b9efad7aac799",
  "trx_in_block": 49,
  "virtual_op": 0
}
damage-undelegated 1.258 SP to @mystic-creature
2018/02/01 23:27:45
delegateemystic-creature
delegatordamage-un
vesting shares2045.917114 VESTS
Transaction InfoBlock #19501685/Trx 5e13d33efc81b717394b8def796d0cb5d95d5fa6
View Raw JSON Data
{
  "block": 19501685,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "mystic-creature",
      "delegator": "damage-un",
      "vesting_shares": "2045.917114 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-01T23:27:45",
  "trx_id": "5e13d33efc81b717394b8def796d0cb5d95d5fa6",
  "trx_in_block": 11,
  "virtual_op": 0
}
damage-unpowered up 0.990 STEEM to @damage-un
2018/02/01 22:50:36
amount0.990 STEEM
fromdamage-un
todamage-un
Transaction InfoBlock #19500943/Trx 02a6fe6723f60547ebd3c61b74b5f27e7542db38
View Raw JSON Data
{
  "block": 19500943,
  "op": [
    "transfer_to_vesting",
    {
      "amount": "0.990 STEEM",
      "from": "damage-un",
      "to": "damage-un"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-01T22:50:36",
  "trx_id": "02a6fe6723f60547ebd3c61b74b5f27e7542db38",
  "trx_in_block": 23,
  "virtual_op": 0
}
bittrexsent 0.990 STEEM to @damage-un- "STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz"
2018/02/01 22:44:09
amount0.990 STEEM
frombittrex
memoSTM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz
todamage-un
Transaction InfoBlock #19500814/Trx 74ad0685ea4e4cad9f22d196d0135d016c2bb0a8
View Raw JSON Data
{
  "block": 19500814,
  "op": [
    "transfer",
    {
      "amount": "0.990 STEEM",
      "from": "bittrex",
      "memo": "STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz",
      "to": "damage-un"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-01T22:44:09",
  "trx_id": "74ad0685ea4e4cad9f22d196d0135d016c2bb0a8",
  "trx_in_block": 50,
  "virtual_op": 0
}
2018/01/30 00:16:36
authormystic-creature
bodyNo, it wasn't :) it calmed down pretty quickly :)
json metadata{"tags":["animals"],"app":"steemit/0.1"}
parent authordamage-un
parent permlinkre-mystic-creature-snake-s-story-20180130t001039847z
permlinkre-damage-un-re-mystic-creature-snake-s-story-20180130t001637256z
title
Transaction InfoBlock #19416378/Trx 02facaf1b00771cd964eab911c24d8117bcf4d39
View Raw JSON Data
{
  "block": 19416378,
  "op": [
    "comment",
    {
      "author": "mystic-creature",
      "body": "No, it wasn't :) it calmed down pretty quickly :)",
      "json_metadata": "{\"tags\":[\"animals\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "damage-un",
      "parent_permlink": "re-mystic-creature-snake-s-story-20180130t001039847z",
      "permlink": "re-damage-un-re-mystic-creature-snake-s-story-20180130t001637256z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-30T00:16:36",
  "trx_id": "02facaf1b00771cd964eab911c24d8117bcf4d39",
  "trx_in_block": 45,
  "virtual_op": 0
}
2018/01/30 00:10:39
authordamage-un
bodyI hope the snake wasn't too angry :D interesting story
json metadata{"tags":["animals"],"app":"steemit/0.1"}
parent authormystic-creature
parent permlinksnake-s-story
permlinkre-mystic-creature-snake-s-story-20180130t001039847z
title
Transaction InfoBlock #19416259/Trx 7b530e65497c1864987a9d2cd2bbb95c31473a4b
View Raw JSON Data
{
  "block": 19416259,
  "op": [
    "comment",
    {
      "author": "damage-un",
      "body": "I hope the snake wasn't too angry :D interesting story",
      "json_metadata": "{\"tags\":[\"animals\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "mystic-creature",
      "parent_permlink": "snake-s-story",
      "permlink": "re-mystic-creature-snake-s-story-20180130t001039847z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-30T00:10:39",
  "trx_id": "7b530e65497c1864987a9d2cd2bbb95c31473a4b",
  "trx_in_block": 51,
  "virtual_op": 0
}
2018/01/30 00:06:27
authormystic-creature
permlinksnake-s-story
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19416175/Trx 78d754290b921ded59d330d1a72876ea6eafe57f
View Raw JSON Data
{
  "block": 19416175,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "snake-s-story",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-30T00:06:27",
  "trx_id": "78d754290b921ded59d330d1a72876ea6eafe57f",
  "trx_in_block": 30,
  "virtual_op": 0
}
2018/01/27 23:45:48
authormystic-creature
permlinkintroduceyourself
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19358186/Trx 94b5220ca38ed3d330787025ff4ca13ba9407a30
View Raw JSON Data
{
  "block": 19358186,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "introduceyourself",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-27T23:45:48",
  "trx_id": "94b5220ca38ed3d330787025ff4ca13ba9407a30",
  "trx_in_block": 3,
  "virtual_op": 0
}
2018/01/27 23:45:33
authormystic-creature
permlinkthe-koala-bear
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19358181/Trx b5d0f528bf3feb4aa13156b82dccc073c006cfb8
View Raw JSON Data
{
  "block": 19358181,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "the-koala-bear",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-27T23:45:33",
  "trx_id": "b5d0f528bf3feb4aa13156b82dccc073c006cfb8",
  "trx_in_block": 39,
  "virtual_op": 0
}
2018/01/27 23:45:00
authormystic-creature
permlinkhorror-movies-worth-watching
voterdamage-un
weight10000 (100.00%)
Transaction InfoBlock #19358170/Trx e6d488c896c11be27609979417ee6d256478ccf3
View Raw JSON Data
{
  "block": 19358170,
  "op": [
    "vote",
    {
      "author": "mystic-creature",
      "permlink": "horror-movies-worth-watching",
      "voter": "damage-un",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-27T23:45:00",
  "trx_id": "e6d488c896c11be27609979417ee6d256478ccf3",
  "trx_in_block": 4,
  "virtual_op": 0
}
2018/01/27 23:44:21
idfollow
json["follow",{"follower":"damage-un","following":"mystic-creature","what":["blog"]}]
required auths[]
required posting auths["damage-un"]
Transaction InfoBlock #19358157/Trx 2612c1e56d4ae441d2f8eeb0fc33e9a6155cb0de
View Raw JSON Data
{
  "block": 19358157,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"damage-un\",\"following\":\"mystic-creature\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "damage-un"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-27T23:44:21",
  "trx_id": "2612c1e56d4ae441d2f8eeb0fc33e9a6155cb0de",
  "trx_in_block": 59,
  "virtual_op": 0
}
steemcreated a new account: @damage-un
2018/01/27 23:43:27
active{"account_auths":[],"key_auths":[["STM7N4gXwpLhVGH9tneZD6KxKLjpdRLu45V5GHcfpxUUDziMTAd4a",1]],"weight_threshold":1}
creatorsteem
delegation29700.000000 VESTS
extensions[]
fee0.500 STEEM
json metadata
memo keySTM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz
new account namedamage-un
owner{"account_auths":[],"key_auths":[["STM86Cv7VaFeDUDk7huttPMoUtP3axiYw32cvN9DXEjnu7LXiBEnh",1]],"weight_threshold":1}
posting{"account_auths":[],"key_auths":[["STM87PVjtL8vaHehh2MqZqWgcFGbRyReM5PqzPQ8tbvkHYWHYLQ3v",1]],"weight_threshold":1}
Transaction InfoBlock #19358139/Trx e0d216a3e362f2ecec7970c7bbe3f6fc139e6649
View Raw JSON Data
{
  "block": 19358139,
  "op": [
    "account_create_with_delegation",
    {
      "active": {
        "account_auths": [],
        "key_auths": [
          [
            "STM7N4gXwpLhVGH9tneZD6KxKLjpdRLu45V5GHcfpxUUDziMTAd4a",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "creator": "steem",
      "delegation": "29700.000000 VESTS",
      "extensions": [],
      "fee": "0.500 STEEM",
      "json_metadata": "",
      "memo_key": "STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz",
      "new_account_name": "damage-un",
      "owner": {
        "account_auths": [],
        "key_auths": [
          [
            "STM86Cv7VaFeDUDk7huttPMoUtP3axiYw32cvN9DXEjnu7LXiBEnh",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "posting": {
        "account_auths": [],
        "key_auths": [
          [
            "STM87PVjtL8vaHehh2MqZqWgcFGbRyReM5PqzPQ8tbvkHYWHYLQ3v",
            1
          ]
        ],
        "weight_threshold": 1
      }
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-27T23:43:27",
  "trx_id": "e0d216a3e362f2ecec7970c7bbe3f6fc139e6649",
  "trx_in_block": 12,
  "virtual_op": 0
}

Account Metadata

POSTING JSON METADATA
None
JSON METADATA
None
{
  "posting_json_metadata": {},
  "json_metadata": {}
}

Auth Keys

Owner
Single Signature
Public Keys
STM86Cv7VaFeDUDk7huttPMoUtP3axiYw32cvN9DXEjnu7LXiBEnh1/1
Active
Single Signature
Public Keys
STM7N4gXwpLhVGH9tneZD6KxKLjpdRLu45V5GHcfpxUUDziMTAd4a1/1
Posting
Single Signature
Public Keys
STM87PVjtL8vaHehh2MqZqWgcFGbRyReM5PqzPQ8tbvkHYWHYLQ3v1/1
Memo
STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz
{
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM86Cv7VaFeDUDk7huttPMoUtP3axiYw32cvN9DXEjnu7LXiBEnh",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM7N4gXwpLhVGH9tneZD6KxKLjpdRLu45V5GHcfpxUUDziMTAd4a",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting": {
    "account_auths": [],
    "key_auths": [
      [
        "STM87PVjtL8vaHehh2MqZqWgcFGbRyReM5PqzPQ8tbvkHYWHYLQ3v",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "memo": "STM5GPoauPKi9re7JB2bivJ9kRVpSuaLDvUkgHnotkkqtQJTsYWZz"
}

Witness Votes

0 / 30
No active witness votes.
[]