VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.000USD
STEEM
0.001STEEM
SBD
0.000SBD
Effective Power
1.201SP
├── Own SP
0.000SP
└── Incoming DelegationsDeleg
+1.201SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.001STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.000SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 1.201SP | SP |
| Effective Power | 1.201SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.001 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "0.000000 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "1953.311140 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | lihr |
| id | 1222081 |
| rank | 1,563,895 |
| reputation | 30530636 |
| created | 2019-02-18T09:47:24 |
| recovery_account | steem |
| proxy | None |
| post_count | 12 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2019-02-23T03:13:00 |
| last_root_post | 2019-02-23T03:13:00 |
| last_vote_time | 2019-02-20T14:28:45 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.001 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 0.000000 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 1953.311140 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 1970-01-01T00:00:00 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"active": {
"account_auths": [],
"key_auths": [
[
"STM6qE5cZFHpuyTVzRk6cAWkTMbfqp8RVSuE2YmmtGavHn82MoZDt",
1
]
],
"weight_threshold": 1
},
"balance": "0.000 STEEM",
"can_vote": true,
"comment_count": 0,
"created": "2019-02-18T09:47:24",
"curation_rewards": 0,
"delegated_vesting_shares": "0.000000 VESTS",
"downvote_manabar": {
"current_mana": 488327785,
"last_update_time": 1588939524
},
"guest_bloggers": [],
"id": 1222081,
"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": "2019-02-23T03:13:00",
"last_root_post": "2019-02-23T03:13:00",
"last_vote_time": "2019-02-20T14:28:45",
"lifetime_vote_count": 0,
"market_history": [],
"memo_key": "STM5c5EZdPcSpEdFBoway3i7pdbqNsHoDCU47fpbtMdwGvni13fxe",
"mined": false,
"name": "lihr",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"other_history": [],
"owner": {
"account_auths": [],
"key_auths": [
[
"STM8fwjBEeFGWtCXkiPmhn6Ut7jwasJVix6npcyq3ZyFhVzKiUqhC",
1
]
],
"weight_threshold": 1
},
"pending_claimed_accounts": 0,
"post_bandwidth": 0,
"post_count": 12,
"post_history": [],
"posting": {
"account_auths": [],
"key_auths": [
[
"STM7jcoUDCvyiosKZz83CGv2FVXudgjp9EVzug6LX4ak9FUuA4Rwp",
1
]
],
"weight_threshold": 1
},
"posting_json_metadata": "",
"posting_rewards": 0,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"proxy": "",
"received_vesting_shares": "1953.311140 VESTS",
"recovery_account": "steem",
"reputation": 30530636,
"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.001 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": "1970-01-01T00:00:00",
"tags_usage": [],
"to_withdraw": 0,
"transfer_history": [],
"vesting_balance": "0.000 STEEM",
"vesting_shares": "0.000000 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"vote_history": [],
"voting_manabar": {
"current_mana": 1953311140,
"last_update_time": 1588939524
},
"voting_power": 0,
"withdraw_routes": 0,
"withdrawn": 0,
"witness_votes": [],
"witnesses_voted_for": 0,
"rank": 1563895
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2020/05/08 12:05:24
2020/05/08 12:05:24
| delegatee | lihr |
| delegator | steem |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43196353/Trx d0928a944fbc16747f1ca1569fb7647ab4755ca9 |
View Raw JSON Data
{
"block": 43196353,
"op": [
"delegate_vesting_shares",
{
"delegatee": "lihr",
"delegator": "steem",
"vesting_shares": "1953.311140 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-05-08T12:05:24",
"trx_id": "d0928a944fbc16747f1ca1569fb7647ab4755ca9",
"trx_in_block": 0,
"virtual_op": 0
}2020/04/29 00:01:51
2020/04/29 00:01:51
| delegatee | lihr |
| delegator | steem |
| vesting shares | 9771.829159 VESTS |
| Transaction Info | Block #42929371/Trx 32609cda6945e5e8e40062c032bc82794b847ab0 |
View Raw JSON Data
{
"block": 42929371,
"op": [
"delegate_vesting_shares",
{
"delegatee": "lihr",
"delegator": "steem",
"vesting_shares": "9771.829159 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-04-29T00:01:51",
"trx_id": "32609cda6945e5e8e40062c032bc82794b847ab0",
"trx_in_block": 25,
"virtual_op": 0
}2020/02/18 10:16:39
2020/02/18 10:16:39
| author | steemitboard |
| body | Congratulations @lihr! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@lihr/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/@lihr) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=lihr)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/valentine-s-day-challenge-give-a-badge-to-your-beloved"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/LvDzr5.png"></a></td><td><a href="https://steemit.com/steemitboard/@steemitboard/valentine-s-day-challenge-give-a-badge-to-your-beloved">Valentine's day challenge - Give a badge to your beloved!</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"]} |
| parent author | lihr |
| parent permlink | australia-from-above-airvuz |
| permlink | steemitboard-notify-lihr-20200218t101639000z |
| title | |
| Transaction Info | Block #40924258/Trx 083bc7df3f3a41fe1572d29adcb07fafb7c01637 |
View Raw JSON Data
{
"block": 40924258,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @lihr! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@lihr/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/@lihr) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=lihr)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemitboard/@steemitboard/valentine-s-day-challenge-give-a-badge-to-your-beloved\"><img src=\"https://steemitimages.com/64x128/http://i.cubeupload.com/LvDzr5.png\"></a></td><td><a href=\"https://steemit.com/steemitboard/@steemitboard/valentine-s-day-challenge-give-a-badge-to-your-beloved\">Valentine's day challenge - Give a badge to your beloved!</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\"]}",
"parent_author": "lihr",
"parent_permlink": "australia-from-above-airvuz",
"permlink": "steemitboard-notify-lihr-20200218t101639000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2020-02-18T10:16:39",
"trx_id": "083bc7df3f3a41fe1572d29adcb07fafb7c01637",
"trx_in_block": 8,
"virtual_op": 0
}2019/05/25 03:32:09
2019/05/25 03:32:09
| delegatee | lihr |
| delegator | steem |
| vesting shares | 9967.286012 VESTS |
| Transaction Info | Block #33206007/Trx 82ec36ef22801c5c8341245fc51d03b63f8f5928 |
View Raw JSON Data
{
"block": 33206007,
"op": [
"delegate_vesting_shares",
{
"delegatee": "lihr",
"delegator": "steem",
"vesting_shares": "9967.286012 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2019-05-25T03:32:09",
"trx_id": "82ec36ef22801c5c8341245fc51d03b63f8f5928",
"trx_in_block": 14,
"virtual_op": 0
}2019/02/26 03:59:18
2019/02/26 03:59:18
| author | partiko |
| body | Hello @lihr! This is a friendly reminder that you have 3000 Partiko Points unclaimed in your Partiko account! Partiko is a fast and beautiful mobile app for Steem, and it’s the most popular Steem mobile app out there! Download Partiko using the link below and login using SteemConnect to claim your 3000 Partiko points! You can easily convert them into Steem token! https://partiko.app/referral/partiko |
| json metadata | {"app":"partiko"} |
| parent author | lihr |
| parent permlink | australia-from-above-airvuz |
| permlink | partiko-re-lihr-australia-from-above-airvuz-20190226t035918157z |
| title | |
| Transaction Info | Block #30675307/Trx ff99922ed74db4b7b57cf2d67f179908ba03ddf4 |
View Raw JSON Data
{
"block": 30675307,
"op": [
"comment",
{
"author": "partiko",
"body": "Hello @lihr! This is a friendly reminder that you have 3000 Partiko Points unclaimed in your Partiko account!\n\nPartiko is a fast and beautiful mobile app for Steem, and it’s the most popular Steem mobile app out there! Download Partiko using the link below and login using SteemConnect to claim your 3000 Partiko points! You can easily convert them into Steem token!\n\nhttps://partiko.app/referral/partiko",
"json_metadata": "{\"app\":\"partiko\"}",
"parent_author": "lihr",
"parent_permlink": "australia-from-above-airvuz",
"permlink": "partiko-re-lihr-australia-from-above-airvuz-20190226t035918157z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2019-02-26T03:59:18",
"trx_id": "ff99922ed74db4b7b57cf2d67f179908ba03ddf4",
"trx_in_block": 29,
"virtual_op": 0
}paseolabupvoted (100.00%) @lihr / australia-from-above-airvuz2019/02/23 03:17:03
paseolabupvoted (100.00%) @lihr / australia-from-above-airvuz
2019/02/23 03:17:03
| author | lihr |
| permlink | australia-from-above-airvuz |
| voter | paseolab |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30588134/Trx 0743d4ef66a9fe33b242f782a0d54b4854271ff6 |
View Raw JSON Data
{
"block": 30588134,
"op": [
"vote",
{
"author": "lihr",
"permlink": "australia-from-above-airvuz",
"voter": "paseolab",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-23T03:17:03",
"trx_id": "0743d4ef66a9fe33b242f782a0d54b4854271ff6",
"trx_in_block": 13,
"virtual_op": 0
}lihrpublished a new post: australia-from-above-airvuz2019/02/23 03:13:00
lihrpublished a new post: australia-from-above-airvuz
2019/02/23 03:13:00
| author | lihr |
| body | <html> <p> The Australian state of New South Wales is the largest state in Australia by population. It occupies most of the southern half of its endless eastern coastline, between Queensland to the north and Victoria to the south. Top contributor BigHeadGreg used a DJI Phantom 4 Pro drone to create this marvelous aerial tour of areas of NSW outside of Sydney, which includes aerial footage of the Blue Mountains, Royal National Park, Palm Beach, Jervis Bay and Seas Cliff Bridge. From:<a href="https://www.youtube.com/redirect?redir_token=ueyiTgTuVX87URQqwVms1u_KF8l8MTU1MDk3NzkzNkAxNTUwODkxNTM2&event=video_description&v=q_rKp-IHcLk&q=https%3A%2F%2Fwww.airvuz.com">https://www.airvuz.com</a> </p> <p>https://youtu.be/q_rKp-IHcLk</p> </html> |
| json metadata | {"tags":["sydneyvideotravel"],"image":["https://img.youtube.com/vi/q_rKp-IHcLk/0.jpg"],"links":["https://www.youtube.com/redirect?redir_token=ueyiTgTuVX87URQqwVms1u_KF8l8MTU1MDk3NzkzNkAxNTUwODkxNTM2&event=video_description&v=q_rKp-IHcLk&q=https%3A%2F%2Fwww.airvuz.com","https://youtu.be/q_rKp-IHcLk"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | sydneyvideotravel |
| permlink | australia-from-above-airvuz |
| title | Australia From Above AirVūz |
| Transaction Info | Block #30588053/Trx 0e5bb07d5fdb9a10ac86adb2a71c0cc2ed96e76f |
View Raw JSON Data
{
"block": 30588053,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p> The Australian state of New South Wales is the largest state in Australia by population. It occupies most of the southern half of its endless eastern coastline, between Queensland to the north and Victoria to the south. Top contributor BigHeadGreg used a DJI Phantom 4 Pro drone to create this marvelous aerial tour of areas of NSW outside of Sydney, which includes aerial footage of the Blue Mountains, Royal National Park, Palm Beach, Jervis Bay and Seas Cliff Bridge. From:<a href=\"https://www.youtube.com/redirect?redir_token=ueyiTgTuVX87URQqwVms1u_KF8l8MTU1MDk3NzkzNkAxNTUwODkxNTM2&event=video_description&v=q_rKp-IHcLk&q=https%3A%2F%2Fwww.airvuz.com\">https://www.airvuz.com</a> </p>\n<p>https://youtu.be/q_rKp-IHcLk</p>\n</html>",
"json_metadata": "{\"tags\":[\"sydneyvideotravel\"],\"image\":[\"https://img.youtube.com/vi/q_rKp-IHcLk/0.jpg\"],\"links\":[\"https://www.youtube.com/redirect?redir_token=ueyiTgTuVX87URQqwVms1u_KF8l8MTU1MDk3NzkzNkAxNTUwODkxNTM2&event=video_description&v=q_rKp-IHcLk&q=https%3A%2F%2Fwww.airvuz.com\",\"https://youtu.be/q_rKp-IHcLk\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "sydneyvideotravel",
"permlink": "australia-from-above-airvuz",
"title": "Australia From Above AirVūz"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-23T03:13:00",
"trx_id": "0e5bb07d5fdb9a10ac86adb2a71c0cc2ed96e76f",
"trx_in_block": 14,
"virtual_op": 0
}xiaobingupvoted (100.00%) @lihr / the-creation-the-power-of-the-waves2019/02/22 03:11:36
xiaobingupvoted (100.00%) @lihr / the-creation-the-power-of-the-waves
2019/02/22 03:11:36
| author | lihr |
| permlink | the-creation-the-power-of-the-waves |
| voter | xiaobing |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30559242/Trx 23b5bd3a732c37849ed6561c05ce086df76c2d12 |
View Raw JSON Data
{
"block": 30559242,
"op": [
"vote",
{
"author": "lihr",
"permlink": "the-creation-the-power-of-the-waves",
"voter": "xiaobing",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-22T03:11:36",
"trx_id": "23b5bd3a732c37849ed6561c05ce086df76c2d12",
"trx_in_block": 30,
"virtual_op": 0
}yasminlesupvoted (100.00%) @lihr / the-creation-the-power-of-the-waves2019/02/22 03:06:42
yasminlesupvoted (100.00%) @lihr / the-creation-the-power-of-the-waves
2019/02/22 03:06:42
| author | lihr |
| permlink | the-creation-the-power-of-the-waves |
| voter | yasminles |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30559144/Trx a072d0811af7b5ccc22d918276a7f231d124c003 |
View Raw JSON Data
{
"block": 30559144,
"op": [
"vote",
{
"author": "lihr",
"permlink": "the-creation-the-power-of-the-waves",
"voter": "yasminles",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-22T03:06:42",
"trx_id": "a072d0811af7b5ccc22d918276a7f231d124c003",
"trx_in_block": 17,
"virtual_op": 0
}lihrpublished a new post: the-creation-the-power-of-the-waves2019/02/22 03:00:12
lihrpublished a new post: the-creation-the-power-of-the-waves
2019/02/22 03:00:12
| author | lihr |
| body | <html> <p> <em>Sydney's Bondi Beach is widely considered to be one of the finest in the world. Known for surfing and all other manner of aquatic recreation, it is one of the top tourist destinations in New South Wales, and for Australia as a whole. Contributor Paul Vlad created this awesome video which not only demonstrates the stunning beauty of this beach which lies just a few km/mi east of central Sydney but also shows the power of the DJI Mavic Pro drone to create epic aerial footage. </em> </p> <p>https://youtu.be/GwLhZWssAk0</p> <p> From:<a href="https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&event=video_description&redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&v=GwLhZWssAk0">https://www.airvuz.com</a> </p> </html> |
| json metadata | {"tags":["sydneyvideotravel","sydney"],"image":["https://img.youtube.com/vi/GwLhZWssAk0/0.jpg"],"links":["https://youtu.be/GwLhZWssAk0","https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&event=video_description&redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&v=GwLhZWssAk0"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | sydney |
| permlink | the-creation-the-power-of-the-waves |
| title | The Creation-The Power of the Waves |
| Transaction Info | Block #30559014/Trx 6e7551e44c7a29b1ac0103b90f0f568d2faa02be |
View Raw JSON Data
{
"block": 30559014,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p> <em>Sydney's Bondi Beach is widely considered to be one of the finest in the world. Known for surfing and all other manner of aquatic recreation, it is one of the top tourist destinations in New South Wales, and for Australia as a whole. Contributor Paul Vlad created this awesome video which not only demonstrates the stunning beauty of this beach which lies just a few km/mi east of central Sydney but also shows the power of the DJI Mavic Pro drone to create epic aerial footage. </em> </p>\n<p>https://youtu.be/GwLhZWssAk0</p>\n<p> From:<a href=\"https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&event=video_description&redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&v=GwLhZWssAk0\">https://www.airvuz.com</a> </p>\n</html>",
"json_metadata": "{\"tags\":[\"sydneyvideotravel\",\"sydney\"],\"image\":[\"https://img.youtube.com/vi/GwLhZWssAk0/0.jpg\"],\"links\":[\"https://youtu.be/GwLhZWssAk0\",\"https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&event=video_description&redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&v=GwLhZWssAk0\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "sydney",
"permlink": "the-creation-the-power-of-the-waves",
"title": "The Creation-The Power of the Waves"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-22T03:00:12",
"trx_id": "6e7551e44c7a29b1ac0103b90f0f568d2faa02be",
"trx_in_block": 4,
"virtual_op": 0
}lihrpublished a new post: the-creation-the-power-of-the-waves2019/02/22 02:59:39
lihrpublished a new post: the-creation-the-power-of-the-waves
2019/02/22 02:59:39
| author | lihr |
| body | <html> <p> <em>Sydney's Bondi Beach is widely considered to be one of the finest in the world. Known for surfing and all other manner of aquatic recreation, it is one of the top tourist destinations in New South Wales, and for Australia as a whole. Contributor Paul Vlad created this awesome video which not only demonstrates the stunning beauty of this beach which lies just a few km/mi east of central Sydney but also shows the power of the DJI Mavic Pro drone to create epic aerial footage. </em> </p> <p>https://youtu.be/GwLhZWssAk0</p> <p> From:<a href="https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&event=video_description&redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&v=GwLhZWssAk0">https://www.airvuz.com</a> </p> </html> |
| json metadata | {"tags":["sydney"],"image":["https://img.youtube.com/vi/GwLhZWssAk0/0.jpg"],"links":["https://youtu.be/GwLhZWssAk0","https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&event=video_description&redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&v=GwLhZWssAk0"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | sydney |
| permlink | the-creation-the-power-of-the-waves |
| title | The Creation-The Power of the Waves |
| Transaction Info | Block #30559003/Trx 788451f080671cc60dccad99a41f228c2bd0c427 |
View Raw JSON Data
{
"block": 30559003,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p> <em>Sydney's Bondi Beach is widely considered to be one of the finest in the world. Known for surfing and all other manner of aquatic recreation, it is one of the top tourist destinations in New South Wales, and for Australia as a whole. Contributor Paul Vlad created this awesome video which not only demonstrates the stunning beauty of this beach which lies just a few km/mi east of central Sydney but also shows the power of the DJI Mavic Pro drone to create epic aerial footage. </em> </p>\n<p>https://youtu.be/GwLhZWssAk0</p>\n<p> From:<a href=\"https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&event=video_description&redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&v=GwLhZWssAk0\">https://www.airvuz.com</a> </p>\n</html>",
"json_metadata": "{\"tags\":[\"sydney\"],\"image\":[\"https://img.youtube.com/vi/GwLhZWssAk0/0.jpg\"],\"links\":[\"https://youtu.be/GwLhZWssAk0\",\"https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&event=video_description&redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&v=GwLhZWssAk0\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "sydney",
"permlink": "the-creation-the-power-of-the-waves",
"title": "The Creation-The Power of the Waves"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-22T02:59:39",
"trx_id": "788451f080671cc60dccad99a41f228c2bd0c427",
"trx_in_block": 15,
"virtual_op": 0
}lihrpublished a new post: top-of-sydney-dji-mavic-pro-4k-drone-footage2019/02/22 02:50:03
lihrpublished a new post: top-of-sydney-dji-mavic-pro-4k-drone-footage
2019/02/22 02:50:03
| author | lihr |
| body | <html> <p>Sydney is Australia's largest city and the capital of New South Wales, its largest state. It is widely considered to be among the world's most beautiful cities. Sydney hosted the the 2000 Summer Olympic Games. Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. Highlights of this aerial tour include the Botanical Gardens, Observatory Hill, Barangaroo, South Head, Vaucluse, and Watsons Bay.</p> <p>From:https://www.airvuz.com<br> https://youtu.be/3JgxOv-a5D8</p> </html> |
| json metadata | {"tags":["sydney","airvuz","australia","travel"],"image":["https://img.youtube.com/vi/3JgxOv-a5D8/0.jpg"],"links":["https://www.airvuz.com","https://youtu.be/3JgxOv-a5D8"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | sydney |
| permlink | top-of-sydney-dji-mavic-pro-4k-drone-footage |
| title | Top of Sydney - DJI Mavic Pro - 4K Drone Footage |
| Transaction Info | Block #30558811/Trx d38e46611c339e77874ec60f4a99922ceda8ba58 |
View Raw JSON Data
{
"block": 30558811,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>Sydney is Australia's largest city and the capital of New South Wales, its largest state. It is widely considered to be among the world's most beautiful cities. Sydney hosted the the 2000 Summer Olympic Games. Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. Highlights of this aerial tour include the Botanical Gardens, Observatory Hill, Barangaroo, South Head, Vaucluse, and Watsons Bay.</p>\n<p>From:https://www.airvuz.com<br>\nhttps://youtu.be/3JgxOv-a5D8</p>\n</html>",
"json_metadata": "{\"tags\":[\"sydney\",\"airvuz\",\"australia\",\"travel\"],\"image\":[\"https://img.youtube.com/vi/3JgxOv-a5D8/0.jpg\"],\"links\":[\"https://www.airvuz.com\",\"https://youtu.be/3JgxOv-a5D8\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "sydney",
"permlink": "top-of-sydney-dji-mavic-pro-4k-drone-footage",
"title": "Top of Sydney - DJI Mavic Pro - 4K Drone Footage"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-22T02:50:03",
"trx_id": "d38e46611c339e77874ec60f4a99922ceda8ba58",
"trx_in_block": 1,
"virtual_op": 0
}lihrpublished a new post: top-of-sydney-dji-mavic-pro-4k-drone-footage2019/02/22 02:39:27
lihrpublished a new post: top-of-sydney-dji-mavic-pro-4k-drone-footage
2019/02/22 02:39:27
| author | lihr |
| body | <html> <p>Sydney is Australia's largest city and the capital of New South Wales, its largest state. It is widely considered to be among the world's most beautiful cities. Sydney hosted the the 2000 Summer Olympic Games. Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. Highlights of this aerial tour include the Botanical Gardens, Observatory Hill, Barangaroo, South Head, Vaucluse, and Watsons Bay.</p> <p>From:https://www.airvuz.com<br> https://youtu.be/3JgxOv-a5D8</p> </html> |
| json metadata | {"tags":["sydney","airvuz","australia"],"image":["https://img.youtube.com/vi/3JgxOv-a5D8/0.jpg"],"links":["https://www.airvuz.com","https://youtu.be/3JgxOv-a5D8"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | sydney |
| permlink | top-of-sydney-dji-mavic-pro-4k-drone-footage |
| title | Top of Sydney - DJI Mavic Pro - 4K Drone Footage |
| Transaction Info | Block #30558599/Trx c03b914fbd1f56c11f0b1f9ef3103451b6c7ac5d |
View Raw JSON Data
{
"block": 30558599,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>Sydney is Australia's largest city and the capital of New South Wales, its largest state. It is widely considered to be among the world's most beautiful cities. Sydney hosted the the 2000 Summer Olympic Games. Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. Highlights of this aerial tour include the Botanical Gardens, Observatory Hill, Barangaroo, South Head, Vaucluse, and Watsons Bay.</p>\n<p>From:https://www.airvuz.com<br>\nhttps://youtu.be/3JgxOv-a5D8</p>\n</html>",
"json_metadata": "{\"tags\":[\"sydney\",\"airvuz\",\"australia\"],\"image\":[\"https://img.youtube.com/vi/3JgxOv-a5D8/0.jpg\"],\"links\":[\"https://www.airvuz.com\",\"https://youtu.be/3JgxOv-a5D8\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "sydney",
"permlink": "top-of-sydney-dji-mavic-pro-4k-drone-footage",
"title": "Top of Sydney - DJI Mavic Pro - 4K Drone Footage"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-22T02:39:27",
"trx_id": "c03b914fbd1f56c11f0b1f9ef3103451b6c7ac5d",
"trx_in_block": 16,
"virtual_op": 0
}paseolabupvoted (100.00%) @lihr / top-of-sydney-dji-mavic-pro-4k-drone-footage2019/02/22 01:59:06
paseolabupvoted (100.00%) @lihr / top-of-sydney-dji-mavic-pro-4k-drone-footage
2019/02/22 01:59:06
| author | lihr |
| permlink | top-of-sydney-dji-mavic-pro-4k-drone-footage |
| voter | paseolab |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30557794/Trx 53f2b5cc1c476fe92b0409a0c874290baf7282ca |
View Raw JSON Data
{
"block": 30557794,
"op": [
"vote",
{
"author": "lihr",
"permlink": "top-of-sydney-dji-mavic-pro-4k-drone-footage",
"voter": "paseolab",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-22T01:59:06",
"trx_id": "53f2b5cc1c476fe92b0409a0c874290baf7282ca",
"trx_in_block": 8,
"virtual_op": 0
}lihrpublished a new post: top-of-sydney-dji-mavic-pro-4k-drone-footage2019/02/22 01:55:30
lihrpublished a new post: top-of-sydney-dji-mavic-pro-4k-drone-footage
2019/02/22 01:55:30
| author | lihr |
| body | <html> <p>Sydney is Australia's largest city and the capital of New South Wales, its largest state. It is widely considered to be among the world's most beautiful cities. Sydney hosted the the 2000 Summer Olympic Games. Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. Highlights of this aerial tour include the Botanical Gardens, Observatory Hill, Barangaroo, South Head, Vaucluse, and Watsons Bay.</p> <p>From:https://www.airvuz.com<br> https://youtu.be/3JgxOv-a5D8</p> </html> |
| json metadata | {"tags":["sydney"],"image":["https://img.youtube.com/vi/3JgxOv-a5D8/0.jpg"],"links":["https://www.airvuz.com","https://youtu.be/3JgxOv-a5D8"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | sydney |
| permlink | top-of-sydney-dji-mavic-pro-4k-drone-footage |
| title | Top of Sydney - DJI Mavic Pro - 4K Drone Footage |
| Transaction Info | Block #30557723/Trx 327f8366c87fd18402a06c4f00323c15cb938ded |
View Raw JSON Data
{
"block": 30557723,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>Sydney is Australia's largest city and the capital of New South Wales, its largest state. It is widely considered to be among the world's most beautiful cities. Sydney hosted the the 2000 Summer Olympic Games. Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. Highlights of this aerial tour include the Botanical Gardens, Observatory Hill, Barangaroo, South Head, Vaucluse, and Watsons Bay.</p>\n<p>From:https://www.airvuz.com<br>\nhttps://youtu.be/3JgxOv-a5D8</p>\n</html>",
"json_metadata": "{\"tags\":[\"sydney\"],\"image\":[\"https://img.youtube.com/vi/3JgxOv-a5D8/0.jpg\"],\"links\":[\"https://www.airvuz.com\",\"https://youtu.be/3JgxOv-a5D8\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "sydney",
"permlink": "top-of-sydney-dji-mavic-pro-4k-drone-footage",
"title": "Top of Sydney - DJI Mavic Pro - 4K Drone Footage"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-22T01:55:30",
"trx_id": "327f8366c87fd18402a06c4f00323c15cb938ded",
"trx_in_block": 1,
"virtual_op": 0
}juanpaezflagged (-100.00%) @lihr / animals-can-also-be-funny-can-also-be-funny2019/02/21 18:02:15
juanpaezflagged (-100.00%) @lihr / animals-can-also-be-funny-can-also-be-funny
2019/02/21 18:02:15
| author | lihr |
| permlink | animals-can-also-be-funny-can-also-be-funny |
| voter | juanpaez |
| weight | -10000 (-100.00%) |
| Transaction Info | Block #30548262/Trx 39be219bbdfdecd1ad4b2653260ef6ea6fb773da |
View Raw JSON Data
{
"block": 30548262,
"op": [
"vote",
{
"author": "lihr",
"permlink": "animals-can-also-be-funny-can-also-be-funny",
"voter": "juanpaez",
"weight": -10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-21T18:02:15",
"trx_id": "39be219bbdfdecd1ad4b2653260ef6ea6fb773da",
"trx_in_block": 39,
"virtual_op": 0
}lihrremoved vote from (0.00%) @lihr / 9-diss-iphone2019/02/20 14:28:45
lihrremoved vote from (0.00%) @lihr / 9-diss-iphone
2019/02/20 14:28:45
| author | lihr |
| permlink | 9-diss-iphone |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30515213/Trx 394fbf3ec081777813ae73df4a937d8e2f030b84 |
View Raw JSON Data
{
"block": 30515213,
"op": [
"vote",
{
"author": "lihr",
"permlink": "9-diss-iphone",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T14:28:45",
"trx_id": "394fbf3ec081777813ae73df4a937d8e2f030b84",
"trx_in_block": 0,
"virtual_op": 0
}lihrupvoted (100.00%) @lihr / 9-diss-iphone2019/02/20 13:31:57
lihrupvoted (100.00%) @lihr / 9-diss-iphone
2019/02/20 13:31:57
| author | lihr |
| permlink | 9-diss-iphone |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30514079/Trx 40cd16ec5697aad10b2c3b37a63ec6b2978118f9 |
View Raw JSON Data
{
"block": 30514079,
"op": [
"vote",
{
"author": "lihr",
"permlink": "9-diss-iphone",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T13:31:57",
"trx_id": "40cd16ec5697aad10b2c3b37a63ec6b2978118f9",
"trx_in_block": 7,
"virtual_op": 0
}by4434upvoted (100.00%) @lihr / 9-diss-iphone2019/02/20 13:19:51
by4434upvoted (100.00%) @lihr / 9-diss-iphone
2019/02/20 13:19:51
| author | lihr |
| permlink | 9-diss-iphone |
| voter | by4434 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30513837/Trx 4d9d6aa7cde850f21adc9a0d668601405cef2e5a |
View Raw JSON Data
{
"block": 30513837,
"op": [
"vote",
{
"author": "lihr",
"permlink": "9-diss-iphone",
"voter": "by4434",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T13:19:51",
"trx_id": "4d9d6aa7cde850f21adc9a0d668601405cef2e5a",
"trx_in_block": 18,
"virtual_op": 0
}lihrpublished a new post: 9-diss-iphone2019/02/20 13:17:54
lihrpublished a new post: 9-diss-iphone
2019/02/20 13:17:54
| author | lihr |
| body | @@ -35,15 +35,14 @@ pdLk - %E8%BF%94%E5%9B%9E%E7%BC%96%E8%BE%91%E6%A8%A1%E5%BC%8F + %3C/p%3E |
| json metadata | {"tags":["xiaomi9","huawei","cn"],"image":["https://img.youtube.com/vi/9OK6TsmpdLk/0.jpg"],"links":["https://youtu.be/9OK6TsmpdLk"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | xiaomi9 |
| permlink | 9-diss-iphone |
| title | 雷军用小米9疯狂diss华为和iPhone,火药味浓烈 |
| Transaction Info | Block #30513798/Trx 4f6afbd3f9a6736756262148cc7776bd534f35c1 |
View Raw JSON Data
{
"block": 30513798,
"op": [
"comment",
{
"author": "lihr",
"body": "@@ -35,15 +35,14 @@\n pdLk\n- %E8%BF%94%E5%9B%9E%E7%BC%96%E8%BE%91%E6%A8%A1%E5%BC%8F\n+ \n %3C/p%3E\n",
"json_metadata": "{\"tags\":[\"xiaomi9\",\"huawei\",\"cn\"],\"image\":[\"https://img.youtube.com/vi/9OK6TsmpdLk/0.jpg\"],\"links\":[\"https://youtu.be/9OK6TsmpdLk\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "xiaomi9",
"permlink": "9-diss-iphone",
"title": "雷军用小米9疯狂diss华为和iPhone,火药味浓烈"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T13:17:54",
"trx_id": "4f6afbd3f9a6736756262148cc7776bd534f35c1",
"trx_in_block": 2,
"virtual_op": 0
}lihrpublished a new post: 9-diss-iphone2019/02/20 13:17:42
lihrpublished a new post: 9-diss-iphone
2019/02/20 13:17:42
| author | lihr |
| body | <html> <p>https://youtu.be/9OK6TsmpdLk 返回编辑模式</p> <p>雷军用小米9疯狂diss华为和iPhone,火药味浓烈</p> </html> |
| json metadata | {"tags":["xiaomi9","huawei","cn"],"image":["https://img.youtube.com/vi/9OK6TsmpdLk/0.jpg"],"links":["https://youtu.be/9OK6TsmpdLk"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | xiaomi9 |
| permlink | 9-diss-iphone |
| title | 雷军用小米9疯狂diss华为和iPhone,火药味浓烈 |
| Transaction Info | Block #30513794/Trx dffde0226de8eae6054569811f5900d968792aaf |
View Raw JSON Data
{
"block": 30513794,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>https://youtu.be/9OK6TsmpdLk 返回编辑模式</p>\n<p>雷军用小米9疯狂diss华为和iPhone,火药味浓烈</p>\n</html>",
"json_metadata": "{\"tags\":[\"xiaomi9\",\"huawei\",\"cn\"],\"image\":[\"https://img.youtube.com/vi/9OK6TsmpdLk/0.jpg\"],\"links\":[\"https://youtu.be/9OK6TsmpdLk\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "xiaomi9",
"permlink": "9-diss-iphone",
"title": "雷军用小米9疯狂diss华为和iPhone,火药味浓烈"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T13:17:42",
"trx_id": "dffde0226de8eae6054569811f5900d968792aaf",
"trx_in_block": 19,
"virtual_op": 0
}lihrpublished a new post: 9-diss-iphone2019/02/20 13:17:18
lihrpublished a new post: 9-diss-iphone
2019/02/20 13:17:18
| author | lihr |
| body | <html> <p>https://youtu.be/9OK6TsmpdLk 返回编辑模式</p> <p>雷军用小米9疯狂diss华为和iPhone,火药味浓烈</p> </html> |
| json metadata | {"tags":["xiaomi9","huawei","cn"],"image":["https://img.youtube.com/vi/9OK6TsmpdLk/0.jpg"],"links":["https://youtu.be/9OK6TsmpdLk"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | xiaomi9 |
| permlink | 9-diss-iphone |
| title | 返回编辑模式雷军用小米9疯狂diss华为和iPhone,火药味浓烈 |
| Transaction Info | Block #30513786/Trx 96bbab868031647c292dd8b24d0d287129b7453b |
View Raw JSON Data
{
"block": 30513786,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>https://youtu.be/9OK6TsmpdLk 返回编辑模式</p>\n<p>雷军用小米9疯狂diss华为和iPhone,火药味浓烈</p>\n</html>",
"json_metadata": "{\"tags\":[\"xiaomi9\",\"huawei\",\"cn\"],\"image\":[\"https://img.youtube.com/vi/9OK6TsmpdLk/0.jpg\"],\"links\":[\"https://youtu.be/9OK6TsmpdLk\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "xiaomi9",
"permlink": "9-diss-iphone",
"title": "返回编辑模式雷军用小米9疯狂diss华为和iPhone,火药味浓烈"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T13:17:18",
"trx_id": "96bbab868031647c292dd8b24d0d287129b7453b",
"trx_in_block": 29,
"virtual_op": 0
}lihrremoved vote from (0.00%) @lihr / animals-can-also-be-funny-can-also-be-funny2019/02/20 02:02:45
lihrremoved vote from (0.00%) @lihr / animals-can-also-be-funny-can-also-be-funny
2019/02/20 02:02:45
| author | lihr |
| permlink | animals-can-also-be-funny-can-also-be-funny |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30500308/Trx 063d4a46cc91a64cf3b7515886e0ee82c3736c66 |
View Raw JSON Data
{
"block": 30500308,
"op": [
"vote",
{
"author": "lihr",
"permlink": "animals-can-also-be-funny-can-also-be-funny",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T02:02:45",
"trx_id": "063d4a46cc91a64cf3b7515886e0ee82c3736c66",
"trx_in_block": 5,
"virtual_op": 0
}lihrremoved vote from (0.00%) @lihr / this-is-chinese-kongfu2019/02/20 02:02:39
lihrremoved vote from (0.00%) @lihr / this-is-chinese-kongfu
2019/02/20 02:02:39
| author | lihr |
| permlink | this-is-chinese-kongfu |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30500306/Trx 858226e0977ada5e71b9a9429cc66943b7c5f8fb |
View Raw JSON Data
{
"block": 30500306,
"op": [
"vote",
{
"author": "lihr",
"permlink": "this-is-chinese-kongfu",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T02:02:39",
"trx_id": "858226e0977ada5e71b9a9429cc66943b7c5f8fb",
"trx_in_block": 29,
"virtual_op": 0
}lihrremoved vote from (0.00%) @lihr / heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet2019/02/20 02:02:33
lihrremoved vote from (0.00%) @lihr / heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet
2019/02/20 02:02:33
| author | lihr |
| permlink | heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30500304/Trx 16a23ffdaa91c7d1fec2d91f558e5d81f4ed1d64 |
View Raw JSON Data
{
"block": 30500304,
"op": [
"vote",
{
"author": "lihr",
"permlink": "heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T02:02:33",
"trx_id": "16a23ffdaa91c7d1fec2d91f558e5d81f4ed1d64",
"trx_in_block": 23,
"virtual_op": 0
}lihrremoved vote from (0.00%) @lihr / the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method2019/02/20 02:02:30
lihrremoved vote from (0.00%) @lihr / the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method
2019/02/20 02:02:30
| author | lihr |
| permlink | the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30500303/Trx 513f6deca51b1a5f67947e6e67c6ce941bff2cfd |
View Raw JSON Data
{
"block": 30500303,
"op": [
"vote",
{
"author": "lihr",
"permlink": "the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T02:02:30",
"trx_id": "513f6deca51b1a5f67947e6e67c6ce941bff2cfd",
"trx_in_block": 6,
"virtual_op": 0
}lihrremoved vote from (0.00%) @lihr / blockchain-programming-seven-languages-the-most-used-is-actually-java2019/02/20 02:02:24
lihrremoved vote from (0.00%) @lihr / blockchain-programming-seven-languages-the-most-used-is-actually-java
2019/02/20 02:02:24
| author | lihr |
| permlink | blockchain-programming-seven-languages-the-most-used-is-actually-java |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30500301/Trx 4d778fa6c67943dda43a3b7f5ab4764b04301eca |
View Raw JSON Data
{
"block": 30500301,
"op": [
"vote",
{
"author": "lihr",
"permlink": "blockchain-programming-seven-languages-the-most-used-is-actually-java",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T02:02:24",
"trx_id": "4d778fa6c67943dda43a3b7f5ab4764b04301eca",
"trx_in_block": 17,
"virtual_op": 0
}2019/02/20 02:02:21
2019/02/20 02:02:21
| author | lihr |
| permlink | 9-2-20 |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30500300/Trx 15c0e4ad936b8489d2ef0d2b999aa4848fb2cc36 |
View Raw JSON Data
{
"block": 30500300,
"op": [
"vote",
{
"author": "lihr",
"permlink": "9-2-20",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T02:02:21",
"trx_id": "15c0e4ad936b8489d2ef0d2b999aa4848fb2cc36",
"trx_in_block": 28,
"virtual_op": 0
}lihrremoved vote from (0.00%) @lihr / it-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-20192019/02/20 02:02:18
lihrremoved vote from (0.00%) @lihr / it-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019
2019/02/20 02:02:18
| author | lihr |
| permlink | it-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019 |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30500299/Trx 47ecc88be72b314445eee1f31c596509f4faa9c4 |
View Raw JSON Data
{
"block": 30500299,
"op": [
"vote",
{
"author": "lihr",
"permlink": "it-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T02:02:18",
"trx_id": "47ecc88be72b314445eee1f31c596509f4faa9c4",
"trx_in_block": 8,
"virtual_op": 0
}lihrremoved vote from (0.00%) @lihr / amazon-s-earnings-in-2018-amazon-aws-contribute-most-income2019/02/20 02:02:15
lihrremoved vote from (0.00%) @lihr / amazon-s-earnings-in-2018-amazon-aws-contribute-most-income
2019/02/20 02:02:15
| author | lihr |
| permlink | amazon-s-earnings-in-2018-amazon-aws-contribute-most-income |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30500298/Trx f413bf943d6206248383c313472d8c6cc270754e |
View Raw JSON Data
{
"block": 30500298,
"op": [
"vote",
{
"author": "lihr",
"permlink": "amazon-s-earnings-in-2018-amazon-aws-contribute-most-income",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-20T02:02:15",
"trx_id": "f413bf943d6206248383c313472d8c6cc270754e",
"trx_in_block": 15,
"virtual_op": 0
}2019/02/19 14:00:39
2019/02/19 14:00:39
| author | lihr |
| body | 小米9,内部代号“战斗天使”。 性能超级强悍的年度旗舰、 至今为止最好看的小米手机。 绝对的好看又能打。 小米9为热爱而战! 为广大用户和米粉们的向往而战! 探索路上执着前行,做产品一腔锐气, 这就是小米始终不变的少年之心! 我们不负等待,为你而战!2月20日发布会见。  同时宣布一个好消息: 王源正式成为小米手机品牌代言人! 他是正能量的歌手、演员,也是联合国儿童基金会大使,他被美国《时代》周刊评为全球最具影响力的青少年三十人。他是王源,今天“源”力再次觉醒! 小米9好看又能打,2月20日现场见!  小米9相机具体参数如下: 1、4800万标准镜头,索尼IMX586传感器,1/2英寸超大感光面积,超高解析力可以看到更多的细节。 2、1200万人像镜头,背景虚化,2倍光学变焦 3、1600万超广角镜头,117度,可以拍下更多内容。这个镜头同时支持了4cm微距。 4、2000万前置镜头,支持小米AI美颜所有功能。 继公布了小米9摄像头的参数后,雷军又发微博称,小米9用不锈钢的边框包裹,蓝宝石玻璃覆盖了全部三个摄像头,蓝宝石玻璃面积高达243平方毫米,完全不用担心镜头被划伤。此外,雷军还称,小米9的三个摄像头都用了闭环马达,加上激光混合对焦,这次的对焦和成像速度绝对是小米之最,可以实现极速抓拍,干净利落脆。   其它方面,小米9下巴宽度为3.6mm,搭载骁龙855,安兔兔跑分高达387851分。关于处理器,这个是最好猜的,现在安卓平台谁家处理器跑分最高,当然是骁龙855啦,小米9用骁龙855已经是妥妥的了,估计小米屯了不少的骁龙855处理器,就等过完年了,好好发挥一把刚过完年就准备发布会了,小米估计会保持18年底势头,一路狂飙。 小米9是没有后置指纹的,如此看来,小米9有望全系标配屏幕指纹,IT之家判断,屏幕指纹是小米9的主要解锁方式。目前屏幕指纹解锁技术包括光电和超声波式,去年12月的时候,有消息指出小米9和三星S10系列都将首发超声波屏幕指纹技术。 |
| json metadata | {"tags":["cn","xiaomi"],"image":["https://cdn.steemitimages.com/DQmW81Msnbq75YCW1xYEHiQmEBmdjHY36MvdATNfHowK342/image.png","https://cdn.steemitimages.com/DQmPeE9GzWJ8ToTS24rfpCAPQ8K2dVbZH8DxRVnUEqpvMYp/image.png","https://cdn.steemitimages.com/DQmUx4qHfY3YXr4YCLkMehY6yz3k6AGKYBwcqfmEVtEZfZe/image.png","https://cdn.steemitimages.com/DQmZZ765i6Wa6DF4WoUNvAwcPRHTTapAktfoNL4smiH6nr2/image.png","https://cdn.steemitimages.com/DQmW2JnTft1AP4NoZPC7LmhnLdPmVPwHzWLZn942ZaBFMkq/image.png"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | xiaomi |
| permlink | 9-2-20 |
| title | 小米9来了!王源代言,2月20日现场见 |
| Transaction Info | Block #30485870/Trx 323ea5c882e3e24fc9de7f2e5964e06a4a0bab41 |
View Raw JSON Data
{
"block": 30485870,
"op": [
"comment",
{
"author": "lihr",
"body": "小米9,内部代号“战斗天使”。\n性能超级强悍的年度旗舰、\n至今为止最好看的小米手机。\n绝对的好看又能打。\n\n小米9为热爱而战!\n为广大用户和米粉们的向往而战!\n探索路上执着前行,做产品一腔锐气,\n这就是小米始终不变的少年之心!\n我们不负等待,为你而战!2月20日发布会见。\n\n同时宣布一个好消息:\n王源正式成为小米手机品牌代言人!\n\n他是正能量的歌手、演员,也是联合国儿童基金会大使,他被美国《时代》周刊评为全球最具影响力的青少年三十人。他是王源,今天“源”力再次觉醒!\n\n小米9好看又能打,2月20日现场见!\n\n小米9相机具体参数如下:\n\n1、4800万标准镜头,索尼IMX586传感器,1/2英寸超大感光面积,超高解析力可以看到更多的细节。\n\n2、1200万人像镜头,背景虚化,2倍光学变焦\n\n3、1600万超广角镜头,117度,可以拍下更多内容。这个镜头同时支持了4cm微距。\n\n4、2000万前置镜头,支持小米AI美颜所有功能。\n\n继公布了小米9摄像头的参数后,雷军又发微博称,小米9用不锈钢的边框包裹,蓝宝石玻璃覆盖了全部三个摄像头,蓝宝石玻璃面积高达243平方毫米,完全不用担心镜头被划伤。此外,雷军还称,小米9的三个摄像头都用了闭环马达,加上激光混合对焦,这次的对焦和成像速度绝对是小米之最,可以实现极速抓拍,干净利落脆。\n\n\n其它方面,小米9下巴宽度为3.6mm,搭载骁龙855,安兔兔跑分高达387851分。关于处理器,这个是最好猜的,现在安卓平台谁家处理器跑分最高,当然是骁龙855啦,小米9用骁龙855已经是妥妥的了,估计小米屯了不少的骁龙855处理器,就等过完年了,好好发挥一把刚过完年就准备发布会了,小米估计会保持18年底势头,一路狂飙。\n 小米9是没有后置指纹的,如此看来,小米9有望全系标配屏幕指纹,IT之家判断,屏幕指纹是小米9的主要解锁方式。目前屏幕指纹解锁技术包括光电和超声波式,去年12月的时候,有消息指出小米9和三星S10系列都将首发超声波屏幕指纹技术。",
"json_metadata": "{\"tags\":[\"cn\",\"xiaomi\"],\"image\":[\"https://cdn.steemitimages.com/DQmW81Msnbq75YCW1xYEHiQmEBmdjHY36MvdATNfHowK342/image.png\",\"https://cdn.steemitimages.com/DQmPeE9GzWJ8ToTS24rfpCAPQ8K2dVbZH8DxRVnUEqpvMYp/image.png\",\"https://cdn.steemitimages.com/DQmUx4qHfY3YXr4YCLkMehY6yz3k6AGKYBwcqfmEVtEZfZe/image.png\",\"https://cdn.steemitimages.com/DQmZZ765i6Wa6DF4WoUNvAwcPRHTTapAktfoNL4smiH6nr2/image.png\",\"https://cdn.steemitimages.com/DQmW2JnTft1AP4NoZPC7LmhnLdPmVPwHzWLZn942ZaBFMkq/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "xiaomi",
"permlink": "9-2-20",
"title": "小米9来了!王源代言,2月20日现场见"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T14:00:39",
"trx_id": "323ea5c882e3e24fc9de7f2e5964e06a4a0bab41",
"trx_in_block": 19,
"virtual_op": 0
}thetroublenotesupvoted (1.00%) @lihr / animals-can-also-be-funny-can-also-be-funny2019/02/19 13:20:39
thetroublenotesupvoted (1.00%) @lihr / animals-can-also-be-funny-can-also-be-funny
2019/02/19 13:20:39
| author | lihr |
| permlink | animals-can-also-be-funny-can-also-be-funny |
| voter | thetroublenotes |
| weight | 100 (1.00%) |
| Transaction Info | Block #30485071/Trx 1ed3e2e1b77f3c24b17337022cc805428290dd2e |
View Raw JSON Data
{
"block": 30485071,
"op": [
"vote",
{
"author": "lihr",
"permlink": "animals-can-also-be-funny-can-also-be-funny",
"voter": "thetroublenotes",
"weight": 100
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T13:20:39",
"trx_id": "1ed3e2e1b77f3c24b17337022cc805428290dd2e",
"trx_in_block": 14,
"virtual_op": 0
}lihrpublished a new post: animals-can-also-be-funny-can-also-be-funny2019/02/19 13:00:15
lihrpublished a new post: animals-can-also-be-funny-can-also-be-funny
2019/02/19 13:00:15
| author | lihr |
| body | <html> <p>https://youtu.be/chUYqauAR9E</p> <p><br></p> <p>Thank you,please give a thumbs-up ,so how do you comment ?</p> </html> |
| json metadata | {"tags":["funny","animals","film"],"image":["https://img.youtube.com/vi/chUYqauAR9E/0.jpg"],"links":["https://youtu.be/chUYqauAR9E"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | funny |
| permlink | animals-can-also-be-funny-can-also-be-funny |
| title | Animals can also be funny |
| Transaction Info | Block #30484663/Trx 6fefd9413601f2c2293d9087b7d465cb6aa0fee1 |
View Raw JSON Data
{
"block": 30484663,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>https://youtu.be/chUYqauAR9E</p>\n<p><br></p>\n<p>Thank you,please give a thumbs-up ,so how do you comment ?</p>\n</html>",
"json_metadata": "{\"tags\":[\"funny\",\"animals\",\"film\"],\"image\":[\"https://img.youtube.com/vi/chUYqauAR9E/0.jpg\"],\"links\":[\"https://youtu.be/chUYqauAR9E\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "funny",
"permlink": "animals-can-also-be-funny-can-also-be-funny",
"title": "Animals can also be funny"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T13:00:15",
"trx_id": "6fefd9413601f2c2293d9087b7d465cb6aa0fee1",
"trx_in_block": 22,
"virtual_op": 0
}lihrpublished a new post: animals-can-also-be-funny-can-also-be-funny2019/02/19 12:58:42
lihrpublished a new post: animals-can-also-be-funny-can-also-be-funny
2019/02/19 12:58:42
| author | lihr |
| body | <html> <p>https://youtu.be/chUYqauAR9E</p> <p><br></p> <p>Thank you,please give a thumbs-up ,so how do you comment ?</p> </html> |
| json metadata | {"tags":["funny","animals"],"image":["https://img.youtube.com/vi/chUYqauAR9E/0.jpg"],"links":["https://youtu.be/chUYqauAR9E"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | funny |
| permlink | animals-can-also-be-funny-can-also-be-funny |
| title | Animals can also be funny |
| Transaction Info | Block #30484632/Trx 49d24a6364738e30beb8a4881270d3422d87cbac |
View Raw JSON Data
{
"block": 30484632,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>https://youtu.be/chUYqauAR9E</p>\n<p><br></p>\n<p>Thank you,please give a thumbs-up ,so how do you comment ?</p>\n</html>",
"json_metadata": "{\"tags\":[\"funny\",\"animals\"],\"image\":[\"https://img.youtube.com/vi/chUYqauAR9E/0.jpg\"],\"links\":[\"https://youtu.be/chUYqauAR9E\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "funny",
"permlink": "animals-can-also-be-funny-can-also-be-funny",
"title": "Animals can also be funny"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T12:58:42",
"trx_id": "49d24a6364738e30beb8a4881270d3422d87cbac",
"trx_in_block": 36,
"virtual_op": 0
}lihrupvoted (100.00%) @lihr / this-is-chinese-kongfu2019/02/19 12:55:21
lihrupvoted (100.00%) @lihr / this-is-chinese-kongfu
2019/02/19 12:55:21
| author | lihr |
| permlink | this-is-chinese-kongfu |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30484566/Trx f20c13597d8a4e88c9cd5af31cc8d6a832812bcb |
View Raw JSON Data
{
"block": 30484566,
"op": [
"vote",
{
"author": "lihr",
"permlink": "this-is-chinese-kongfu",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T12:55:21",
"trx_id": "f20c13597d8a4e88c9cd5af31cc8d6a832812bcb",
"trx_in_block": 31,
"virtual_op": 0
}lihrupvoted (100.00%) @lihr / animals-can-also-be-funny-can-also-be-funny2019/02/19 12:54:54
lihrupvoted (100.00%) @lihr / animals-can-also-be-funny-can-also-be-funny
2019/02/19 12:54:54
| author | lihr |
| permlink | animals-can-also-be-funny-can-also-be-funny |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30484557/Trx 00c863ebd8e0dfd1c114cd6dd8a32006165eb9e9 |
View Raw JSON Data
{
"block": 30484557,
"op": [
"vote",
{
"author": "lihr",
"permlink": "animals-can-also-be-funny-can-also-be-funny",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T12:54:54",
"trx_id": "00c863ebd8e0dfd1c114cd6dd8a32006165eb9e9",
"trx_in_block": 34,
"virtual_op": 0
}lihrpublished a new post: animals-can-also-be-funny-can-also-be-funny2019/02/19 12:54:15
lihrpublished a new post: animals-can-also-be-funny-can-also-be-funny
2019/02/19 12:54:15
| author | lihr |
| body | <html> <p>https://youtu.be/chUYqauAR9E</p> <p><br></p> <p>Thank you,please give a thumbs-up ,so how do you comment ?</p> </html> |
| json metadata | {"tags":["funny","animals"],"image":["https://img.youtube.com/vi/chUYqauAR9E/0.jpg"],"links":["https://youtu.be/chUYqauAR9E"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | funny |
| permlink | animals-can-also-be-funny-can-also-be-funny |
| title | Animals can also be funny.can also be funny. |
| Transaction Info | Block #30484544/Trx 699a6f027d3ddb4fb430cfe8cd3211ad31514e91 |
View Raw JSON Data
{
"block": 30484544,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>https://youtu.be/chUYqauAR9E</p>\n<p><br></p>\n<p>Thank you,please give a thumbs-up ,so how do you comment ?</p>\n</html>",
"json_metadata": "{\"tags\":[\"funny\",\"animals\"],\"image\":[\"https://img.youtube.com/vi/chUYqauAR9E/0.jpg\"],\"links\":[\"https://youtu.be/chUYqauAR9E\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "funny",
"permlink": "animals-can-also-be-funny-can-also-be-funny",
"title": "Animals can also be funny.can also be funny."
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T12:54:15",
"trx_id": "699a6f027d3ddb4fb430cfe8cd3211ad31514e91",
"trx_in_block": 14,
"virtual_op": 0
}lihrpublished a new post: animals-can-also-be-funny-can-also-be-funny2019/02/19 12:53:39
lihrpublished a new post: animals-can-also-be-funny-can-also-be-funny
2019/02/19 12:53:39
| author | lihr |
| body | <html> <p>https://youtu.be/chUYqauAR9E</p> <p><br></p> <p>Thank you,please give a thumbs-up ,so how do you comment ?</p> </html> |
| json metadata | {"tags":["funny","nimals"],"image":["https://img.youtube.com/vi/chUYqauAR9E/0.jpg"],"links":["https://youtu.be/chUYqauAR9E"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | funny |
| permlink | animals-can-also-be-funny-can-also-be-funny |
| title | Animals can also be funny.can also be funny. |
| Transaction Info | Block #30484532/Trx 709e1dbafcfa1b4c75c080c92a6dc317539b2cf9 |
View Raw JSON Data
{
"block": 30484532,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>https://youtu.be/chUYqauAR9E</p>\n<p><br></p>\n<p>Thank you,please give a thumbs-up ,so how do you comment ?</p>\n</html>",
"json_metadata": "{\"tags\":[\"funny\",\"nimals\"],\"image\":[\"https://img.youtube.com/vi/chUYqauAR9E/0.jpg\"],\"links\":[\"https://youtu.be/chUYqauAR9E\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "funny",
"permlink": "animals-can-also-be-funny-can-also-be-funny",
"title": "Animals can also be funny.can also be funny."
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T12:53:39",
"trx_id": "709e1dbafcfa1b4c75c080c92a6dc317539b2cf9",
"trx_in_block": 13,
"virtual_op": 0
}lihrremoved vote from (0.00%) @lihr / this-is-chinese-kongfu2019/02/19 12:42:36
lihrremoved vote from (0.00%) @lihr / this-is-chinese-kongfu
2019/02/19 12:42:36
| author | lihr |
| permlink | this-is-chinese-kongfu |
| voter | lihr |
| weight | 0 (0.00%) |
| Transaction Info | Block #30484311/Trx 3f54e5943afc45a7df1cb66e41282db3e054f6d1 |
View Raw JSON Data
{
"block": 30484311,
"op": [
"vote",
{
"author": "lihr",
"permlink": "this-is-chinese-kongfu",
"voter": "lihr",
"weight": 0
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T12:42:36",
"trx_id": "3f54e5943afc45a7df1cb66e41282db3e054f6d1",
"trx_in_block": 24,
"virtual_op": 0
}lihrupvoted (100.00%) @lihr / this-is-chinese-kongfu2019/02/19 12:40:48
lihrupvoted (100.00%) @lihr / this-is-chinese-kongfu
2019/02/19 12:40:48
| author | lihr |
| permlink | this-is-chinese-kongfu |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30484275/Trx 94c877917c7d4f0d3a83da2cc0d429aa743f48f2 |
View Raw JSON Data
{
"block": 30484275,
"op": [
"vote",
{
"author": "lihr",
"permlink": "this-is-chinese-kongfu",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T12:40:48",
"trx_id": "94c877917c7d4f0d3a83da2cc0d429aa743f48f2",
"trx_in_block": 23,
"virtual_op": 0
}lihrupdated options for this-is-chinese-kongfu2019/02/19 12:37:03
lihrupdated options for this-is-chinese-kongfu
2019/02/19 12:37:03
| allow curation rewards | true |
| allow votes | true |
| author | lihr |
| extensions | [] |
| max accepted payout | 1000000.000 SBD |
| percent steem dollars | 0 |
| permlink | this-is-chinese-kongfu |
| Transaction Info | Block #30484200/Trx c38ef6932306eaab39547ca6be95b51b936744aa |
View Raw JSON Data
{
"block": 30484200,
"op": [
"comment_options",
{
"allow_curation_rewards": true,
"allow_votes": true,
"author": "lihr",
"extensions": [],
"max_accepted_payout": "1000000.000 SBD",
"percent_steem_dollars": 0,
"permlink": "this-is-chinese-kongfu"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T12:37:03",
"trx_id": "c38ef6932306eaab39547ca6be95b51b936744aa",
"trx_in_block": 19,
"virtual_op": 0
}lihrpublished a new post: this-is-chinese-kongfu2019/02/19 12:37:03
lihrpublished a new post: this-is-chinese-kongfu
2019/02/19 12:37:03
| author | lihr |
| body | <html> <p>https://youtu.be/GkVjPDD3fEA</p> </html> |
| json metadata | {"tags":["chinese"],"image":["https://img.youtube.com/vi/GkVjPDD3fEA/0.jpg"],"links":["https://youtu.be/GkVjPDD3fEA"],"app":"steemit/0.1","format":"html"} |
| parent author | |
| parent permlink | chinese |
| permlink | this-is-chinese-kongfu |
| title | This is chinese kongfu!!! |
| Transaction Info | Block #30484200/Trx c38ef6932306eaab39547ca6be95b51b936744aa |
View Raw JSON Data
{
"block": 30484200,
"op": [
"comment",
{
"author": "lihr",
"body": "<html>\n<p>https://youtu.be/GkVjPDD3fEA</p>\n</html>",
"json_metadata": "{\"tags\":[\"chinese\"],\"image\":[\"https://img.youtube.com/vi/GkVjPDD3fEA/0.jpg\"],\"links\":[\"https://youtu.be/GkVjPDD3fEA\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}",
"parent_author": "",
"parent_permlink": "chinese",
"permlink": "this-is-chinese-kongfu",
"title": "This is chinese kongfu!!!"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T12:37:03",
"trx_id": "c38ef6932306eaab39547ca6be95b51b936744aa",
"trx_in_block": 19,
"virtual_op": 0
}lihrupvoted (100.00%) @lihr / blockchain-programming-seven-languages-the-most-used-is-actually-java2019/02/19 11:53:15
lihrupvoted (100.00%) @lihr / blockchain-programming-seven-languages-the-most-used-is-actually-java
2019/02/19 11:53:15
| author | lihr |
| permlink | blockchain-programming-seven-languages-the-most-used-is-actually-java |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30483324/Trx 7cbb13d5246dd0609a0ce01771d392927405373d |
View Raw JSON Data
{
"block": 30483324,
"op": [
"vote",
{
"author": "lihr",
"permlink": "blockchain-programming-seven-languages-the-most-used-is-actually-java",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T11:53:15",
"trx_id": "7cbb13d5246dd0609a0ce01771d392927405373d",
"trx_in_block": 37,
"virtual_op": 0
}lihrupvoted (100.00%) @lihr / heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet2019/02/19 11:53:09
lihrupvoted (100.00%) @lihr / heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet
2019/02/19 11:53:09
| author | lihr |
| permlink | heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30483322/Trx 3aa7aac88f717515ccea79868be641baeacd2e85 |
View Raw JSON Data
{
"block": 30483322,
"op": [
"vote",
{
"author": "lihr",
"permlink": "heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T11:53:09",
"trx_id": "3aa7aac88f717515ccea79868be641baeacd2e85",
"trx_in_block": 10,
"virtual_op": 0
}lihrpublished a new post: heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet2019/02/19 11:52:06
lihrpublished a new post: heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet
2019/02/19 11:52:06
| author | lihr |
| body |  On the 23rd of this month, according to a Twitter user named Ben Geskin , the Samsung Galaxy S10 mobile phone will have a built-in blockchain digital wallet service and was first reported on the Samsung news site SamMobile. However, as of the time of writing, Samsung did not respond to this. But all kinds of signs show that this is really a real hammer!  According to Ben Geskin's tweet, the Samsung S10 really has an earlier rumored "punch screen" design. In this regard, the battalion commander does not think it is a strange thing, because in recent years, manufacturers in the mobile phone market are almost always figuring out how to win by appearance . At the same time, AI technology equipped with smart phones is also a mobile phone. A big selling point.  Welcome to Samsung Blockchain KeyStone This time, the eye of the battalion leader is the two lines of blue characters in the center of the S10 screen! As can be seen from the figure, the Samsung S10 provides a built-in digital wallet service that securely and conveniently stores encrypted digital currency . Is it necessary for Samsung to seize the mobile phone market by blockchain technology and then play a turnaround?  In the other picture, the option to import or create a new encrypted digital wallet is displayed. From the support options, only ETH (Ethernet) related transactions are currently supported. If the news is true, as Samsung's next-generation flagship phone, S10 will definitely cause a market sensation, perhaps this will be another major change in the smartphone market. Smartphones have long been like "old Wang Xietang Qianyan, flying into the homes of ordinary people" . If the embedded digital currency wallet is built into the mobile phone, does it mean that everyone in the future can use WeChat and Alipay in life? Can encrypted digital currency be used in every field easily and securely? As early as December last year, there were rumors of Samsung’s built-in digital wallet in S10, but Samsung denied it. According to Cointelegraph's December 18 report, Samsung has filed three blockchain trademark applications in Europe: "Blockchain KeyStore", "Blockchain key box" and "Blockchain Core" . Combining Ben Geskin’s photo on Twitter this time, is this really a hammer?    As can be seen from the three trademark details, the trademark categories are smartphones, software applications for mobile devices, computer software platforms and applications , but do not disclose details about the proposed service or application. Although it is not certain whether Samsung is planning a blockchain phone, it is an indisputable fact that Samsung has laid out the blockchain. What do you think of it? Dear, you are actively posting a message at the end of the article to tell the battalion commander. |
| json metadata | {"tags":["blockchain"],"image":["https://cdn.steemitimages.com/DQmT6gNYEVps8AvzfbsrF2dFFiP2756gn9R1VFDsCSsGeR1/image.png","https://cdn.steemitimages.com/DQmcvPzJB4FKbPyeZNxUeyQdPyY5XDfYdv8b3xVhyzjrXpd/image.png","https://cdn.steemitimages.com/DQmaFygsZd833HDPh2TN946nJYSDeY8ZhLsKT3wgFESBhpE/image.png","https://cdn.steemitimages.com/DQmZw3CxHgbRS9LxiFjuDG6Tf1h6DQCXNMLYHa78p8bD4FV/image.png","https://cdn.steemitimages.com/DQmbdepgJ1oShhRVorLaYaELK7ANVCcTZwiYB5NKwk4Auw1/image.png","https://cdn.steemitimages.com/DQmf6b2qA5aYQLifJwAjgEJJrxMaGjG2fKjiJQ1VymX5Rbi/image.png","https://cdn.steemitimages.com/DQmWcpKpuT2i43c7FxA5qzTNWqpEmq3kRD5vSSFmDsLLDii/image.png"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | blockchain |
| permlink | heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet |
| title | Heavy! The Samsung Galaxy S10 will have a built-in Ethereum wallet. |
| Transaction Info | Block #30483301/Trx 4579bc934451dd3537379c1b256c6823ec8106bd |
View Raw JSON Data
{
"block": 30483301,
"op": [
"comment",
{
"author": "lihr",
"body": "\n On the 23rd of this month, according to a Twitter user named Ben Geskin , the Samsung Galaxy S10 mobile phone will have a built-in blockchain digital wallet service and was first reported on the Samsung news site SamMobile. However, as of the time of writing, Samsung did not respond to this. But all kinds of signs show that this is really a real hammer!\n\n According to Ben Geskin's tweet, the Samsung S10 really has an earlier rumored \"punch screen\" design. In this regard, the battalion commander does not think it is a strange thing, because in recent years, manufacturers in the mobile phone market are almost always figuring out how to win by appearance . At the same time, AI technology equipped with smart phones is also a mobile phone. A big selling point.\n\nWelcome to Samsung \nBlockchain KeyStone\nThis time, the eye of the battalion leader is the two lines of blue characters in the center of the S10 screen!\n\n\n\nAs can be seen from the figure, the Samsung S10 provides a built-in digital wallet service that securely and conveniently stores encrypted digital currency . Is it necessary for Samsung to seize the mobile phone market by blockchain technology and then play a turnaround?\n\nIn the other picture, the option to import or create a new encrypted digital wallet is displayed. From the support options, only ETH (Ethernet) related transactions are currently supported.\n\n\n\nIf the news is true, as Samsung's next-generation flagship phone, S10 will definitely cause a market sensation, perhaps this will be another major change in the smartphone market.\n\n\n\nSmartphones have long been like \"old Wang Xietang Qianyan, flying into the homes of ordinary people\" . If the embedded digital currency wallet is built into the mobile phone, does it mean that everyone in the future can use WeChat and Alipay in life? Can encrypted digital currency be used in every field easily and securely?\n\n\n\nAs early as December last year, there were rumors of Samsung’s built-in digital wallet in S10, but Samsung denied it. According to Cointelegraph's December 18 report, Samsung has filed three blockchain trademark applications in Europe: \"Blockchain KeyStore\", \"Blockchain key box\" and \"Blockchain Core\" .\n\n\n\nCombining Ben Geskin’s photo on Twitter this time, is this really a hammer?\n\n\n\nAs can be seen from the three trademark details, the trademark categories are smartphones, software applications for mobile devices, computer software platforms and applications , but do not disclose details about the proposed service or application.\n\n\n\nAlthough it is not certain whether Samsung is planning a blockchain phone, it is an indisputable fact that Samsung has laid out the blockchain.\n\nWhat do you think of it? Dear, you are actively posting a message at the end of the article to tell the battalion commander.",
"json_metadata": "{\"tags\":[\"blockchain\"],\"image\":[\"https://cdn.steemitimages.com/DQmT6gNYEVps8AvzfbsrF2dFFiP2756gn9R1VFDsCSsGeR1/image.png\",\"https://cdn.steemitimages.com/DQmcvPzJB4FKbPyeZNxUeyQdPyY5XDfYdv8b3xVhyzjrXpd/image.png\",\"https://cdn.steemitimages.com/DQmaFygsZd833HDPh2TN946nJYSDeY8ZhLsKT3wgFESBhpE/image.png\",\"https://cdn.steemitimages.com/DQmZw3CxHgbRS9LxiFjuDG6Tf1h6DQCXNMLYHa78p8bD4FV/image.png\",\"https://cdn.steemitimages.com/DQmbdepgJ1oShhRVorLaYaELK7ANVCcTZwiYB5NKwk4Auw1/image.png\",\"https://cdn.steemitimages.com/DQmf6b2qA5aYQLifJwAjgEJJrxMaGjG2fKjiJQ1VymX5Rbi/image.png\",\"https://cdn.steemitimages.com/DQmWcpKpuT2i43c7FxA5qzTNWqpEmq3kRD5vSSFmDsLLDii/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "blockchain",
"permlink": "heavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet",
"title": "Heavy! The Samsung Galaxy S10 will have a built-in Ethereum wallet."
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T11:52:06",
"trx_id": "4579bc934451dd3537379c1b256c6823ec8106bd",
"trx_in_block": 5,
"virtual_op": 0
}2019/02/19 11:45:27
2019/02/19 11:45:27
| author | lihr |
| permlink | blockchain-programming-seven-languages-the-most-used-is-actually-java |
| voter | zontomonto |
| weight | 500 (5.00%) |
| Transaction Info | Block #30483168/Trx 7802234de895d63e2e65b957372ad804267e4518 |
View Raw JSON Data
{
"block": 30483168,
"op": [
"vote",
{
"author": "lihr",
"permlink": "blockchain-programming-seven-languages-the-most-used-is-actually-java",
"voter": "zontomonto",
"weight": 500
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T11:45:27",
"trx_id": "7802234de895d63e2e65b957372ad804267e4518",
"trx_in_block": 6,
"virtual_op": 0
}lihrpublished a new post: blockchain-programming-seven-languages-the-most-used-is-actually-java2019/02/19 11:37:09
lihrpublished a new post: blockchain-programming-seven-languages-the-most-used-is-actually-java
2019/02/19 11:37:09
| author | lihr |
| body |  Seven programming languages used in blockchain projects Blockchain development is a rapidly growing industry, and we are witnessing the growth of this industry. Although blockchain technology is still in its infancy, this revolutionary technology has swept the world and has experienced unprecedented growth in recent years. At present, many well-funded projects are eager to build their own blockchain network and deploy decentralized applications on the network, but the capable blockchain developers are seriously inadequate. The blockchain development industry has attracted billions of dollars in investment, and in order to attract the best blockchain talents in the market to compete with each other, the salary of blockchain developers and the demand for related talents have risen . This gold rush may make some developers wonder if they have the strength to enter the industry, and which programming language is the most popular in this new industry. Almost all popular programming languages are used in the blockchain industry, but developers must consider which type of development they want to develop because different programming languages are available for different blockchain projects and applications. In order to make it easier for developers who want to go deep into the industry to understand and lay the foundation, the following is a brief introduction to the different projects and the programming languages they use.  Solidity , a simple new programming language, is very popular among Ethereum developers because the Ethereum smart contract is developed using this language. Solidity is a contract-oriented, Turing-complete programming language with an estimated developer base of over 200,000. As Ethereum takes the lead in smart contracts, many other blockchain platforms are also ensuring compatibility with Solidity (or ERC-20) so that smart contracts can be easily ported from Ethereum to their new blockchain network. Ethernet Square - from the technical level to speak face, the role of Ethernet Ethernet Square Square is equivalent to a virtual machine (EVM), the image is also described as a "global computer" (world computer), the C ++, Python, Ruby, Go and Java Such as programming language combination synthesis. JavaScript is the foundation of Ethereum because it acts like a scripted execution environment.  Java - is a concurrent, object-oriented, type-based, general-purpose programming language with little implementation dependency on Java. Since its release in 1995, Java has become the top 3 programming language with more than 9 million developers. The blockchain network of the well-known blockchain platform NEM is written entirely in Java (and will soon be changed to C++).  C# - An object-oriented programming language that developers can use to build powerful applications that run on the .NET framework. C# has at least 2 million developers worldwide. Born in 2000, C# has been popular with developers and is used to write cross-platform code that can run on multiple operating systems such as Windows, Mac, Linux, and Android. Blockchain projects programmed with C# are: Stratis is a blockchain service provider supported by Microsoft that allows companies to build their own private blockchain systems. Although NEO is written in C#, it also supports programming languages such as Javascript, Java, Python, and Go.  Javascript -- often referred to simply as JS -- is a multi-paradigm programming language that supports event-driven, functional, and imperative (including object-oriented and prototype-based) programming styles. It is one of the most popular programming languages in the world, with at least 9.7 million people worldwide. Lisk's SideChain Development Kit (SDK) is written in JavaScript, which developers can use to build applications on Lisk's blockchain platform.  SQL - Structured Query Language or "Sequel" is a programming language developed by IBM to communicate with databases that store, query, and process data. Today SQL has about 7 million developers. Mainstream databases such as MySQL, PostgreSQL, SQL Server, DB2, and Oracle use SQL to develop applications. Blockchain projects using SQL are: Aergo is an enterprise-oriented blockchain solution created by blockchain startup Blocko, which uses the patented technology of Coinstack for SQL smart contracts. The Aergo blockchain includes a SQL-based smart contract platform that enables companies to create and execute advanced smart contracts in a business environment.  C++ is a general-purpose programming language with about 4.4 million developers. The biggest advantage of C++ is that it not only expands resource-intensive applications, but also makes applications run smoothly, making it the most popular programming language for 3D game developers. Blockchain projects using C++ are: EOS - C++ is the most commonly used programming language for EOS. The advantage is that you can run a large number of different applications flexibly on the blockchain. EOS also supports any language compiled to WebAssembly (WASM). The Bitcoin Core network is also written in C++.  Golang is an open source general-purpose programming language based on C language syntax. Golang is very easy for developers to understand and easy for testers to understand. Golang currently has more than 800,000 developers. The use of Golang's consortium network is: HyperLedger Fabric - Most of the chain code (smart contracts built with HyperLedger Fabrics) is written in Golang. They also provide a Java SDK for blockchain application development. If you are interested in the blockchain industry, I hope this article gives you a basic understanding of where to start and what needs to be studied. Undoubtedly , with the advancement of technology and the emergence of practical applications, the industry will usher in an explosive development in the next decade. |
| json metadata | {"tags":["blockchain"],"image":["https://cdn.steemitimages.com/DQmdaNc9kR17zzd8qdFaSqdDoqnmXu772QMDHWTPVZPPhbE/image.png","https://cdn.steemitimages.com/DQmbZ6hxz62pjHtHeAykqp5CxFYW8apAgTEWrixPihdq1Nc/image.png","https://cdn.steemitimages.com/DQme55va3cNf1ZKpPCGn8D53RicWU9fbPKQJbKB6vPwrwRb/image.png","https://cdn.steemitimages.com/DQmYzNUXPoatzQJwoB6yqtepc7bZsmWLUELRXEGiEjo3Pmj/image.png","https://cdn.steemitimages.com/DQmeJqu9GzChyLnyTcgLuZc96QKQecV6HVBo9KkbKoSaX3p/image.png","https://cdn.steemitimages.com/DQmRe8wZEL9CrABxx3fbirfhDz1KafpA2mRv26CZegsqzC4/image.png","https://cdn.steemitimages.com/DQmcUHsxLCKF4uWpgLKpzrejmtW4g6w6gRyfPtxgu4big2x/image.png","https://cdn.steemitimages.com/DQmQcBznZVWNT6KQBTnN2Q6ayhUYDvejF9i9TkCJ8e9oBk4/image.png"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | blockchain |
| permlink | blockchain-programming-seven-languages-the-most-used-is-actually-java |
| title | Blockchain programming seven languages, the most used is actually Java |
| Transaction Info | Block #30483002/Trx 7044bf24afb5a134b8ecae6e41c516cca473f509 |
View Raw JSON Data
{
"block": 30483002,
"op": [
"comment",
{
"author": "lihr",
"body": "\n\nSeven programming languages used in blockchain projects\n\n Blockchain development is a rapidly growing industry, and we are witnessing the growth of this industry.\n\n Although blockchain technology is still in its infancy, this revolutionary technology has swept the world and has experienced unprecedented growth in recent years.\n\n At present, many well-funded projects are eager to build their own blockchain network and deploy decentralized applications on the network, but the capable blockchain developers are seriously inadequate.\n\n The blockchain development industry has attracted billions of dollars in investment, and in order to attract the best blockchain talents in the market to compete with each other, the salary of blockchain developers and the demand for related talents have risen .\n\n This gold rush may make some developers wonder if they have the strength to enter the industry, and which programming language is the most popular in this new industry. Almost all popular programming languages are used in the blockchain industry, but developers must consider which type of development they want to develop because different programming languages are available for different blockchain projects and applications.\n\n In order to make it easier for developers who want to go deep into the industry to understand and lay the foundation, the following is a brief introduction to the different projects and the programming languages they use. \n\n\n Solidity , a simple new programming language, is very popular among Ethereum developers because the Ethereum smart contract is developed using this language. Solidity is a contract-oriented, Turing-complete programming language with an estimated developer base of over 200,000.\n\n As Ethereum takes the lead in smart contracts, many other blockchain platforms are also ensuring compatibility with Solidity (or ERC-20) so that smart contracts can be easily ported from Ethereum to their new blockchain network.\n\n Ethernet Square - from the technical level to speak face, the role of Ethernet Ethernet Square Square is equivalent to a virtual machine (EVM), the image is also described as a \"global computer\" (world computer), the C ++, Python, Ruby, Go and Java Such as programming language combination synthesis. JavaScript is the foundation of Ethereum because it acts like a scripted execution environment.\n\n Java - is a concurrent, object-oriented, type-based, general-purpose programming language with little implementation dependency on Java. Since its release in 1995, Java has become the top 3 programming language with more than 9 million developers. The blockchain network of the well-known blockchain platform NEM is written entirely in Java (and will soon be changed to C++).\n\n C# - An object-oriented programming language that developers can use to build powerful applications that run on the .NET framework. C# has at least 2 million developers worldwide. Born in 2000, C# has been popular with developers and is used to write cross-platform code that can run on multiple operating systems such as Windows, Mac, Linux, and Android. Blockchain projects programmed with C# are:\n\n Stratis is a blockchain service provider supported by Microsoft that allows companies to build their own private blockchain systems.\n\n Although NEO is written in C#, it also supports programming languages such as Javascript, Java, Python, and Go. \n\n Javascript -- often referred to simply as JS -- is a multi-paradigm programming language that supports event-driven, functional, and imperative (including object-oriented and prototype-based) programming styles. It is one of the most popular programming languages in the world, with at least 9.7 million people worldwide.\n\n Lisk's SideChain Development Kit (SDK) is written in JavaScript, which developers can use to build applications on Lisk's blockchain platform.\n\n SQL - Structured Query Language or \"Sequel\" is a programming language developed by IBM to communicate with databases that store, query, and process data. Today SQL has about 7 million developers. Mainstream databases such as MySQL, PostgreSQL, SQL Server, DB2, and Oracle use SQL to develop applications. Blockchain projects using SQL are:\n\n Aergo is an enterprise-oriented blockchain solution created by blockchain startup Blocko, which uses the patented technology of Coinstack for SQL smart contracts. The Aergo blockchain includes a SQL-based smart contract platform that enables companies to create and execute advanced smart contracts in a business environment.\n\n C++ is a general-purpose programming language with about 4.4 million developers. The biggest advantage of C++ is that it not only expands resource-intensive applications, but also makes applications run smoothly, making it the most popular programming language for 3D game developers. Blockchain projects using C++ are:\n\n EOS - C++ is the most commonly used programming language for EOS. The advantage is that you can run a large number of different applications flexibly on the blockchain. EOS also supports any language compiled to WebAssembly (WASM).\n The Bitcoin Core network is also written in C++.\n\nGolang is an open source general-purpose programming language based on C language syntax. Golang is very easy for developers to understand and easy for testers to understand. Golang currently has more than 800,000 developers. The use of Golang's consortium network is:\n\n HyperLedger Fabric - Most of the chain code (smart contracts built with HyperLedger Fabrics) is written in Golang. They also provide a Java SDK for blockchain application development.\n\n If you are interested in the blockchain industry, I hope this article gives you a basic understanding of where to start and what needs to be studied. Undoubtedly , with the advancement of technology and the emergence of practical applications, the industry will usher in an explosive development in the next decade.",
"json_metadata": "{\"tags\":[\"blockchain\"],\"image\":[\"https://cdn.steemitimages.com/DQmdaNc9kR17zzd8qdFaSqdDoqnmXu772QMDHWTPVZPPhbE/image.png\",\"https://cdn.steemitimages.com/DQmbZ6hxz62pjHtHeAykqp5CxFYW8apAgTEWrixPihdq1Nc/image.png\",\"https://cdn.steemitimages.com/DQme55va3cNf1ZKpPCGn8D53RicWU9fbPKQJbKB6vPwrwRb/image.png\",\"https://cdn.steemitimages.com/DQmYzNUXPoatzQJwoB6yqtepc7bZsmWLUELRXEGiEjo3Pmj/image.png\",\"https://cdn.steemitimages.com/DQmeJqu9GzChyLnyTcgLuZc96QKQecV6HVBo9KkbKoSaX3p/image.png\",\"https://cdn.steemitimages.com/DQmRe8wZEL9CrABxx3fbirfhDz1KafpA2mRv26CZegsqzC4/image.png\",\"https://cdn.steemitimages.com/DQmcUHsxLCKF4uWpgLKpzrejmtW4g6w6gRyfPtxgu4big2x/image.png\",\"https://cdn.steemitimages.com/DQmQcBznZVWNT6KQBTnN2Q6ayhUYDvejF9i9TkCJ8e9oBk4/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "blockchain",
"permlink": "blockchain-programming-seven-languages-the-most-used-is-actually-java",
"title": "Blockchain programming seven languages, the most used is actually Java"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-19T11:37:09",
"trx_id": "7044bf24afb5a134b8ecae6e41c516cca473f509",
"trx_in_block": 6,
"virtual_op": 0
}lihrupvoted (100.00%) @lihr / amazon-s-earnings-in-2018-amazon-aws-contribute-most-income2019/02/18 14:15:48
lihrupvoted (100.00%) @lihr / amazon-s-earnings-in-2018-amazon-aws-contribute-most-income
2019/02/18 14:15:48
| author | lihr |
| permlink | amazon-s-earnings-in-2018-amazon-aws-contribute-most-income |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30457390/Trx 795e90368dd493b0b0d967ce2645216aee983a7d |
View Raw JSON Data
{
"block": 30457390,
"op": [
"vote",
{
"author": "lihr",
"permlink": "amazon-s-earnings-in-2018-amazon-aws-contribute-most-income",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T14:15:48",
"trx_id": "795e90368dd493b0b0d967ce2645216aee983a7d",
"trx_in_block": 0,
"virtual_op": 0
}2019/02/18 14:15:33
2019/02/18 14:15:33
| author | lihr |
| permlink | 9-2-20 |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30457385/Trx ab57e312a4242685af4a57e48efba6493bd7bee1 |
View Raw JSON Data
{
"block": 30457385,
"op": [
"vote",
{
"author": "lihr",
"permlink": "9-2-20",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T14:15:33",
"trx_id": "ab57e312a4242685af4a57e48efba6493bd7bee1",
"trx_in_block": 14,
"virtual_op": 0
}2019/02/18 14:15:30
2019/02/18 14:15:30
| author | lihr |
| permlink | it-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019 |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30457384/Trx b26add4c3a73e7a01440d9e312f019d711584b53 |
View Raw JSON Data
{
"block": 30457384,
"op": [
"vote",
{
"author": "lihr",
"permlink": "it-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T14:15:30",
"trx_id": "b26add4c3a73e7a01440d9e312f019d711584b53",
"trx_in_block": 14,
"virtual_op": 0
}2019/02/18 14:15:21
2019/02/18 14:15:21
| author | lihr |
| permlink | the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method |
| voter | lihr |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30457381/Trx 572d50e9664d709138b95fed54a7f04de6e65aad |
View Raw JSON Data
{
"block": 30457381,
"op": [
"vote",
{
"author": "lihr",
"permlink": "the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method",
"voter": "lihr",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T14:15:21",
"trx_id": "572d50e9664d709138b95fed54a7f04de6e65aad",
"trx_in_block": 18,
"virtual_op": 0
}lihrblockchain operation: cancel transfer from savings2019/02/18 13:44:30
lihrblockchain operation: cancel transfer from savings
2019/02/18 13:44:30
| from | lihr |
| request id | 1550497244 |
| Transaction Info | Block #30456764/Trx 9355e1590dce3df97946501ed2623327dcc8ea2e |
View Raw JSON Data
{
"block": 30456764,
"op": [
"cancel_transfer_from_savings",
{
"from": "lihr",
"request_id": 1550497244
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T13:44:30",
"trx_id": "9355e1590dce3df97946501ed2623327dcc8ea2e",
"trx_in_block": 23,
"virtual_op": 0
}lihrblockchain operation: transfer from savings2019/02/18 13:40:45
lihrblockchain operation: transfer from savings
2019/02/18 13:40:45
| amount | 0.001 STEEM |
| from | lihr |
| memo | |
| request id | 1550497244 |
| to | lihr |
| Transaction Info | Block #30456689/Trx adef8dce6e32d68dfac1b5b59ebb0138e77b45fc |
View Raw JSON Data
{
"block": 30456689,
"op": [
"transfer_from_savings",
{
"amount": "0.001 STEEM",
"from": "lihr",
"memo": "",
"request_id": 1550497244,
"to": "lihr"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T13:40:45",
"trx_id": "adef8dce6e32d68dfac1b5b59ebb0138e77b45fc",
"trx_in_block": 9,
"virtual_op": 0
}lihrblockchain operation: transfer to savings2019/02/18 13:40:27
lihrblockchain operation: transfer to savings
2019/02/18 13:40:27
| amount | 0.001 STEEM |
| from | lihr |
| memo | |
| to | lihr |
| Transaction Info | Block #30456683/Trx 0db9897498d8716757361ff7025cb033bc52e7d1 |
View Raw JSON Data
{
"block": 30456683,
"op": [
"transfer_to_savings",
{
"amount": "0.001 STEEM",
"from": "lihr",
"memo": "",
"to": "lihr"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T13:40:27",
"trx_id": "0db9897498d8716757361ff7025cb033bc52e7d1",
"trx_in_block": 4,
"virtual_op": 0
}2019/02/18 11:53:57
2019/02/18 11:53:57
| author | lihr |
| body | 小米9,内部代号“战斗天使”。 性能超级强悍的年度旗舰、 至今为止最好看的小米手机。 绝对的好看又能打。 小米9为热爱而战! 为广大用户和米粉们的向往而战! 探索路上执着前行,做产品一腔锐气, 这就是小米始终不变的少年之心! 我们不负等待,为你而战!2月20日发布会见。  同时宣布一个好消息: 王源正式成为小米手机品牌代言人! 他是正能量的歌手、演员,也是联合国儿童基金会大使,他被美国《时代》周刊评为全球最具影响力的青少年三十人。他是王源,今天“源”力再次觉醒! 小米9好看又能打,2月20日现场见!  小米9相机具体参数如下: 1、4800万标准镜头,索尼IMX586传感器,1/2英寸超大感光面积,超高解析力可以看到更多的细节。 2、1200万人像镜头,背景虚化,2倍光学变焦 3、1600万超广角镜头,117度,可以拍下更多内容。这个镜头同时支持了4cm微距。 4、2000万前置镜头,支持小米AI美颜所有功能。 继公布了小米9摄像头的参数后,雷军又发微博称,小米9用不锈钢的边框包裹,蓝宝石玻璃覆盖了全部三个摄像头,蓝宝石玻璃面积高达243平方毫米,完全不用担心镜头被划伤。此外,雷军还称,小米9的三个摄像头都用了闭环马达,加上激光混合对焦,这次的对焦和成像速度绝对是小米之最,可以实现极速抓拍,干净利落脆。   其它方面,小米9下巴宽度为3.6mm,搭载骁龙855,安兔兔跑分高达387851分。关于处理器,这个是最好猜的,现在安卓平台谁家处理器跑分最高,当然是骁龙855啦,小米9用骁龙855已经是妥妥的了,估计小米屯了不少的骁龙855处理器,就等过完年了,好好发挥一把刚过完年就准备发布会了,小米估计会保持18年底势头,一路狂飙。 小米9是没有后置指纹的,如此看来,小米9有望全系标配屏幕指纹,IT之家判断,屏幕指纹是小米9的主要解锁方式。目前屏幕指纹解锁技术包括光电和超声波式,去年12月的时候,有消息指出小米9和三星S10系列都将首发超声波屏幕指纹技术。 |
| json metadata | {"tags":["xiaomi"],"image":["https://cdn.steemitimages.com/DQmW81Msnbq75YCW1xYEHiQmEBmdjHY36MvdATNfHowK342/image.png","https://cdn.steemitimages.com/DQmPeE9GzWJ8ToTS24rfpCAPQ8K2dVbZH8DxRVnUEqpvMYp/image.png","https://cdn.steemitimages.com/DQmUx4qHfY3YXr4YCLkMehY6yz3k6AGKYBwcqfmEVtEZfZe/image.png","https://cdn.steemitimages.com/DQmZZ765i6Wa6DF4WoUNvAwcPRHTTapAktfoNL4smiH6nr2/image.png","https://cdn.steemitimages.com/DQmW2JnTft1AP4NoZPC7LmhnLdPmVPwHzWLZn942ZaBFMkq/image.png"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | xiaomi |
| permlink | 9-2-20 |
| title | 小米9来了!王源代言,2月20日现场见 |
| Transaction Info | Block #30454554/Trx cf4306c21cd0b80ecf2a81dc7bd021806ed641c9 |
View Raw JSON Data
{
"block": 30454554,
"op": [
"comment",
{
"author": "lihr",
"body": "小米9,内部代号“战斗天使”。\n性能超级强悍的年度旗舰、\n至今为止最好看的小米手机。\n绝对的好看又能打。\n\n小米9为热爱而战!\n为广大用户和米粉们的向往而战!\n探索路上执着前行,做产品一腔锐气,\n这就是小米始终不变的少年之心!\n我们不负等待,为你而战!2月20日发布会见。\n\n同时宣布一个好消息:\n王源正式成为小米手机品牌代言人!\n\n他是正能量的歌手、演员,也是联合国儿童基金会大使,他被美国《时代》周刊评为全球最具影响力的青少年三十人。他是王源,今天“源”力再次觉醒!\n\n小米9好看又能打,2月20日现场见!\n\n小米9相机具体参数如下:\n\n1、4800万标准镜头,索尼IMX586传感器,1/2英寸超大感光面积,超高解析力可以看到更多的细节。\n\n2、1200万人像镜头,背景虚化,2倍光学变焦\n\n3、1600万超广角镜头,117度,可以拍下更多内容。这个镜头同时支持了4cm微距。\n\n4、2000万前置镜头,支持小米AI美颜所有功能。\n\n继公布了小米9摄像头的参数后,雷军又发微博称,小米9用不锈钢的边框包裹,蓝宝石玻璃覆盖了全部三个摄像头,蓝宝石玻璃面积高达243平方毫米,完全不用担心镜头被划伤。此外,雷军还称,小米9的三个摄像头都用了闭环马达,加上激光混合对焦,这次的对焦和成像速度绝对是小米之最,可以实现极速抓拍,干净利落脆。\n\n\n其它方面,小米9下巴宽度为3.6mm,搭载骁龙855,安兔兔跑分高达387851分。关于处理器,这个是最好猜的,现在安卓平台谁家处理器跑分最高,当然是骁龙855啦,小米9用骁龙855已经是妥妥的了,估计小米屯了不少的骁龙855处理器,就等过完年了,好好发挥一把刚过完年就准备发布会了,小米估计会保持18年底势头,一路狂飙。\n 小米9是没有后置指纹的,如此看来,小米9有望全系标配屏幕指纹,IT之家判断,屏幕指纹是小米9的主要解锁方式。目前屏幕指纹解锁技术包括光电和超声波式,去年12月的时候,有消息指出小米9和三星S10系列都将首发超声波屏幕指纹技术。",
"json_metadata": "{\"tags\":[\"xiaomi\"],\"image\":[\"https://cdn.steemitimages.com/DQmW81Msnbq75YCW1xYEHiQmEBmdjHY36MvdATNfHowK342/image.png\",\"https://cdn.steemitimages.com/DQmPeE9GzWJ8ToTS24rfpCAPQ8K2dVbZH8DxRVnUEqpvMYp/image.png\",\"https://cdn.steemitimages.com/DQmUx4qHfY3YXr4YCLkMehY6yz3k6AGKYBwcqfmEVtEZfZe/image.png\",\"https://cdn.steemitimages.com/DQmZZ765i6Wa6DF4WoUNvAwcPRHTTapAktfoNL4smiH6nr2/image.png\",\"https://cdn.steemitimages.com/DQmW2JnTft1AP4NoZPC7LmhnLdPmVPwHzWLZn942ZaBFMkq/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "xiaomi",
"permlink": "9-2-20",
"title": "小米9来了!王源代言,2月20日现场见"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T11:53:57",
"trx_id": "cf4306c21cd0b80ecf2a81dc7bd021806ed641c9",
"trx_in_block": 10,
"virtual_op": 0
}2019/02/18 11:31:45
2019/02/18 11:31:45
| author | lihr |
| permlink | the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method |
| voter | filipino |
| weight | 1000 (10.00%) |
| Transaction Info | Block #30454110/Trx 47e9d2aaafe8297548ca7c6c263af619b094281a |
View Raw JSON Data
{
"block": 30454110,
"op": [
"vote",
{
"author": "lihr",
"permlink": "the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method",
"voter": "filipino",
"weight": 1000
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T11:31:45",
"trx_id": "47e9d2aaafe8297548ca7c6c263af619b094281a",
"trx_in_block": 23,
"virtual_op": 0
}lihrpublished a new post: the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method2019/02/18 10:58:36
lihrpublished a new post: the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method
2019/02/18 10:58:36
| author | lihr |
| body | This work often encounters various inexplicable errors caused by the fact that the thread created by Tomcat shutdown does not stop in time. This article will discuss the causes of these errors by combing the Tomcat shutdown process, and propose two feasible The solution. Tomcat shutdown process analysis A Tomcat process is essentially a JVM process, and its internal structure is shown below:  From top to bottom are Server, service, connector | Engine, host, context. In the implementation, Engine and host are just an abstraction, and the more core functions are implemented in the context. There can only be one server at the top level, one server can contain multiple services, and one service can contain multiple connectors and one Continer. Continer is an abstraction of Engine, Host or Context. Not strictly speaking, a Context corresponds to a Webapp. When Tomcat starts, the main work of the main thread is summarized as follows:  Build the container from the top-level server to the Service, Connector, etc. (which also includes the build of the Context) by scanning the configuration file (default is server.xml). Call Catalina's start method, and then call the Server's start method. The start method will cause the entire container to start. Servers such as Server, Service, Connector, and Context implement the Lifecycle interface, and these components maintain a strict, top-down tree structure. Tomcat manages all other containers in all tree structures only through lifecycle management of the root node (Server). Block yourself in the await() method. The await() method waits for a network connection request. When a user connects to the corresponding port and sends the specified string (usually 'SHUTDOWN'), await() returns and the main thread continues execution. The main thread executes the stop() method. The stop() method will call all the stop methods of its under container from the server. After the stop() method is executed, the main thread exits. If there is no problem, the Tomcat container terminates at this time. It is worth noting that the stop() method is executed asynchronously from the layer below the Service. code show as below:  In these closed children, the standard should be a layered structure such as Engine-Host-Context, which means that the Context stop() method will be called last. These three methods are called in the stopInternal method of the Context: filterStop(); listenerStop(); ((Lifecycle) loader).stop(); (Note: This is only part of it, as it is listed in relation to the process we analyzed, and other process-independent methods are not listed.) The filterStop will clean up the filter we registered in web.xml. The listenerStop will further call the onDestory method of the Listener registered in web.xml (if there are multiple Listeners registered, the calling order is opposite to the registration order). The loader is here WebappClassLoader, where important operations (trying to stop threads, clean up reference resources, and unload Classes) are all done in the stop function. If we use SpringWeb, the Listener registered in the general web.xml will be:  Looking at the code of the ContextLoaderListener is not difficult to find, the Spring framework initializes the bean through the contextInitialized method of the Listener, and cleans up the bean through the contextDestroyed method. public class ContextLoaderListener extends ContextLoader implements ServletContextListener { public ContextLoaderListener() { } public ContextLoaderListener(WebApplicationContext context) { super(context); } public void contextInitialized(ServletContextEvent event) { this.initWebApplicationContext(event.getServletContext()); } public void contextDestroyed(ServletContextEvent event) { this.closeWebApplicationContext(event.getServletContext()); ContextCleanupListener.cleanupAttributes(event.getServletContext()); } } There is one important thing here: our thread is tried to stop in the loader, and the loader's stop method is after the listenerStop method, that is, even if the loader successfully terminates the user-initiated thread, it is still possible in the thread. Use the Sping framework before terminating, and the Spring framework is already closed in the Listener! Moreover, only the clearReferencesStopThreads parameter is configured during the cleanup thread of the loader, and the thread started by the user itself is forcibly terminated (using Thread.stop()). In most cases, in order to ensure data integrity, this parameter is not Will be configured. That is to say, in the WebApp, the threads (including Executors) that the user starts themselves will not be terminated due to the exit of the container. We know that there are two main reasons why the JVM exits on its own: Called the System.exit() method All non-daemon threads exit Tomcat does not actively call the System.exit() method at the end of the stop execution, so if there is a non-daemon thread started by the user and the user does not close the thread synchronously with the container, Tomcat will not end actively! This problem has been put on hold for a while. Let me talk about the various problems encountered during downtime. Abnormal analysis during Tomcat shutdown IllegalStateException In the Webapp using the Spring framework, there is a serious synchronization problem between the closing of the Spring framework and the end of the user thread when Tomcat exits. During this time (the Spring framework is closed and the user thread ends), many unforeseen problems occur. The most common of these problems is the IllegalStateException. When such an exception occurs, the standard code is as follows: public void run(){ while(!isInterrupted()) { try { Thread.sleep(1000); GQBean bean = SpringContextHolder.getBean(GQBean.class); /*do something with bean…*/ } catch (Exception e) { e.printStackTrace (); } } } This type of error is easy to reproduce and is very common. Needless to say. ClassNotFound/NullPointerException This kind of mistake is not common and it is cumbersome to analyze. In the previous analysis we identified two things: User-created threads do not stop as the container is destroyed. The ClassLoader unloads the loaded Class during the stop of the container. It's easy to determine that this is caused by the end of the thread. When the ClassLoader is unloaded, the user thread tries to load a Class and reports a ClassNotFoundException or NoClassDefFoundError. During the ClassLoader uninstallation process, because Tomcat does not strictly synchronize the stop container, attempting to load a Class may result in a NullPointerException for the following reasons: //part of load class code, may be executed in user thread protected ResourceEntry findResourceInternal(…){ if (!started) return null; synchronized (jarFiles) { if (openJARs()) { for (int i = 0; i < jarFiles.length; i++) { jarEntry = jarFiles[i].getJarEntry(path); if (jarEntry != null) { try { entry.manifest = jarFiles[i].getManifest(); } catch (IOException yes) { // Ignore } break; } } } } /*Other statement*/ } As you can see from the code, the access to jarEntry is very carefully synchronized. There are very careful synchronizations in the use of jarEntry, except in the stop: // loader.stop() must be executed in stop thread public void stop() throws LifecycleException { /*other statement*/ length = jarFiles.length; for (int i = 0; i < length; i++) { try { if (jarFiles[i] != null) { jarFiles[i].close(); } } catch (IOException e) { // Ignore } jarFiles [i] = zero; } /*other statement*/ } It can be seen that in the above two pieces of code, if the user thread enters the synchronous code block (this will cause the thread buffer to be refreshed), started becomes false, skipping updating jarFiles or jarFiles[0] has not been Empty, wait until the return from openJARs, stop just executed jarFiles[0] = null, it will trigger NullPointerException. This exception is very difficult to understand, the reason is why the loadClass operation is triggered, especially when there is no new class in the code. In fact, there are many times when it triggers an initialization check on a class. (Note that the initialization of the class, not the initialization of the class instance, the difference between the two) The following conditions will trigger the initialization check of the class: The first instance of this class is created in the current thread The static method of calling the class for the first time in the current thread The first time a static member of a class is used in the current thread Assigning values to class static members for the first time in the current thread (Note: If the class has been initialized at this time, it will return directly. If the class has not been initialized at this time, the class initialization will be performed) Initialization checks are triggered when these conditions occur in a thread (up to one thread in a thread). You must obtain this class before checking the initialization of this class. You need to call the loadClass method. Generally, the code with the following pattern is easy to trigger the above exception: try{ /**do something **/ }catch(Exception e){ //ExceptionUtil has never used in the current thread before String = ExceptionUtil.getExceptionTrace(e); //or this, ExceptionTracer never appears in the current thread before System.out.println(new ExceptionTracer(e)); //or other statement that triggers a call of loadClass /**do other thing**/ } Some suggested solutions According to the above analysis, the main cause of the exception is that the thread did not terminate in time. So the key to the solution is how to gracefully terminate the user-initiated thread before the container terminates. Create your own Listener as the informer of the terminating thread According to the analysis, the user mainly uses the thread created by the user, including four types: Thread Executors hours Scheduler So the most straightforward idea is to create a management module for these components, which is divided into two steps: The first step: create a Listener-based management module, and assign the four types of class instances mentioned above to the module management. Step 2: When the Listener listens to Tomcat downtime, it triggers the end method corresponding to the instance it manages. For example, Thread triggers the interrupt() method, and ExecutorService triggers the shutdown() or shutdownNow() methods (depending on the specific policy selection). It is worth noting that the user-created Thread needs to respond to the Interrupt event, that is, after isInterrupted() returns true or after the InterruptException is caught, the thread is exited. In fact, creating a thread that does not respond to the Interrupt event is a very bad design. The advantage of creating your own Listener is that you can actively block the destruction process when listening for events, and get some time for the user thread to clean up, because Spring has not been destroyed yet, and the state of the program is all normal. The downside is that it is invasive to the code and depends on the user's coding. Use Spring's TaskExecutor In response to the goal of managing its own threads in the webapp, Spring provides a set of tools for TaskExcutor. The ThreadPoolTaskExecutor is very similar to the ThreadPoolExecutor in Java5, except that the lifecycle is managed by Spring. When the Spring framework is stopped, the Executor is also stopped, and the user thread receives an interrupt exception. At the same time, Spring also provides the ScheduledThreadPoolExecutor, which can be used for scheduled tasks or for creating your own threads. For thread management, Spring provides very rich support, which can be seen here: Https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling. The advantage of using the Spring framework is that it is less intrusive and less dependent on code. The disadvantage is that the Spring framework does not guarantee the chronological order of thread interrupts and bean destruction. That is, if a thread catches an InterruptException and then passes Spring to getBean, it will still trigger an IllegalSateException. At the same time, the user still needs to check the thread status or trigger an interrupt in Sleep, otherwise the thread will not terminate. Other reminders In the above solution, whether blocking the main thread's stop operation in the Listener or not responding to the interrupt state in the Spring framework, you can continue to do something for the thread to gain some time. But this time is not unlimited. In catalina.sh, we can see in the script of the stop part (this is a simple example here): #TomcatShutdown script excerpt #First normal stop eval “\”$_RUNJAVA\”” $LOGGING_MANAGER $JAVA_OPTS \ -Djava.endorsed.dirs=”\”$JAVA_ENDORSED_DIRS\”” -classpath “\”$CLASSPATH\”” \ -Dcatalina.base = "\" $ CATALINA_BASE \ "" \ -Dcatalina.home=”\”$CATALINA_HOME\”” \ -Djava.io.tmpdir = "\" $ CATALINA_TMPDIR \ "" \ org.apache.catalina.startup.Bootstrap “$@” stop #If the termination fails, use kill -15 if [ $? != 0 ]; then kill -15 `cat “$CATALINA_PID”` >/dev/null 2>&1 #Set the waiting time SLEEP=5 if [ “$1” = “-force” ]; then shift #If there is -force in the parameter will force stop FORCE=1 be while [ $SLEEP -gt 0 ]; do sleep 1 SLEEP=`expr $SLEEP – 1 ` done #If you need to force termination of kill -9 if [ $FORCE -eq 1 ]; then kill -9 $PID be As you can see from the stop script above, if forced termination is configured (our server is configured by default), the time you block the process to do its own thing is only 5 seconds. During this time, there are other threads that are doing some tasks and when the thread actually starts to terminate until the discovery is terminated (such as the time from the current to the next call to isInterrupted). Considering this, the maximum blocking time should be shorter. As can be seen from the above analysis, if there are more important and time-consuming tasks in the service, and you want to ensure consistency, the best way is to record the current execution progress in the precious 5 seconds of blocking, wait until The last execution progress is detected when the service is restarted, and then resumed from the previous progress. It is recommended that the execution granularity of each task (the detection interval of two isInterrupted) be controlled at least within the maximum blocking time to allow enough time for the recording work after termination. Reference material Tomcat source code 7.0.69 Tomcat start and stop service principle http://blog.csdn.net/beliefer/article/details/51585006 Tomcat Lifecycle Management http://blog.csdn.net/beliefer/article/details/51473807 JVMs and kill signalshttp://journal.thobe.org/2013/02/jvms-and-kill-signals.html Task Execution and Schedulinghttps://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling The Art of Java Concurrent Programming |
| json metadata | {"tags":["tomcat","tomcatshutdown","first","if","set"],"image":["https://cdn.steemitimages.com/DQmNYfpSG2CpzSVZ67boeEAdH7Q9SgfdoTqkqspJVBhAwiY/image.png","https://cdn.steemitimages.com/DQmYbeyAGZ8bb8wkuFrB3zJ5CB3EZMAVCXQ734QgM7DQcri/image.png","https://cdn.steemitimages.com/DQmbRf21fjcfjMNVrkaNVizUKuptRFcLTKVEXiSX5Txjt9d/image.png","https://cdn.steemitimages.com/DQmf3t5HqeBJZKyKqyXACqs4fYMGKCU1zygGxuEpqFoS2dT/image.png"],"links":["Https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling","http://blog.csdn.net/beliefer/article/details/51585006","http://blog.csdn.net/beliefer/article/details/51473807","http://journal.thobe.org/2013/02/jvms-and-kill-signals.html","https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | tomcat |
| permlink | the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method |
| title | The right medicine: Tomcat shutdown process analysis and thread processing method |
| Transaction Info | Block #30453447/Trx cb0229155fb37efcc08187f86accb8bf6627f1c1 |
View Raw JSON Data
{
"block": 30453447,
"op": [
"comment",
{
"author": "lihr",
"body": "This work often encounters various inexplicable errors caused by the fact that the thread created by Tomcat shutdown does not stop in time. This article will discuss the causes of these errors by combing the Tomcat shutdown process, and propose two feasible The solution.\n\n Tomcat shutdown process analysis\nA Tomcat process is essentially a JVM process, and its internal structure is shown below:\n\nFrom top to bottom are Server, service, connector | Engine, host, context.\n\nIn the implementation, Engine and host are just an abstraction, and the more core functions are implemented in the context. There can only be one server at the top level, one server can contain multiple services, and one service can contain multiple connectors and one Continer. Continer is an abstraction of Engine, Host or Context. Not strictly speaking, a Context corresponds to a Webapp.\n\nWhen Tomcat starts, the main work of the main thread is summarized as follows:\n\n\nBuild the container from the top-level server to the Service, Connector, etc. (which also includes the build of the Context) by scanning the configuration file (default is server.xml).\nCall Catalina's start method, and then call the Server's start method. The start method will cause the entire container to start.\nServers such as Server, Service, Connector, and Context implement the Lifecycle interface, and these components maintain a strict, top-down tree structure. Tomcat manages all other containers in all tree structures only through lifecycle management of the root node (Server).\n\nBlock yourself in the await() method. The await() method waits for a network connection request. When a user connects to the corresponding port and sends the specified string (usually 'SHUTDOWN'), await() returns and the main thread continues execution.\nThe main thread executes the stop() method. The stop() method will call all the stop methods of its under container from the server. After the stop() method is executed, the main thread exits. If there is no problem, the Tomcat container terminates at this time.\nIt is worth noting that the stop() method is executed asynchronously from the layer below the Service. code show as below:\n\n\n\nIn these closed children, the standard should be a layered structure such as Engine-Host-Context, which means that the Context stop() method will be called last. These three methods are called in the stopInternal method of the Context:\n\nfilterStop();\nlistenerStop();\n((Lifecycle) loader).stop();\n(Note: This is only part of it, as it is listed in relation to the process we analyzed, and other process-independent methods are not listed.)\n\nThe filterStop will clean up the filter we registered in web.xml. The listenerStop will further call the onDestory method of the Listener registered in web.xml (if there are multiple Listeners registered, the calling order is opposite to the registration order). The loader is here WebappClassLoader, where important operations (trying to stop threads, clean up reference resources, and unload Classes) are all done in the stop function.\n\nIf we use SpringWeb, the Listener registered in the general web.xml will be:\n\nLooking at the code of the ContextLoaderListener is not difficult to find, the Spring framework initializes the bean through the contextInitialized method of the Listener, and cleans up the bean through the contextDestroyed method.\n\npublic class ContextLoaderListener extends ContextLoader implements ServletContextListener {\n\npublic ContextLoaderListener() {\n\n}\n\npublic ContextLoaderListener(WebApplicationContext context) {\n\nsuper(context);\n\n}\n\npublic void contextInitialized(ServletContextEvent event) {\n\nthis.initWebApplicationContext(event.getServletContext());\n\n}\n\npublic void contextDestroyed(ServletContextEvent event) {\n\nthis.closeWebApplicationContext(event.getServletContext());\n\nContextCleanupListener.cleanupAttributes(event.getServletContext());\n\n}\n\n}\n\nThere is one important thing here: our thread is tried to stop in the loader, and the loader's stop method is after the listenerStop method, that is, even if the loader successfully terminates the user-initiated thread, it is still possible in the thread. Use the Sping framework before terminating, and the Spring framework is already closed in the Listener! Moreover, only the clearReferencesStopThreads parameter is configured during the cleanup thread of the loader, and the thread started by the user itself is forcibly terminated (using Thread.stop()). In most cases, in order to ensure data integrity, this parameter is not Will be configured. That is to say, in the WebApp, the threads (including Executors) that the user starts themselves will not be terminated due to the exit of the container.\n\nWe know that there are two main reasons why the JVM exits on its own:\n\nCalled the System.exit() method\nAll non-daemon threads exit\nTomcat does not actively call the System.exit() method at the end of the stop execution, so if there is a non-daemon thread started by the user and the user does not close the thread synchronously with the container, Tomcat will not end actively! This problem has been put on hold for a while. Let me talk about the various problems encountered during downtime.\n\nAbnormal analysis during Tomcat shutdown\nIllegalStateException In the Webapp using the Spring framework, there is a serious synchronization problem between the closing of the Spring framework and the end of the user thread when Tomcat exits. During this time (the Spring framework is closed and the user thread ends), many unforeseen problems occur. The most common of these problems is the IllegalStateException. When such an exception occurs, the standard code is as follows:\npublic void run(){\n\nwhile(!isInterrupted()) {\n\ntry {\n\nThread.sleep(1000);\n\nGQBean bean = SpringContextHolder.getBean(GQBean.class);\n\n/*do something with bean…*/\n\n} catch (Exception e) {\n\ne.printStackTrace ();\n\n}\n\n}\n\n}\n\nThis type of error is easy to reproduce and is very common. Needless to say.\n\nClassNotFound/NullPointerException\n\nThis kind of mistake is not common and it is cumbersome to analyze.\n\nIn the previous analysis we identified two things:\n\nUser-created threads do not stop as the container is destroyed.\nThe ClassLoader unloads the loaded Class during the stop of the container.\nIt's easy to determine that this is caused by the end of the thread.\n\nWhen the ClassLoader is unloaded, the user thread tries to load a Class and reports a ClassNotFoundException or NoClassDefFoundError.\nDuring the ClassLoader uninstallation process, because Tomcat does not strictly synchronize the stop container, attempting to load a Class may result in a NullPointerException for the following reasons:\n//part of load class code, may be executed in user thread\n\nprotected ResourceEntry findResourceInternal(…){\n\nif (!started) return null;\n\nsynchronized (jarFiles) {\n\nif (openJARs()) {\n\nfor (int i = 0; i < jarFiles.length; i++) {\n\njarEntry = jarFiles[i].getJarEntry(path);\n\nif (jarEntry != null) {\n\ntry {\n\nentry.manifest = jarFiles[i].getManifest();\n\n} catch (IOException yes) {\n\n// Ignore\n\n}\n\nbreak;\n\n}\n\n}\n\n}\n\n}\n\n/*Other statement*/\n\n}\n\nAs you can see from the code, the access to jarEntry is very carefully synchronized. There are very careful synchronizations in the use of jarEntry, except in the stop:\n\n// loader.stop() must be executed in stop thread\n\npublic void stop() throws LifecycleException {\n\n/*other statement*/\n\nlength = jarFiles.length;\n\nfor (int i = 0; i < length; i++) {\n\ntry {\n\nif (jarFiles[i] != null) {\n\njarFiles[i].close();\n\n}\n\n} catch (IOException e) {\n\n// Ignore\n\n}\n\njarFiles [i] = zero;\n\n}\n\n/*other statement*/\n\n}\n\nIt can be seen that in the above two pieces of code, if the user thread enters the synchronous code block (this will cause the thread buffer to be refreshed), started becomes false, skipping updating jarFiles or jarFiles[0] has not been Empty, wait until the return from openJARs, stop just executed jarFiles[0] = null, it will trigger NullPointerException.\n\nThis exception is very difficult to understand, the reason is why the loadClass operation is triggered, especially when there is no new class in the code. In fact, there are many times when it triggers an initialization check on a class. (Note that the initialization of the class, not the initialization of the class instance, the difference between the two)\n\nThe following conditions will trigger the initialization check of the class:\n\nThe first instance of this class is created in the current thread\nThe static method of calling the class for the first time in the current thread\nThe first time a static member of a class is used in the current thread\nAssigning values to class static members for the first time in the current thread\n(Note: If the class has been initialized at this time, it will return directly. If the class has not been initialized at this time, the class initialization will be performed)\n\nInitialization checks are triggered when these conditions occur in a thread (up to one thread in a thread). You must obtain this class before checking the initialization of this class. You need to call the loadClass method.\n\nGenerally, the code with the following pattern is easy to trigger the above exception:\n\ntry{\n\n/**do something **/\n\n}catch(Exception e){\n\n//ExceptionUtil has never used in the current thread before\n\nString = ExceptionUtil.getExceptionTrace(e);\n\n//or this, ExceptionTracer never appears in the current thread before\n\nSystem.out.println(new ExceptionTracer(e));\n\n//or other statement that triggers a call of loadClass\n\n/**do other thing**/\n\n}\n\nSome suggested solutions\nAccording to the above analysis, the main cause of the exception is that the thread did not terminate in time. So the key to the solution is how to gracefully terminate the user-initiated thread before the container terminates.\n\nCreate your own Listener as the informer of the terminating thread\n\nAccording to the analysis, the user mainly uses the thread created by the user, including four types:\n\nThread\nExecutors\nhours\nScheduler\nSo the most straightforward idea is to create a management module for these components, which is divided into two steps:\n\nThe first step: create a Listener-based management module, and assign the four types of class instances mentioned above to the module management.\nStep 2: When the Listener listens to Tomcat downtime, it triggers the end method corresponding to the instance it manages. For example, Thread triggers the interrupt() method, and ExecutorService triggers the shutdown() or shutdownNow() methods (depending on the specific policy selection).\nIt is worth noting that the user-created Thread needs to respond to the Interrupt event, that is, after isInterrupted() returns true or after the InterruptException is caught, the thread is exited. In fact, creating a thread that does not respond to the Interrupt event is a very bad design.\n\nThe advantage of creating your own Listener is that you can actively block the destruction process when listening for events, and get some time for the user thread to clean up, because Spring has not been destroyed yet, and the state of the program is all normal.\n\nThe downside is that it is invasive to the code and depends on the user's coding.\n\nUse Spring's TaskExecutor\n\nIn response to the goal of managing its own threads in the webapp, Spring provides a set of tools for TaskExcutor. The ThreadPoolTaskExecutor is very similar to the ThreadPoolExecutor in Java5, except that the lifecycle is managed by Spring. When the Spring framework is stopped, the Executor is also stopped, and the user thread receives an interrupt exception. At the same time, Spring also provides the ScheduledThreadPoolExecutor, which can be used for scheduled tasks or for creating your own threads. For thread management, Spring provides very rich support, which can be seen here:\n\nHttps://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling.\n\nThe advantage of using the Spring framework is that it is less intrusive and less dependent on code.\n\nThe disadvantage is that the Spring framework does not guarantee the chronological order of thread interrupts and bean destruction. That is, if a thread catches an InterruptException and then passes Spring to getBean, it will still trigger an IllegalSateException. At the same time, the user still needs to check the thread status or trigger an interrupt in Sleep, otherwise the thread will not terminate.\n\nOther reminders\n\nIn the above solution, whether blocking the main thread's stop operation in the Listener or not responding to the interrupt state in the Spring framework, you can continue to do something for the thread to gain some time. But this time is not unlimited. In catalina.sh, we can see in the script of the stop part (this is a simple example here):\n\n#TomcatShutdown script excerpt\n\n#First normal stop\n\neval “\\”$_RUNJAVA\\”” $LOGGING_MANAGER $JAVA_OPTS \\\n\n-Djava.endorsed.dirs=”\\”$JAVA_ENDORSED_DIRS\\”” -classpath “\\”$CLASSPATH\\”” \\\n\n-Dcatalina.base = \"\\\" $ CATALINA_BASE \\ \"\" \\\n\n-Dcatalina.home=”\\”$CATALINA_HOME\\”” \\\n\n-Djava.io.tmpdir = \"\\\" $ CATALINA_TMPDIR \\ \"\" \\\n\norg.apache.catalina.startup.Bootstrap “$@” stop\n\n#If the termination fails, use kill -15\n\nif [ $? != 0 ]; then\n\nkill -15 `cat “$CATALINA_PID”` >/dev/null 2>&1\n\n#Set the waiting time\n\nSLEEP=5\n\nif [ “$1” = “-force” ]; then\n\nshift\n\n#If there is -force in the parameter will force stop\n\nFORCE=1\n\nbe\n\nwhile [ $SLEEP -gt 0 ]; do\n\nsleep 1\n\nSLEEP=`expr $SLEEP – 1 `\n\ndone\n\n#If you need to force termination of kill -9\n\nif [ $FORCE -eq 1 ]; then\n\nkill -9 $PID\n\nbe\n\nAs you can see from the stop script above, if forced termination is configured (our server is configured by default), the time you block the process to do its own thing is only 5 seconds. During this time, there are other threads that are doing some tasks and when the thread actually starts to terminate until the discovery is terminated (such as the time from the current to the next call to isInterrupted). Considering this, the maximum blocking time should be shorter.\n\nAs can be seen from the above analysis, if there are more important and time-consuming tasks in the service, and you want to ensure consistency, the best way is to record the current execution progress in the precious 5 seconds of blocking, wait until The last execution progress is detected when the service is restarted, and then resumed from the previous progress.\n\nIt is recommended that the execution granularity of each task (the detection interval of two isInterrupted) be controlled at least within the maximum blocking time to allow enough time for the recording work after termination.\n\nReference material\n\nTomcat source code 7.0.69\nTomcat start and stop service principle http://blog.csdn.net/beliefer/article/details/51585006\nTomcat Lifecycle Management http://blog.csdn.net/beliefer/article/details/51473807\nJVMs and kill signalshttp://journal.thobe.org/2013/02/jvms-and-kill-signals.html\nTask Execution and Schedulinghttps://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling\nThe Art of Java Concurrent Programming",
"json_metadata": "{\"tags\":[\"tomcat\",\"tomcatshutdown\",\"first\",\"if\",\"set\"],\"image\":[\"https://cdn.steemitimages.com/DQmNYfpSG2CpzSVZ67boeEAdH7Q9SgfdoTqkqspJVBhAwiY/image.png\",\"https://cdn.steemitimages.com/DQmYbeyAGZ8bb8wkuFrB3zJ5CB3EZMAVCXQ734QgM7DQcri/image.png\",\"https://cdn.steemitimages.com/DQmbRf21fjcfjMNVrkaNVizUKuptRFcLTKVEXiSX5Txjt9d/image.png\",\"https://cdn.steemitimages.com/DQmf3t5HqeBJZKyKqyXACqs4fYMGKCU1zygGxuEpqFoS2dT/image.png\"],\"links\":[\"Https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling\",\"http://blog.csdn.net/beliefer/article/details/51585006\",\"http://blog.csdn.net/beliefer/article/details/51473807\",\"http://journal.thobe.org/2013/02/jvms-and-kill-signals.html\",\"https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "tomcat",
"permlink": "the-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method",
"title": "The right medicine: Tomcat shutdown process analysis and thread processing method"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T10:58:36",
"trx_id": "cb0229155fb37efcc08187f86accb8bf6627f1c1",
"trx_in_block": 10,
"virtual_op": 0
}2019/02/18 09:55:45
2019/02/18 09:55:45
| author | lihr |
| body | In the early morning of November 29, 2018, Beijing time, Amazon AWS CEO Andy Jassy said that by the end of this year, almost all Amazon data running on Oracle will run on Amazon. .  "On the database side, we've actually gotten out of Oracle," Jesse told CNBC's Jon Fortt in an interview on Wednesday. “I think we will complete the whole process by the end of 2019 or mid-2019.”  Amazon is reducing its reliance on Oracle's data needs and switching to its own services. Jesse said that by January, 88% of Amazon databases currently running on Oracle will run on Amazon DynamoDB or Amazon Aurora. He added that by the end of the year, 97% of "mission critical databases" will run on DynamoDB or Aurora. Jesse said that on November 1, Amazon has migrated its data warehouse from Oracle to its own service, Redshift. |
| json metadata | {"tags":["amazona","oracle"],"image":["https://cdn.steemitimages.com/DQmfMQwujWRE2Ga2ciWTVuBhmEcj1pEmifY4BDMr3nUYz8r/image.png","https://cdn.steemitimages.com/DQmPwq1pQ7YH54KmifBBpEkMKQTXmyKMQz5aRNmZdZxNZZE/image.png"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | amazona |
| permlink | it-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019 |
| title | It has been confirmed that Amazon will deprecate all Oracle databases by the end of 2019. |
| Transaction Info | Block #30452193/Trx dba40808635d22c07454666ffc0f17101a46789f |
View Raw JSON Data
{
"block": 30452193,
"op": [
"comment",
{
"author": "lihr",
"body": "In the early morning of November 29, 2018, Beijing time, Amazon AWS CEO Andy Jassy said that by the end of this year, almost all Amazon data running on Oracle will run on Amazon. .\n\n\n\n\"On the database side, we've actually gotten out of Oracle,\" Jesse told CNBC's Jon Fortt in an interview on Wednesday. “I think we will complete the whole process by the end of 2019 or mid-2019.”\n\n\n\nAmazon is reducing its reliance on Oracle's data needs and switching to its own services. Jesse said that by January, 88% of Amazon databases currently running on Oracle will run on Amazon DynamoDB or Amazon Aurora. He added that by the end of the year, 97% of \"mission critical databases\" will run on DynamoDB or Aurora. Jesse said that on November 1, Amazon has migrated its data warehouse from Oracle to its own service, Redshift.",
"json_metadata": "{\"tags\":[\"amazona\",\"oracle\"],\"image\":[\"https://cdn.steemitimages.com/DQmfMQwujWRE2Ga2ciWTVuBhmEcj1pEmifY4BDMr3nUYz8r/image.png\",\"https://cdn.steemitimages.com/DQmPwq1pQ7YH54KmifBBpEkMKQTXmyKMQz5aRNmZdZxNZZE/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "amazona",
"permlink": "it-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019",
"title": "It has been confirmed that Amazon will deprecate all Oracle databases by the end of 2019."
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T09:55:45",
"trx_id": "dba40808635d22c07454666ffc0f17101a46789f",
"trx_in_block": 18,
"virtual_op": 0
}2019/02/18 09:54:12
2019/02/18 09:54:12
| author | src3 |
| body | Amazon has so many facets right now, most people dont even realize. They now are even competing with UPS and FedEx in air delivery by aiming to integrate more of there supply chain. Besides crypto this is one of my biggest bets :D Posted using [Partiko Android](https://steemit.com/@partiko-android) |
| json metadata | {"app":"partiko","client":"android"} |
| parent author | lihr |
| parent permlink | amazon-s-earnings-in-2018-amazon-aws-contribute-most-income |
| permlink | src3-re-lihr-amazon-s-earnings-in-2018-amazon-aws-contribute-most-income-20190218t095411431z |
| title | |
| Transaction Info | Block #30452162/Trx eed8d2f470d2c06daf02ffea280439f9846e7070 |
View Raw JSON Data
{
"block": 30452162,
"op": [
"comment",
{
"author": "src3",
"body": "Amazon has so many facets right now, most people dont even realize. They now are even competing with UPS and FedEx in air delivery by aiming to integrate more of there supply chain. Besides crypto this is one of my biggest bets :D\n\nPosted using [Partiko Android](https://steemit.com/@partiko-android)",
"json_metadata": "{\"app\":\"partiko\",\"client\":\"android\"}",
"parent_author": "lihr",
"parent_permlink": "amazon-s-earnings-in-2018-amazon-aws-contribute-most-income",
"permlink": "src3-re-lihr-amazon-s-earnings-in-2018-amazon-aws-contribute-most-income-20190218t095411431z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T09:54:12",
"trx_id": "eed8d2f470d2c06daf02ffea280439f9846e7070",
"trx_in_block": 4,
"virtual_op": 0
}2019/02/18 09:53:24
2019/02/18 09:53:24
| amount | 0.001 STEEM |
| from | allaz |
| memo | Promote your post. Your post will be min. 10 resteemed with over 13000 followers and min. 25 Upvote Different account. Your post will be more popular and you will find new friends. Send 0.5 SBD or STEEM to @allaz (post URL as memo ) Service Active. |
| to | lihr |
| Transaction Info | Block #30452146/Trx a4236156dbd70780ad1c8bdf520910464842063a |
View Raw JSON Data
{
"block": 30452146,
"op": [
"transfer",
{
"amount": "0.001 STEEM",
"from": "allaz",
"memo": "Promote your post. Your post will be min. 10 resteemed with over 13000 followers and min. 25 Upvote Different account. Your post will be more popular and you will find new friends. Send 0.5 SBD or STEEM to @allaz (post URL as memo ) Service Active.",
"to": "lihr"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T09:53:24",
"trx_id": "a4236156dbd70780ad1c8bdf520910464842063a",
"trx_in_block": 20,
"virtual_op": 0
}lihrpublished a new post: amazon-s-earnings-in-2018-amazon-aws-contribute-most-income2019/02/18 09:50:39
lihrpublished a new post: amazon-s-earnings-in-2018-amazon-aws-contribute-most-income
2019/02/18 09:50:39
| author | lihr |
| body |  Before amazon announced fourth quarter financial results, exceed market expectations.In fiscal 2018, AWS speed with 47% growth, has brought most of the profits to the company. In the fourth quarter net profit of $3 billion, amazon diluted net profit of $6.04 per share, and in the fourth quarter net profit of $1.9 billion, 2017 diluted net profit of $3.75 a share.In the fourth quarter revenue rose 20% to $72.4 billion. Amazon full-year net profit of $10.1 billion, $20.14 per diluted share, in 2017 net profit of $3 billion, $6.15 per diluted share.Compared with $2017 in 177.9 billion, the net sales increased by 31%, to $232.9 billion. AWS edging out the amazon e-commerce department of North America, in 2018 operating income of the highest department.AWS in 2018 operating income of $7.3 billion, amazon in North America for $7.27 billion.But the problem is that the same is more than $70 in revenue, amazon North America need $141.4 billion in revenue to achieve this goal, AWS is only need $25.65 billion.AWS net sales growth of 47% year-on-year, growth is faster than other business units.In general, a 31% increase in the amazon. Moor Insights & Strategy, founder of the analyst Patrick Moorhead said in a statement, he will be the AWS growth due to "it through 'elastic' function to enhance the flexibility, but also increased the EC computing capacity variability".He added: "I really want to see the AWS recently released AI PaaS and SaaS service performance, because they look quite impressive." |
| json metadata | {"tags":["amazona"],"image":["https://cdn.steemitimages.com/DQmbuqZ2AejbcAruWR9GJzouBvVbP8ULCBa8hhphgE3ftsS/image.png"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | amazona |
| permlink | amazon-s-earnings-in-2018-amazon-aws-contribute-most-income |
| title | Amazon's earnings in 2018: amazon AWS contribute most income |
| Transaction Info | Block #30452091/Trx 2e57b7eed12674b48c6726727901f1b9c905c6cc |
View Raw JSON Data
{
"block": 30452091,
"op": [
"comment",
{
"author": "lihr",
"body": "\nBefore amazon announced fourth quarter financial results, exceed market expectations.In fiscal 2018, AWS speed with 47% growth, has brought most of the profits to the company.\n\nIn the fourth quarter net profit of $3 billion, amazon diluted net profit of $6.04 per share, and in the fourth quarter net profit of $1.9 billion, 2017 diluted net profit of $3.75 a share.In the fourth quarter revenue rose 20% to $72.4 billion.\n\nAmazon full-year net profit of $10.1 billion, $20.14 per diluted share, in 2017 net profit of $3 billion, $6.15 per diluted share.Compared with $2017 in 177.9 billion, the net sales increased by 31%, to $232.9 billion.\n\nAWS edging out the amazon e-commerce department of North America, in 2018 operating income of the highest department.AWS in 2018 operating income of $7.3 billion, amazon in North America for $7.27 billion.But the problem is that the same is more than $70 in revenue, amazon North America need $141.4 billion in revenue to achieve this goal, AWS is only need $25.65 billion.AWS net sales growth of 47% year-on-year, growth is faster than other business units.In general, a 31% increase in the amazon.\n\nMoor Insights & Strategy, founder of the analyst Patrick Moorhead said in a statement, he will be the AWS growth due to \"it through 'elastic' function to enhance the flexibility, but also increased the EC computing capacity variability\".He added: \"I really want to see the AWS recently released AI PaaS and SaaS service performance, because they look quite impressive.\"",
"json_metadata": "{\"tags\":[\"amazona\"],\"image\":[\"https://cdn.steemitimages.com/DQmbuqZ2AejbcAruWR9GJzouBvVbP8ULCBa8hhphgE3ftsS/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "amazona",
"permlink": "amazon-s-earnings-in-2018-amazon-aws-contribute-most-income",
"title": "Amazon's earnings in 2018: amazon AWS contribute most income"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T09:50:39",
"trx_id": "2e57b7eed12674b48c6726727901f1b9c905c6cc",
"trx_in_block": 12,
"virtual_op": 0
}2019/02/18 09:48:36
2019/02/18 09:48:36
| delegatee | lihr |
| delegator | steem |
| vesting shares | 30067.709652 VESTS |
| Transaction Info | Block #30452050/Trx 3fd4191d8011529116430898b86bc0755b067dde |
View Raw JSON Data
{
"block": 30452050,
"op": [
"delegate_vesting_shares",
{
"delegatee": "lihr",
"delegator": "steem",
"vesting_shares": "30067.709652 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T09:48:36",
"trx_id": "3fd4191d8011529116430898b86bc0755b067dde",
"trx_in_block": 26,
"virtual_op": 0
}2019/02/18 09:47:24
2019/02/18 09:47:24
| delegatee | lihr |
| delegator | steem |
| vesting shares | 30300.000000 VESTS |
| Transaction Info | Block #30452026/Trx 6a5cf2efa4918b1d06e957462b79d52e51f0e516 |
View Raw JSON Data
{
"block": 30452026,
"op": [
"delegate_vesting_shares",
{
"delegatee": "lihr",
"delegator": "steem",
"vesting_shares": "30300.000000 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T09:47:24",
"trx_id": "6a5cf2efa4918b1d06e957462b79d52e51f0e516",
"trx_in_block": 0,
"virtual_op": 0
}2019/02/18 09:47:24
2019/02/18 09:47:24
| active | {"account_auths":[],"key_auths":[["STM6qE5cZFHpuyTVzRk6cAWkTMbfqp8RVSuE2YmmtGavHn82MoZDt",1]],"weight_threshold":1} |
| creator | steem |
| extensions | [] |
| json metadata | {} |
| memo key | STM5c5EZdPcSpEdFBoway3i7pdbqNsHoDCU47fpbtMdwGvni13fxe |
| new account name | lihr |
| owner | {"account_auths":[],"key_auths":[["STM8fwjBEeFGWtCXkiPmhn6Ut7jwasJVix6npcyq3ZyFhVzKiUqhC",1]],"weight_threshold":1} |
| posting | {"account_auths":[],"key_auths":[["STM7jcoUDCvyiosKZz83CGv2FVXudgjp9EVzug6LX4ak9FUuA4Rwp",1]],"weight_threshold":1} |
| Transaction Info | Block #30452026/Trx 6a5cf2efa4918b1d06e957462b79d52e51f0e516 |
View Raw JSON Data
{
"block": 30452026,
"op": [
"create_claimed_account",
{
"active": {
"account_auths": [],
"key_auths": [
[
"STM6qE5cZFHpuyTVzRk6cAWkTMbfqp8RVSuE2YmmtGavHn82MoZDt",
1
]
],
"weight_threshold": 1
},
"creator": "steem",
"extensions": [],
"json_metadata": "{}",
"memo_key": "STM5c5EZdPcSpEdFBoway3i7pdbqNsHoDCU47fpbtMdwGvni13fxe",
"new_account_name": "lihr",
"owner": {
"account_auths": [],
"key_auths": [
[
"STM8fwjBEeFGWtCXkiPmhn6Ut7jwasJVix6npcyq3ZyFhVzKiUqhC",
1
]
],
"weight_threshold": 1
},
"posting": {
"account_auths": [],
"key_auths": [
[
"STM7jcoUDCvyiosKZz83CGv2FVXudgjp9EVzug6LX4ak9FUuA4Rwp",
1
]
],
"weight_threshold": 1
}
}
],
"op_in_trx": 0,
"timestamp": "2019-02-18T09:47:24",
"trx_id": "6a5cf2efa4918b1d06e957462b79d52e51f0e516",
"trx_in_block": 0,
"virtual_op": 0
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": 1953311140,
"last_update_time": 1588939524
},
"downvote_manabar": {
"current_mana": 488327785,
"last_update_time": 1588939524
},
"rc_account": {
"account": "lihr",
"max_rc": "7966850291",
"max_rc_creation_adjustment": {
"amount": "6013539151",
"nai": "@@000000037",
"precision": 6
},
"rc_manabar": {
"current_mana": "15785368310",
"last_update_time": 1588939524
}
}
}Account Metadata
| POSTING JSON METADATA | |
| None | |
| JSON METADATA | |
| None |
{
"posting_json_metadata": {},
"json_metadata": {}
}Auth Keys
Owner
Single Signature
Public Keys
STM8fwjBEeFGWtCXkiPmhn6Ut7jwasJVix6npcyq3ZyFhVzKiUqhC1/1
Active
Single Signature
Public Keys
STM6qE5cZFHpuyTVzRk6cAWkTMbfqp8RVSuE2YmmtGavHn82MoZDt1/1
Posting
Single Signature
Public Keys
STM7jcoUDCvyiosKZz83CGv2FVXudgjp9EVzug6LX4ak9FUuA4Rwp1/1
Memo
STM5c5EZdPcSpEdFBoway3i7pdbqNsHoDCU47fpbtMdwGvni13fxe
{
"owner": {
"account_auths": [],
"key_auths": [
[
"STM8fwjBEeFGWtCXkiPmhn6Ut7jwasJVix6npcyq3ZyFhVzKiUqhC",
1
]
],
"weight_threshold": 1
},
"active": {
"account_auths": [],
"key_auths": [
[
"STM6qE5cZFHpuyTVzRk6cAWkTMbfqp8RVSuE2YmmtGavHn82MoZDt",
1
]
],
"weight_threshold": 1
},
"posting": {
"account_auths": [],
"key_auths": [
[
"STM7jcoUDCvyiosKZz83CGv2FVXudgjp9EVzug6LX4ak9FUuA4Rwp",
1
]
],
"weight_threshold": 1
},
"memo": "STM5c5EZdPcSpEdFBoway3i7pdbqNsHoDCU47fpbtMdwGvni13fxe"
}Witness Votes
0 / 30
No active witness votes.
[]