Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.018USD
STEEM
0.000STEEM
SBD
0.021SBD
Effective Power
5.001SP
├── Own SP
0.135SP
└── Incoming Deleg
+4.866SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.135SP
Delegated Out
0.000SP
Delegation In
4.866SP
Effective Power
5.001SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.021SBD
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": "219.836285 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7923.823521 VESTS",
  "sbd_balance": "0.021 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

nameilkermanap
id974629
rank346,553
reputation149118884
created2018-05-09T21:24:45
recovery_accountsteem
proxyNone
post_count2
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-05-09T22:39:24
last_root_post2018-05-09T22:39:24
last_vote_time1970-01-01T00:00:00
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.021 SBD
savings_sbd_balance0.000 SBD
vesting_shares219.836285 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7923.823521 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
{
  "id": 974629,
  "name": "ilkermanap",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7N5PA75Nf4Px7Z26yUEzBtqzq935WQUBCpqtZVX5wNVkvWEs5v",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7b3v7HxuavLwfmqsqKTjk6P6yD4eaDyXkiusBk5qQcDjZNuGfF",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5VvpBPdEJ929zZfkpZJdvUN37Nvq8wNpZHD2NLbJH2CvWTt1X4",
        1
      ]
    ]
  },
  "memo_key": "STM7e8fW2bRQe5zbZUCb72G5ufSfDJZv8jUQV2t6iG8Ynm6HeWGmX",
  "json_metadata": "{}",
  "posting_json_metadata": "",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "1970-01-01T00:00:00",
  "created": "2018-05-09T21:24:45",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 2,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779067413
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779067413
  },
  "voting_power": 0,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.021 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2018-05-29T22:38:24",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "219.836285 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7923.823521 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 15,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-05-09T22:39:24",
  "last_root_post": "2018-05-09T22:39:24",
  "last_vote_time": "1970-01-01T00:00:00",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 149118884,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 346553
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.866 SP to @ilkermanap
2026/05/18 01:23:33
delegatorsteem
delegateeilkermanap
vesting shares7923.823521 VESTS
Transaction InfoBlock #106144808/Trx 1dd9582a2ebc94c9aaaa2502fce17a8033a86d83
View Raw JSON Data
{
  "trx_id": "1dd9582a2ebc94c9aaaa2502fce17a8033a86d83",
  "block": 106144808,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-18T01:23:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "7923.823521 VESTS"
    }
  ]
}
steemdelegated 3.200 SP to @ilkermanap
2026/05/12 08:27:39
delegatorsteem
delegateeilkermanap
vesting shares5211.613116 VESTS
Transaction InfoBlock #105981243/Trx 9e14a05b0bdb95cca428f3c6f4a5462af36e8762
View Raw JSON Data
{
  "trx_id": "9e14a05b0bdb95cca428f3c6f4a5462af36e8762",
  "block": 105981243,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-12T08:27:39",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "5211.613116 VESTS"
    }
  ]
}
steemdelegated 4.874 SP to @ilkermanap
2026/04/26 00:42:33
delegatorsteem
delegateeilkermanap
vesting shares7936.339277 VESTS
Transaction InfoBlock #105512427/Trx 72f7641ef077c96d4a6f6d5ef5b553c7f29f51bb
View Raw JSON Data
{
  "trx_id": "72f7641ef077c96d4a6f6d5ef5b553c7f29f51bb",
  "block": 105512427,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-26T00:42:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "7936.339277 VESTS"
    }
  ]
}
steemdelegated 3.226 SP to @ilkermanap
2026/01/23 10:52:00
delegatorsteem
delegateeilkermanap
vesting shares5253.159935 VESTS
Transaction InfoBlock #102855485/Trx 43389c20e445e275304e9ce30f2c7aa544b3722a
View Raw JSON Data
{
  "trx_id": "43389c20e445e275304e9ce30f2c7aa544b3722a",
  "block": 102855485,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-23T10:52:00",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "5253.159935 VESTS"
    }
  ]
}
2025/01/27 16:25:39
parent authorilkermanap
parent permlinkcreating-a-qr-core-reader-web-service
authorqr-code-scanner
permlinksqr9mr
title
bodyYou can download this Android QR code scanner app and use it on your phone https://www.appbrain.com/dev/qr+code+scanner/
json metadata{"links":["https://www.appbrain.com/dev/qr+code+scanner/"],"app":"steemit/0.2"}
Transaction InfoBlock #92492169/Trx 0a882a49efc6d903a6044f3fbac9a7ba25c98b49
View Raw JSON Data
{
  "trx_id": "0a882a49efc6d903a6044f3fbac9a7ba25c98b49",
  "block": 92492169,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2025-01-27T16:25:39",
  "op": [
    "comment",
    {
      "parent_author": "ilkermanap",
      "parent_permlink": "creating-a-qr-core-reader-web-service",
      "author": "qr-code-scanner",
      "permlink": "sqr9mr",
      "title": "",
      "body": "You can download this Android QR code scanner app and use it on your phone https://www.appbrain.com/dev/qr+code+scanner/",
      "json_metadata": "{\"links\":[\"https://www.appbrain.com/dev/qr+code+scanner/\"],\"app\":\"steemit/0.2\"}"
    }
  ]
}
steemdelegated 3.327 SP to @ilkermanap
2024/12/17 06:09:12
delegatorsteem
delegateeilkermanap
vesting shares5417.379132 VESTS
Transaction InfoBlock #91301844/Trx 1cfe01b3b2a1ec22f2ce96be140c96006ea0ebcd
View Raw JSON Data
{
  "trx_id": "1cfe01b3b2a1ec22f2ce96be140c96006ea0ebcd",
  "block": 91301844,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-17T06:09:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "5417.379132 VESTS"
    }
  ]
}
steemdelegated 3.431 SP to @ilkermanap
2023/11/13 21:51:21
delegatorsteem
delegateeilkermanap
vesting shares5586.512664 VESTS
Transaction InfoBlock #79856032/Trx 9d66d66fb0ff0e455b3f8b0156f3f49c95b31870
View Raw JSON Data
{
  "trx_id": "9d66d66fb0ff0e455b3f8b0156f3f49c95b31870",
  "block": 79856032,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-13T21:51:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "5586.512664 VESTS"
    }
  ]
}
steemdelegated 5.234 SP to @ilkermanap
2023/09/21 23:10:36
delegatorsteem
delegateeilkermanap
vesting shares8523.791450 VESTS
Transaction InfoBlock #78349441/Trx 919019e11136f08cd6c1f6fbe09ad3d13f233781
View Raw JSON Data
{
  "trx_id": "919019e11136f08cd6c1f6fbe09ad3d13f233781",
  "block": 78349441,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-21T23:10:36",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "8523.791450 VESTS"
    }
  ]
}
steemdelegated 5.371 SP to @ilkermanap
2022/11/03 12:47:33
delegatorsteem
delegateeilkermanap
vesting shares8745.472888 VESTS
Transaction InfoBlock #69114562/Trx e32d816fc5565a4958be5db2b6cc60cf0eccf57e
View Raw JSON Data
{
  "trx_id": "e32d816fc5565a4958be5db2b6cc60cf0eccf57e",
  "block": 69114562,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T12:47:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "8745.472888 VESTS"
    }
  ]
}
steemdelegated 5.506 SP to @ilkermanap
2022/01/17 11:57:57
delegatorsteem
delegateeilkermanap
vesting shares8966.006119 VESTS
Transaction InfoBlock #60810620/Trx 9b1807cbdd42e29007871705ee125f4e394aef09
View Raw JSON Data
{
  "trx_id": "9b1807cbdd42e29007871705ee125f4e394aef09",
  "block": 60810620,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T11:57:57",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "8966.006119 VESTS"
    }
  ]
}
steemdelegated 5.619 SP to @ilkermanap
2021/06/14 01:50:30
delegatorsteem
delegateeilkermanap
vesting shares9149.774777 VESTS
Transaction InfoBlock #54608949/Trx 2eba730810b9e8d02c254e8ee7e5b37ef07a58bd
View Raw JSON Data
{
  "trx_id": "2eba730810b9e8d02c254e8ee7e5b37ef07a58bd",
  "block": 54608949,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-14T01:50:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "9149.774777 VESTS"
    }
  ]
}
steemdelegated 5.734 SP to @ilkermanap
2020/12/11 12:07:48
delegatorsteem
delegateeilkermanap
vesting shares9337.196751 VESTS
Transaction InfoBlock #49356362/Trx 876bb718cca49b10383003541ef20df29949d548
View Raw JSON Data
{
  "trx_id": "876bb718cca49b10383003541ef20df29949d548",
  "block": 49356362,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T12:07:48",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "9337.196751 VESTS"
    }
  ]
}
steemdelegated 1.174 SP to @ilkermanap
2020/12/06 05:44:45
delegatorsteem
delegateeilkermanap
vesting shares1912.543513 VESTS
Transaction InfoBlock #49207921/Trx e0f72eb047e6fba88ad57386808d70e6ce3da26f
View Raw JSON Data
{
  "trx_id": "e0f72eb047e6fba88ad57386808d70e6ce3da26f",
  "block": 49207921,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T05:44:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.738 SP to @ilkermanap
2020/12/05 15:45:39
delegatorsteem
delegateeilkermanap
vesting shares9343.404605 VESTS
Transaction InfoBlock #49191456/Trx 3ecc32968143066fc6b6fda609209348866717c5
View Raw JSON Data
{
  "trx_id": "3ecc32968143066fc6b6fda609209348866717c5",
  "block": 49191456,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T15:45:39",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "9343.404605 VESTS"
    }
  ]
}
steemdelegated 1.179 SP to @ilkermanap
2020/11/02 17:45:15
delegatorsteem
delegateeilkermanap
vesting shares1920.017158 VESTS
Transaction InfoBlock #48260292/Trx 99263bc20710f582042465b896f6703a429e21f3
View Raw JSON Data
{
  "trx_id": "99263bc20710f582042465b896f6703a429e21f3",
  "block": 48260292,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-02T17:45:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.862 SP to @ilkermanap
2020/05/09 06:43:06
delegatorsteem
delegateeilkermanap
vesting shares9546.209964 VESTS
Transaction InfoBlock #43218184/Trx 6f10323699de17497beb9b5f71bfd52abf665cf5
View Raw JSON Data
{
  "trx_id": "6f10323699de17497beb9b5f71bfd52abf665cf5",
  "block": 43218184,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T06:43:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "9546.209964 VESTS"
    }
  ]
}
steemdelegated 1.200 SP to @ilkermanap
2020/05/08 10:28:15
delegatorsteem
delegateeilkermanap
vesting shares1953.311140 VESTS
Transaction InfoBlock #43194455/Trx 05243fafa3d59cd56b21e13c2ae1269493dab4aa
View Raw JSON Data
{
  "trx_id": "05243fafa3d59cd56b21e13c2ae1269493dab4aa",
  "block": 43194455,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T10:28:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
steemdelegated 5.957 SP to @ilkermanap
2019/08/13 09:33:45
delegatorsteem
delegateeilkermanap
vesting shares9700.116333 VESTS
Transaction InfoBlock #35512738/Trx 7b7f1cb6f091724f8a9d77bdec2c3b3992839258
View Raw JSON Data
{
  "trx_id": "7b7f1cb6f091724f8a9d77bdec2c3b3992839258",
  "block": 35512738,
  "trx_in_block": 37,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-08-13T09:33:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "9700.116333 VESTS"
    }
  ]
}
2019/05/09 23:31:33
parent authorilkermanap
parent permlinkcreating-a-qr-core-reader-web-service
authorsteemitboard
permlinksteemitboard-notify-ilkermanap-20190509t233133000z
title
bodyCongratulations @ilkermanap! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@ilkermanap/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@ilkermanap) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=ilkermanap)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/7CiQEO.png"></a></td><td><a href="https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05">SteemitBoard - Witness Update</a></td></tr></table> ###### [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"]}
Transaction InfoBlock #32769459/Trx 5ca28633605657b63fb8c2a534e208f6920da92d
View Raw JSON Data
{
  "trx_id": "5ca28633605657b63fb8c2a534e208f6920da92d",
  "block": 32769459,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-05-09T23:31:33",
  "op": [
    "comment",
    {
      "parent_author": "ilkermanap",
      "parent_permlink": "creating-a-qr-core-reader-web-service",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-ilkermanap-20190509t233133000z",
      "title": "",
      "body": "Congratulations @ilkermanap! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@ilkermanap/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@ilkermanap) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=ilkermanap)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05\"><img src=\"https://steemitimages.com/64x128/http://i.cubeupload.com/7CiQEO.png\"></a></td><td><a href=\"https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05\">SteemitBoard - Witness Update</a></td></tr></table>\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\"]}"
    }
  ]
}
steemdelegated 6.079 SP to @ilkermanap
2018/08/29 00:01:06
delegatorsteem
delegateeilkermanap
vesting shares9898.629998 VESTS
Transaction InfoBlock #25477167/Trx 7f3dd80b61701c53e8c1615fbc28c433d78439a3
View Raw JSON Data
{
  "trx_id": "7f3dd80b61701c53e8c1615fbc28c433d78439a3",
  "block": 25477167,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-08-29T00:01:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "9898.629998 VESTS"
    }
  ]
}
ilkermanapclaimed reward balance: 0.021 SBD, 0.010 SP
2018/05/29 22:38:24
accountilkermanap
reward steem0.000 STEEM
reward sbd0.021 SBD
reward vests16.278778 VESTS
Transaction InfoBlock #22866636/Trx 280420ff658a3854de3c9345178c2b9c4c9f2d8f
View Raw JSON Data
{
  "trx_id": "280420ff658a3854de3c9345178c2b9c4c9f2d8f",
  "block": 22866636,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-29T22:38:24",
  "op": [
    "claim_reward_balance",
    {
      "account": "ilkermanap",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "0.021 SBD",
      "reward_vests": "16.278778 VESTS"
    }
  ]
}
ilkermanapreceived 0.021 SBD, 0.010 SP author reward for @ilkermanap / introducing-myself
2018/05/16 21:49:48
authorilkermanap
permlinkintroducing-myself
sbd payout0.021 SBD
steem payout0.000 STEEM
vesting payout16.278778 VESTS
Transaction InfoBlock #22491696/Virtual Operation #3
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 22491696,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 3,
  "timestamp": "2018-05-16T21:49:48",
  "op": [
    "author_reward",
    {
      "author": "ilkermanap",
      "permlink": "introducing-myself",
      "sbd_payout": "0.021 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "16.278778 VESTS"
    }
  ]
}
2018/05/10 11:08:57
required auths[]
required posting auths["ilkermanap"]
idfollow
json["follow",{"follower":"ilkermanap","following":"gabrum","what":["blog"]}]
Transaction InfoBlock #22306099/Trx 02ad799d1b6f87624c41f5808facced3bbfc80cf
View Raw JSON Data
{
  "trx_id": "02ad799d1b6f87624c41f5808facced3bbfc80cf",
  "block": 22306099,
  "trx_in_block": 39,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T11:08:57",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "ilkermanap"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"ilkermanap\",\"following\":\"gabrum\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/05/10 11:08:33
required auths[]
required posting auths["ilkermanap"]
idfollow
json["follow",{"follower":"ilkermanap","following":"aclarkuk82","what":["blog"]}]
Transaction InfoBlock #22306091/Trx f3fb9698929a78c31a7d0216be28e5a639e6c613
View Raw JSON Data
{
  "trx_id": "f3fb9698929a78c31a7d0216be28e5a639e6c613",
  "block": 22306091,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T11:08:33",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "ilkermanap"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"ilkermanap\",\"following\":\"aclarkuk82\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/05/10 10:57:15
required auths[]
required posting auths["ilkermanap"]
idfollow
json["follow",{"follower":"ilkermanap","following":"punky","what":["blog"]}]
Transaction InfoBlock #22305865/Trx b828673afeedd457894fec76eb9403d5b8ae486a
View Raw JSON Data
{
  "trx_id": "b828673afeedd457894fec76eb9403d5b8ae486a",
  "block": 22305865,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T10:57:15",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "ilkermanap"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"ilkermanap\",\"following\":\"punky\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/05/10 10:33:33
required auths[]
required posting auths["ilkermanap"]
idfollow
json["follow",{"follower":"ilkermanap","following":"zokk","what":["blog"]}]
Transaction InfoBlock #22305391/Trx 8921b4f0417c3bdc486d0531845edd2bc5dcc7da
View Raw JSON Data
{
  "trx_id": "8921b4f0417c3bdc486d0531845edd2bc5dcc7da",
  "block": 22305391,
  "trx_in_block": 61,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T10:33:33",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "ilkermanap"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"ilkermanap\",\"following\":\"zokk\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/05/10 10:31:45
required auths[]
required posting auths["ilkermanap"]
idfollow
json["follow",{"follower":"ilkermanap","following":"obaku","what":["blog"]}]
Transaction InfoBlock #22305355/Trx 9534ab5b609f4d6a3fcbd206f8fa2db6ad4ce468
View Raw JSON Data
{
  "trx_id": "9534ab5b609f4d6a3fcbd206f8fa2db6ad4ce468",
  "block": 22305355,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T10:31:45",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "ilkermanap"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"ilkermanap\",\"following\":\"obaku\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/05/10 10:31:03
required auths[]
required posting auths["ilkermanap"]
idfollow
json["follow",{"follower":"ilkermanap","following":"manw","what":["blog"]}]
Transaction InfoBlock #22305341/Trx 69b1dcc41ecf7037abdc8d3d29a2511da8621a54
View Raw JSON Data
{
  "trx_id": "69b1dcc41ecf7037abdc8d3d29a2511da8621a54",
  "block": 22305341,
  "trx_in_block": 61,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T10:31:03",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "ilkermanap"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"ilkermanap\",\"following\":\"manw\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/05/10 10:30:39
required auths[]
required posting auths["ilkermanap"]
idfollow
json["follow",{"follower":"ilkermanap","following":"davsner","what":["blog"]}]
Transaction InfoBlock #22305333/Trx f6e88c03d55906990850c130aaa9a151e9e36ca9
View Raw JSON Data
{
  "trx_id": "f6e88c03d55906990850c130aaa9a151e9e36ca9",
  "block": 22305333,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T10:30:39",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "ilkermanap"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"ilkermanap\",\"following\":\"davsner\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/05/10 10:30:15
required auths[]
required posting auths["ilkermanap"]
idfollow
json["follow",{"follower":"ilkermanap","following":"cryptoriddler","what":["blog"]}]
Transaction InfoBlock #22305325/Trx 9c429ac2d73744cbda9cf0a9789a93bbdfa4ac6a
View Raw JSON Data
{
  "trx_id": "9c429ac2d73744cbda9cf0a9789a93bbdfa4ac6a",
  "block": 22305325,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T10:30:15",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "ilkermanap"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"ilkermanap\",\"following\":\"cryptoriddler\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/05/10 10:29:45
required auths[]
required posting auths["ilkermanap"]
idfollow
json["follow",{"follower":"ilkermanap","following":"bekirsolak","what":["blog"]}]
Transaction InfoBlock #22305315/Trx 6d96986ddf84e90877b1b868929299c48140101f
View Raw JSON Data
{
  "trx_id": "6d96986ddf84e90877b1b868929299c48140101f",
  "block": 22305315,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T10:29:45",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "ilkermanap"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"ilkermanap\",\"following\":\"bekirsolak\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/05/10 09:37:30
parent author
parent permlinkpython
authorilkermanap
permlinkcreating-a-qr-core-reader-web-service
titleCreating a QR Code reader web service
body# qrextract QR codes are everywhere. I wrote this small web service to demonstrate how easy to create a web service using flask which scans the image file uploaded. The code is at [github](https://github.com/ilkermanap/qrextract) Reading part is done with zbar. Here there is a QRReader class which you initialize with the file name of the image you want scanned. Below is the complete listing for qrreader.py file. ``` import os import zbar import Image from flask import jsonify class QRReader: def __init__(self, fname): sc = zbar.ImageScanner() pil = Image.open(fname).convert("L") raw = pil.tobytes() w,h = pil.size self.img = zbar.Image(w,h,'Y800', raw) sc.scan(self.img) def __str__(self): cev = "<htm><pre>" for s in self.img: t = "" for x,y in s.location: t += "(%d, %d) " % (x,y) cev += t + " : " + s.data + " \n" return cev + "</pre></html>" def json(self): res = {} i = 0 for s in self.img: res[i] = {"data": s.data, "location": (s.location[0], s.location[2]), "count": s.count, "quality": s.quality, "type": "%s" % s.type, } i += 1 return jsonify(res) ``` The web server part was written using flask. It only allows using png, jpg and jpeg extensions. For the sake of simplicity, I didn't used fancy stuff like templates, css etc. I'm not a UI/UX guy. If you want to make it look better, it is on you. The code has both presentation (ugly html form) and processing with QRReader class parts in one place. The request.method tells us if this request is a GET or POST. If it is a GET request, then we will display the html form. If it is a POST request, it means that the form displayed is submitted. We just save the uploaded file and create a QRReader object using the file name. User can also request if the result should be delivered in HTML format or JSON format. Here is the complete code for the web part: ``` import os from flask import Flask, request, redirect, url_for, flash from werkzeug.utils import secure_filename from qrreader import QRReader UPLOAD_FOLDER = '/tmp' ALLOWED_EXTENSIONS = set([ 'png', 'jpg', 'jpeg']) app = Flask(__name__) app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER def allowed_file(filename): return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS @app.route('/', methods=['GET', 'POST']) def upload_file(): if request.method == 'POST': # check if the post request has the file part if 'file' not in request.files: flash('No file part') return redirect(request.url) file = request.files['file'] # if user does not select file, browser also # submit a empty part without filename if file.filename == '': flash('No selected file') return redirect(request.url) if file and allowed_file(file.filename): filename = secure_filename(file.filename) f = os.path.join(app.config['UPLOAD_FOLDER'], filename) file.save(f) d = QRReader(f) outtype = request.form.get("outtype") if outtype == "json": return d.json() elif outtype == "html": return str(d) return ''' <!doctype html> <title>Upload new File</title> <h1>Upload new File</h1> <form method=post enctype=multipart/form-data> <p><input type=file name=file> <p><input type=radio name=outtype value="json" checked>JSON <p><input type=radio name=outtype value="html" ">HTML <p><input type=text name=deneme value="denemedir"> <p><input type=submit value=Upload> </form> ''' if __name__ == '__main__': app.run(host="0.0.0.0", port=5002, debug=True) ``` Here is a sample picture with lots of qr codes. ![sample.jpg](https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg) Below is the result for that document. ``` { "0": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691474", "location": [ [ 33, 635 ], [ 143, 744 ] ], "quality": 1, "type": "QRCODE" }, "1": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691477", "location": [ [ 696, 635 ], [ 806, 744 ] ], "quality": 1, "type": "QRCODE" }, . . . "17": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691459", "location": [ [ 33, 31 ], [ 142, 141 ] ], "quality": 1, "type": "QRCODE" } } ``` To test the application, enter the command below, python qr.py then, open http://localhost:5002 on your browser.
json metadata{"tags":["python","flask","qrcode"],"image":["https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg"],"links":["https://github.com/ilkermanap/qrextract","http://localhost:5002"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #22304272/Trx 4dbca0552a924466c4620b00fe8cea5b5bb8145c
View Raw JSON Data
{
  "trx_id": "4dbca0552a924466c4620b00fe8cea5b5bb8145c",
  "block": 22304272,
  "trx_in_block": 39,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T09:37:30",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "python",
      "author": "ilkermanap",
      "permlink": "creating-a-qr-core-reader-web-service",
      "title": "Creating a QR Code reader web service",
      "body": "# qrextract\n\nQR codes are everywhere. I wrote this small web service to demonstrate how easy to  create a web service using flask which scans the image file uploaded. \n\nThe code is at [github](https://github.com/ilkermanap/qrextract)\n\nReading part is done with zbar. Here there is a QRReader class which you initialize with the file name of the image you want scanned. Below is the complete listing for qrreader.py file. \n\n```\nimport os\nimport zbar\nimport Image\nfrom flask import jsonify\n\nclass QRReader:\n    def __init__(self, fname):\n        sc = zbar.ImageScanner()\n        pil = Image.open(fname).convert(\"L\")\n        raw = pil.tobytes()\n        w,h = pil.size\n        self.img = zbar.Image(w,h,'Y800', raw)\n        sc.scan(self.img)\n        \n    def __str__(self):\n        cev = \"<htm><pre>\"\n        for s in self.img:\n            t = \"\"\n            for x,y in s.location:\n                t += \"(%d, %d) \" % (x,y)\n            cev += t + \" : \" + s.data + \" \\n\"\n        return cev + \"</pre></html>\"\n\n    def json(self):\n        res = {}\n        i = 0\n        for s in self.img:\n            res[i] = {\"data\": s.data, \"location\": (s.location[0], s.location[2]),\n                          \"count\": s.count, \"quality\": s.quality, \"type\": \"%s\" % s.type, }\n            i += 1            \n        return jsonify(res)\n```\n\nThe web server part was written using flask.  It only allows using png, jpg and jpeg extensions.  For the sake of simplicity, I didn't used fancy stuff like templates, css etc. I'm not a UI/UX guy. If you want to make it look better, it is on you.\n\nThe code has both presentation (ugly html form) and processing with  QRReader class parts in one place. \n\nThe request.method tells us if this request is a GET or POST. If it is a GET request, then we will display the html form. If it is a POST request, it means that the form displayed is submitted. We just save the uploaded file and create a QRReader object  using the file name.  User can also request if the result should be delivered in HTML format or JSON format.\n\nHere is the complete code for the web part:\n\n```\nimport os\nfrom flask import Flask, request, redirect, url_for, flash\nfrom werkzeug.utils import secure_filename\nfrom qrreader import QRReader\n\nUPLOAD_FOLDER = '/tmp'\nALLOWED_EXTENSIONS = set([ 'png', 'jpg', 'jpeg'])\n\napp = Flask(__name__)\napp.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER\n\ndef allowed_file(filename):\n    return '.' in filename and  filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS\n\[email protected]('/', methods=['GET', 'POST'])\ndef upload_file():\n    if request.method == 'POST':\n        # check if the post request has the file part\n        if 'file' not in request.files:\n            flash('No file part')\n            return redirect(request.url)\n        file = request.files['file']\n        # if user does not select file, browser also\n        # submit a empty part without filename\n        if file.filename == '':\n            flash('No selected file')\n            return redirect(request.url)       \n        if file and allowed_file(file.filename):\n            filename = secure_filename(file.filename)\n            f = os.path.join(app.config['UPLOAD_FOLDER'], filename)\n            file.save(f)\n            d = QRReader(f)\n            outtype = request.form.get(\"outtype\")\n            if outtype == \"json\":\n                return d.json()\n            elif outtype == \"html\":\n                return str(d)\n\n    return '''\n    <!doctype html>\n    <title>Upload new File</title>\n    <h1>Upload new File</h1>\n    <form method=post enctype=multipart/form-data>\n      <p><input type=file name=file>\n      <p><input type=radio name=outtype value=\"json\" checked>JSON\n      <p><input type=radio name=outtype value=\"html\" \">HTML\n      <p><input type=text name=deneme value=\"denemedir\">\n      <p><input type=submit value=Upload>\n    </form>\n    '''\n\nif __name__ == '__main__':\n    app.run(host=\"0.0.0.0\", port=5002,  debug=True)\n```\nHere is a sample picture with lots of qr codes.\n\n![sample.jpg](https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg)\n\nBelow is the result  for that document.\n\n```\n{\n  \"0\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691474\", \n    \"location\": [\n      [\n        33, \n        635\n      ], \n      [\n        143, \n        744\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"1\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691477\", \n    \"location\": [\n      [\n        696, \n        635\n      ], \n      [\n        806, \n        744\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n.\n.\n.\n  \"17\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691459\", \n    \"location\": [\n      [\n        33, \n        31\n      ], \n      [\n        142, \n        141\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }\n}\n```\n\nTo test the application, enter the command below,\n\n    python qr.py\n\nthen, open http://localhost:5002 on your browser.",
      "json_metadata": "{\"tags\":[\"python\",\"flask\",\"qrcode\"],\"image\":[\"https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg\"],\"links\":[\"https://github.com/ilkermanap/qrextract\",\"http://localhost:5002\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/05/10 06:14:09
parent author
parent permlinkpython
authorilkermanap
permlinkcreating-a-qr-core-reader-web-service
titleCreating a QR Code reader web service
body@@ -12907,17 +12907,16 @@ command -s below,%0A
json metadata{"tags":["python","flask","qrcode"],"image":["https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg"],"links":["https://github.com/ilkermanap/qrextract","http://localhost:5002"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #22300208/Trx f01f9a03ba81f10c367c0eca315ea0374b32df72
View Raw JSON Data
{
  "trx_id": "f01f9a03ba81f10c367c0eca315ea0374b32df72",
  "block": 22300208,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T06:14:09",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "python",
      "author": "ilkermanap",
      "permlink": "creating-a-qr-core-reader-web-service",
      "title": "Creating a QR Code reader web service",
      "body": "@@ -12907,17 +12907,16 @@\n  command\n-s\n  below,%0A\n",
      "json_metadata": "{\"tags\":[\"python\",\"flask\",\"qrcode\"],\"image\":[\"https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg\"],\"links\":[\"https://github.com/ilkermanap/qrextract\",\"http://localhost:5002\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/05/10 06:13:27
parent author
parent permlinkpython
authorilkermanap
permlinkcreating-a-qr-core-reader-web-service
titleCreating a QR Code reader web service
body@@ -292,46 +292,8 @@ ts. -I try to write code using the objects. Her
json metadata{"tags":["python","flask","qrcode"],"image":["https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg"],"links":["https://github.com/ilkermanap/qrextract","http://localhost:5002"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #22300194/Trx f7253c90295e10f3fb5ce6282a6b67e2127ff6bb
View Raw JSON Data
{
  "trx_id": "f7253c90295e10f3fb5ce6282a6b67e2127ff6bb",
  "block": 22300194,
  "trx_in_block": 27,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T06:13:27",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "python",
      "author": "ilkermanap",
      "permlink": "creating-a-qr-core-reader-web-service",
      "title": "Creating a QR Code reader web service",
      "body": "@@ -292,46 +292,8 @@\n ts. \n-I try to write code using the objects.\n  Her\n",
      "json_metadata": "{\"tags\":[\"python\",\"flask\",\"qrcode\"],\"image\":[\"https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg\"],\"links\":[\"https://github.com/ilkermanap/qrextract\",\"http://localhost:5002\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/05/10 06:12:18
parent author
parent permlinkpython
authorilkermanap
permlinkcreating-a-qr-core-reader-web-service
titleCreating a QR Code reader web service
body@@ -111,16 +111,28 @@ service +using flask which sc @@ -162,16 +162,82 @@ aded. %0A%0A +The code is at %5Bgithub%5D(https://github.com/ilkermanap/qrextract)%0A%0A Reading
json metadata{"tags":["python","flask","qrcode"],"image":["https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg"],"links":["https://github.com/ilkermanap/qrextract","http://localhost:5002"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #22300171/Trx 1afec9b999fe3951f95c4236475b26de620acf44
View Raw JSON Data
{
  "trx_id": "1afec9b999fe3951f95c4236475b26de620acf44",
  "block": 22300171,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-10T06:12:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "python",
      "author": "ilkermanap",
      "permlink": "creating-a-qr-core-reader-web-service",
      "title": "Creating a QR Code reader web service",
      "body": "@@ -111,16 +111,28 @@\n service \n+using flask \n which sc\n@@ -162,16 +162,82 @@\n aded. %0A%0A\n+The code is at %5Bgithub%5D(https://github.com/ilkermanap/qrextract)%0A%0A\n Reading \n",
      "json_metadata": "{\"tags\":[\"python\",\"flask\",\"qrcode\"],\"image\":[\"https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg\"],\"links\":[\"https://github.com/ilkermanap/qrextract\",\"http://localhost:5002\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
steemdelegated 18.626 SP to @ilkermanap
2018/05/09 23:41:51
delegatorsteem
delegateeilkermanap
vesting shares30329.925622 VESTS
Transaction InfoBlock #22292363/Trx ffe2c235e91e2fb3a1427b6f13570027f9dc2c26
View Raw JSON Data
{
  "trx_id": "ffe2c235e91e2fb3a1427b6f13570027f9dc2c26",
  "block": 22292363,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-09T23:41:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "ilkermanap",
      "vesting_shares": "30329.925622 VESTS"
    }
  ]
}
2018/05/09 22:39:24
parent author
parent permlinkpython
authorilkermanap
permlinkcreating-a-qr-core-reader-web-service
titleCreating a QR Core reader web service
body# qrextract QR codes are everywhere. I wrote this small web service to demonstrate how easy to create a web service which scans the image file uploaded. Reading part is done with zbar. I like thinking in objects. I try to write code using the objects. Here there is a QRReader class which you initialize with the file name of the image you want scanned. Below is the complete listing for qrreader.py file. ``` import os import zbar import Image from flask import jsonify class QRReader: def __init__(self, fname): sc = zbar.ImageScanner() pil = Image.open(fname).convert("L") raw = pil.tobytes() w,h = pil.size self.img = zbar.Image(w,h,'Y800', raw) sc.scan(self.img) def __str__(self): cev = "<htm><pre>" for s in self.img: t = "" for x,y in s.location: t += "(%d, %d) " % (x,y) cev += t + " : " + s.data + " \n" return cev + "</pre></html>" def json(self): res = {} i = 0 for s in self.img: res[i] = {"data": s.data, "location": (s.location[0], s.location[2]), "count": s.count, "quality": s.quality, "type": "%s" % s.type, } i += 1 return jsonify(res) ``` The web server part was written using flask. It only allows using png, jpg and jpeg extensions. For the sake of simplicity, I didn't used fancy stuff like templates, css etc. I'm not a UI/UX guy. If you want to make it look better, it is on you. The code has both presentation (ugly html form) and processing with QRReader class parts in one place. The request.method tells us if this request is a GET or POST. If it is a GET request, then we will display the html form. If it is a POST request, it means that the form displayed is submitted. We just save the uploaded file and create a QRReader object using the file name. User can also request if the result should be delivered in HTML format or JSON format. Here is the complete code for the web part: ``` import os from flask import Flask, request, redirect, url_for, flash from werkzeug.utils import secure_filename from qrreader import QRReader UPLOAD_FOLDER = '/tmp' ALLOWED_EXTENSIONS = set([ 'png', 'jpg', 'jpeg']) app = Flask(__name__) app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER def allowed_file(filename): return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS @app.route('/', methods=['GET', 'POST']) def upload_file(): if request.method == 'POST': # check if the post request has the file part if 'file' not in request.files: flash('No file part') return redirect(request.url) file = request.files['file'] # if user does not select file, browser also # submit a empty part without filename if file.filename == '': flash('No selected file') return redirect(request.url) if file and allowed_file(file.filename): filename = secure_filename(file.filename) f = os.path.join(app.config['UPLOAD_FOLDER'], filename) file.save(f) d = QRReader(f) outtype = request.form.get("outtype") if outtype == "json": return d.json() elif outtype == "html": return str(d) return ''' <!doctype html> <title>Upload new File</title> <h1>Upload new File</h1> <form method=post enctype=multipart/form-data> <p><input type=file name=file> <p><input type=radio name=outtype value="json" checked>JSON <p><input type=radio name=outtype value="html" ">HTML <p><input type=text name=deneme value="denemedir"> <p><input type=submit value=Upload> </form> ''' if __name__ == '__main__': app.run(host="0.0.0.0", port=5002, debug=True) ``` Here is a sample picture with lots of qr codes. ![sample.jpg](https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg) Below is the result for that document. ``` { "0": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691474", "location": [ [ 33, 635 ], [ 143, 744 ] ], "quality": 1, "type": "QRCODE" }, "1": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691477", "location": [ [ 696, 635 ], [ 806, 744 ] ], "quality": 1, "type": "QRCODE" }, "2": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691472", "location": [ [ 365, 635 ], [ 474, 744 ] ], "quality": 1, "type": "QRCODE" }, "3": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691473", "location": [ [ 696, 513 ], [ 806, 623 ] ], "quality": 1, "type": "QRCODE" }, "4": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691494", "location": [ [ 365, 513 ], [ 474, 623 ] ], "quality": 1, "type": "QRCODE" }, "5": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691470", "location": [ [ 696, 393 ], [ 806, 503 ] ], "quality": 1, "type": "QRCODE" }, "6": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691514", "location": [ [ 33, 393 ], [ 142, 503 ] ], "quality": 1, "type": "QRCODE" }, "7": { "count": 0, "data": "https://enttraining.macmms.com/?a=3128526", "location": [ [ 365, 393 ], [ 474, 503 ] ], "quality": 1, "type": "QRCODE" }, "8": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691469", "location": [ [ 696, 272 ], [ 806, 382 ] ], "quality": 1, "type": "QRCODE" }, "9": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691466", "location": [ [ 365, 272 ], [ 474, 382 ] ], "quality": 1, "type": "QRCODE" }, "10": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691465", "location": [ [ 33, 273 ], [ 143, 382 ] ], "quality": 1, "type": "QRCODE" }, "11": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691464", "location": [ [ 696, 152 ], [ 806, 262 ] ], "quality": 1, "type": "QRCODE" }, "12": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691463", "location": [ [ 365, 152 ], [ 474, 262 ] ], "quality": 1, "type": "QRCODE" }, "13": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691462", "location": [ [ 33, 152 ], [ 142, 262 ] ], "quality": 1, "type": "QRCODE" }, "14": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691471", "location": [ [ 33, 513 ], [ 143, 623 ] ], "quality": 1, "type": "QRCODE" }, "15": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691461", "location": [ [ 696, 31 ], [ 806, 141 ] ], "quality": 1, "type": "QRCODE" }, "16": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691460", "location": [ [ 365, 32 ], [ 474, 141 ] ], "quality": 1, "type": "QRCODE" }, "17": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691459", "location": [ [ 33, 31 ], [ 142, 141 ] ], "quality": 1, "type": "QRCODE" } } { "0": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691474", "location": [ [ 33, 635 ], [ 143, 744 ] ], "quality": 1, "type": "QRCODE" }, "1": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691477", "location": [ [ 696, 635 ], [ 806, 744 ] ], "quality": 1, "type": "QRCODE" }, "2": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691472", "location": [ [ 365, 635 ], [ 474, 744 ] ], "quality": 1, "type": "QRCODE" }, "3": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691473", "location": [ [ 696, 513 ], [ 806, 623 ] ], "quality": 1, "type": "QRCODE" }, "4": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691494", "location": [ [ 365, 513 ], [ 474, 623 ] ], "quality": 1, "type": "QRCODE" }, "5": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691470", "location": [ [ 696, 393 ], [ 806, 503 ] ], "quality": 1, "type": "QRCODE" }, "6": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691514", "location": [ [ 33, 393 ], [ 142, 503 ] ], "quality": 1, "type": "QRCODE" }, "7": { "count": 0, "data": "https://enttraining.macmms.com/?a=3128526", "location": [ [ 365, 393 ], [ 474, 503 ] ], "quality": 1, "type": "QRCODE" }, "8": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691469", "location": [ [ 696, 272 ], [ 806, 382 ] ], "quality": 1, "type": "QRCODE" }, "9": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691466", "location": [ [ 365, 272 ], [ 474, 382 ] ], "quality": 1, "type": "QRCODE" }, "10": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691465", "location": [ [ 33, 273 ], [ 143, 382 ] ], "quality": 1, "type": "QRCODE" }, "11": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691464", "location": [ [ 696, 152 ], [ 806, 262 ] ], "quality": 1, "type": "QRCODE" }, "12": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691463", "location": [ [ 365, 152 ], [ 474, 262 ] ], "quality": 1, "type": "QRCODE" }, "13": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691462", "location": [ [ 33, 152 ], [ 142, 262 ] ], "quality": 1, "type": "QRCODE" }, "14": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691471", "location": [ [ 33, 513 ], [ 143, 623 ] ], "quality": 1, "type": "QRCODE" }, "15": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691461", "location": [ [ 696, 31 ], [ 806, 141 ] ], "quality": 1, "type": "QRCODE" }, "16": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691460", "location": [ [ 365, 32 ], [ 474, 141 ] ], "quality": 1, "type": "QRCODE" }, "17": { "count": 0, "data": "https://enttraining.macmms.com/?a=2691459", "location": [ [ 33, 31 ], [ 142, 141 ] ], "quality": 1, "type": "QRCODE" } } ``` To test the application, enter the commands below, python qr.py then, open http://localhost:5002 on your browser.
json metadata{"tags":["python","flask","qrcode"],"image":["https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg"],"links":["http://localhost:5002"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #22291114/Trx 3bedcbeeccb57f1ec9768a790a1dffe314002caa
View Raw JSON Data
{
  "trx_id": "3bedcbeeccb57f1ec9768a790a1dffe314002caa",
  "block": 22291114,
  "trx_in_block": 33,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-09T22:39:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "python",
      "author": "ilkermanap",
      "permlink": "creating-a-qr-core-reader-web-service",
      "title": "Creating a QR Core reader web service",
      "body": "# qrextract\n\nQR codes are everywhere. I wrote this small web service to demonstrate how easy to  create a web service which scans the image file uploaded. \n\nReading part is done with zbar. I like thinking in objects. I try to write code using the objects. Here there is a QRReader class which you initialize with the file name of the image you want scanned. Below is the complete listing for qrreader.py file. \n\n```\nimport os\nimport zbar\nimport Image\nfrom flask import jsonify\n\nclass QRReader:\n    def __init__(self, fname):\n        sc = zbar.ImageScanner()\n        pil = Image.open(fname).convert(\"L\")\n        raw = pil.tobytes()\n        w,h = pil.size\n        self.img = zbar.Image(w,h,'Y800', raw)\n        sc.scan(self.img)\n        \n    def __str__(self):\n        cev = \"<htm><pre>\"\n        for s in self.img:\n            t = \"\"\n            for x,y in s.location:\n                t += \"(%d, %d) \" % (x,y)\n            cev += t + \" : \" + s.data + \" \\n\"\n        return cev + \"</pre></html>\"\n\n    def json(self):\n        res = {}\n        i = 0\n        for s in self.img:\n            res[i] = {\"data\": s.data, \"location\": (s.location[0], s.location[2]),\n                          \"count\": s.count, \"quality\": s.quality, \"type\": \"%s\" % s.type, }\n            i += 1            \n        return jsonify(res)\n```\n\nThe web server part was written using flask.  It only allows using png, jpg and jpeg extensions.  For the sake of simplicity, I didn't used fancy stuff like templates, css etc. I'm not a UI/UX guy. If you want to make it look better, it is on you.\n\nThe code has both presentation (ugly html form) and processing with  QRReader class parts in one place. \n\nThe request.method tells us if this request is a GET or POST. If it is a GET request, then we will display the html form. If it is a POST request, it means that the form displayed is submitted. We just save the uploaded file and create a QRReader object  using the file name.  User can also request if the result should be delivered in HTML format or JSON format.\n\nHere is the complete code for the web part:\n\n```\nimport os\nfrom flask import Flask, request, redirect, url_for, flash\nfrom werkzeug.utils import secure_filename\nfrom qrreader import QRReader\n\nUPLOAD_FOLDER = '/tmp'\nALLOWED_EXTENSIONS = set([ 'png', 'jpg', 'jpeg'])\n\napp = Flask(__name__)\napp.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER\n\ndef allowed_file(filename):\n    return '.' in filename and  filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS\n\[email protected]('/', methods=['GET', 'POST'])\ndef upload_file():\n    if request.method == 'POST':\n        # check if the post request has the file part\n        if 'file' not in request.files:\n            flash('No file part')\n            return redirect(request.url)\n        file = request.files['file']\n        # if user does not select file, browser also\n        # submit a empty part without filename\n        if file.filename == '':\n            flash('No selected file')\n            return redirect(request.url)       \n        if file and allowed_file(file.filename):\n            filename = secure_filename(file.filename)\n            f = os.path.join(app.config['UPLOAD_FOLDER'], filename)\n            file.save(f)\n            d = QRReader(f)\n            outtype = request.form.get(\"outtype\")\n            if outtype == \"json\":\n                return d.json()\n            elif outtype == \"html\":\n                return str(d)\n\n    return '''\n    <!doctype html>\n    <title>Upload new File</title>\n    <h1>Upload new File</h1>\n    <form method=post enctype=multipart/form-data>\n      <p><input type=file name=file>\n      <p><input type=radio name=outtype value=\"json\" checked>JSON\n      <p><input type=radio name=outtype value=\"html\" \">HTML\n      <p><input type=text name=deneme value=\"denemedir\">\n      <p><input type=submit value=Upload>\n    </form>\n    '''\n\nif __name__ == '__main__':\n    app.run(host=\"0.0.0.0\", port=5002,  debug=True)\n```\nHere is a sample picture with lots of qr codes.\n\n![sample.jpg](https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg)\n\nBelow is the result  for that document.\n\n```\n{\n  \"0\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691474\", \n    \"location\": [\n      [\n        33, \n        635\n      ], \n      [\n        143, \n        744\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"1\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691477\", \n    \"location\": [\n      [\n        696, \n        635\n      ], \n      [\n        806, \n        744\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"2\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691472\", \n    \"location\": [\n      [\n        365, \n        635\n      ], \n      [\n        474, \n        744\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"3\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691473\", \n    \"location\": [\n      [\n        696, \n        513\n      ], \n      [\n        806, \n        623\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"4\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691494\", \n    \"location\": [\n      [\n        365, \n        513\n      ], \n      [\n        474, \n        623\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"5\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691470\", \n    \"location\": [\n      [\n        696, \n        393\n      ], \n      [\n        806, \n        503\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"6\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691514\", \n    \"location\": [\n      [\n        33, \n        393\n      ], \n      [\n        142, \n        503\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"7\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=3128526\", \n    \"location\": [\n      [\n        365, \n        393\n      ], \n      [\n        474, \n        503\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"8\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691469\", \n    \"location\": [\n      [\n        696, \n        272\n      ], \n      [\n        806, \n        382\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"9\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691466\", \n    \"location\": [\n      [\n        365, \n        272\n      ], \n      [\n        474, \n        382\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"10\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691465\", \n    \"location\": [\n      [\n        33, \n        273\n      ], \n      [\n        143, \n        382\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"11\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691464\", \n    \"location\": [\n      [\n        696, \n        152\n      ], \n      [\n        806, \n        262\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"12\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691463\", \n    \"location\": [\n      [\n        365, \n        152\n      ], \n      [\n        474, \n        262\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"13\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691462\", \n    \"location\": [\n      [\n        33, \n        152\n      ], \n      [\n        142, \n        262\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"14\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691471\", \n    \"location\": [\n      [\n        33, \n        513\n      ], \n      [\n        143, \n        623\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"15\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691461\", \n    \"location\": [\n      [\n        696, \n        31\n      ], \n      [\n        806, \n        141\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"16\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691460\", \n    \"location\": [\n      [\n        365, \n        32\n      ], \n      [\n        474, \n        141\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"17\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691459\", \n    \"location\": [\n      [\n        33, \n        31\n      ], \n      [\n        142, \n        141\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }\n}\n{\n  \"0\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691474\", \n    \"location\": [\n      [\n        33, \n        635\n      ], \n      [\n        143, \n        744\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"1\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691477\", \n    \"location\": [\n      [\n        696, \n        635\n      ], \n      [\n        806, \n        744\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"2\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691472\", \n    \"location\": [\n      [\n        365, \n        635\n      ], \n      [\n        474, \n        744\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"3\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691473\", \n    \"location\": [\n      [\n        696, \n        513\n      ], \n      [\n        806, \n        623\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"4\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691494\", \n    \"location\": [\n      [\n        365, \n        513\n      ], \n      [\n        474, \n        623\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"5\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691470\", \n    \"location\": [\n      [\n        696, \n        393\n      ], \n      [\n        806, \n        503\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"6\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691514\", \n    \"location\": [\n      [\n        33, \n        393\n      ], \n      [\n        142, \n        503\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"7\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=3128526\", \n    \"location\": [\n      [\n        365, \n        393\n      ], \n      [\n        474, \n        503\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"8\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691469\", \n    \"location\": [\n      [\n        696, \n        272\n      ], \n      [\n        806, \n        382\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"9\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691466\", \n    \"location\": [\n      [\n        365, \n        272\n      ], \n      [\n        474, \n        382\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"10\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691465\", \n    \"location\": [\n      [\n        33, \n        273\n      ], \n      [\n        143, \n        382\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"11\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691464\", \n    \"location\": [\n      [\n        696, \n        152\n      ], \n      [\n        806, \n        262\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"12\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691463\", \n    \"location\": [\n      [\n        365, \n        152\n      ], \n      [\n        474, \n        262\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"13\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691462\", \n    \"location\": [\n      [\n        33, \n        152\n      ], \n      [\n        142, \n        262\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"14\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691471\", \n    \"location\": [\n      [\n        33, \n        513\n      ], \n      [\n        143, \n        623\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"15\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691461\", \n    \"location\": [\n      [\n        696, \n        31\n      ], \n      [\n        806, \n        141\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"16\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691460\", \n    \"location\": [\n      [\n        365, \n        32\n      ], \n      [\n        474, \n        141\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }, \n  \"17\": {\n    \"count\": 0, \n    \"data\": \"https://enttraining.macmms.com/?a=2691459\", \n    \"location\": [\n      [\n        33, \n        31\n      ], \n      [\n        142, \n        141\n      ]\n    ], \n    \"quality\": 1, \n    \"type\": \"QRCODE\"\n  }\n}\n```\n\nTo test the application, enter the commands below,\n\n    python qr.py\n\nthen, open http://localhost:5002 on your browser.",
      "json_metadata": "{\"tags\":[\"python\",\"flask\",\"qrcode\"],\"image\":[\"https://steemitimages.com/DQmNmdXd5eMrhBJrbCw7iiRgYT5K1jzomFpzUV662V4ATt9/sample.jpg\"],\"links\":[\"http://localhost:5002\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/05/09 21:58:48
parent authorilkermanap
parent permlinkintroducing-myself
authorintroduce.bot
permlinkintroduce-bot-re-ilkermanapintroducing-myself
title
body✅ @ilkermanap, congratulations on making your first post! **I gave you a $.05 vote!**<br>Please take a moment to read [this post](https://steemit.com/spam/@pleasestop/introducing-pleasestop-here-to-reduce-comment-spam) regarding commenting and spam. (tl;dr - if you spam, you will be flagged!)
json metadata
Transaction InfoBlock #22290302/Trx c7e32af7fcfef89bdef71898b952fb35eae5b215
View Raw JSON Data
{
  "trx_id": "c7e32af7fcfef89bdef71898b952fb35eae5b215",
  "block": 22290302,
  "trx_in_block": 44,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-09T21:58:48",
  "op": [
    "comment",
    {
      "parent_author": "ilkermanap",
      "parent_permlink": "introducing-myself",
      "author": "introduce.bot",
      "permlink": "introduce-bot-re-ilkermanapintroducing-myself",
      "title": "",
      "body": "✅  @ilkermanap, congratulations on making your first post! **I gave you a $.05 vote!**<br>Please take a moment to read [this post](https://steemit.com/spam/@pleasestop/introducing-pleasestop-here-to-reduce-comment-spam) regarding commenting and spam. (tl;dr - if you spam, you will be flagged!)",
      "json_metadata": ""
    }
  ]
}
2018/05/09 21:58:48
voterintroduce.bot
authorilkermanap
permlinkintroducing-myself
weight376 (3.76%)
Transaction InfoBlock #22290302/Trx 700ed0b0766e806f0687b1dbd237fd4e8d9e601f
View Raw JSON Data
{
  "trx_id": "700ed0b0766e806f0687b1dbd237fd4e8d9e601f",
  "block": 22290302,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-09T21:58:48",
  "op": [
    "vote",
    {
      "voter": "introduce.bot",
      "author": "ilkermanap",
      "permlink": "introducing-myself",
      "weight": 376
    }
  ]
}
ilkermanappublished a new post: introducing-myself
2018/05/09 21:49:48
parent author
parent permlinkilkermanap
authorilkermanap
permlinkintroducing-myself
titleIntroducing Myself
bodyI'm a system administrator working on interesting projects. I like writing code in Python, I enjoy using Linux. Actively working on [Pisilinux](https://www.pisilinux.org) distribution. Have some simple but interesting code on [github](https://github.com/ilkermanap). I'll enjoy sharing my experience on steemit.
json metadata{"tags":["ilkermanap","linux","python"],"links":["https://www.pisilinux.org","https://github.com/ilkermanap"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #22290122/Trx 82367a985b1183018451060c6b1f9760df647777
View Raw JSON Data
{
  "trx_id": "82367a985b1183018451060c6b1f9760df647777",
  "block": 22290122,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-09T21:49:48",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "ilkermanap",
      "author": "ilkermanap",
      "permlink": "introducing-myself",
      "title": "Introducing Myself",
      "body": "I'm a system administrator working on interesting projects. I like writing code in Python, I enjoy using Linux. Actively working on [Pisilinux](https://www.pisilinux.org) distribution. \n\nHave some simple but interesting code on [github](https://github.com/ilkermanap).  \n\nI'll enjoy sharing my experience on steemit.",
      "json_metadata": "{\"tags\":[\"ilkermanap\",\"linux\",\"python\"],\"links\":[\"https://www.pisilinux.org\",\"https://github.com/ilkermanap\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
steemcreated a new account: @ilkermanap
2018/05/09 21:24:45
fee0.100 STEEM
delegation30690.000000 VESTS
creatorsteem
new account nameilkermanap
owner{"weight_threshold":1,"account_auths":[],"key_auths":[["STM7N5PA75Nf4Px7Z26yUEzBtqzq935WQUBCpqtZVX5wNVkvWEs5v",1]]}
active{"weight_threshold":1,"account_auths":[],"key_auths":[["STM7b3v7HxuavLwfmqsqKTjk6P6yD4eaDyXkiusBk5qQcDjZNuGfF",1]]}
posting{"weight_threshold":1,"account_auths":[],"key_auths":[["STM5VvpBPdEJ929zZfkpZJdvUN37Nvq8wNpZHD2NLbJH2CvWTt1X4",1]]}
memo keySTM7e8fW2bRQe5zbZUCb72G5ufSfDJZv8jUQV2t6iG8Ynm6HeWGmX
json metadata{}
extensions[]
Transaction InfoBlock #22289622/Trx 066a5fc2f41c20645f2c800244dc56524d49c583
View Raw JSON Data
{
  "trx_id": "066a5fc2f41c20645f2c800244dc56524d49c583",
  "block": 22289622,
  "trx_in_block": 52,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-09T21:24:45",
  "op": [
    "account_create_with_delegation",
    {
      "fee": "0.100 STEEM",
      "delegation": "30690.000000 VESTS",
      "creator": "steem",
      "new_account_name": "ilkermanap",
      "owner": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM7N5PA75Nf4Px7Z26yUEzBtqzq935WQUBCpqtZVX5wNVkvWEs5v",
            1
          ]
        ]
      },
      "active": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM7b3v7HxuavLwfmqsqKTjk6P6yD4eaDyXkiusBk5qQcDjZNuGfF",
            1
          ]
        ]
      },
      "posting": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM5VvpBPdEJ929zZfkpZJdvUN37Nvq8wNpZHD2NLbJH2CvWTt1X4",
            1
          ]
        ]
      },
      "memo_key": "STM7e8fW2bRQe5zbZUCb72G5ufSfDJZv8jUQV2t6iG8Ynm6HeWGmX",
      "json_metadata": "{}",
      "extensions": []
    }
  ]
}

Account Metadata

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

Auth Keys

Owner
Single Signature
Public Keys
STM7N5PA75Nf4Px7Z26yUEzBtqzq935WQUBCpqtZVX5wNVkvWEs5v1/1
Active
Single Signature
Public Keys
STM7b3v7HxuavLwfmqsqKTjk6P6yD4eaDyXkiusBk5qQcDjZNuGfF1/1
Posting
Single Signature
Public Keys
STM5VvpBPdEJ929zZfkpZJdvUN37Nvq8wNpZHD2NLbJH2CvWTt1X41/1
Memo
STM7e8fW2bRQe5zbZUCb72G5ufSfDJZv8jUQV2t6iG8Ynm6HeWGmX
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7N5PA75Nf4Px7Z26yUEzBtqzq935WQUBCpqtZVX5wNVkvWEs5v",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7b3v7HxuavLwfmqsqKTjk6P6yD4eaDyXkiusBk5qQcDjZNuGfF",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5VvpBPdEJ929zZfkpZJdvUN37Nvq8wNpZHD2NLbJH2CvWTt1X4",
        1
      ]
    ]
  },
  "memo": "STM7e8fW2bRQe5zbZUCb72G5ufSfDJZv8jUQV2t6iG8Ynm6HeWGmX"
}

Witness Votes

0 / 30
No active witness votes.
[]