Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.015USD
STEEM
0.001STEEM
SBD
0.000SBD
Own SP
0.252SP

Detailed Balance

STEEM
balance
0.001STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.252SP
Delegated Out
0.000SP
Delegation In
0.000SP
Effective Power
0.252SP
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.001 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "409.030813 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

nameliushooter
id740283
rank1,667,121
reputation929855
created2018-02-09T08:24:12
recovery_accountcnsteem
proxyNone
post_count3
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-06-23T13:35:42
last_root_post2018-06-23T13:35:42
last_vote_time1970-01-01T00:00:00
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power10,000
delayed_votes0
balance0.001 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares409.030813 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares0.000000 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update2018-02-09T10:19:03
last_account_update2018-06-23T13:07:33
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": [
      [
        "STM52fVA6xsL9fWzKVrhiuw5xzpjCYWmtP2xufyRazZNcRZKwPEBt",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "balance": "0.001 STEEM",
  "can_vote": true,
  "comment_count": 0,
  "created": "2018-02-09T08:24:12",
  "curation_rewards": 0,
  "delegated_vesting_shares": "0.000000 VESTS",
  "downvote_manabar": {
    "current_mana": 0,
    "last_update_time": 1518164652
  },
  "guest_bloggers": [],
  "id": 740283,
  "json_metadata": "{\"profile\":{\"location\":\"beijing\",\"name\":\"shooter\",\"profile_image\":\"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg\"}}",
  "last_account_recovery": "1970-01-01T00:00:00",
  "last_account_update": "2018-06-23T13:07:33",
  "last_owner_update": "2018-02-09T10:19:03",
  "last_post": "2018-06-23T13:35:42",
  "last_root_post": "2018-06-23T13:35:42",
  "last_vote_time": "1970-01-01T00:00:00",
  "lifetime_vote_count": 0,
  "market_history": [],
  "memo_key": "STM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P",
  "mined": false,
  "name": "liushooter",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "other_history": [],
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM7AJqnguXtNuQ5Q3TebcPmSh7NrmVZd2DAQLZ5BVuxKGvcEWM37",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "pending_claimed_accounts": 0,
  "post_bandwidth": 0,
  "post_count": 3,
  "post_history": [],
  "posting": {
    "account_auths": [
      [
        "busy.app",
        1
      ],
      [
        "dtube.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM5WzvyD9uT3ftyhDc1j5DpcMAYsjiVRrvs2y2oJTLbcQS58k2iF",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting_json_metadata": "{\"profile\":{\"location\":\"beijing\",\"name\":\"shooter\",\"profile_image\":\"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg\"}}",
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "proxy": "",
  "received_vesting_shares": "0.000000 VESTS",
  "recovery_account": "cnsteem",
  "reputation": 929855,
  "reset_account": "null",
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "sbd_balance": "0.000 SBD",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "tags_usage": [],
  "to_withdraw": 0,
  "transfer_history": [],
  "vesting_balance": "0.000 STEEM",
  "vesting_shares": "409.030813 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "vote_history": [],
  "voting_manabar": {
    "current_mana": 10000,
    "last_update_time": 1518164652
  },
  "voting_power": 10000,
  "withdraw_routes": 0,
  "withdrawn": 0,
  "witness_votes": [],
  "witnesses_voted_for": 0,
  "rank": 1667121
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
2020/02/09 09:57:48
authorsteemitboard
bodyCongratulations @liushooter! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@liushooter/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@liushooter) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=liushooter)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authorliushooter
parent permlinku3a66ud5
permlinksteemitboard-notify-liushooter-20200209t095748000z
title
Transaction InfoBlock #40665220/Trx 1ed046dbef0e5e69934f0f3664dceae3ada172a3
View Raw JSON Data
{
  "block": 40665220,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @liushooter! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@liushooter/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@liushooter) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=liushooter)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "liushooter",
      "parent_permlink": "u3a66ud5",
      "permlink": "steemitboard-notify-liushooter-20200209t095748000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-02-09T09:57:48",
  "trx_id": "1ed046dbef0e5e69934f0f3664dceae3ada172a3",
  "trx_in_block": 5,
  "virtual_op": 0
}
dtubesent 0.001 STEEM to @liushooter- "Time is running out, claim your DTube account now before anyone else can! Login at https://d.tube"
2019/08/22 15:40:21
amount0.001 STEEM
fromdtube
memoTime is running out, claim your DTube account now before anyone else can! Login at https://d.tube
toliushooter
Transaction InfoBlock #35778818/Trx e719f7326c7cc723d8e3a5c7a90683dcd23d9667
View Raw JSON Data
{
  "block": 35778818,
  "op": [
    "transfer",
    {
      "amount": "0.001 STEEM",
      "from": "dtube",
      "memo": "Time is running out, claim your DTube account now before anyone else can! Login at https://d.tube",
      "to": "liushooter"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-08-22T15:40:21",
  "trx_id": "e719f7326c7cc723d8e3a5c7a90683dcd23d9667",
  "trx_in_block": 49,
  "virtual_op": 0
}
2019/02/09 09:32:18
authorsteemitboard
bodyCongratulations @liushooter! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@liushooter/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@liushooter)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authorliushooter
parent permlinku3a66ud5
permlinksteemitboard-notify-liushooter-20190209t093217000z
title
Transaction InfoBlock #30192719/Trx 2324fc0d5e6cefc09f515b6edc2d560cae4581cf
View Raw JSON Data
{
  "block": 30192719,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @liushooter! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@liushooter/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@liushooter)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "liushooter",
      "parent_permlink": "u3a66ud5",
      "permlink": "steemitboard-notify-liushooter-20190209t093217000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-02-09T09:32:18",
  "trx_id": "2324fc0d5e6cefc09f515b6edc2d560cae4581cf",
  "trx_in_block": 7,
  "virtual_op": 0
}
2018/06/24 08:49:36
authorsteemitboard
bodyCongratulations @liushooter! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [![](https://steemitimages.com/70x70/http://steemitboard.com/notifications/firstvoted.png)](http://steemitboard.com/@liushooter) You got a First Vote <sub>_Click on the badge to view your Board of Honor._</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> **Do not miss the [last post](https://steemit.com/steemitboard/@steemitboard/steemitboard-world-cup-contest-results-of-day-10) from @steemitboard!** --- **Participate in the [SteemitBoard World Cup Contest](https://steemit.com/steemitboard/@steemitboard/steemitboard-world-cup-contest-collect-badges-and-win-free-sbd)!** Collect World Cup badges and win free SBD Support the Gold Sponsors of the contest: [@good-karma](https://v2.steemconnect.com/sign/account-witness-vote?witness=good-karma&approve=1) and [@lukestokes](https://v2.steemconnect.com/sign/account-witness-vote?witness=lukestokes.mhth&approve=1) --- > Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authorliushooter
parent permlinku3a66ud5
permlinksteemitboard-notify-liushooter-20180624t084938000z
title
Transaction InfoBlock #23598080/Trx 0f69af57cf06404c32ad727d1820ec7c287ed275
View Raw JSON Data
{
  "block": 23598080,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @liushooter! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[![](https://steemitimages.com/70x70/http://steemitboard.com/notifications/firstvoted.png)](http://steemitboard.com/@liushooter) You got a First Vote\n\n<sub>_Click on the badge to view your Board of Honor._</sub>\n<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>\n\n\n\n**Do not miss the [last post](https://steemit.com/steemitboard/@steemitboard/steemitboard-world-cup-contest-results-of-day-10) from @steemitboard!**\n\n---\n**Participate in the [SteemitBoard World Cup Contest](https://steemit.com/steemitboard/@steemitboard/steemitboard-world-cup-contest-collect-badges-and-win-free-sbd)!**\nCollect World Cup badges and win free SBD\nSupport the Gold Sponsors of the contest: [@good-karma](https://v2.steemconnect.com/sign/account-witness-vote?witness=good-karma&approve=1) and [@lukestokes](https://v2.steemconnect.com/sign/account-witness-vote?witness=lukestokes.mhth&approve=1)\n\n---\n\n> Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "liushooter",
      "parent_permlink": "u3a66ud5",
      "permlink": "steemitboard-notify-liushooter-20180624t084938000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-24T08:49:36",
  "trx_id": "0f69af57cf06404c32ad727d1820ec7c287ed275",
  "trx_in_block": 23,
  "virtual_op": 0
}
ax3upvoted (3.00%) @liushooter / u3a66ud5
2018/06/23 13:35:51
authorliushooter
permlinku3a66ud5
voterax3
weight300 (3.00%)
Transaction InfoBlock #23575012/Trx 683b4bebea961136d78e8cc2424097ed16049c48
View Raw JSON Data
{
  "block": 23575012,
  "op": [
    "vote",
    {
      "author": "liushooter",
      "permlink": "u3a66ud5",
      "voter": "ax3",
      "weight": 300
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-23T13:35:51",
  "trx_id": "683b4bebea961136d78e8cc2424097ed16049c48",
  "trx_in_block": 33,
  "virtual_op": 0
}
liushooterupdated options for u3a66ud5
2018/06/23 13:35:42
allow curation rewardstrue
allow votestrue
authorliushooter
extensions[[0,{"beneficiaries":[{"account":"dtube","weight":2500}]}]]
max accepted payout1000000.000 SBD
percent steem dollars10000
permlinku3a66ud5
Transaction InfoBlock #23575009/Trx 202a788f7851a122c14aed2fb478d0ad8eb56467
View Raw JSON Data
{
  "block": 23575009,
  "op": [
    "comment_options",
    {
      "allow_curation_rewards": true,
      "allow_votes": true,
      "author": "liushooter",
      "extensions": [
        [
          0,
          {
            "beneficiaries": [
              {
                "account": "dtube",
                "weight": 2500
              }
            ]
          }
        ]
      ],
      "max_accepted_payout": "1000000.000 SBD",
      "percent_steem_dollars": 10000,
      "permlink": "u3a66ud5"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-23T13:35:42",
  "trx_id": "202a788f7851a122c14aed2fb478d0ad8eb56467",
  "trx_in_block": 73,
  "virtual_op": 0
}
liushooterpublished a new post: u3a66ud5
2018/06/23 13:35:42
authorliushooter
body<center><a href='https://d.tube/#!/v/liushooter/u3a66ud5'><img src='https://ipfs.io/ipfs/QmQw155mpr6icxi2XHvvjV59cGebT4ypZSZvKRPYw8uQ6K'></a></center><hr> 一起同窗过2 <hr><a href='https://d.tube/#!/v/liushooter/u3a66ud5'> ▶️ DTube</a><br /><a href='https://ipfs.io/ipfs/QmahMwkGK9Dbx74xQ2sWxuarGt4sWNK3AwsjKGqTK7s8vj'> ▶️ IPFS</a>
json metadata{"video":{"info":{"title":"一起同窗过2","snaphash":"Qmdm88ynpuBW8yP7F6kPyyxdHK6WWagZyYEe6s58gcoPrW","author":"liushooter","permlink":"u3a66ud5","duration":409.994739,"filesize":265819447,"spritehash":"QmP3Ranf8KB958G9cQ83Jw83L7D6MR2RLDuMUo9JQT4CkB"},"content":{"videohash":"QmahMwkGK9Dbx74xQ2sWxuarGt4sWNK3AwsjKGqTK7s8vj","description":"一起同窗过2","tags":["tv","chinese","邹倩雯"],"video240hash":"QmWWd3rKJ69GjuPzRtTHzC16168grT48yHQSca2D7Lwx8G","video480hash":"QmbDJG8wLXJmKFvxXdSeTp9WwWsDsJcmLFk51zC4N66KGW"}},"tags":["tv","chinese","邹倩雯","dtube"],"app":"dtube/0.7"}
parent author
parent permlinktv
permlinku3a66ud5
title一起同窗过2
Transaction InfoBlock #23575009/Trx 202a788f7851a122c14aed2fb478d0ad8eb56467
View Raw JSON Data
{
  "block": 23575009,
  "op": [
    "comment",
    {
      "author": "liushooter",
      "body": "<center><a href='https://d.tube/#!/v/liushooter/u3a66ud5'><img src='https://ipfs.io/ipfs/QmQw155mpr6icxi2XHvvjV59cGebT4ypZSZvKRPYw8uQ6K'></a></center><hr>\n\n一起同窗过2\n\n<hr><a href='https://d.tube/#!/v/liushooter/u3a66ud5'> ▶️ DTube</a><br /><a href='https://ipfs.io/ipfs/QmahMwkGK9Dbx74xQ2sWxuarGt4sWNK3AwsjKGqTK7s8vj'> ▶️ IPFS</a>",
      "json_metadata": "{\"video\":{\"info\":{\"title\":\"一起同窗过2\",\"snaphash\":\"Qmdm88ynpuBW8yP7F6kPyyxdHK6WWagZyYEe6s58gcoPrW\",\"author\":\"liushooter\",\"permlink\":\"u3a66ud5\",\"duration\":409.994739,\"filesize\":265819447,\"spritehash\":\"QmP3Ranf8KB958G9cQ83Jw83L7D6MR2RLDuMUo9JQT4CkB\"},\"content\":{\"videohash\":\"QmahMwkGK9Dbx74xQ2sWxuarGt4sWNK3AwsjKGqTK7s8vj\",\"description\":\"一起同窗过2\",\"tags\":[\"tv\",\"chinese\",\"邹倩雯\"],\"video240hash\":\"QmWWd3rKJ69GjuPzRtTHzC16168grT48yHQSca2D7Lwx8G\",\"video480hash\":\"QmbDJG8wLXJmKFvxXdSeTp9WwWsDsJcmLFk51zC4N66KGW\"}},\"tags\":[\"tv\",\"chinese\",\"邹倩雯\",\"dtube\"],\"app\":\"dtube/0.7\"}",
      "parent_author": "",
      "parent_permlink": "tv",
      "permlink": "u3a66ud5",
      "title": "一起同窗过2"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-23T13:35:42",
  "trx_id": "202a788f7851a122c14aed2fb478d0ad8eb56467",
  "trx_in_block": 73,
  "virtual_op": 0
}
2018/06/23 13:07:39
idfollow
json["follow",{"follower":"liushooter","following":"dtube","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #23574448/Trx a93fdd1e839f792dda091773f050eb83a7c73b0a
View Raw JSON Data
{
  "block": 23574448,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"dtube\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-23T13:07:39",
  "trx_id": "a93fdd1e839f792dda091773f050eb83a7c73b0a",
  "trx_in_block": 49,
  "virtual_op": 0
}
liushooterupdated their account properties
2018/06/23 13:07:33
accountliushooter
json metadata{"profile":{"location":"beijing","name":"shooter","profile_image":"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg"}}
memo keySTM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P
posting{"account_auths":[["busy.app",1],["dtube.app",1]],"key_auths":[["STM5WzvyD9uT3ftyhDc1j5DpcMAYsjiVRrvs2y2oJTLbcQS58k2iF",1]],"weight_threshold":1}
Transaction InfoBlock #23574446/Trx 495b60a23475aa05a9ecd48b28f1df3c6fdeeb7c
View Raw JSON Data
{
  "block": 23574446,
  "op": [
    "account_update",
    {
      "account": "liushooter",
      "json_metadata": "{\"profile\":{\"location\":\"beijing\",\"name\":\"shooter\",\"profile_image\":\"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg\"}}",
      "memo_key": "STM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P",
      "posting": {
        "account_auths": [
          [
            "busy.app",
            1
          ],
          [
            "dtube.app",
            1
          ]
        ],
        "key_auths": [
          [
            "STM5WzvyD9uT3ftyhDc1j5DpcMAYsjiVRrvs2y2oJTLbcQS58k2iF",
            1
          ]
        ],
        "weight_threshold": 1
      }
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-23T13:07:33",
  "trx_id": "495b60a23475aa05a9ecd48b28f1df3c6fdeeb7c",
  "trx_in_block": 20,
  "virtual_op": 0
}
liushooterflagged (-100.00%) @legendx / dpos
2018/06/21 04:51:27
authorlegendx
permlinkdpos
voterliushooter
weight-10000 (-100.00%)
Transaction InfoBlock #23506929/Trx b2fbf47d7bce1d9d078351a65dcd593b780bcf34
View Raw JSON Data
{
  "block": 23506929,
  "op": [
    "vote",
    {
      "author": "legendx",
      "permlink": "dpos",
      "voter": "liushooter",
      "weight": -10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-21T04:51:27",
  "trx_id": "b2fbf47d7bce1d9d078351a65dcd593b780bcf34",
  "trx_in_block": 33,
  "virtual_op": 0
}
2018/04/12 03:52:27
authordantheman
permlinkcould-wren-be-the-future-of-smart-contract-scripting-languages
voterliushooter
weight-10000 (-100.00%)
Transaction InfoBlock #21491787/Trx 3fbb2a5e33fd7a1e44993e672f41c2b236fcf613
View Raw JSON Data
{
  "block": 21491787,
  "op": [
    "vote",
    {
      "author": "dantheman",
      "permlink": "could-wren-be-the-future-of-smart-contract-scripting-languages",
      "voter": "liushooter",
      "weight": -10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-04-12T03:52:27",
  "trx_id": "3fbb2a5e33fd7a1e44993e672f41c2b236fcf613",
  "trx_in_block": 14,
  "virtual_op": 0
}
2018/04/12 03:52:15
authordantheman
permlinkweb-assembly-on-eos-50-000-transfers-per-second
voterliushooter
weight-10000 (-100.00%)
Transaction InfoBlock #21491783/Trx 906dd2206e9630dfb0fcab7775c589a834a2c7f3
View Raw JSON Data
{
  "block": 21491783,
  "op": [
    "vote",
    {
      "author": "dantheman",
      "permlink": "web-assembly-on-eos-50-000-transfers-per-second",
      "voter": "liushooter",
      "weight": -10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-04-12T03:52:15",
  "trx_id": "906dd2206e9630dfb0fcab7775c589a834a2c7f3",
  "trx_in_block": 17,
  "virtual_op": 0
}
2018/04/12 03:51:48
authordantheman
permlinkweb-assembly-on-eos-50-000-transfers-per-second
voterliushooter
weight-10000 (-100.00%)
Transaction InfoBlock #21491774/Trx a301c30d7fba4d4bca1fdc9f885e291b1a6bd8a4
View Raw JSON Data
{
  "block": 21491774,
  "op": [
    "vote",
    {
      "author": "dantheman",
      "permlink": "web-assembly-on-eos-50-000-transfers-per-second",
      "voter": "liushooter",
      "weight": -10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-04-12T03:51:48",
  "trx_id": "a301c30d7fba4d4bca1fdc9f885e291b1a6bd8a4",
  "trx_in_block": 0,
  "virtual_op": 0
}
2018/04/12 03:49:15
idfollow
json["follow",{"follower":"liushooter","following":"lukestokes","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #21491723/Trx 565dd59c467c773128328fdd12baca9084c51778
View Raw JSON Data
{
  "block": 21491723,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"lukestokes\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-04-12T03:49:15",
  "trx_id": "565dd59c467c773128328fdd12baca9084c51778",
  "trx_in_block": 8,
  "virtual_op": 0
}
2018/04/06 12:33:15
idfollow
json["follow",{"follower":"liushooter","following":"dayzh","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #21329415/Trx 408629bb8fcd53fa9771698ab31e7be66d709b46
View Raw JSON Data
{
  "block": 21329415,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"dayzh\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-04-06T12:33:15",
  "trx_id": "408629bb8fcd53fa9771698ab31e7be66d709b46",
  "trx_in_block": 10,
  "virtual_op": 0
}
liushooterpublished a new post: bitcoin
2018/03/09 04:12:57
authorliushooter
body根据[How to create Bitcoin Address](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses#How_to_create_Bitcoin_Address)的步骤, 我们要先得到 ECDSA private key, 再得到 ECDSA public key, 然后再计算出钱包地址. ECDSA是`Elliptic Curve Digital Signature Algorithm`的缩写, 即`椭圆曲线数字签名算法`. #### Step1. ECDSA private key 执行openssl命令, bitcoin要用到secp256k1 ``` openssl ecparam -name secp256k1 -genkey > priv.pem # DER格式 openssl ec -in priv.pem -outform DER | tail -c +8 | head -c 32 | xxd -p -c 32 # 输出 read EC key writing EC key ccea9c5a20e2b78c2e0fbdd8ae2d2b67e6b1894ccb7a55fc1de08bd53994ea64 ``` 得到秘钥文件priv.pem, 输出DER格式, 长度是 64 `ccea9c5a20e2b78c2e0fbdd8ae2d2b67e6b1894ccb7a55fc1de08bd53994ea64` #### Step2. ECDSA public key priv.pem 生成 pub_key ``` openssl ec -in priv.pem -pubout -outform DER | tail -c 65 | xxd -p -c 65 # 输出 read EC key writing EC key 04d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f691757b28e31be71f09f24673eed52348e58d53bcfd26f4d96ec6bf1489eab429d ``` 同样输出DER格式, 长度是130 pub_key = `04d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f691757b28e31be71f09f24673eed52348e58d53bcfd26f4d96ec6bf1489eab429d` #### Step3. 第2步结果进行hash160运算 hash160运算就是先进行SHA256, 再进行RMD160 ```ruby bytes = [pub_key].pack("H*") # 转为16进制 hash160_val = Digest::RMD160.hexdigest(Digest::SHA256.digest(bytes) ) ``` hash160_val = `2b6f3b9e337cedbb7c40839523fb1100709c12f7` #### Step4. 第3步结果加上前缀符 前缀符一般是`00`, 会生成普通的主网地址 bitcoin address 前缀符有好几种, 具体看https://en.bitcoin.it/wiki/List_of_address_prefixes ``` '00'+ '2b6f3b9e337cedbb7c40839523fb1100709c12f7' ``` step_04 = `002b6f3b9e337cedbb7c40839523fb1100709c12f7` #### Step5. 第4步结果, 执行2次SHA256, 取前8位作为校验和 ``` hex_str = [step_04].pack("H*") checksum = Digest::SHA256.hexdigest(Digest::SHA256.digest(hex_str) )[0...8] ``` checksum = `86b2e90c` #### Step6. 第4步结果 跟 第5步结果合并 ``` '002b6f3b9e337cedbb7c40839523fb1100709c12f7' + '86b2e90c' # step_04 + checksum ``` step_06 = `002b6f3b9e337cedbb7c40839523fb1100709c12f786b2e90c` #### Step7. Base58编码 Base58是一种独特的编码方式, 是Base64的变形, 主要用于Bitcoin的钱包地址. 相比Base64, Base58去掉了数字`0`, 大写字母`O`, 大写字母`I`, 小写字母`l`, `+`和`/`, 避免引起视觉混淆. 来个base58算法 ``` def encode_base58(int_val, leading_zero_bytes=0) alpha = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" base58_val, base = '', alpha.size while int_val > 0 int_val, remainder = int_val.divmod(base) base58_val = alpha[remainder] + base58_val end base58_val end ``` #### Step8. 第6步结果进行base58编码 ```ruby step_06 = "002b6f3b9e337cedbb7c40839523fb1100709c12f786b2e90c" leading_zero_bytes = (step_06.match(/^([0]+)/) ? $1 : '').size / 2 # leading_zero_bytes的作用是字母填充, 待研究下 address = ("1" * leading_zero_bytes) + encode_base58(step_06.to_i(16) ) ``` 得到 `14xfJr1DArtYR156XBs28FoYk6sQqirT2s`, 这就是了一个标准的bitcoin地址. > 提问: 通过bitcoin address能反向得到hash160_val么 ?! 终于大功告成 还是乖乖的用[bitcoin-ruby](https://github.com/lian/bitcoin-ruby)吧 ```ruby require 'bitcoin' pri_key, pub_key = Bitcoin.generate_key # 私钥 公钥 # 通过ffi调用openssl得到 # 很多类库都这么做 怕出致命错误吧 address = Bitcoin::pubkey_to_address(pub_key) ``` 在bitcoin系统中,私钥能得公钥, 公钥能得到钱包地址, 私钥=>公钥=>钱包地址, 而反向是不可能的. **牢记你的私钥**, 而且**私钥不能修改**, 谁掌握了私钥谁就拥有了这些币!!! --- 参考: https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses https://en.bitcoin.it/wiki/Address https://en.bitcoin.it/wiki/List_of_address_prefixes
json metadata{"tags":["bitcoin"],"links":["https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses#How_to_create_Bitcoin_Address","https://en.bitcoin.it/wiki/List_of_address_prefixes","https://github.com/lian/bitcoin-ruby","https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses","https://en.bitcoin.it/wiki/Address"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkbitcoin
permlinkbitcoin
titlebitcoin地址是如何生成的
Transaction InfoBlock #20514277/Trx 8e6a5809d86a7537d161f4be1593dad7a52f8f9d
View Raw JSON Data
{
  "block": 20514277,
  "op": [
    "comment",
    {
      "author": "liushooter",
      "body": "根据[How to create Bitcoin Address](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses#How_to_create_Bitcoin_Address)的步骤,\n我们要先得到 ECDSA private key, 再得到 ECDSA public key, 然后再计算出钱包地址.\nECDSA是`Elliptic Curve Digital Signature Algorithm`的缩写, 即`椭圆曲线数字签名算法`.\n\n\n#### Step1. ECDSA private key\n\n执行openssl命令, bitcoin要用到secp256k1\n\n```\nopenssl ecparam -name secp256k1 -genkey > priv.pem\n\n# DER格式\nopenssl ec -in priv.pem -outform DER | tail -c +8 | head -c 32 | xxd -p -c 32\n\n# 输出\nread EC key\nwriting EC key\nccea9c5a20e2b78c2e0fbdd8ae2d2b67e6b1894ccb7a55fc1de08bd53994ea64\n```\n得到秘钥文件priv.pem, 输出DER格式, 长度是 64\n`ccea9c5a20e2b78c2e0fbdd8ae2d2b67e6b1894ccb7a55fc1de08bd53994ea64`\n\n#### Step2. ECDSA public key\n\npriv.pem 生成 pub_key\n\n```\nopenssl ec -in priv.pem -pubout -outform DER | tail -c 65 | xxd -p -c 65\n\n# 输出\nread EC key\nwriting EC key\n04d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f691757b28e31be71f09f24673eed52348e58d53bcfd26f4d96ec6bf1489eab429d\n```\n\n同样输出DER格式, 长度是130\npub_key = `04d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f691757b28e31be71f09f24673eed52348e58d53bcfd26f4d96ec6bf1489eab429d`\n\n#### Step3. 第2步结果进行hash160运算\n\nhash160运算就是先进行SHA256, 再进行RMD160\n\n```ruby\nbytes = [pub_key].pack(\"H*\") # 转为16进制\nhash160_val = Digest::RMD160.hexdigest(Digest::SHA256.digest(bytes) )\n```\n\nhash160_val = `2b6f3b9e337cedbb7c40839523fb1100709c12f7`\n\n#### Step4. 第3步结果加上前缀符\n\n前缀符一般是`00`, 会生成普通的主网地址\nbitcoin address 前缀符有好几种, 具体看https://en.bitcoin.it/wiki/List_of_address_prefixes\n\n```\n'00'+ '2b6f3b9e337cedbb7c40839523fb1100709c12f7'\n```\n\nstep_04 = `002b6f3b9e337cedbb7c40839523fb1100709c12f7`\n\n#### Step5. 第4步结果, 执行2次SHA256, 取前8位作为校验和\n\n```\nhex_str = [step_04].pack(\"H*\")\nchecksum = Digest::SHA256.hexdigest(Digest::SHA256.digest(hex_str) )[0...8]\n```\n\nchecksum = `86b2e90c`\n\n#### Step6. 第4步结果 跟 第5步结果合并\n\n```\n'002b6f3b9e337cedbb7c40839523fb1100709c12f7' + '86b2e90c'\n# step_04 + checksum\n```\n\nstep_06 = `002b6f3b9e337cedbb7c40839523fb1100709c12f786b2e90c`\n\n#### Step7. Base58编码\n\nBase58是一种独特的编码方式, 是Base64的变形, 主要用于Bitcoin的钱包地址.\n相比Base64, Base58去掉了数字`0`, 大写字母`O`, 大写字母`I`, 小写字母`l`, `+`和`/`, 避免引起视觉混淆.\n\n来个base58算法\n\n```\ndef encode_base58(int_val, leading_zero_bytes=0)\n  alpha = \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"\n  base58_val, base = '', alpha.size\n\n  while int_val > 0\n    int_val, remainder = int_val.divmod(base)\n    base58_val = alpha[remainder] + base58_val\n  end\n\n  base58_val\nend\n```\n\n#### Step8. 第6步结果进行base58编码\n\n```ruby\nstep_06 = \"002b6f3b9e337cedbb7c40839523fb1100709c12f786b2e90c\"\nleading_zero_bytes = (step_06.match(/^([0]+)/) ? $1 : '').size / 2\n# leading_zero_bytes的作用是字母填充, 待研究下\n\naddress = (\"1\" * leading_zero_bytes) + encode_base58(step_06.to_i(16) )\n```\n\n得到 `14xfJr1DArtYR156XBs28FoYk6sQqirT2s`, 这就是了一个标准的bitcoin地址.\n\n> 提问: 通过bitcoin address能反向得到hash160_val么 ?!\n\n\n终于大功告成\n\n还是乖乖的用[bitcoin-ruby](https://github.com/lian/bitcoin-ruby)吧\n\n```ruby\nrequire 'bitcoin'\n\npri_key, pub_key = Bitcoin.generate_key # 私钥 公钥\n# 通过ffi调用openssl得到\n# 很多类库都这么做 怕出致命错误吧\naddress = Bitcoin::pubkey_to_address(pub_key)\n```\n\n在bitcoin系统中,私钥能得公钥, 公钥能得到钱包地址,\n私钥=>公钥=>钱包地址, 而反向是不可能的.\n**牢记你的私钥**, 而且**私钥不能修改**, 谁掌握了私钥谁就拥有了这些币!!!\n\n---\n\n参考:\n\nhttps://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses\nhttps://en.bitcoin.it/wiki/Address\nhttps://en.bitcoin.it/wiki/List_of_address_prefixes",
      "json_metadata": "{\"tags\":[\"bitcoin\"],\"links\":[\"https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses#How_to_create_Bitcoin_Address\",\"https://en.bitcoin.it/wiki/List_of_address_prefixes\",\"https://github.com/lian/bitcoin-ruby\",\"https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses\",\"https://en.bitcoin.it/wiki/Address\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "bitcoin",
      "permlink": "bitcoin",
      "title": "bitcoin地址是如何生成的"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-09T04:12:57",
  "trx_id": "8e6a5809d86a7537d161f4be1593dad7a52f8f9d",
  "trx_in_block": 35,
  "virtual_op": 0
}
2018/02/28 03:05:06
idfollow
json["follow",{"follower":"liushooter","following":"sensistar","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20253940/Trx 6d8daacafe195f55ee6daa3566a91e6f5ef41170
View Raw JSON Data
{
  "block": 20253940,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"sensistar\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-28T03:05:06",
  "trx_id": "6d8daacafe195f55ee6daa3566a91e6f5ef41170",
  "trx_in_block": 3,
  "virtual_op": 0
}
2018/02/28 03:04:12
idfollow
json["follow",{"follower":"liushooter","following":"fabien","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20253922/Trx 76db6f0a103ad5ebeb64fdd443c45e027861a385
View Raw JSON Data
{
  "block": 20253922,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"fabien\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-28T03:04:12",
  "trx_id": "76db6f0a103ad5ebeb64fdd443c45e027861a385",
  "trx_in_block": 35,
  "virtual_op": 0
}
2018/02/28 03:04:09
idfollow
json["follow",{"follower":"liushooter","following":"ekitcho","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20253921/Trx 2c815568e82fd1c0b62b610e8f81510e5491cf08
View Raw JSON Data
{
  "block": 20253921,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"ekitcho\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-28T03:04:09",
  "trx_id": "2c815568e82fd1c0b62b610e8f81510e5491cf08",
  "trx_in_block": 31,
  "virtual_op": 0
}
2018/02/28 02:56:21
idfollow
json["follow",{"follower":"liushooter","following":"kalasoo","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20253765/Trx 9f0e8b5aa4576ffaa12244114c7f9b473570daa4
View Raw JSON Data
{
  "block": 20253765,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"kalasoo\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-28T02:56:21",
  "trx_id": "9f0e8b5aa4576ffaa12244114c7f9b473570daa4",
  "trx_in_block": 76,
  "virtual_op": 0
}
2018/02/28 02:56:09
idfollow
json["follow",{"follower":"liushooter","following":"kalasoo","what":[]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20253761/Trx 0fc0ca496b70570c0f0893dc42b662c46d8f662f
View Raw JSON Data
{
  "block": 20253761,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"kalasoo\",\"what\":[]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-28T02:56:09",
  "trx_id": "0fc0ca496b70570c0f0893dc42b662c46d8f662f",
  "trx_in_block": 34,
  "virtual_op": 0
}
2018/02/28 02:53:57
idfollow
json["follow",{"follower":"liushooter","following":"kimzwarch","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20253717/Trx 51433c1b39cad78c00b127702c6714e4fa136e0a
View Raw JSON Data
{
  "block": 20253717,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"kimzwarch\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-28T02:53:57",
  "trx_id": "51433c1b39cad78c00b127702c6714e4fa136e0a",
  "trx_in_block": 55,
  "virtual_op": 0
}
2018/02/28 02:35:00
idfollow
json["follow",{"follower":"liushooter","following":"kalasoo","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20253338/Trx 9a4838a8526f60e6ca61f157a74ab07653632c5c
View Raw JSON Data
{
  "block": 20253338,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"kalasoo\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-28T02:35:00",
  "trx_id": "9a4838a8526f60e6ca61f157a74ab07653632c5c",
  "trx_in_block": 36,
  "virtual_op": 0
}
liushooterupdated their account properties
2018/02/26 07:39:36
accountliushooter
json metadata{"profile":{"location":"beijing","name":"shooter","profile_image":"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg"}}
memo keySTM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P
posting{"account_auths":[["busy.app",1]],"key_auths":[["STM5WzvyD9uT3ftyhDc1j5DpcMAYsjiVRrvs2y2oJTLbcQS58k2iF",1]],"weight_threshold":1}
Transaction InfoBlock #20201994/Trx bbd2521ecf21fbb50cbd6885a6749293f35866cf
View Raw JSON Data
{
  "block": 20201994,
  "op": [
    "account_update",
    {
      "account": "liushooter",
      "json_metadata": "{\"profile\":{\"location\":\"beijing\",\"name\":\"shooter\",\"profile_image\":\"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg\"}}",
      "memo_key": "STM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P",
      "posting": {
        "account_auths": [
          [
            "busy.app",
            1
          ]
        ],
        "key_auths": [
          [
            "STM5WzvyD9uT3ftyhDc1j5DpcMAYsjiVRrvs2y2oJTLbcQS58k2iF",
            1
          ]
        ],
        "weight_threshold": 1
      }
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-26T07:39:36",
  "trx_id": "bbd2521ecf21fbb50cbd6885a6749293f35866cf",
  "trx_in_block": 30,
  "virtual_op": 0
}
2018/02/26 07:30:45
idfollow
json["follow",{"follower":"liushooter","following":"liangfengyouren","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20201817/Trx 920a87f8cfec6d699838c3a3e0d72ad9a5a5bb70
View Raw JSON Data
{
  "block": 20201817,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"liangfengyouren\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-26T07:30:45",
  "trx_id": "920a87f8cfec6d699838c3a3e0d72ad9a5a5bb70",
  "trx_in_block": 57,
  "virtual_op": 0
}
2018/02/26 07:27:51
idfollow
json["follow",{"follower":"liushooter","following":"liangfengyouren","what":["ignore"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20201759/Trx ca012378d158b975f8bf7b2c889492de5c8a23a9
View Raw JSON Data
{
  "block": 20201759,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"liangfengyouren\",\"what\":[\"ignore\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-26T07:27:51",
  "trx_id": "ca012378d158b975f8bf7b2c889492de5c8a23a9",
  "trx_in_block": 7,
  "virtual_op": 0
}
2018/02/26 07:24:27
idfollow
json["follow",{"follower":"liushooter","following":"robinwen","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20201691/Trx 4eaf4fc9ec8c420c8f740235d489b4c468940c6d
View Raw JSON Data
{
  "block": 20201691,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"robinwen\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-26T07:24:27",
  "trx_id": "4eaf4fc9ec8c420c8f740235d489b4c468940c6d",
  "trx_in_block": 11,
  "virtual_op": 0
}
2018/02/26 07:24:21
idfollow
json["follow",{"follower":"liushooter","following":"fenng","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20201689/Trx d2cb29fa67b165799ae7dcb05fe9468bd888beaa
View Raw JSON Data
{
  "block": 20201689,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"fenng\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-26T07:24:21",
  "trx_id": "d2cb29fa67b165799ae7dcb05fe9468bd888beaa",
  "trx_in_block": 24,
  "virtual_op": 0
}
2018/02/26 07:11:42
authorhealthiswealth
permlinkre-vitalik-buterin-vitalik-buterin-20170620t141123127z
voterliushooter
weight10000 (100.00%)
Transaction InfoBlock #20201436/Trx cad0942ecc95e52a286142bf05b5924a58519a3e
View Raw JSON Data
{
  "block": 20201436,
  "op": [
    "vote",
    {
      "author": "healthiswealth",
      "permlink": "re-vitalik-buterin-vitalik-buterin-20170620t141123127z",
      "voter": "liushooter",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-26T07:11:42",
  "trx_id": "cad0942ecc95e52a286142bf05b5924a58519a3e",
  "trx_in_block": 21,
  "virtual_op": 0
}
2018/02/26 06:49:18
idfollow
json["follow",{"follower":"liushooter","following":"vitalik-buterin","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20200988/Trx b475df3020b2c307cb11acda6c391f49816e6193
View Raw JSON Data
{
  "block": 20200988,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"vitalik-buterin\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-26T06:49:18",
  "trx_id": "b475df3020b2c307cb11acda6c391f49816e6193",
  "trx_in_block": 33,
  "virtual_op": 0
}
2018/02/26 06:30:54
idfollow
json["follow",{"follower":"liushooter","following":"dantheman","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20200620/Trx 80e306eabdd8fab9fba15ad9b25c5899bdcf1f77
View Raw JSON Data
{
  "block": 20200620,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"dantheman\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-26T06:30:54",
  "trx_id": "80e306eabdd8fab9fba15ad9b25c5899bdcf1f77",
  "trx_in_block": 65,
  "virtual_op": 0
}
2018/02/26 06:30:36
idfollow
json["follow",{"follower":"liushooter","following":"dan","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #20200614/Trx 3c99f03a27987c10e29e59d1045270a1925e5acc
View Raw JSON Data
{
  "block": 20200614,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"dan\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-26T06:30:36",
  "trx_id": "3c99f03a27987c10e29e59d1045270a1925e5acc",
  "trx_in_block": 12,
  "virtual_op": 0
}
cnsteemdelegated 0.000 SP to @liushooter
2018/02/17 09:00:33
delegateeliushooter
delegatorcnsteem
vesting shares0.000000 VESTS
Transaction InfoBlock #19944479/Trx da21a055971f5ec83d330425a1f59d342e0d4dc5
View Raw JSON Data
{
  "block": 19944479,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "liushooter",
      "delegator": "cnsteem",
      "vesting_shares": "0.000000 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-17T09:00:33",
  "trx_id": "da21a055971f5ec83d330425a1f59d342e0d4dc5",
  "trx_in_block": 42,
  "virtual_op": 0
}
2018/02/10 06:38:27
idfollow
json["follow",{"follower":"liushooter","following":"cryptoriddler","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #19740220/Trx d4f3a6ffb9b67dae218b9f4d62894ccc581a3118
View Raw JSON Data
{
  "block": 19740220,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"cryptoriddler\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-10T06:38:27",
  "trx_id": "d4f3a6ffb9b67dae218b9f4d62894ccc581a3118",
  "trx_in_block": 14,
  "virtual_op": 0
}
cnsteemdelegated 2.515 SP to @liushooter
2018/02/09 12:00:51
delegateeliushooter
delegatorcnsteem
vesting shares4090.276516 VESTS
Transaction InfoBlock #19717881/Trx d7933b366a419637f3c06d71f92f78ed6b77382b
View Raw JSON Data
{
  "block": 19717881,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "liushooter",
      "delegator": "cnsteem",
      "vesting_shares": "4090.276516 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T12:00:51",
  "trx_id": "d7933b366a419637f3c06d71f92f78ed6b77382b",
  "trx_in_block": 2,
  "virtual_op": 0
}
2018/02/09 11:43:09
idfollow
json["follow",{"follower":"liushooter","following":"haejin","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #19717527/Trx 189219984e668d9dda414ce0ab20994cbb5409f6
View Raw JSON Data
{
  "block": 19717527,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"haejin\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T11:43:09",
  "trx_id": "189219984e668d9dda414ce0ab20994cbb5409f6",
  "trx_in_block": 56,
  "virtual_op": 0
}
liushooterpublished a new post: bitcoin-gitian
2018/02/09 11:41:42
authorliushooter
body免责声明: 本人省略了很多细节 ### gitian 是什么 我们开发软件都希望更多的人使用,一款软件可能会兼容很多的操作平台,例如 Windows ,MacOs, 众多的Linux版本,甚至还有ARM, Bitcoin也是如此. bitcoin做为一款开源软件,有众多的贡献者,为了保证能在各个系统中能编译出安全稳定的版本, Bitcoin Core设计了 Gitian. Gitian不是一个主流的解决方案,基本就是Bitcoin Core在用. 官网: https://www.gitian.org/ 代码: https://github.com/devrandom/gitian-builder ### Gitian的原理 Gitian使用现成的虚拟化技术,模拟ubuntu系统,**在同一个系统中编译不同系统平台的软件**, 即交叉编译. 用虚拟化的系统,在一个封闭的操作系统中,重新安装bitcoin的依赖组件,重新编译, 排除安全 /软件依赖等问题, 发布一个稳定的软件. 目前Gitian支持3种虚拟化: 1. Linux的[LXC](https://segmentfault.com/a/1190000000443812)技术 如果你了解Docker, 很可能听说过LXC. 2. [QEMU](https://www.ibm.com/developerworks/cn/linux/l-qemu/index.html) 3. [Vagrant](https://www.vagrantup.com/) 重点介绍LXC. --- ### 如何在ubuntu系统上使用Gitian #### 安装依赖 `sudo apt-get install -y git apache2 apt-cacher-ng python-vm-builder ruby lxc` #### 配置网络环境 先切换成root用户 `sudo -i`, 在执行以下shell, ``` echo '#!/bin/sh -e' > /etc/rc.local echo 'brctl addbr br0' >> /etc/rc.local echo 'ifconfig br0 10.0.3.2/24 up' >> /etc/rc.local echo 'iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE' >> /etc/rc.local echo 'echo 1 > /proc/sys/net/ipv4/ip_forward' >> /etc/rc.local echo 'exit 0' >> /etc/rc.local ``` 得到的 `/etc/rc.local`内容如下: ``` #!/bin/sh -e brctl addbr br0 ifconfig br0 10.0.3.2/24 up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward exit 0 ``` 执行 `sudo /etc/rc.local`, 使之生效, **不要忘了这个步骤**. #### 下载gitian源码 ``` git clone https://github.com/devrandom/gitian-builder.git git clone https://github.com/bitcoin/bitcoin.git # 放在同一级目录下 ``` #### 下载编译bitcoin需要的类库 ``` cd gitian-builder make -C ../bitcoin/depends download SOURCES_PATH=`pwd`/cache/common #将类库下载到 cache/common ``` #### 生成个虚拟环境 ``` cd gitian-builder ./bin/make-base-vm --lxc --arch amd64 --suite trusty # 使用lxc 生成一个64位的trusty版本的ubuntu系统 # 生成 base-trusty-amd64文件 ``` #### 导入环境变量 ``` export USE_LXC=1 # gitian用哪种技术方案 export GITIAN_HOST_IP=10.0.3.2 # 宿主机IP export LXC_GUEST_IP=10.0.3.5 # 虚拟机IP export PATH="$PATH":~/gitian-builder/libexec ``` #### 编译 终于最后一步了 ``` URL=https://github.com/bitcoin/bitcoin.git #自定义变量, 编译哪个项目 COMMIT=master # 自定义变量,编译哪个分支 ./bin/gbuild --num-make 4 --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml # 注意 COMMIT URL # --num-make 4 启动4个进程 # contrib/gitian-descriptors/gitian-linux.yml 记录了如何在linux下编译 # 还有 gitian-osx.yml gitian-win.yml ``` 整个过程比较漫长, 最后在 `build/out` 得到编译的版本. 编译window版本, 就要执行gitian-win.yml, Macos亦然 ``` ./bin/gbuild --num-make 4 --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml ``` 在使用gitian编译mac平台时需要把 `MacOSX10.11.sdk` 放到目录`gitian-builder/inputs`, bitcoin core 把这个库放到了`https://bitcoincore.org/depends-sources/sdks/MacOSX10.11.sdk.tar.gz` . 发布的版本列表: ``` ├── linux │ ├── bitcoin-0.15.0-aarch64-linux-gnu-debug.tar.gz │ ├── bitcoin-0.15.0-aarch64-linux-gnu.tar.gz │ ├── bitcoin-0.15.0-arm-linux-gnueabihf-debug.tar.gz │ ├── bitcoin-0.15.0-arm-linux-gnueabihf.tar.gz │ ├── bitcoin-0.15.0-i686-pc-linux-gnu-debug.tar.gz │ ├── bitcoin-0.15.0-i686-pc-linux-gnu.tar.gz │ ├── bitcoin-0.15.0-x86_64-linux-gnu-debug.tar.gz │ ├── bitcoin-0.15.0-x86_64-linux-gnu.tar.gz │ └── src │ └── bitcoin-0.15.0.tar.gz ├── mac │ ├── bitcoin-0.15.0-osx64.tar.gz │ ├── bitcoin-0.15.0-osx-unsigned.dmg │ ├── bitcoin-0.15.0-osx-unsigned.tar.gz │ └── src │ └── bitcoin-0.15.0.tar.gz └── win ├── bitcoin-0.15.0-win32-debug.zip ├── bitcoin-0.15.0-win32-setup-unsigned.exe ├── bitcoin-0.15.0-win32.zip ├── bitcoin-0.15.0-win64-debug.zip ├── bitcoin-0.15.0-win64-setup-unsigned.exe ├── bitcoin-0.15.0-win64.zip ├── bitcoin-0.15.0-win-unsigned.tar.gz └── src └── bitcoin-0.15.0.tar.gz ``` PS: 有的做法是先在物理机安装个 [virtualbox](https://www.virtualbox.org/) , 先虚拟个Debian8, 在Debian8里执行gitian, 这么做太麻烦了. 略过不表 --- 参考: https://www.ibm.com/developerworks/cn/linux/l-lxc-containers/ https://linuxcontainers.org/ https://segmentfault.com/a/1190000000264347 https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md bitcoin发布流程 https://github.com/bitcoin-core/docs/blob/master/gitian-building.md 创建Gitian环境
json metadata{"tags":["bitcoin","gitian"],"links":["https://www.gitian.org/","https://github.com/devrandom/gitian-builder","https://segmentfault.com/a/1190000000443812","https://www.ibm.com/developerworks/cn/linux/l-qemu/index.html","https://www.vagrantup.com/","https://www.virtualbox.org/","https://www.ibm.com/developerworks/cn/linux/l-lxc-containers/","https://linuxcontainers.org/","https://segmentfault.com/a/1190000000264347","https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md","https://github.com/bitcoin-core/docs/blob/master/gitian-building.md"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkbitcoin
permlinkbitcoin-gitian
titlebitcoin: 使用gitian编译并发布
Transaction InfoBlock #19717498/Trx 3d091565641fd67a1a0ac4d12fdc2ea490302adc
View Raw JSON Data
{
  "block": 19717498,
  "op": [
    "comment",
    {
      "author": "liushooter",
      "body": "免责声明:  本人省略了很多细节\n\n### gitian 是什么\n\n我们开发软件都希望更多的人使用,一款软件可能会兼容很多的操作平台,例如 Windows ,MacOs, 众多的Linux版本,甚至还有ARM, Bitcoin也是如此.\nbitcoin做为一款开源软件,有众多的贡献者,为了保证能在各个系统中能编译出安全稳定的版本, Bitcoin Core设计了 Gitian.\nGitian不是一个主流的解决方案,基本就是Bitcoin Core在用.\n\n官网:  https://www.gitian.org/\n代码:  https://github.com/devrandom/gitian-builder\n\n### Gitian的原理\nGitian使用现成的虚拟化技术,模拟ubuntu系统,**在同一个系统中编译不同系统平台的软件**, 即交叉编译.\n用虚拟化的系统,在一个封闭的操作系统中,重新安装bitcoin的依赖组件,重新编译, 排除安全 /软件依赖等问题, 发布一个稳定的软件.  目前Gitian支持3种虚拟化:\n\n1. Linux的[LXC](https://segmentfault.com/a/1190000000443812)技术\n   如果你了解Docker, 很可能听说过LXC.\n\n2. [QEMU](https://www.ibm.com/developerworks/cn/linux/l-qemu/index.html)\n\n3. [Vagrant](https://www.vagrantup.com/)\n\n重点介绍LXC.\n\n---\n\n### 如何在ubuntu系统上使用Gitian\n\n#### 安装依赖\n\n`sudo apt-get install -y git apache2 apt-cacher-ng python-vm-builder ruby lxc`\n\n#### 配置网络环境\n\n先切换成root用户 `sudo -i`, 在执行以下shell,\n\n```\necho '#!/bin/sh -e' > /etc/rc.local\necho 'brctl addbr br0' >> /etc/rc.local\necho 'ifconfig br0 10.0.3.2/24 up' >> /etc/rc.local\necho 'iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE' >> /etc/rc.local\necho 'echo 1 > /proc/sys/net/ipv4/ip_forward' >> /etc/rc.local\necho 'exit 0' >> /etc/rc.local\n```\n\n得到的 `/etc/rc.local`内容如下:\n\n```\n#!/bin/sh -e\nbrctl addbr br0\nifconfig br0 10.0.3.2/24 up\niptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\necho 1 > /proc/sys/net/ipv4/ip_forward\n\nexit 0\n```\n\n执行 `sudo /etc/rc.local`, 使之生效, **不要忘了这个步骤**.\n\n#### 下载gitian源码\n\n```\ngit clone https://github.com/devrandom/gitian-builder.git\ngit clone https://github.com/bitcoin/bitcoin.git\n# 放在同一级目录下 \n```\n\n#### 下载编译bitcoin需要的类库\n\n```\ncd gitian-builder\nmake -C ../bitcoin/depends download SOURCES_PATH=`pwd`/cache/common #将类库下载到 cache/common\n```\n\n#### 生成个虚拟环境\n\n```\ncd gitian-builder\n\n./bin/make-base-vm --lxc --arch amd64 --suite trusty\n# 使用lxc 生成一个64位的trusty版本的ubuntu系统\n# 生成 base-trusty-amd64文件\n```\n\n#### 导入环境变量\n\n```\nexport USE_LXC=1 # gitian用哪种技术方案\nexport GITIAN_HOST_IP=10.0.3.2 # 宿主机IP\nexport LXC_GUEST_IP=10.0.3.5 # 虚拟机IP\n\nexport PATH=\"$PATH\":~/gitian-builder/libexec\n```\n\n#### 编译 终于最后一步了\n\n```\nURL=https://github.com/bitcoin/bitcoin.git #自定义变量, 编译哪个项目\nCOMMIT=master # 自定义变量,编译哪个分支\n\n./bin/gbuild --num-make 4 --commit bitcoin=${COMMIT} --url bitcoin=${URL}    ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml\n\n# 注意 COMMIT URL\n# --num-make 4 启动4个进程\n# contrib/gitian-descriptors/gitian-linux.yml 记录了如何在linux下编译\n# 还有 gitian-osx.yml gitian-win.yml\n```\n\n整个过程比较漫长, 最后在 `build/out` 得到编译的版本.\n\n编译window版本, 就要执行gitian-win.yml, Macos亦然\n\n```\n./bin/gbuild --num-make 4 --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml\n```\n\n在使用gitian编译mac平台时需要把 `MacOSX10.11.sdk` 放到目录`gitian-builder/inputs`, bitcoin core 把这个库放到了`https://bitcoincore.org/depends-sources/sdks/MacOSX10.11.sdk.tar.gz` .\n\n发布的版本列表:\n\n```\n├── linux\n│   ├── bitcoin-0.15.0-aarch64-linux-gnu-debug.tar.gz\n│   ├── bitcoin-0.15.0-aarch64-linux-gnu.tar.gz\n│   ├── bitcoin-0.15.0-arm-linux-gnueabihf-debug.tar.gz\n│   ├── bitcoin-0.15.0-arm-linux-gnueabihf.tar.gz\n│   ├── bitcoin-0.15.0-i686-pc-linux-gnu-debug.tar.gz\n│   ├── bitcoin-0.15.0-i686-pc-linux-gnu.tar.gz\n│   ├── bitcoin-0.15.0-x86_64-linux-gnu-debug.tar.gz\n│   ├── bitcoin-0.15.0-x86_64-linux-gnu.tar.gz\n│   └── src\n│       └── bitcoin-0.15.0.tar.gz\n├── mac\n│   ├── bitcoin-0.15.0-osx64.tar.gz\n│   ├── bitcoin-0.15.0-osx-unsigned.dmg\n│   ├── bitcoin-0.15.0-osx-unsigned.tar.gz\n│   └── src\n│       └── bitcoin-0.15.0.tar.gz\n└── win\n    ├── bitcoin-0.15.0-win32-debug.zip\n    ├── bitcoin-0.15.0-win32-setup-unsigned.exe\n    ├── bitcoin-0.15.0-win32.zip\n    ├── bitcoin-0.15.0-win64-debug.zip\n    ├── bitcoin-0.15.0-win64-setup-unsigned.exe\n    ├── bitcoin-0.15.0-win64.zip\n    ├── bitcoin-0.15.0-win-unsigned.tar.gz\n    └── src\n        └── bitcoin-0.15.0.tar.gz\n```\n\nPS: 有的做法是先在物理机安装个 [virtualbox](https://www.virtualbox.org/) , 先虚拟个Debian8, 在Debian8里执行gitian, 这么做太麻烦了. 略过不表\n\n---\n\n参考:\n\nhttps://www.ibm.com/developerworks/cn/linux/l-lxc-containers/\nhttps://linuxcontainers.org/\nhttps://segmentfault.com/a/1190000000264347\n\nhttps://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md   bitcoin发布流程\nhttps://github.com/bitcoin-core/docs/blob/master/gitian-building.md  创建Gitian环境",
      "json_metadata": "{\"tags\":[\"bitcoin\",\"gitian\"],\"links\":[\"https://www.gitian.org/\",\"https://github.com/devrandom/gitian-builder\",\"https://segmentfault.com/a/1190000000443812\",\"https://www.ibm.com/developerworks/cn/linux/l-qemu/index.html\",\"https://www.vagrantup.com/\",\"https://www.virtualbox.org/\",\"https://www.ibm.com/developerworks/cn/linux/l-lxc-containers/\",\"https://linuxcontainers.org/\",\"https://segmentfault.com/a/1190000000264347\",\"https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md\",\"https://github.com/bitcoin-core/docs/blob/master/gitian-building.md\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "bitcoin",
      "permlink": "bitcoin-gitian",
      "title": "bitcoin: 使用gitian编译并发布"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T11:41:42",
  "trx_id": "3d091565641fd67a1a0ac4d12fdc2ea490302adc",
  "trx_in_block": 42,
  "virtual_op": 0
}
liushooterupdated their account properties
2018/02/09 11:32:03
accountliushooter
json metadata{"profile":{"location":"beijing","name":"shooter","profile_image":"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg"}}
memo keySTM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P
Transaction InfoBlock #19717305/Trx 5c6a3413a268727b25f45a203f4ada77ffca0765
View Raw JSON Data
{
  "block": 19717305,
  "op": [
    "account_update",
    {
      "account": "liushooter",
      "json_metadata": "{\"profile\":{\"location\":\"beijing\",\"name\":\"shooter\",\"profile_image\":\"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg\"}}",
      "memo_key": "STM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T11:32:03",
  "trx_id": "5c6a3413a268727b25f45a203f4ada77ffca0765",
  "trx_in_block": 22,
  "virtual_op": 0
}
liushooterupdated their account properties
2018/02/09 10:29:39
accountliushooter
json metadata{"profile":{"location":"beijing","name":"shooter"}}
memo keySTM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P
Transaction InfoBlock #19716057/Trx 3590b0381516ce223126a08591abb73c53eb102f
View Raw JSON Data
{
  "block": 19716057,
  "op": [
    "account_update",
    {
      "account": "liushooter",
      "json_metadata": "{\"profile\":{\"location\":\"beijing\",\"name\":\"shooter\"}}",
      "memo_key": "STM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T10:29:39",
  "trx_id": "3590b0381516ce223126a08591abb73c53eb102f",
  "trx_in_block": 48,
  "virtual_op": 0
}
liushooterupdated their account properties
2018/02/09 10:28:27
accountliushooter
json metadata{"profile":{"location":"beijing"}}
memo keySTM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P
Transaction InfoBlock #19716033/Trx 8e4d8bedb89ec0346bdbe57343f817efe68d137f
View Raw JSON Data
{
  "block": 19716033,
  "op": [
    "account_update",
    {
      "account": "liushooter",
      "json_metadata": "{\"profile\":{\"location\":\"beijing\"}}",
      "memo_key": "STM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T10:28:27",
  "trx_id": "8e4d8bedb89ec0346bdbe57343f817efe68d137f",
  "trx_in_block": 4,
  "virtual_op": 0
}
2018/02/09 10:27:33
idfollow
json["follow",{"follower":"liushooter","following":"freeza","what":["blog"]}]
required auths[]
required posting auths["liushooter"]
Transaction InfoBlock #19716015/Trx 66df6d84e31ee14885d0d076b95934857931c040
View Raw JSON Data
{
  "block": 19716015,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"liushooter\",\"following\":\"freeza\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "liushooter"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T10:27:33",
  "trx_id": "66df6d84e31ee14885d0d076b95934857931c040",
  "trx_in_block": 3,
  "virtual_op": 0
}
liushooterupdated their account properties
2018/02/09 10:19:03
accountliushooter
active{"account_auths":[],"key_auths":[["STM52fVA6xsL9fWzKVrhiuw5xzpjCYWmtP2xufyRazZNcRZKwPEBt",1]],"weight_threshold":1}
json metadata
memo keySTM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P
owner{"account_auths":[],"key_auths":[["STM7AJqnguXtNuQ5Q3TebcPmSh7NrmVZd2DAQLZ5BVuxKGvcEWM37",1]],"weight_threshold":1}
posting{"account_auths":[],"key_auths":[["STM5WzvyD9uT3ftyhDc1j5DpcMAYsjiVRrvs2y2oJTLbcQS58k2iF",1]],"weight_threshold":1}
Transaction InfoBlock #19715845/Trx 5eb9cf56dec83a3cd13418e991c2f8fbe1d314fa
View Raw JSON Data
{
  "block": 19715845,
  "op": [
    "account_update",
    {
      "account": "liushooter",
      "active": {
        "account_auths": [],
        "key_auths": [
          [
            "STM52fVA6xsL9fWzKVrhiuw5xzpjCYWmtP2xufyRazZNcRZKwPEBt",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "json_metadata": "",
      "memo_key": "STM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P",
      "owner": {
        "account_auths": [],
        "key_auths": [
          [
            "STM7AJqnguXtNuQ5Q3TebcPmSh7NrmVZd2DAQLZ5BVuxKGvcEWM37",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "posting": {
        "account_auths": [],
        "key_auths": [
          [
            "STM5WzvyD9uT3ftyhDc1j5DpcMAYsjiVRrvs2y2oJTLbcQS58k2iF",
            1
          ]
        ],
        "weight_threshold": 1
      }
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T10:19:03",
  "trx_id": "5eb9cf56dec83a3cd13418e991c2f8fbe1d314fa",
  "trx_in_block": 14,
  "virtual_op": 0
}
cnsteemcreated a new account: @liushooter
2018/02/09 08:24:12
active{"account_auths":[],"key_auths":[["STM7AHbZAqrwJaq1XWBKxdNwEc1aNeSMp1bik7q4xpkUCqDeTDpzQ",1]],"weight_threshold":1}
creatorcnsteem
delegation28633.157040 VESTS
extensions[]
fee0.200 STEEM
json metadata
memo keySTM6pNRzveVCaUSL37g2WxEomJfE3fA2oDs8QabJutiK5wyD2cNTM
new account nameliushooter
owner{"account_auths":[],"key_auths":[["STM8iACrEyRy5AuMZG8o9kGSpRNBooVSs659hbhTUdVkaLTRKwtRC",1]],"weight_threshold":1}
posting{"account_auths":[],"key_auths":[["STM4wuPFNyDoxykcXP8PrfJyxkJ8sHR5H7YsVXabC3KctuUcD1aCX",1]],"weight_threshold":1}
Transaction InfoBlock #19713548/Trx 609dd66a595b45c63bd448f2653b9defcadbed10
View Raw JSON Data
{
  "block": 19713548,
  "op": [
    "account_create_with_delegation",
    {
      "active": {
        "account_auths": [],
        "key_auths": [
          [
            "STM7AHbZAqrwJaq1XWBKxdNwEc1aNeSMp1bik7q4xpkUCqDeTDpzQ",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "creator": "cnsteem",
      "delegation": "28633.157040 VESTS",
      "extensions": [],
      "fee": "0.200 STEEM",
      "json_metadata": "",
      "memo_key": "STM6pNRzveVCaUSL37g2WxEomJfE3fA2oDs8QabJutiK5wyD2cNTM",
      "new_account_name": "liushooter",
      "owner": {
        "account_auths": [],
        "key_auths": [
          [
            "STM8iACrEyRy5AuMZG8o9kGSpRNBooVSs659hbhTUdVkaLTRKwtRC",
            1
          ]
        ],
        "weight_threshold": 1
      },
      "posting": {
        "account_auths": [],
        "key_auths": [
          [
            "STM4wuPFNyDoxykcXP8PrfJyxkJ8sHR5H7YsVXabC3KctuUcD1aCX",
            1
          ]
        ],
        "weight_threshold": 1
      }
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-02-09T08:24:12",
  "trx_id": "609dd66a595b45c63bd448f2653b9defcadbed10",
  "trx_in_block": 39,
  "virtual_op": 0
}

Account Metadata

POSTING JSON METADATA
profile{"location":"beijing","name":"shooter","profile_image":"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg"}
JSON METADATA
profile{"location":"beijing","name":"shooter","profile_image":"https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg"}
{
  "posting_json_metadata": {
    "profile": {
      "location": "beijing",
      "name": "shooter",
      "profile_image": "https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg"
    }
  },
  "json_metadata": {
    "profile": {
      "location": "beijing",
      "name": "shooter",
      "profile_image": "https://upload.jianshu.io/users/upload_avatars/47789/d1b82be1-b0c1-4ae1-a77e-197bf2b7a999.jpg"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM7AJqnguXtNuQ5Q3TebcPmSh7NrmVZd2DAQLZ5BVuxKGvcEWM371/1
Active
Single Signature
Public Keys
STM52fVA6xsL9fWzKVrhiuw5xzpjCYWmtP2xufyRazZNcRZKwPEBt1/1
Posting
Single Signature
Public Keys
STM5WzvyD9uT3ftyhDc1j5DpcMAYsjiVRrvs2y2oJTLbcQS58k2iF1/1
App Permissions
Memo
STM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P
{
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM7AJqnguXtNuQ5Q3TebcPmSh7NrmVZd2DAQLZ5BVuxKGvcEWM37",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM52fVA6xsL9fWzKVrhiuw5xzpjCYWmtP2xufyRazZNcRZKwPEBt",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting": {
    "account_auths": [
      [
        "busy.app",
        1
      ],
      [
        "dtube.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM5WzvyD9uT3ftyhDc1j5DpcMAYsjiVRrvs2y2oJTLbcQS58k2iF",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "memo": "STM7EgWkaTSDjDDCj55exwaUH9kuJdNezsW8CWaL2uwPcCNAExP7P"
}

Witness Votes

0 / 30
No active witness votes.
[]