Ecoer Logo
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 Deleg
+1.201SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.001STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.000SP
Delegated Out
0.000SP
Delegation In
1.201SP
Effective Power
1.201SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.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

namelihr
id1222081
rank1,563,895
reputation30530636
created2019-02-18T09:47:24
recovery_accountsteem
proxyNone
post_count12
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2019-02-23T03:13:00
last_root_post2019-02-23T03:13:00
last_vote_time2019-02-20T14:28:45
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.001 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares0.000000 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares1953.311140 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update1970-01-01T00:00:00
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "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

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 1.201 SP to @lihr
2020/05/08 12:05:24
delegateelihr
delegatorsteem
vesting shares1953.311140 VESTS
Transaction InfoBlock #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
}
steemdelegated 6.009 SP to @lihr
2020/04/29 00:01:51
delegateelihr
delegatorsteem
vesting shares9771.829159 VESTS
Transaction InfoBlock #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
authorsteemitboard
bodyCongratulations @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 authorlihr
parent permlinkaustralia-from-above-airvuz
permlinksteemitboard-notify-lihr-20200218t101639000z
title
Transaction InfoBlock #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
}
steemdelegated 6.130 SP to @lihr
2019/05/25 03:32:09
delegateelihr
delegatorsteem
vesting shares9967.286012 VESTS
Transaction InfoBlock #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
authorpartiko
bodyHello @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 authorlihr
parent permlinkaustralia-from-above-airvuz
permlinkpartiko-re-lihr-australia-from-above-airvuz-20190226t035918157z
title
Transaction InfoBlock #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
}
2019/02/23 03:17:03
authorlihr
permlinkaustralia-from-above-airvuz
voterpaseolab
weight10000 (100.00%)
Transaction InfoBlock #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-airvuz
2019/02/23 03:13:00
authorlihr
body<html> <p>&nbsp;The Australian state of New South Wales is the largest state in Australia by population. &nbsp;It occupies most of the southern half of its endless eastern coastline, between Queensland to the north and Victoria to the south. &nbsp;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. &nbsp;From:<a href="https://www.youtube.com/redirect?redir_token=ueyiTgTuVX87URQqwVms1u_KF8l8MTU1MDk3NzkzNkAxNTUwODkxNTM2&amp;event=video_description&amp;v=q_rKp-IHcLk&amp;q=https%3A%2F%2Fwww.airvuz.com">https://www.airvuz.com</a>&nbsp;</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 permlinksydneyvideotravel
permlinkaustralia-from-above-airvuz
titleAustralia From Above AirVūz
Transaction InfoBlock #30588053/Trx 0e5bb07d5fdb9a10ac86adb2a71c0cc2ed96e76f
View Raw JSON Data
{
  "block": 30588053,
  "op": [
    "comment",
    {
      "author": "lihr",
      "body": "<html>\n<p>&nbsp;The Australian state of New South Wales is the largest state in Australia by population. &nbsp;It occupies most of the southern half of its endless eastern coastline, between Queensland to the north and Victoria to the south. &nbsp;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. &nbsp;From:<a href=\"https://www.youtube.com/redirect?redir_token=ueyiTgTuVX87URQqwVms1u_KF8l8MTU1MDk3NzkzNkAxNTUwODkxNTM2&amp;event=video_description&amp;v=q_rKp-IHcLk&amp;q=https%3A%2F%2Fwww.airvuz.com\">https://www.airvuz.com</a>&nbsp;</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
}
2019/02/22 03:11:36
authorlihr
permlinkthe-creation-the-power-of-the-waves
voterxiaobing
weight10000 (100.00%)
Transaction InfoBlock #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
}
2019/02/22 03:06:42
authorlihr
permlinkthe-creation-the-power-of-the-waves
voteryasminles
weight10000 (100.00%)
Transaction InfoBlock #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
}
2019/02/22 03:00:12
authorlihr
body<html> <p>&nbsp;<em>Sydney's Bondi Beach is widely considered to be one of the finest in the world.&nbsp; 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.&nbsp; 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.&nbsp;&nbsp;</em>&nbsp;</p> <p>https://youtu.be/GwLhZWssAk0</p> <p>&nbsp;From:<a href="https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&amp;event=video_description&amp;redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&amp;v=GwLhZWssAk0">https://www.airvuz.com</a>&nbsp;</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 permlinksydney
permlinkthe-creation-the-power-of-the-waves
titleThe Creation-The Power of the Waves
Transaction InfoBlock #30559014/Trx 6e7551e44c7a29b1ac0103b90f0f568d2faa02be
View Raw JSON Data
{
  "block": 30559014,
  "op": [
    "comment",
    {
      "author": "lihr",
      "body": "<html>\n<p>&nbsp;<em>Sydney's Bondi Beach is widely considered to be one of the finest in the world.&nbsp; 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.&nbsp; 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.&nbsp;&nbsp;</em>&nbsp;</p>\n<p>https://youtu.be/GwLhZWssAk0</p>\n<p>&nbsp;From:<a href=\"https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&amp;event=video_description&amp;redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&amp;v=GwLhZWssAk0\">https://www.airvuz.com</a>&nbsp;</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
}
2019/02/22 02:59:39
authorlihr
body<html> <p>&nbsp;<em>Sydney's Bondi Beach is widely considered to be one of the finest in the world.&nbsp; 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.&nbsp; 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.&nbsp;&nbsp;</em>&nbsp;</p> <p>https://youtu.be/GwLhZWssAk0</p> <p>&nbsp;From:<a href="https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&amp;event=video_description&amp;redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&amp;v=GwLhZWssAk0">https://www.airvuz.com</a>&nbsp;</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 permlinksydney
permlinkthe-creation-the-power-of-the-waves
titleThe Creation-The Power of the Waves
Transaction InfoBlock #30559003/Trx 788451f080671cc60dccad99a41f228c2bd0c427
View Raw JSON Data
{
  "block": 30559003,
  "op": [
    "comment",
    {
      "author": "lihr",
      "body": "<html>\n<p>&nbsp;<em>Sydney's Bondi Beach is widely considered to be one of the finest in the world.&nbsp; 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.&nbsp; 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.&nbsp;&nbsp;</em>&nbsp;</p>\n<p>https://youtu.be/GwLhZWssAk0</p>\n<p>&nbsp;From:<a href=\"https://www.youtube.com/redirect?q=https%3A%2F%2Fwww.airvuz.com&amp;event=video_description&amp;redir_token=NbAwdOzEeRfl7GBPgtd2k-PJel58MTU1MDg5MDc1N0AxNTUwODA0MzU3&amp;v=GwLhZWssAk0\">https://www.airvuz.com</a>&nbsp;</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
}
2019/02/22 02:50:03
authorlihr
body<html> <p>Sydney is Australia's largest city and the capital of New South Wales, its largest state. &nbsp;It is widely considered to be among the world's most beautiful cities. &nbsp;Sydney hosted the the 2000 Summer Olympic Games. &nbsp;Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. &nbsp;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 permlinksydney
permlinktop-of-sydney-dji-mavic-pro-4k-drone-footage
titleTop of Sydney - DJI Mavic Pro - 4K Drone Footage
Transaction InfoBlock #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. &nbsp;It is widely considered to be among the world's most beautiful cities. &nbsp;Sydney hosted the the 2000 Summer Olympic Games. &nbsp;Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. &nbsp;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
}
2019/02/22 02:39:27
authorlihr
body<html> <p>Sydney is Australia's largest city and the capital of New South Wales, its largest state. &nbsp;It is widely considered to be among the world's most beautiful cities. &nbsp;Sydney hosted the the 2000 Summer Olympic Games. &nbsp;Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. &nbsp;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 permlinksydney
permlinktop-of-sydney-dji-mavic-pro-4k-drone-footage
titleTop of Sydney - DJI Mavic Pro - 4K Drone Footage
Transaction InfoBlock #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. &nbsp;It is widely considered to be among the world's most beautiful cities. &nbsp;Sydney hosted the the 2000 Summer Olympic Games. &nbsp;Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. &nbsp;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
}
2019/02/22 01:59:06
authorlihr
permlinktop-of-sydney-dji-mavic-pro-4k-drone-footage
voterpaseolab
weight10000 (100.00%)
Transaction InfoBlock #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
}
2019/02/22 01:55:30
authorlihr
body<html> <p>Sydney is Australia's largest city and the capital of New South Wales, its largest state. &nbsp;It is widely considered to be among the world's most beautiful cities. &nbsp;Sydney hosted the the 2000 Summer Olympic Games. &nbsp;Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. &nbsp;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 permlinksydney
permlinktop-of-sydney-dji-mavic-pro-4k-drone-footage
titleTop of Sydney - DJI Mavic Pro - 4K Drone Footage
Transaction InfoBlock #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. &nbsp;It is widely considered to be among the world's most beautiful cities. &nbsp;Sydney hosted the the 2000 Summer Olympic Games. &nbsp;Contributor Potent Sky used a DJI Mavic Pro drone to fly over this amazing metropolis. &nbsp;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
}
2019/02/21 18:02:15
authorlihr
permlinkanimals-can-also-be-funny-can-also-be-funny
voterjuanpaez
weight-10000 (-100.00%)
Transaction InfoBlock #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-iphone
2019/02/20 14:28:45
authorlihr
permlink9-diss-iphone
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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-iphone
2019/02/20 13:31:57
authorlihr
permlink9-diss-iphone
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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-iphone
2019/02/20 13:19:51
authorlihr
permlink9-diss-iphone
voterby4434
weight10000 (100.00%)
Transaction InfoBlock #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-iphone
2019/02/20 13:17:54
authorlihr
body@@ -35,15 +35,14 @@ pdLk - %E8%BF%94%E5%9B%9E%E7%BC%96%E8%BE%91%E6%A8%A1%E5%BC%8F +&nbsp; %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 permlinkxiaomi9
permlink9-diss-iphone
title雷军用小米9疯狂diss华为和iPhone,火药味浓烈
Transaction InfoBlock #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+&nbsp;\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-iphone
2019/02/20 13:17:42
authorlihr
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 permlinkxiaomi9
permlink9-diss-iphone
title雷军用小米9疯狂diss华为和iPhone,火药味浓烈
Transaction InfoBlock #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-iphone
2019/02/20 13:17:18
authorlihr
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 permlinkxiaomi9
permlink9-diss-iphone
title返回编辑模式雷军用小米9疯狂diss华为和iPhone,火药味浓烈
Transaction InfoBlock #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
}
2019/02/20 02:02:45
authorlihr
permlinkanimals-can-also-be-funny-can-also-be-funny
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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-kongfu
2019/02/20 02:02:39
authorlihr
permlinkthis-is-chinese-kongfu
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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
}
2019/02/20 02:02:33
authorlihr
permlinkheavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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
}
2019/02/20 02:02:30
authorlihr
permlinkthe-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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
}
2019/02/20 02:02:24
authorlihr
permlinkblockchain-programming-seven-languages-the-most-used-is-actually-java
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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
}
lihrremoved vote from (0.00%) @lihr / 9-2-20
2019/02/20 02:02:21
authorlihr
permlink9-2-20
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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
}
2019/02/20 02:02:18
authorlihr
permlinkit-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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
}
2019/02/20 02:02:15
authorlihr
permlinkamazon-s-earnings-in-2018-amazon-aws-contribute-most-income
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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
}
lihrpublished a new post: 9-2-20
2019/02/19 14:00:39
authorlihr
body小米9,内部代号“战斗天使”。 性能超级强悍的年度旗舰、 至今为止最好看的小米手机。 绝对的好看又能打。 小米9为热爱而战! 为广大用户和米粉们的向往而战! 探索路上执着前行,做产品一腔锐气, 这就是小米始终不变的少年之心! 我们不负等待,为你而战!2月20日发布会见。 ![](https://cdn.steemitimages.com/DQmW81Msnbq75YCW1xYEHiQmEBmdjHY36MvdATNfHowK342/image.png) 同时宣布一个好消息: 王源正式成为小米手机品牌代言人! 他是正能量的歌手、演员,也是联合国儿童基金会大使,他被美国《时代》周刊评为全球最具影响力的青少年三十人。他是王源,今天“源”力再次觉醒! 小米9好看又能打,2月20日现场见! ![](https://cdn.steemitimages.com/DQmPeE9GzWJ8ToTS24rfpCAPQ8K2dVbZH8DxRVnUEqpvMYp/image.png) 小米9相机具体参数如下: 1、4800万标准镜头,索尼IMX586传感器,1/2英寸超大感光面积,超高解析力可以看到更多的细节。 2、1200万人像镜头,背景虚化,2倍光学变焦 3、1600万超广角镜头,117度,可以拍下更多内容。这个镜头同时支持了4cm微距。 4、2000万前置镜头,支持小米AI美颜所有功能。 继公布了小米9摄像头的参数后,雷军又发微博称,小米9用不锈钢的边框包裹,蓝宝石玻璃覆盖了全部三个摄像头,蓝宝石玻璃面积高达243平方毫米,完全不用担心镜头被划伤。此外,雷军还称,小米9的三个摄像头都用了闭环马达,加上激光混合对焦,这次的对焦和成像速度绝对是小米之最,可以实现极速抓拍,干净利落脆。 ![](https://cdn.steemitimages.com/DQmUx4qHfY3YXr4YCLkMehY6yz3k6AGKYBwcqfmEVtEZfZe/image.png) ![](https://cdn.steemitimages.com/DQmZZ765i6Wa6DF4WoUNvAwcPRHTTapAktfoNL4smiH6nr2/image.png) 其它方面,小米9下巴宽度为3.6mm,搭载骁龙855,安兔兔跑分高达387851分。关于处理器,这个是最好猜的,现在安卓平台谁家处理器跑分最高,当然是骁龙855啦,小米9用骁龙855已经是妥妥的了,估计小米屯了不少的骁龙855处理器,就等过完年了,好好发挥一把刚过完年就准备发布会了,小米估计会保持18年底势头,一路狂飙。 小米9是没有后置指纹的,如此看来,小米9有望全系标配屏幕指纹,IT之家判断,屏幕指纹是小米9的主要解锁方式。目前屏幕指纹解锁技术包括光电和超声波式,去年12月的时候,有消息指出小米9和三星S10系列都将首发超声波屏幕指纹技术。![](https://cdn.steemitimages.com/DQmW2JnTft1AP4NoZPC7LmhnLdPmVPwHzWLZn942ZaBFMkq/image.png)
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 permlinkxiaomi
permlink9-2-20
title小米9来了!王源代言,2月20日现场见
Transaction InfoBlock #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![](https://cdn.steemitimages.com/DQmW81Msnbq75YCW1xYEHiQmEBmdjHY36MvdATNfHowK342/image.png)\n同时宣布一个好消息:\n王源正式成为小米手机品牌代言人!\n\n他是正能量的歌手、演员,也是联合国儿童基金会大使,他被美国《时代》周刊评为全球最具影响力的青少年三十人。他是王源,今天“源”力再次觉醒!\n\n小米9好看又能打,2月20日现场见!\n![](https://cdn.steemitimages.com/DQmPeE9GzWJ8ToTS24rfpCAPQ8K2dVbZH8DxRVnUEqpvMYp/image.png)\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![](https://cdn.steemitimages.com/DQmUx4qHfY3YXr4YCLkMehY6yz3k6AGKYBwcqfmEVtEZfZe/image.png)\n![](https://cdn.steemitimages.com/DQmZZ765i6Wa6DF4WoUNvAwcPRHTTapAktfoNL4smiH6nr2/image.png)\n其它方面,小米9下巴宽度为3.6mm,搭载骁龙855,安兔兔跑分高达387851分。关于处理器,这个是最好猜的,现在安卓平台谁家处理器跑分最高,当然是骁龙855啦,小米9用骁龙855已经是妥妥的了,估计小米屯了不少的骁龙855处理器,就等过完年了,好好发挥一把刚过完年就准备发布会了,小米估计会保持18年底势头,一路狂飙。\n        小米9是没有后置指纹的,如此看来,小米9有望全系标配屏幕指纹,IT之家判断,屏幕指纹是小米9的主要解锁方式。目前屏幕指纹解锁技术包括光电和超声波式,去年12月的时候,有消息指出小米9和三星S10系列都将首发超声波屏幕指纹技术。![](https://cdn.steemitimages.com/DQmW2JnTft1AP4NoZPC7LmhnLdPmVPwHzWLZn942ZaBFMkq/image.png)",
      "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
}
2019/02/19 13:20:39
authorlihr
permlinkanimals-can-also-be-funny-can-also-be-funny
voterthetroublenotes
weight100 (1.00%)
Transaction InfoBlock #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
}
2019/02/19 13:00:15
authorlihr
body<html> <p>https://youtu.be/chUYqauAR9E</p> <p><br></p> <p>Thank you,please &nbsp;give a thumbs-up ,so &nbsp;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 permlinkfunny
permlinkanimals-can-also-be-funny-can-also-be-funny
titleAnimals can also be funny
Transaction InfoBlock #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 &nbsp;give a thumbs-up ,so &nbsp;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
}
2019/02/19 12:58:42
authorlihr
body<html> <p>https://youtu.be/chUYqauAR9E</p> <p><br></p> <p>Thank you,please &nbsp;give a thumbs-up ,so &nbsp;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 permlinkfunny
permlinkanimals-can-also-be-funny-can-also-be-funny
titleAnimals can also be funny
Transaction InfoBlock #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 &nbsp;give a thumbs-up ,so &nbsp;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-kongfu
2019/02/19 12:55:21
authorlihr
permlinkthis-is-chinese-kongfu
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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
}
2019/02/19 12:54:54
authorlihr
permlinkanimals-can-also-be-funny-can-also-be-funny
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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
}
2019/02/19 12:54:15
authorlihr
body<html> <p>https://youtu.be/chUYqauAR9E</p> <p><br></p> <p>Thank you,please &nbsp;give a thumbs-up ,so &nbsp;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 permlinkfunny
permlinkanimals-can-also-be-funny-can-also-be-funny
titleAnimals can also be funny.can also be funny.
Transaction InfoBlock #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 &nbsp;give a thumbs-up ,so &nbsp;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
}
2019/02/19 12:53:39
authorlihr
body<html> <p>https://youtu.be/chUYqauAR9E</p> <p><br></p> <p>Thank you,please &nbsp;give a thumbs-up ,so &nbsp;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 permlinkfunny
permlinkanimals-can-also-be-funny-can-also-be-funny
titleAnimals can also be funny.can also be funny.
Transaction InfoBlock #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 &nbsp;give a thumbs-up ,so &nbsp;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-kongfu
2019/02/19 12:42:36
authorlihr
permlinkthis-is-chinese-kongfu
voterlihr
weight0 (0.00%)
Transaction InfoBlock #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-kongfu
2019/02/19 12:40:48
authorlihr
permlinkthis-is-chinese-kongfu
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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-kongfu
2019/02/19 12:37:03
allow curation rewardstrue
allow votestrue
authorlihr
extensions[]
max accepted payout1000000.000 SBD
percent steem dollars0
permlinkthis-is-chinese-kongfu
Transaction InfoBlock #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-kongfu
2019/02/19 12:37:03
authorlihr
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 permlinkchinese
permlinkthis-is-chinese-kongfu
titleThis is chinese kongfu!!!
Transaction InfoBlock #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
}
2019/02/19 11:53:15
authorlihr
permlinkblockchain-programming-seven-languages-the-most-used-is-actually-java
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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
}
2019/02/19 11:53:09
authorlihr
permlinkheavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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
}
2019/02/19 11:52:06
authorlihr
body![](https://cdn.steemitimages.com/DQmT6gNYEVps8AvzfbsrF2dFFiP2756gn9R1VFDsCSsGeR1/image.png) 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! ![](https://cdn.steemitimages.com/DQmcvPzJB4FKbPyeZNxUeyQdPyY5XDfYdv8b3xVhyzjrXpd/image.png) 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. ![](https://cdn.steemitimages.com/DQmaFygsZd833HDPh2TN946nJYSDeY8ZhLsKT3wgFESBhpE/image.png) 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? ![](https://cdn.steemitimages.com/DQmZw3CxHgbRS9LxiFjuDG6Tf1h6DQCXNMLYHa78p8bD4FV/image.png) 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? ![](https://cdn.steemitimages.com/DQmbdepgJ1oShhRVorLaYaELK7ANVCcTZwiYB5NKwk4Auw1/image.png) ![](https://cdn.steemitimages.com/DQmf6b2qA5aYQLifJwAjgEJJrxMaGjG2fKjiJQ1VymX5Rbi/image.png) ![](https://cdn.steemitimages.com/DQmWcpKpuT2i43c7FxA5qzTNWqpEmq3kRD5vSSFmDsLLDii/image.png) 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 permlinkblockchain
permlinkheavy-the-samsung-galaxy-s10-will-have-a-built-in-ethereum-wallet
titleHeavy! The Samsung Galaxy S10 will have a built-in Ethereum wallet.
Transaction InfoBlock #30483301/Trx 4579bc934451dd3537379c1b256c6823ec8106bd
View Raw JSON Data
{
  "block": 30483301,
  "op": [
    "comment",
    {
      "author": "lihr",
      "body": "![](https://cdn.steemitimages.com/DQmT6gNYEVps8AvzfbsrF2dFFiP2756gn9R1VFDsCSsGeR1/image.png)\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![](https://cdn.steemitimages.com/DQmcvPzJB4FKbPyeZNxUeyQdPyY5XDfYdv8b3xVhyzjrXpd/image.png)\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![](https://cdn.steemitimages.com/DQmaFygsZd833HDPh2TN946nJYSDeY8ZhLsKT3wgFESBhpE/image.png)\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![](https://cdn.steemitimages.com/DQmZw3CxHgbRS9LxiFjuDG6Tf1h6DQCXNMLYHa78p8bD4FV/image.png)\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![](https://cdn.steemitimages.com/DQmbdepgJ1oShhRVorLaYaELK7ANVCcTZwiYB5NKwk4Auw1/image.png)\n![](https://cdn.steemitimages.com/DQmf6b2qA5aYQLifJwAjgEJJrxMaGjG2fKjiJQ1VymX5Rbi/image.png)\n![](https://cdn.steemitimages.com/DQmWcpKpuT2i43c7FxA5qzTNWqpEmq3kRD5vSSFmDsLLDii/image.png)\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
authorlihr
permlinkblockchain-programming-seven-languages-the-most-used-is-actually-java
voterzontomonto
weight500 (5.00%)
Transaction InfoBlock #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
}
2019/02/19 11:37:09
authorlihr
body![](https://cdn.steemitimages.com/DQmdaNc9kR17zzd8qdFaSqdDoqnmXu772QMDHWTPVZPPhbE/image.png) 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.      ![](https://cdn.steemitimages.com/DQmbZ6hxz62pjHtHeAykqp5CxFYW8apAgTEWrixPihdq1Nc/image.png) 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. ![](https://cdn.steemitimages.com/DQme55va3cNf1ZKpPCGn8D53RicWU9fbPKQJbKB6vPwrwRb/image.png) 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++). ![](https://cdn.steemitimages.com/DQmYzNUXPoatzQJwoB6yqtepc7bZsmWLUELRXEGiEjo3Pmj/image.png) 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.  ![](https://cdn.steemitimages.com/DQmeJqu9GzChyLnyTcgLuZc96QKQecV6HVBo9KkbKoSaX3p/image.png) 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. ![](https://cdn.steemitimages.com/DQmRe8wZEL9CrABxx3fbirfhDz1KafpA2mRv26CZegsqzC4/image.png) 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. ![](https://cdn.steemitimages.com/DQmcUHsxLCKF4uWpgLKpzrejmtW4g6w6gRyfPtxgu4big2x/image.png) 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++. ![](https://cdn.steemitimages.com/DQmQcBznZVWNT6KQBTnN2Q6ayhUYDvejF9i9TkCJ8e9oBk4/image.png) 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 permlinkblockchain
permlinkblockchain-programming-seven-languages-the-most-used-is-actually-java
titleBlockchain programming seven languages, the most used is actually Java
Transaction InfoBlock #30483002/Trx 7044bf24afb5a134b8ecae6e41c516cca473f509
View Raw JSON Data
{
  "block": 30483002,
  "op": [
    "comment",
    {
      "author": "lihr",
      "body": "![](https://cdn.steemitimages.com/DQmdaNc9kR17zzd8qdFaSqdDoqnmXu772QMDHWTPVZPPhbE/image.png)\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![](https://cdn.steemitimages.com/DQmbZ6hxz62pjHtHeAykqp5CxFYW8apAgTEWrixPihdq1Nc/image.png)\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![](https://cdn.steemitimages.com/DQme55va3cNf1ZKpPCGn8D53RicWU9fbPKQJbKB6vPwrwRb/image.png)\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![](https://cdn.steemitimages.com/DQmYzNUXPoatzQJwoB6yqtepc7bZsmWLUELRXEGiEjo3Pmj/image.png)\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![](https://cdn.steemitimages.com/DQmeJqu9GzChyLnyTcgLuZc96QKQecV6HVBo9KkbKoSaX3p/image.png)\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![](https://cdn.steemitimages.com/DQmRe8wZEL9CrABxx3fbirfhDz1KafpA2mRv26CZegsqzC4/image.png)\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![](https://cdn.steemitimages.com/DQmcUHsxLCKF4uWpgLKpzrejmtW4g6w6gRyfPtxgu4big2x/image.png)\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![](https://cdn.steemitimages.com/DQmQcBznZVWNT6KQBTnN2Q6ayhUYDvejF9i9TkCJ8e9oBk4/image.png)\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
}
2019/02/18 14:15:48
authorlihr
permlinkamazon-s-earnings-in-2018-amazon-aws-contribute-most-income
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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
}
lihrupvoted (100.00%) @lihr / 9-2-20
2019/02/18 14:15:33
authorlihr
permlink9-2-20
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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
authorlihr
permlinkit-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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
authorlihr
permlinkthe-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method
voterlihr
weight10000 (100.00%)
Transaction InfoBlock #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 savings
2019/02/18 13:44:30
fromlihr
request id1550497244
Transaction InfoBlock #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 savings
2019/02/18 13:40:45
amount0.001 STEEM
fromlihr
memo
request id1550497244
tolihr
Transaction InfoBlock #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 savings
2019/02/18 13:40:27
amount0.001 STEEM
fromlihr
memo
tolihr
Transaction InfoBlock #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
}
lihrpublished a new post: 9-2-20
2019/02/18 11:53:57
authorlihr
body小米9,内部代号“战斗天使”。 性能超级强悍的年度旗舰、 至今为止最好看的小米手机。 绝对的好看又能打。 小米9为热爱而战! 为广大用户和米粉们的向往而战! 探索路上执着前行,做产品一腔锐气, 这就是小米始终不变的少年之心! 我们不负等待,为你而战!2月20日发布会见。 ![](https://cdn.steemitimages.com/DQmW81Msnbq75YCW1xYEHiQmEBmdjHY36MvdATNfHowK342/image.png) 同时宣布一个好消息: 王源正式成为小米手机品牌代言人! 他是正能量的歌手、演员,也是联合国儿童基金会大使,他被美国《时代》周刊评为全球最具影响力的青少年三十人。他是王源,今天“源”力再次觉醒! 小米9好看又能打,2月20日现场见! ![](https://cdn.steemitimages.com/DQmPeE9GzWJ8ToTS24rfpCAPQ8K2dVbZH8DxRVnUEqpvMYp/image.png) 小米9相机具体参数如下: 1、4800万标准镜头,索尼IMX586传感器,1/2英寸超大感光面积,超高解析力可以看到更多的细节。 2、1200万人像镜头,背景虚化,2倍光学变焦 3、1600万超广角镜头,117度,可以拍下更多内容。这个镜头同时支持了4cm微距。 4、2000万前置镜头,支持小米AI美颜所有功能。 继公布了小米9摄像头的参数后,雷军又发微博称,小米9用不锈钢的边框包裹,蓝宝石玻璃覆盖了全部三个摄像头,蓝宝石玻璃面积高达243平方毫米,完全不用担心镜头被划伤。此外,雷军还称,小米9的三个摄像头都用了闭环马达,加上激光混合对焦,这次的对焦和成像速度绝对是小米之最,可以实现极速抓拍,干净利落脆。 ![](https://cdn.steemitimages.com/DQmUx4qHfY3YXr4YCLkMehY6yz3k6AGKYBwcqfmEVtEZfZe/image.png) ![](https://cdn.steemitimages.com/DQmZZ765i6Wa6DF4WoUNvAwcPRHTTapAktfoNL4smiH6nr2/image.png) 其它方面,小米9下巴宽度为3.6mm,搭载骁龙855,安兔兔跑分高达387851分。关于处理器,这个是最好猜的,现在安卓平台谁家处理器跑分最高,当然是骁龙855啦,小米9用骁龙855已经是妥妥的了,估计小米屯了不少的骁龙855处理器,就等过完年了,好好发挥一把刚过完年就准备发布会了,小米估计会保持18年底势头,一路狂飙。 小米9是没有后置指纹的,如此看来,小米9有望全系标配屏幕指纹,IT之家判断,屏幕指纹是小米9的主要解锁方式。目前屏幕指纹解锁技术包括光电和超声波式,去年12月的时候,有消息指出小米9和三星S10系列都将首发超声波屏幕指纹技术。![](https://cdn.steemitimages.com/DQmW2JnTft1AP4NoZPC7LmhnLdPmVPwHzWLZn942ZaBFMkq/image.png)
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 permlinkxiaomi
permlink9-2-20
title小米9来了!王源代言,2月20日现场见
Transaction InfoBlock #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![](https://cdn.steemitimages.com/DQmW81Msnbq75YCW1xYEHiQmEBmdjHY36MvdATNfHowK342/image.png)\n同时宣布一个好消息:\n王源正式成为小米手机品牌代言人!\n\n他是正能量的歌手、演员,也是联合国儿童基金会大使,他被美国《时代》周刊评为全球最具影响力的青少年三十人。他是王源,今天“源”力再次觉醒!\n\n小米9好看又能打,2月20日现场见!\n![](https://cdn.steemitimages.com/DQmPeE9GzWJ8ToTS24rfpCAPQ8K2dVbZH8DxRVnUEqpvMYp/image.png)\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![](https://cdn.steemitimages.com/DQmUx4qHfY3YXr4YCLkMehY6yz3k6AGKYBwcqfmEVtEZfZe/image.png)\n![](https://cdn.steemitimages.com/DQmZZ765i6Wa6DF4WoUNvAwcPRHTTapAktfoNL4smiH6nr2/image.png)\n其它方面,小米9下巴宽度为3.6mm,搭载骁龙855,安兔兔跑分高达387851分。关于处理器,这个是最好猜的,现在安卓平台谁家处理器跑分最高,当然是骁龙855啦,小米9用骁龙855已经是妥妥的了,估计小米屯了不少的骁龙855处理器,就等过完年了,好好发挥一把刚过完年就准备发布会了,小米估计会保持18年底势头,一路狂飙。\n        小米9是没有后置指纹的,如此看来,小米9有望全系标配屏幕指纹,IT之家判断,屏幕指纹是小米9的主要解锁方式。目前屏幕指纹解锁技术包括光电和超声波式,去年12月的时候,有消息指出小米9和三星S10系列都将首发超声波屏幕指纹技术。![](https://cdn.steemitimages.com/DQmW2JnTft1AP4NoZPC7LmhnLdPmVPwHzWLZn942ZaBFMkq/image.png)",
      "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
authorlihr
permlinkthe-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method
voterfilipino
weight1000 (10.00%)
Transaction InfoBlock #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
}
2019/02/18 10:58:36
authorlihr
bodyThis 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: ![](https://cdn.steemitimages.com/DQmNYfpSG2CpzSVZ67boeEAdH7Q9SgfdoTqkqspJVBhAwiY/image.png) 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: ![](https://cdn.steemitimages.com/DQmYbeyAGZ8bb8wkuFrB3zJ5CB3EZMAVCXQ734QgM7DQcri/image.png) 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: ![](https://cdn.steemitimages.com/DQmbRf21fjcfjMNVrkaNVizUKuptRFcLTKVEXiSX5Txjt9d/image.png) 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: ![](https://cdn.steemitimages.com/DQmf3t5HqeBJZKyKqyXACqs4fYMGKCU1zygGxuEpqFoS2dT/image.png) 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 permlinktomcat
permlinkthe-right-medicine-tomcat-shutdown-process-analysis-and-thread-processing-method
titleThe right medicine: Tomcat shutdown process analysis and thread processing method
Transaction InfoBlock #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![](https://cdn.steemitimages.com/DQmNYfpSG2CpzSVZ67boeEAdH7Q9SgfdoTqkqspJVBhAwiY/image.png)\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![](https://cdn.steemitimages.com/DQmYbeyAGZ8bb8wkuFrB3zJ5CB3EZMAVCXQ734QgM7DQcri/image.png)\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![](https://cdn.steemitimages.com/DQmbRf21fjcfjMNVrkaNVizUKuptRFcLTKVEXiSX5Txjt9d/image.png)\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![](https://cdn.steemitimages.com/DQmf3t5HqeBJZKyKqyXACqs4fYMGKCU1zygGxuEpqFoS2dT/image.png)\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
authorlihr
bodyIn 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. . ![](https://cdn.steemitimages.com/DQmfMQwujWRE2Ga2ciWTVuBhmEcj1pEmifY4BDMr3nUYz8r/image.png) "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.” ![](https://cdn.steemitimages.com/DQmPwq1pQ7YH54KmifBBpEkMKQTXmyKMQz5aRNmZdZxNZZE/image.png) 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 permlinkamazona
permlinkit-has-been-confirmed-that-amazon-will-deprecate-all-oracle-databases-by-the-end-of-2019
titleIt has been confirmed that Amazon will deprecate all Oracle databases by the end of 2019.
Transaction InfoBlock #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![](https://cdn.steemitimages.com/DQmfMQwujWRE2Ga2ciWTVuBhmEcj1pEmifY4BDMr3nUYz8r/image.png)\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![](https://cdn.steemitimages.com/DQmPwq1pQ7YH54KmifBBpEkMKQTXmyKMQz5aRNmZdZxNZZE/image.png)\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
authorsrc3
bodyAmazon 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 authorlihr
parent permlinkamazon-s-earnings-in-2018-amazon-aws-contribute-most-income
permlinksrc3-re-lihr-amazon-s-earnings-in-2018-amazon-aws-contribute-most-income-20190218t095411431z
title
Transaction InfoBlock #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
}
allazsent 0.001 STEEM to @lihr- "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 ..."
2019/02/18 09:53:24
amount0.001 STEEM
fromallaz
memoPromote 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.
tolihr
Transaction InfoBlock #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
}
2019/02/18 09:50:39
authorlihr
body![](https://cdn.steemitimages.com/DQmbuqZ2AejbcAruWR9GJzouBvVbP8ULCBa8hhphgE3ftsS/image.png) 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 permlinkamazona
permlinkamazon-s-earnings-in-2018-amazon-aws-contribute-most-income
titleAmazon's earnings in 2018: amazon AWS contribute most income
Transaction InfoBlock #30452091/Trx 2e57b7eed12674b48c6726727901f1b9c905c6cc
View Raw JSON Data
{
  "block": 30452091,
  "op": [
    "comment",
    {
      "author": "lihr",
      "body": "![](https://cdn.steemitimages.com/DQmbuqZ2AejbcAruWR9GJzouBvVbP8ULCBa8hhphgE3ftsS/image.png)\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
}
steemdelegated 18.491 SP to @lihr
2019/02/18 09:48:36
delegateelihr
delegatorsteem
vesting shares30067.709652 VESTS
Transaction InfoBlock #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
}
steemdelegated 18.634 SP to @lihr
2019/02/18 09:47:24
delegateelihr
delegatorsteem
vesting shares30300.000000 VESTS
Transaction InfoBlock #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
}
steemcreated a new account: @lihr
2019/02/18 09:47:24
active{"account_auths":[],"key_auths":[["STM6qE5cZFHpuyTVzRk6cAWkTMbfqp8RVSuE2YmmtGavHn82MoZDt",1]],"weight_threshold":1}
creatorsteem
extensions[]
json metadata{}
memo keySTM5c5EZdPcSpEdFBoway3i7pdbqNsHoDCU47fpbtMdwGvni13fxe
new account namelihr
owner{"account_auths":[],"key_auths":[["STM8fwjBEeFGWtCXkiPmhn6Ut7jwasJVix6npcyq3ZyFhVzKiUqhC",1]],"weight_threshold":1}
posting{"account_auths":[],"key_auths":[["STM7jcoUDCvyiosKZz83CGv2FVXudgjp9EVzug6LX4ak9FUuA4Rwp",1]],"weight_threshold":1}
Transaction InfoBlock #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
}

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.
[]