VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS30.26%
Net Worth
1.913USD
STEEM
0.001STEEM
SBD
3.810SBD
Effective Power
5.001SP
├── Own SP
0.630SP
└── Incoming DelegationsDeleg
+4.371SP
Detailed Balance
| STEEM | ||
| balance | 0.001STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.630SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.371SP | SP |
| Effective Power | 5.001SP | SP |
| Reward SP (pending) | 0.972SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 3.810SBD | SBD |
{
"balance": "0.001 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "1025.450100 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7118.209706 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "3.810 SBD",
"conversions": []
}Account Info
| name | fblife |
| id | 496999 |
| rank | 647,819 |
| reputation | 18023868529 |
| created | 2017-12-15T03:03:48 |
| recovery_account | steem |
| proxy | None |
| post_count | 99 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-04-16T03:16:30 |
| last_root_post | 2018-04-16T03:16:30 |
| last_vote_time | 2018-01-12T10:05:24 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.001 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 1025.450100 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7118.209706 VESTS |
| reward_vesting_balance | 1991.022527 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-01-10T05:24:09 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 496999,
"name": "fblife",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM84nPXmCeVRvtnxYkQXDv1XiuYDR1bvmp6zTMKEbQEFQYNYMyEi",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM58WzpKpLLfBQA2d4XiuQteB2saM8ctwnHu9ini6JJMo9F3QKQB",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5FTSTMnC5ZTa43gvncWFkJqJ7qkUWYd9zLqtEWwWxuupGWEFbp",
1
]
]
},
"memo_key": "STM5vMnNuqUu3q8KSWzRbRxi3VdnhZKRqq3z3xKNyAkrTtEM8tiAV",
"json_metadata": "{\"profile\":{\"profile_image\":\"http://img4.fblife.com/FrhbImrEFLk8cWueohD6DBn-fvwB?imageView2/2/w/728/q/100\",\"about\":\"steemitcn.com - Steemit中国,致力于打造国内steemiter交流的社区。\",\"location\":\"beijing\",\"website\":\"http://www.steemitcn.com\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"http://img4.fblife.com/FrhbImrEFLk8cWueohD6DBn-fvwB?imageView2/2/w/728/q/100\",\"about\":\"steemitcn.com - Steemit中国,致力于打造国内steemiter交流的社区。\",\"location\":\"beijing\",\"website\":\"http://www.steemitcn.com\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2018-01-10T05:24:09",
"created": "2017-12-15T03:03:48",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 99,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779063306
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779063306
},
"voting_power": 0,
"balance": "0.001 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "1970-01-01T00:00:00",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "3.810 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "1991.022527 VESTS",
"reward_vesting_steem": "0.972 STEEM",
"vesting_shares": "1025.450100 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7118.209706 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 5,
"posting_rewards": 1910,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2018-04-16T03:16:30",
"last_root_post": "2018-04-16T03:16:30",
"last_vote_time": "2018-01-12T10:05:24",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": "18023868529",
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 647819
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2026/05/18 00:15:06
2026/05/18 00:15:06
| delegator | steem |
| delegatee | fblife |
| vesting shares | 7118.209706 VESTS |
| Transaction Info | Block #106143448/Trx 51f45f724da320bcf6137ed15bda1bbac473c090 |
View Raw JSON Data
{
"trx_id": "51f45f724da320bcf6137ed15bda1bbac473c090",
"block": 106143448,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-18T00:15:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "7118.209706 VESTS"
}
]
}2026/05/12 03:50:21
2026/05/12 03:50:21
| delegator | steem |
| delegatee | fblife |
| vesting shares | 4405.999301 VESTS |
| Transaction Info | Block #105975709/Trx 41b3a8f6b27c30d23b9596f5c9df7e1d1bbe0fd0 |
View Raw JSON Data
{
"trx_id": "41b3a8f6b27c30d23b9596f5c9df7e1d1bbe0fd0",
"block": 105975709,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-12T03:50:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "4405.999301 VESTS"
}
]
}2026/04/25 23:36:00
2026/04/25 23:36:00
| delegator | steem |
| delegatee | fblife |
| vesting shares | 7130.725462 VESTS |
| Transaction Info | Block #105511098/Trx e0b04fc72c2e455d37f7a38f1cc227f37f410865 |
View Raw JSON Data
{
"trx_id": "e0b04fc72c2e455d37f7a38f1cc227f37f410865",
"block": 105511098,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-25T23:36:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "7130.725462 VESTS"
}
]
}2026/01/23 07:47:45
2026/01/23 07:47:45
| delegator | steem |
| delegatee | fblife |
| vesting shares | 4447.546120 VESTS |
| Transaction Info | Block #102851802/Trx f802551a43269ea482bbfc3af7e6106c111b00ec |
View Raw JSON Data
{
"trx_id": "f802551a43269ea482bbfc3af7e6106c111b00ec",
"block": 102851802,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-23T07:47:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "4447.546120 VESTS"
}
]
}2024/12/17 03:06:51
2024/12/17 03:06:51
| delegator | steem |
| delegatee | fblife |
| vesting shares | 4611.765317 VESTS |
| Transaction Info | Block #91298211/Trx 2853954186d097894529e2ea0138172354803611 |
View Raw JSON Data
{
"trx_id": "2853954186d097894529e2ea0138172354803611",
"block": 91298211,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-17T03:06:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "4611.765317 VESTS"
}
]
}2023/11/13 18:49:39
2023/11/13 18:49:39
| delegator | steem |
| delegatee | fblife |
| vesting shares | 4780.898849 VESTS |
| Transaction Info | Block #79852412/Trx 6f58de69b86738c8c91659084f64e0461b1ec6bb |
View Raw JSON Data
{
"trx_id": "6f58de69b86738c8c91659084f64e0461b1ec6bb",
"block": 79852412,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-13T18:49:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "4780.898849 VESTS"
}
]
}2023/09/21 21:49:30
2023/09/21 21:49:30
| delegator | steem |
| delegatee | fblife |
| vesting shares | 7718.177635 VESTS |
| Transaction Info | Block #78347821/Trx c821db33c186df0abf7b464343347f07e8ad1c47 |
View Raw JSON Data
{
"trx_id": "c821db33c186df0abf7b464343347f07e8ad1c47",
"block": 78347821,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-21T21:49:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "7718.177635 VESTS"
}
]
}2022/11/08 11:52:30
2022/11/08 11:52:30
| voter | ldsn001 |
| author | fblife |
| permlink | 4uslux |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69256777/Trx 2ed3f3bdbffaecf9d28c5cccd41269e62144606b |
View Raw JSON Data
{
"trx_id": "2ed3f3bdbffaecf9d28c5cccd41269e62144606b",
"block": 69256777,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-08T11:52:30",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "4uslux",
"weight": 5000
}
]
}ldsn001upvoted (50.00%) @fblife / go-ethereum2022/11/08 08:46:36
ldsn001upvoted (50.00%) @fblife / go-ethereum
2022/11/08 08:46:36
| voter | ldsn001 |
| author | fblife |
| permlink | go-ethereum |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69253096/Trx d7a2b5e0e8d052b122f8534471d71592e863a41d |
View Raw JSON Data
{
"trx_id": "d7a2b5e0e8d052b122f8534471d71592e863a41d",
"block": 69253096,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-08T08:46:36",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "go-ethereum",
"weight": 5000
}
]
}2022/11/08 04:56:18
2022/11/08 04:56:18
| voter | ldsn001 |
| author | fblife |
| permlink | 4ukgc3 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69248540/Trx 6574332112d83f5e8a78ac25e6e0ad2fe8d260b8 |
View Raw JSON Data
{
"trx_id": "6574332112d83f5e8a78ac25e6e0ad2fe8d260b8",
"block": 69248540,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-08T04:56:18",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "4ukgc3",
"weight": 5000
}
]
}2022/11/06 23:44:45
2022/11/06 23:44:45
| voter | ldsn001 |
| author | fblife |
| permlink | elf |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69213659/Trx 73b38c17b49104cec34affec5126a40f14611559 |
View Raw JSON Data
{
"trx_id": "73b38c17b49104cec34affec5126a40f14611559",
"block": 69213659,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-06T23:44:45",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "elf",
"weight": 5000
}
]
}2022/11/06 17:25:57
2022/11/06 17:25:57
| voter | ldsn001 |
| author | fblife |
| permlink | 4i9tj1 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69206117/Trx 282eb4d93745af3a208ae3dd305b2e0285b17db2 |
View Raw JSON Data
{
"trx_id": "282eb4d93745af3a208ae3dd305b2e0285b17db2",
"block": 69206117,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-06T17:25:57",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "4i9tj1",
"weight": 5000
}
]
}ldsn001upvoted (50.00%) @fblife / u3pza-20182022/11/06 13:22:57
ldsn001upvoted (50.00%) @fblife / u3pza-2018
2022/11/06 13:22:57
| voter | ldsn001 |
| author | fblife |
| permlink | u3pza-2018 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69201281/Trx 48441d6d3557682b13469a65ea22c71a4d4e333e |
View Raw JSON Data
{
"trx_id": "48441d6d3557682b13469a65ea22c71a4d4e333e",
"block": 69201281,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-06T13:22:57",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "u3pza-2018",
"weight": 5000
}
]
}ldsn001upvoted (50.00%) @fblife / hygnt-20182022/11/06 08:51:54
ldsn001upvoted (50.00%) @fblife / hygnt-2018
2022/11/06 08:51:54
| voter | ldsn001 |
| author | fblife |
| permlink | hygnt-2018 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69195883/Trx a1e8f85b19ac3f31cd94912202e5a227bcd3ba25 |
View Raw JSON Data
{
"trx_id": "a1e8f85b19ac3f31cd94912202e5a227bcd3ba25",
"block": 69195883,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-06T08:51:54",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "hygnt-2018",
"weight": 5000
}
]
}2022/11/06 05:00:27
2022/11/06 05:00:27
| voter | ldsn001 |
| author | fblife |
| permlink | 2018-pro |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69191274/Trx ea5e1666edba558fd76337e13f008c266f47662a |
View Raw JSON Data
{
"trx_id": "ea5e1666edba558fd76337e13f008c266f47662a",
"block": 69191274,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-06T05:00:27",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "2018-pro",
"weight": 5000
}
]
}2022/11/06 00:39:15
2022/11/06 00:39:15
| voter | ldsn001 |
| author | fblife |
| permlink | 4fse4y |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69186070/Trx 1710cbfc2d20617a526f4f29cb31144bc19ecc0d |
View Raw JSON Data
{
"trx_id": "1710cbfc2d20617a526f4f29cb31144bc19ecc0d",
"block": 69186070,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-06T00:39:15",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "4fse4y",
"weight": 5000
}
]
}2022/11/05 21:47:00
2022/11/05 21:47:00
| voter | ldsn001 |
| author | fblife |
| permlink | 3fqfwg |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69182636/Trx 5f6e34856deddf3b2b18b7ec3c0c13f78e108f4d |
View Raw JSON Data
{
"trx_id": "5f6e34856deddf3b2b18b7ec3c0c13f78e108f4d",
"block": 69182636,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T21:47:00",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "3fqfwg",
"weight": 5000
}
]
}ldsn001upvoted (50.00%) @fblife / 6tzzmx-steemitcn-com2022/11/05 21:46:24
ldsn001upvoted (50.00%) @fblife / 6tzzmx-steemitcn-com
2022/11/05 21:46:24
| voter | ldsn001 |
| author | fblife |
| permlink | 6tzzmx-steemitcn-com |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69182624/Trx 37907a9738c16ec1d02073526a8a41a6f1d21ff6 |
View Raw JSON Data
{
"trx_id": "37907a9738c16ec1d02073526a8a41a6f1d21ff6",
"block": 69182624,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T21:46:24",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "6tzzmx-steemitcn-com",
"weight": 5000
}
]
}ldsn001upvoted (50.00%) @fblife / 5qdapj-20182022/11/05 20:56:57
ldsn001upvoted (50.00%) @fblife / 5qdapj-2018
2022/11/05 20:56:57
| voter | ldsn001 |
| author | fblife |
| permlink | 5qdapj-2018 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69181641/Trx b3f5a6344b6e8b1a68c42def8bcbddff98cc091c |
View Raw JSON Data
{
"trx_id": "b3f5a6344b6e8b1a68c42def8bcbddff98cc091c",
"block": 69181641,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T20:56:57",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "5qdapj-2018",
"weight": 5000
}
]
}ldsn001upvoted (50.00%) @fblife / steemitcn-com2022/11/05 19:58:18
ldsn001upvoted (50.00%) @fblife / steemitcn-com
2022/11/05 19:58:18
| voter | ldsn001 |
| author | fblife |
| permlink | steemitcn-com |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69180474/Trx 5753b76b0bba3685eb8e69a06dbc365a4a9d7ab6 |
View Raw JSON Data
{
"trx_id": "5753b76b0bba3685eb8e69a06dbc365a4a9d7ab6",
"block": 69180474,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T19:58:18",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "steemitcn-com",
"weight": 5000
}
]
}2022/11/05 19:45:15
2022/11/05 19:45:15
| voter | ldsn001 |
| author | fblife |
| permlink | 5axlqs |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69180214/Trx 65e62e657ebe6d7a89c609260969af62623e116b |
View Raw JSON Data
{
"trx_id": "65e62e657ebe6d7a89c609260969af62623e116b",
"block": 69180214,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T19:45:15",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "5axlqs",
"weight": 5000
}
]
}ldsn001upvoted (50.00%) @fblife / dbxes-20182022/11/05 19:17:24
ldsn001upvoted (50.00%) @fblife / dbxes-2018
2022/11/05 19:17:24
| voter | ldsn001 |
| author | fblife |
| permlink | dbxes-2018 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69179659/Trx 0e4999d74af9f95b94550ecabf5376c1f6971e10 |
View Raw JSON Data
{
"trx_id": "0e4999d74af9f95b94550ecabf5376c1f6971e10",
"block": 69179659,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T19:17:24",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "dbxes-2018",
"weight": 5000
}
]
}ldsn001upvoted (50.00%) @fblife / 4prhgw-20182022/11/05 19:13:42
ldsn001upvoted (50.00%) @fblife / 4prhgw-2018
2022/11/05 19:13:42
| voter | ldsn001 |
| author | fblife |
| permlink | 4prhgw-2018 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69179585/Trx 70e588d73df97d51a5d75d28871b8ffbd92e5ba4 |
View Raw JSON Data
{
"trx_id": "70e588d73df97d51a5d75d28871b8ffbd92e5ba4",
"block": 69179585,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T19:13:42",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "4prhgw-2018",
"weight": 5000
}
]
}2022/11/05 17:47:48
2022/11/05 17:47:48
| voter | ldsn001 |
| author | fblife |
| permlink | 23tkqa |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69177879/Trx d4650de6c0124ff9d62455f4abe773a93aa0eb0e |
View Raw JSON Data
{
"trx_id": "d4650de6c0124ff9d62455f4abe773a93aa0eb0e",
"block": 69177879,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T17:47:48",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "23tkqa",
"weight": 5000
}
]
}2022/11/05 17:06:36
2022/11/05 17:06:36
| voter | ldsn001 |
| author | fblife |
| permlink | 2017-2018 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69177058/Trx 705879fdca8108600877758d83e5bc951e397f99 |
View Raw JSON Data
{
"trx_id": "705879fdca8108600877758d83e5bc951e397f99",
"block": 69177058,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T17:06:36",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "2017-2018",
"weight": 5000
}
]
}2022/11/05 16:43:45
2022/11/05 16:43:45
| voter | ldsn001 |
| author | fblife |
| permlink | 7 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69176603/Trx bc6af72791d5dbe3056ea7f7bc90a439e77e40b9 |
View Raw JSON Data
{
"trx_id": "bc6af72791d5dbe3056ea7f7bc90a439e77e40b9",
"block": 69176603,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T16:43:45",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "7",
"weight": 5000
}
]
}ldsn001upvoted (50.00%) @fblife / rrcoin-19-632022/11/05 16:43:33
ldsn001upvoted (50.00%) @fblife / rrcoin-19-63
2022/11/05 16:43:33
| voter | ldsn001 |
| author | fblife |
| permlink | rrcoin-19-63 |
| weight | 5000 (50.00%) |
| Transaction Info | Block #69176599/Trx 9ef1187dbfb381a32468b8297182a48ddcc453d4 |
View Raw JSON Data
{
"trx_id": "9ef1187dbfb381a32468b8297182a48ddcc453d4",
"block": 69176599,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-05T16:43:33",
"op": [
"vote",
{
"voter": "ldsn001",
"author": "fblife",
"permlink": "rrcoin-19-63",
"weight": 5000
}
]
}2022/11/03 11:37:24
2022/11/03 11:37:24
| delegator | steem |
| delegatee | fblife |
| vesting shares | 7939.859073 VESTS |
| Transaction Info | Block #69113164/Trx 850d972d8e815637c30c11aa4f96596eb7d4c7c9 |
View Raw JSON Data
{
"trx_id": "850d972d8e815637c30c11aa4f96596eb7d4c7c9",
"block": 69113164,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T11:37:24",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "7939.859073 VESTS"
}
]
}2022/01/17 10:53:39
2022/01/17 10:53:39
| delegator | steem |
| delegatee | fblife |
| vesting shares | 8160.392304 VESTS |
| Transaction Info | Block #60809337/Trx dd9538795c5965d49fc0cb5d64d5fd1a62387f94 |
View Raw JSON Data
{
"trx_id": "dd9538795c5965d49fc0cb5d64d5fd1a62387f94",
"block": 60809337,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-17T10:53:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "8160.392304 VESTS"
}
]
}2021/06/14 00:49:03
2021/06/14 00:49:03
| delegator | steem |
| delegatee | fblife |
| vesting shares | 8344.160962 VESTS |
| Transaction Info | Block #54607728/Trx 38dfacdcfe16c62c3742c5fbf28f7103f2b411cd |
View Raw JSON Data
{
"trx_id": "38dfacdcfe16c62c3742c5fbf28f7103f2b411cd",
"block": 54607728,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-14T00:49:03",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "8344.160962 VESTS"
}
]
}2020/12/11 11:07:39
2020/12/11 11:07:39
| delegator | steem |
| delegatee | fblife |
| vesting shares | 8531.582936 VESTS |
| Transaction Info | Block #49355182/Trx cfd43d903befb1d68a1490a984a3833690af61f8 |
View Raw JSON Data
{
"trx_id": "cfd43d903befb1d68a1490a984a3833690af61f8",
"block": 49355182,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T11:07:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "8531.582936 VESTS"
}
]
}2020/12/06 04:45:00
2020/12/06 04:45:00
| delegator | steem |
| delegatee | fblife |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49206750/Trx be110e28b9de9d2f2bd9a47989f4422a02882392 |
View Raw JSON Data
{
"trx_id": "be110e28b9de9d2f2bd9a47989f4422a02882392",
"block": 49206750,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T04:45:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "1912.543513 VESTS"
}
]
}2020/12/05 14:45:51
2020/12/05 14:45:51
| delegator | steem |
| delegatee | fblife |
| vesting shares | 8537.790790 VESTS |
| Transaction Info | Block #49190280/Trx cc2fae2c0a5f28867fa586886f0c8dcda27e0019 |
View Raw JSON Data
{
"trx_id": "cc2fae2c0a5f28867fa586886f0c8dcda27e0019",
"block": 49190280,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-05T14:45:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "8537.790790 VESTS"
}
]
}2020/11/02 15:39:12
2020/11/02 15:39:12
| delegator | steem |
| delegatee | fblife |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48257817/Trx b02aba5137b886984e59f573e83922e203cb421b |
View Raw JSON Data
{
"trx_id": "b02aba5137b886984e59f573e83922e203cb421b",
"block": 48257817,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-02T15:39:12",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "1920.017158 VESTS"
}
]
}2020/05/09 05:42:15
2020/05/09 05:42:15
| delegator | steem |
| delegatee | fblife |
| vesting shares | 8740.596149 VESTS |
| Transaction Info | Block #43216995/Trx 01915275b108ec3ce9598cbdcf8c367925b3f4fe |
View Raw JSON Data
{
"trx_id": "01915275b108ec3ce9598cbdcf8c367925b3f4fe",
"block": 43216995,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T05:42:15",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "8740.596149 VESTS"
}
]
}2020/05/08 09:18:21
2020/05/08 09:18:21
| delegator | steem |
| delegatee | fblife |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43193091/Trx 64c18d719e65f6e7f1cdb2e4920a507e61a21073 |
View Raw JSON Data
{
"trx_id": "64c18d719e65f6e7f1cdb2e4920a507e61a21073",
"block": 43193091,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T09:18:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "1953.311140 VESTS"
}
]
}2019/12/15 04:22:18
2019/12/15 04:22:18
| parent author | fblife |
| parent permlink | app |
| author | steemitboard |
| permlink | steemitboard-notify-fblife-20191215t042218000z |
| title | |
| body | Congratulations @fblife! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@fblife/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/@fblife) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=fblife)_</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"]} |
| Transaction Info | Block #39048853/Trx b3de7bb4be4180d5cc645c834e353a2dffdd83cb |
View Raw JSON Data
{
"trx_id": "b3de7bb4be4180d5cc645c834e353a2dffdd83cb",
"block": 39048853,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-12-15T04:22:18",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "app",
"author": "steemitboard",
"permlink": "steemitboard-notify-fblife-20191215t042218000z",
"title": "",
"body": "Congratulations @fblife! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@fblife/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/@fblife) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=fblife)_</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\"]}"
}
]
}2019/07/05 18:54:18
2019/07/05 18:54:18
| delegator | steem |
| delegatee | fblife |
| vesting shares | 8917.733699 VESTS |
| Transaction Info | Block #34403564/Trx 67b415d05426831ad1e57c379bdc4bc0363568b1 |
View Raw JSON Data
{
"trx_id": "67b415d05426831ad1e57c379bdc4bc0363568b1",
"block": 34403564,
"trx_in_block": 46,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-07-05T18:54:18",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "8917.733699 VESTS"
}
]
}2018/12/15 04:01:03
2018/12/15 04:01:03
| parent author | fblife |
| parent permlink | app |
| author | steemitboard |
| permlink | steemitboard-notify-fblife-20181215t040102000z |
| title | |
| body | Congratulations @fblife! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@fblife/birthday1.png</td><td>1 Year on Steemit</td></tr></table> <sub>_[Click here to view your Board of Honor](https://steemitboard.com/@fblife)_</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"]} |
| Transaction Info | Block #28574686/Trx 45b67ce9070bfd50b1b871011943a596d90541d2 |
View Raw JSON Data
{
"trx_id": "45b67ce9070bfd50b1b871011943a596d90541d2",
"block": 28574686,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-15T04:01:03",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "app",
"author": "steemitboard",
"permlink": "steemitboard-notify-fblife-20181215t040102000z",
"title": "",
"body": "Congratulations @fblife! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@fblife/birthday1.png</td><td>1 Year on Steemit</td></tr></table>\n\n<sub>_[Click here to view your Board of Honor](https://steemitboard.com/@fblife)_</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\"]}"
}
]
}lucasleereplied to @fblife / re-fblife-app-20180802t061430651z2018/08/02 06:15:39
lucasleereplied to @fblife / re-fblife-app-20180802t061430651z
2018/08/02 06:15:39
| parent author | fblife |
| parent permlink | app |
| author | lucaslee |
| permlink | re-fblife-app-20180802t061430651z |
| title | |
| body | My invitation code: 1716942 Come join FCoin Fire Bull video, the first "reward mining + income dividend + repurchase destruction" mode; Daily share of 1.36 million FB = RMB my invitation code: 1716942! Dividends are now available to receive Alipay daily for withdrawal! The real gold and silver speed is added! Download now: http://www.duipai.tv/static/firebull/share-download.html? roomId = 1716942 我的邀请码:1716942快来加入FCoin火牛视频,首创“打赏挖矿+收入分红+回购销毁”模式; 每日瓜分136万FB =人民币我的邀请码:1716942!现已开启分红每日领取支付宝可提取!实实在在的真金白银速度加入! 马上下载:http://www.duipai.tv/static/firebull/share-download.html?roomId = 1716942 |
| json metadata | {"tags":["fengchao"],"links":["http://www.duipai.tv/static/firebull/share-download.html?"],"app":"steemit/0.1"} |
| Transaction Info | Block #24707361/Trx 2488be8c420ae7a3587772cb1d35a36939f868a0 |
View Raw JSON Data
{
"trx_id": "2488be8c420ae7a3587772cb1d35a36939f868a0",
"block": 24707361,
"trx_in_block": 45,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-02T06:15:39",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "app",
"author": "lucaslee",
"permlink": "re-fblife-app-20180802t061430651z",
"title": "",
"body": "My invitation code: 1716942 Come join FCoin Fire Bull video, the first \"reward mining + income dividend + repurchase destruction\" mode;\nDaily share of 1.36 million FB = RMB my invitation code: 1716942! Dividends are now available to receive Alipay daily for withdrawal! The real gold and silver speed is added!\nDownload now: http://www.duipai.tv/static/firebull/share-download.html? roomId = 1716942\n我的邀请码:1716942快来加入FCoin火牛视频,首创“打赏挖矿+收入分红+回购销毁”模式; \n每日瓜分136万FB =人民币我的邀请码:1716942!现已开启分红每日领取支付宝可提取!实实在在的真金白银速度加入!\n马上下载:http://www.duipai.tv/static/firebull/share-download.html?roomId = 1716942",
"json_metadata": "{\"tags\":[\"fengchao\"],\"links\":[\"http://www.duipai.tv/static/firebull/share-download.html?\"],\"app\":\"steemit/0.1\"}"
}
]
}lucasleereplied to @fblife / re-fblife-app-20180802t061430651z2018/08/02 06:14:33
lucasleereplied to @fblife / re-fblife-app-20180802t061430651z
2018/08/02 06:14:33
| parent author | fblife |
| parent permlink | app |
| author | lucaslee |
| permlink | re-fblife-app-20180802t061430651z |
| title | |
| body | My invitation code: 1716942 Come join FCoin Fire Bull video, the first "reward mining + income dividend + repurchase destruction" mode; Daily share of 1.36 million FB = RMB my invitation code: 1716942! Dividends are now available to receive Alipay daily for withdrawal! The real gold and silver speed is added! Download now: http://www.duipai.tv/static/firebull/share-download.html? roomId = 1716942 我的邀请码:1716942快来加入FCoin火牛视频,首创“打赏挖矿+收入分红+回购销毁”模式; 每日瓜分136万FB =人民币我的邀请码:1716942!现已开启分红每日领取支付宝可提取!实实在在的真金白银速度加入! 马上下载:http://www.duipai.tv/static/firebull/share-download.html?roomId = 1716942 |
| json metadata | {"tags":["fengchao"],"links":["http://www.duipai.tv/static/firebull/share-download.html?"],"app":"steemit/0.1"} |
| Transaction Info | Block #24707339/Trx f04a8ac42c827405f90c45a662326460e41161f8 |
View Raw JSON Data
{
"trx_id": "f04a8ac42c827405f90c45a662326460e41161f8",
"block": 24707339,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-02T06:14:33",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "app",
"author": "lucaslee",
"permlink": "re-fblife-app-20180802t061430651z",
"title": "",
"body": "My invitation code: 1716942 Come join FCoin Fire Bull video, the first \"reward mining + income dividend + repurchase destruction\" mode;\nDaily share of 1.36 million FB = RMB my invitation code: 1716942! Dividends are now available to receive Alipay daily for withdrawal! The real gold and silver speed is added!\nDownload now: http://www.duipai.tv/static/firebull/share-download.html? roomId = 1716942\n我的邀请码:1716942快来加入FCoin火牛视频,首创“打赏挖矿+收入分红+回购销毁”模式; \n每日瓜分136万FB =人民币我的邀请码:1716942!现已开启分红每日领取支付宝可提取!实实在在的真金白银速度加入!\n马上下载:http://www.duipai.tv/static/firebull/share-download.html?roomId = 1716942",
"json_metadata": "{\"tags\":[\"fengchao\"],\"links\":[\"http://www.duipai.tv/static/firebull/share-download.html?\"],\"app\":\"steemit/0.1\"}"
}
]
}lucidreplied to @fblife / re-fblife-eos-eth-20180721t170340962z2018/07/21 17:04:36
lucidreplied to @fblife / re-fblife-eos-eth-20180721t170340962z
2018/07/21 17:04:36
| parent author | fblife |
| parent permlink | eos-eth |
| author | lucid |
| permlink | re-fblife-eos-eth-20180721t170340962z |
| title | |
| body | 政府很善意,善意得要蒙上你的眼睛和耳朵了。 |
| json metadata | {"tags":["cn"],"app":"steemit/0.1"} |
| Transaction Info | Block #24375403/Trx b7bc2153c13d7838802813d81133ca4c244db117 |
View Raw JSON Data
{
"trx_id": "b7bc2153c13d7838802813d81133ca4c244db117",
"block": 24375403,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-21T17:04:36",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "eos-eth",
"author": "lucid",
"permlink": "re-fblife-eos-eth-20180721t170340962z",
"title": "",
"body": "政府很善意,善意得要蒙上你的眼睛和耳朵了。",
"json_metadata": "{\"tags\":[\"cn\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/07/16 08:26:51
2018/07/16 08:26:51
| delegator | steem |
| delegatee | fblife |
| vesting shares | 9116.635743 VESTS |
| Transaction Info | Block #24221161/Trx 9365327973ff346faa7a7b9d6c2508b026f81642 |
View Raw JSON Data
{
"trx_id": "9365327973ff346faa7a7b9d6c2508b026f81642",
"block": 24221161,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-16T08:26:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "9116.635743 VESTS"
}
]
}paperhsreplied to @fblife / re-fblife-dapp-20180609t054019206z2018/06/09 05:40:21
paperhsreplied to @fblife / re-fblife-dapp-20180609t054019206z
2018/06/09 05:40:21
| parent author | fblife |
| parent permlink | dapp |
| author | paperhs |
| permlink | re-fblife-dapp-20180609t054019206z |
| title | |
| body | steemit上代码看起来好难受 |
| json metadata | {"tags":["cn"],"app":"steemit/0.1"} |
| Transaction Info | Block #23162973/Trx 4b3ad62a1b410e60c5e0e7a3360862f8daff8020 |
View Raw JSON Data
{
"trx_id": "4b3ad62a1b410e60c5e0e7a3360862f8daff8020",
"block": 23162973,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-09T05:40:21",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "dapp",
"author": "paperhs",
"permlink": "re-fblife-dapp-20180609t054019206z",
"title": "",
"body": "steemit上代码看起来好难受",
"json_metadata": "{\"tags\":[\"cn\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/05/06 06:22:51
2018/05/06 06:22:51
| delegator | steem |
| delegatee | fblife |
| vesting shares | 29513.914329 VESTS |
| Transaction Info | Block #22185206/Trx aabe278c1f91eeb7f7a2ba884481516f6cb27943 |
View Raw JSON Data
{
"trx_id": "aabe278c1f91eeb7f7a2ba884481516f6cb27943",
"block": 22185206,
"trx_in_block": 56,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-06T06:22:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "fblife",
"vesting_shares": "29513.914329 VESTS"
}
]
}jimi2018replied to @fblife / re-fblife-4uslux-20180417t024229430z2018/04/17 02:40:00
jimi2018replied to @fblife / re-fblife-4uslux-20180417t024229430z
2018/04/17 02:40:00
| parent author | fblife |
| parent permlink | 4uslux |
| author | jimi2018 |
| permlink | re-fblife-4uslux-20180417t024229430z |
| title | |
| body | 谢谢楼主分享!推荐一个区块链新手入门的以太坊DApp开发教程: http://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=20180417steemit |
| json metadata | {"tags":["cn"],"links":["http://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=20180417steemit"],"app":"steemit/0.1"} |
| Transaction Info | Block #21634314/Trx 38c0fd21dc7a144de9f7d9e742bbf326c25e6ceb |
View Raw JSON Data
{
"trx_id": "38c0fd21dc7a144de9f7d9e742bbf326c25e6ceb",
"block": 21634314,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-17T02:40:00",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "4uslux",
"author": "jimi2018",
"permlink": "re-fblife-4uslux-20180417t024229430z",
"title": "",
"body": "谢谢楼主分享!推荐一个区块链新手入门的以太坊DApp开发教程:\nhttp://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=20180417steemit",
"json_metadata": "{\"tags\":[\"cn\"],\"links\":[\"http://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=20180417steemit\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/04/16 03:16:30
2018/04/16 03:16:30
| parent author | |
| parent permlink | fengchao |
| author | fblife |
| permlink | app |
| title | “蜂巢星球”,无需下载APP,手机即可挖矿 |
| body | <html> <p>蜂巢星球,基于用户贡献经济的价值平台。</p> <p>我们的宗旨:让价值贡献者得到真正的价值。</p> <p>在互联网上,我们每个人都在无时不刻产生各种行为,这些都是个人的重要数据资产,但是这些资产在过去并不曾被个体重视。而今蜂巢星球为您构建星球居民身份,帮助您利用这些资产,同时发现更深层的价值,使得个人信息价值得以公平公正的体现。<br> </p> <p><img src="http://img4.fblife.com/Fq2mXNH56UtrKhbMRDOLwabVIyOa?imageView2/2/w/728/q/100" width="258" height="258"/></p> <p><br> 什么是燃料</p> <p> 燃料是用户挖矿的奖励,每次挖矿都会获得不同数量的燃料,不同的地点产生的燃料值也不同,地点的热度是燃料值的一个重要因素。</p> <p> 燃料可以提升用户获取F币的数量。</p> <p><br></p> <p>什么是F币</p> <p> F币是一种特殊的价值币,也是用户挖矿的奖励,F币可用于星球上的消费和兑换等</p> <p> 用户拥有的燃料值影响F币的产出,燃料值越多获得的F币越多。</p> <p> </p> <p> F币总量有限(21亿),F币每年产量固定,且逐年递减,9年后F币不在产出。随着时间的推移获取难度越来越大,因此前期参与更有优势。</p> <p><br></p> <p> 假设每日发放F币总数为 X</p> <p> 用户每日获取F币数量 = X * (用户的燃料值/所有用户的总燃料值)</p> <p><br></p> <p>关于星球车</p> <p> 星球车说明</p> <p> 每辆汽车都独一无二的基因,即完全不同的车牌编码,可以通过车牌来识别唯一的车辆。</p> <p> 星球车同时有两种不同的属性:普通属性+改装属性。这8个改装属性确定车的等级:普通、稀有、卓越、史诗、神话、传说。</p> <p> </p> <p> 如何得到</p> <p> 用户挖矿会随机获得星球车,不同的时间、地点、用户信息获取的星球车也不相同。</p> <p> 系统每产出100个F币会生成一辆星球车。</p> <p><br></p> <p> 怎么玩儿</p> <p> 用户挖到星球车后,可以出售。</p> <p> 在市场上可以通过F币买到心仪的星球车。<br> </p> <p> 特别提示:</p> <p> 星球车作为一种稀有资源,请谨慎交易。</p> <p><br></p> </html> |
| json metadata | {"tags":["fengchao","fengchaoxingqiu","dapp","wakuang","blockchain"],"image":["http://img4.fblife.com/Fq2mXNH56UtrKhbMRDOLwabVIyOa?imageView2/2/w/728/q/100"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #21606247/Trx 4b1384b4490bc480f4fb95c7f63499c88ca23b48 |
View Raw JSON Data
{
"trx_id": "4b1384b4490bc480f4fb95c7f63499c88ca23b48",
"block": 21606247,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-16T03:16:30",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "fengchao",
"author": "fblife",
"permlink": "app",
"title": "“蜂巢星球”,无需下载APP,手机即可挖矿",
"body": "<html>\n<p>蜂巢星球,基于用户贡献经济的价值平台。</p>\n<p>我们的宗旨:让价值贡献者得到真正的价值。</p>\n<p>在互联网上,我们每个人都在无时不刻产生各种行为,这些都是个人的重要数据资产,但是这些资产在过去并不曾被个体重视。而今蜂巢星球为您构建星球居民身份,帮助您利用这些资产,同时发现更深层的价值,使得个人信息价值得以公平公正的体现。<br>\n</p>\n<p><img src=\"http://img4.fblife.com/Fq2mXNH56UtrKhbMRDOLwabVIyOa?imageView2/2/w/728/q/100\" width=\"258\" height=\"258\"/></p>\n<p><br>\n什么是燃料</p>\n<p>\t燃料是用户挖矿的奖励,每次挖矿都会获得不同数量的燃料,不同的地点产生的燃料值也不同,地点的热度是燃料值的一个重要因素。</p>\n<p>\t燃料可以提升用户获取F币的数量。</p>\n<p><br></p>\n<p>什么是F币</p>\n<p>\tF币是一种特殊的价值币,也是用户挖矿的奖励,F币可用于星球上的消费和兑换等</p>\n<p>\t用户拥有的燃料值影响F币的产出,燃料值越多获得的F币越多。</p>\n<p>\t</p>\n<p>\tF币总量有限(21亿),F币每年产量固定,且逐年递减,9年后F币不在产出。随着时间的推移获取难度越来越大,因此前期参与更有优势。</p>\n<p><br></p>\n<p>\t假设每日发放F币总数为 X</p>\n<p>\t用户每日获取F币数量 = X * (用户的燃料值/所有用户的总燃料值)</p>\n<p><br></p>\n<p>关于星球车</p>\n<p>\t星球车说明</p>\n<p>\t每辆汽车都独一无二的基因,即完全不同的车牌编码,可以通过车牌来识别唯一的车辆。</p>\n<p>\t星球车同时有两种不同的属性:普通属性+改装属性。这8个改装属性确定车的等级:普通、稀有、卓越、史诗、神话、传说。</p>\n<p>\t</p>\n<p>\t如何得到</p>\n<p>\t用户挖矿会随机获得星球车,不同的时间、地点、用户信息获取的星球车也不相同。</p>\n<p>\t系统每产出100个F币会生成一辆星球车。</p>\n<p><br></p>\n<p>\t怎么玩儿</p>\n<p>\t用户挖到星球车后,可以出售。</p>\n<p>\t在市场上可以通过F币买到心仪的星球车。<br>\n</p>\n<p>\t特别提示:</p>\n<p>\t星球车作为一种稀有资源,请谨慎交易。</p>\n<p><br></p>\n</html>",
"json_metadata": "{\"tags\":[\"fengchao\",\"fengchaoxingqiu\",\"dapp\",\"wakuang\",\"blockchain\"],\"image\":[\"http://img4.fblife.com/Fq2mXNH56UtrKhbMRDOLwabVIyOa?imageView2/2/w/728/q/100\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}jimi2018replied to @fblife / re-fblife-dapp-20180317t135722140z2018/03/17 13:55:15
jimi2018replied to @fblife / re-fblife-dapp-20180317t135722140z
2018/03/17 13:55:15
| parent author | fblife |
| parent permlink | dapp |
| author | jimi2018 |
| permlink | re-fblife-dapp-20180317t135722140z |
| title | |
| body | 推荐一个适合新手的以太坊开发DApp教程: http://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=20180317steemit |
| json metadata | {"tags":["cn"],"links":["http://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=20180317steemit"],"app":"steemit/0.1"} |
| Transaction Info | Block #20756004/Trx 9af0934a6f74ee2cb4448ad812f4354feabafb45 |
View Raw JSON Data
{
"trx_id": "9af0934a6f74ee2cb4448ad812f4354feabafb45",
"block": 20756004,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T13:55:15",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "dapp",
"author": "jimi2018",
"permlink": "re-fblife-dapp-20180317t135722140z",
"title": "",
"body": "推荐一个适合新手的以太坊开发DApp教程:\nhttp://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=20180317steemit",
"json_metadata": "{\"tags\":[\"cn\"],\"links\":[\"http://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=20180317steemit\"],\"app\":\"steemit/0.1\"}"
}
]
}cnbuddyreplied to @fblife / re-fblife-4uslux-20180312t170508908z2018/03/12 17:05:09
cnbuddyreplied to @fblife / re-fblife-4uslux-20180312t170508908z
2018/03/12 17:05:09
| parent author | fblife |
| parent permlink | 4uslux |
| author | cnbuddy |
| permlink | re-fblife-4uslux-20180312t170508908z |
| title | |
| body | 过年好!cn区点赞机器人 @cnbuddy 感谢你对cn区作出成长的贡献。倘若你不喜欢我的留言,请回复“取消”。 |
| json metadata | |
| Transaction Info | Block #20615939/Trx f2ee143fe6440618b32a30d9c8183c1091e312df |
View Raw JSON Data
{
"trx_id": "f2ee143fe6440618b32a30d9c8183c1091e312df",
"block": 20615939,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-12T17:05:09",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "4uslux",
"author": "cnbuddy",
"permlink": "re-fblife-4uslux-20180312t170508908z",
"title": "",
"body": "过年好!cn区点赞机器人 @cnbuddy 感谢你对cn区作出成长的贡献。倘若你不喜欢我的留言,请回复“取消”。",
"json_metadata": ""
}
]
}2018/03/11 12:05:12
2018/03/11 12:05:12
| author | fblife |
| permlink | 4uslux |
| sbd payout | 0.150 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 122.515393 VESTS |
| Transaction Info | Block #20581192/Virtual Operation #34 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 20581192,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 34,
"timestamp": "2018-03-11T12:05:12",
"op": [
"author_reward",
{
"author": "fblife",
"permlink": "4uslux",
"sbd_payout": "0.150 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "122.515393 VESTS"
}
]
}2018/03/10 10:00:06
2018/03/10 10:00:06
| author | fblife |
| permlink | dapp |
| sbd payout | 0.013 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 12.252239 VESTS |
| Transaction Info | Block #20549962/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 20549962,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2018-03-10T10:00:06",
"op": [
"author_reward",
{
"author": "fblife",
"permlink": "dapp",
"sbd_payout": "0.013 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "12.252239 VESTS"
}
]
}fblifereceived 0.079 SBD, 0.033 SP author reward for @fblife / go-ethereum2018/03/08 09:14:21
fblifereceived 0.079 SBD, 0.033 SP author reward for @fblife / go-ethereum
2018/03/08 09:14:21
| author | fblife |
| permlink | go-ethereum |
| sbd payout | 0.079 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 53.098712 VESTS |
| Transaction Info | Block #20491514/Virtual Operation #12 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 20491514,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 12,
"timestamp": "2018-03-08T09:14:21",
"op": [
"author_reward",
{
"author": "fblife",
"permlink": "go-ethereum",
"sbd_payout": "0.079 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "53.098712 VESTS"
}
]
}2018/03/05 11:13:36
2018/03/05 11:13:36
| author | fblife |
| permlink | 4ukgc3 |
| sbd payout | 0.010 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 8.170285 VESTS |
| Transaction Info | Block #20407644/Virtual Operation #16 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 20407644,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 16,
"timestamp": "2018-03-05T11:13:36",
"op": [
"author_reward",
{
"author": "fblife",
"permlink": "4ukgc3",
"sbd_payout": "0.010 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "8.170285 VESTS"
}
]
}2018/03/05 01:17:39
2018/03/05 01:17:39
| voter | skenan |
| author | fblife |
| permlink | 4uslux |
| weight | 4800 (48.00%) |
| Transaction Info | Block #20395727/Trx 6f033e626b09d59d8544aa6775cc797ae6ed2651 |
View Raw JSON Data
{
"trx_id": "6f033e626b09d59d8544aa6775cc797ae6ed2651",
"block": 20395727,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-05T01:17:39",
"op": [
"vote",
{
"voter": "skenan",
"author": "fblife",
"permlink": "4uslux",
"weight": 4800
}
]
}2018/03/04 22:42:24
2018/03/04 22:42:24
| voter | cnbuddy |
| author | fblife |
| permlink | 4uslux |
| weight | 10 (0.10%) |
| Transaction Info | Block #20392624/Trx 18529800feed372a9e8cc2d41ceae810797c719c |
View Raw JSON Data
{
"trx_id": "18529800feed372a9e8cc2d41ceae810797c719c",
"block": 20392624,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-04T22:42:24",
"op": [
"vote",
{
"voter": "cnbuddy",
"author": "fblife",
"permlink": "4uslux",
"weight": 10
}
]
}songtiejunupvoted (10.00%) @fblife / 4uslux2018/03/04 13:20:36
songtiejunupvoted (10.00%) @fblife / 4uslux
2018/03/04 13:20:36
| voter | songtiejun |
| author | fblife |
| permlink | 4uslux |
| weight | 1000 (10.00%) |
| Transaction Info | Block #20381391/Trx ba5ed4310e0f83647889b4b7aaafe1af33d93342 |
View Raw JSON Data
{
"trx_id": "ba5ed4310e0f83647889b4b7aaafe1af33d93342",
"block": 20381391,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-04T13:20:36",
"op": [
"vote",
{
"voter": "songtiejun",
"author": "fblife",
"permlink": "4uslux",
"weight": 1000
}
]
}songtiejunreplied to @fblife / re-fblife-4uslux-20180304t132030382z2018/03/04 13:20:33
songtiejunreplied to @fblife / re-fblife-4uslux-20180304t132030382z
2018/03/04 13:20:33
| parent author | fblife |
| parent permlink | 4uslux |
| author | songtiejun |
| permlink | re-fblife-4uslux-20180304t132030382z |
| title | |
| body | 发行的代币在两个自己注册的账号之间转账,需要支付手续费吗 |
| json metadata | {"tags":["cn"],"app":"steemit/0.1"} |
| Transaction Info | Block #20381390/Trx 5c171f130f0150585239e4f7c9aba5c955087b33 |
View Raw JSON Data
{
"trx_id": "5c171f130f0150585239e4f7c9aba5c955087b33",
"block": 20381390,
"trx_in_block": 60,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-04T13:20:33",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "4uslux",
"author": "songtiejun",
"permlink": "re-fblife-4uslux-20180304t132030382z",
"title": "",
"body": "发行的代币在两个自己注册的账号之间转账,需要支付手续费吗",
"json_metadata": "{\"tags\":[\"cn\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/03/04 12:05:12
2018/03/04 12:05:12
| parent author | |
| parent permlink | cn |
| author | fblife |
| permlink | 4uslux |
| title | 以太坊开发:如何发行代币 |
| body | <html> <p><img src="https://steemitimages.com/0x0/https://steemit-production-imageproxy-thumbnail.s3.amazonaws.com/U5dtkiK8PQtxARgkc4GPFogPo9sg4dV_1680x8400" width="600" height="355"/></p> <p>本文的目的是创建一个我们自己的支持ERC-20标准的代币。</p> <p><br></p> <p>一、关键词</p> <p><br></p> <p>Truffle</p> <p>Truffle 是当前最活跃的 Ethereum 开发框架,具有调试、部署和测试智能合约等功能。此次建立加密代币的教程就是基于 Truffle 框架的开发。</p> <p><br></p> <p>ganache</p> <p>在开发阶段需要测试,ganache 可以模拟智能合约所需要的以太坊区块链测试环境。</p> <p>ganache 有桌面客户端以及命令行工具,本篇教程使用的是命令行工具搭配 Chrome 的 MetaMask 来进行测试。</p> <p><br></p> <p>OpenZeppelin</p> <p>Zeppelin是一种构建安全智能合约的开源架构,我们使用OpenZeppelin函数库来创建一个简易发币合约。</p> <p><br></p> <p>二、环境配置</p> <p><br></p> <p>$ npm install -g truffle</p> <p>$ npm install -g ganache-cli</p> <p><br></p> <p>三、初始化项目</p> <p><br></p> <p>$ mkdir coin-workspace</p> <p>$ cd coin-workspace</p> <p>$ truffle unbox tutorialtoken</p> <p><br></p> <p>在项目的根目录使用 npm 安装</p> <p>$ npm install zeppelin-solidity</p> <p><br></p> <p>四、运行ganache</p> <p><br></p> <p>在我们部署智能合约之前,首先需要有一个以太坊区块链测试环境。新开一个命令行工具,输入以下命令:</p> <p>$ ganache-cli</p> <p><br></p> <p>将会在本地生成以太坊区块链环境,会自动创建 10 个账号(Accounts),以及每个账号对应的私钥(Private Keys),每个账号中拥有 100 个测试用的以太币(Ether),我这里本地监听的端口是8454。</p> <p><br></p> <p>五、创建部署智能合约</p> <p><br></p> <p>1. 我们在contracts目录下新建一个 TutorialToken.sol 的文件(或者也可以用 truffle create contract TutorialToken.sol 命令来建立)。</p> <p>写入以下内容:</p> <p><br></p> <p>+++++++++++++++++++++++++++++</p> <p><br></p> <p>pragma solidity ^0.4.2; // 指明目前使用的solidity版本,不同版本可能会编译出不同的bytecode</p> <p><br></p> <p>import 'zeppelin-solidity/contracts/token/ERC20/StandardToken.sol';</p> <p><br></p> <p>// contract 关键字类似于其它语言的class。可以理解为TutorialToken继承了Contract类,具有智能合约的特性。is 关键字类型于其它语言的extends,TutorialToken 继承了 StandardToken 的属性及方法。</p> <p>contract TutorialToken is StandardToken {</p> <p> string public name = 'DogToken'; // 设置代币名称</p> <p> string public symbol = 'TT'; // 设置代币代号</p> <p> uint8 public decimals = 2; // 设置代币最小交易单位(精度)</p> <p> uint public INITIAL_SUPPLY = 10000; // 设置代币发行量</p> <p> </p> <p> function TutorialToken() public {</p> <p> totalSupply_ = INITIAL_SUPPLY; </p> <p> balances[msg.sender] = INITIAL_SUPPLY;</p> <p> }</p> <p>}</p> <p><br></p> <p>+++++++++++++++++++++++++++++</p> <p><br></p> <p>2. 在 migrations/ 目录下,我们可以看到 truffle 框架提供了方便部署合约的脚本。接下来我们创建 2_deploy_contracts.js 的文件。</p> <p>写入以下内容:</p> <p><br></p> <p>+++++++++++++++++++++++++++++</p> <p><br></p> <p>var TutorialToken = artifacts.require("TutorialToken");</p> <p><br></p> <p>module.exports = function(deployer) {</p> <p> deployer.deploy(TutorialToken);</p> <p>};</p> <p><br></p> <p>+++++++++++++++++++++++++++++</p> <p><br></p> <p>3. 修改项目根目录的truffle.js文件</p> <p><br></p> <p>+++++++++++++++++++++++++++++</p> <p><br></p> <p>module.exports = {</p> <p> // See <http://truffleframework.com/docs/advanced/configuration></p> <p> // for more about customizing your Truffle configuration!</p> <p> networks: {</p> <p> development: {</p> <p> host: "localhost",</p> <p> port: 8545,</p> <p> network_id: "*" // Match any network id</p> <p> }</p> <p> }</p> <p>};</p> <p><br></p> <p>+++++++++++++++++++++++++++++</p> <p><br></p> <p>编译和部署智能合约</p> <p>$ truffle compile</p> <p>$ truffle migrate</p> <p><br></p> <p>六、安装及配置 MetaMask</p> <p><br></p> <p>MetaMask是一款在谷歌浏览器Chrome上使用的插件类型的以太坊钱包,该钱包不需要下载,只需要在谷歌浏览器添加对应的扩展程序即可,非常轻量级,使用起来也非常方便。</p> <p><br></p> <p>具体安装请自行google</p> <p><br></p> <p>操作流程说明:</p> <p>1. 安装好后连接本地运行的ganache服务(我是在远程服务器上运行的,然后通过nginx做了个代理)</p> <p>2. 使用私匙导入功能导入两个ganache生成的账号</p> <p>3. 然后可以在两个账号之间发送代币</p> <p><br></p> </html> |
| json metadata | {"tags":["cn","eth","ethereum","go-ethereum","blockchain"],"image":["https://steemitimages.com/0x0/https://steemit-production-imageproxy-thumbnail.s3.amazonaws.com/U5dtkiK8PQtxARgkc4GPFogPo9sg4dV_1680x8400"],"links":["http://truffleframework.com/docs/advanced/configuration"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #20379884/Trx a91ac1f60459d82dbd9120301828b4c56a708505 |
View Raw JSON Data
{
"trx_id": "a91ac1f60459d82dbd9120301828b4c56a708505",
"block": 20379884,
"trx_in_block": 53,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-04T12:05:12",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cn",
"author": "fblife",
"permlink": "4uslux",
"title": "以太坊开发:如何发行代币",
"body": "<html>\n<p><img src=\"https://steemitimages.com/0x0/https://steemit-production-imageproxy-thumbnail.s3.amazonaws.com/U5dtkiK8PQtxARgkc4GPFogPo9sg4dV_1680x8400\" width=\"600\" height=\"355\"/></p>\n<p>本文的目的是创建一个我们自己的支持ERC-20标准的代币。</p>\n<p><br></p>\n<p>一、关键词</p>\n<p><br></p>\n<p>Truffle</p>\n<p>Truffle 是当前最活跃的 Ethereum 开发框架,具有调试、部署和测试智能合约等功能。此次建立加密代币的教程就是基于 Truffle 框架的开发。</p>\n<p><br></p>\n<p>ganache</p>\n<p>在开发阶段需要测试,ganache 可以模拟智能合约所需要的以太坊区块链测试环境。</p>\n<p>ganache 有桌面客户端以及命令行工具,本篇教程使用的是命令行工具搭配 Chrome 的 MetaMask 来进行测试。</p>\n<p><br></p>\n<p>OpenZeppelin</p>\n<p>Zeppelin是一种构建安全智能合约的开源架构,我们使用OpenZeppelin函数库来创建一个简易发币合约。</p>\n<p><br></p>\n<p>二、环境配置</p>\n<p><br></p>\n<p>$ npm install -g truffle</p>\n<p>$ npm install -g ganache-cli</p>\n<p><br></p>\n<p>三、初始化项目</p>\n<p><br></p>\n<p>$ mkdir coin-workspace</p>\n<p>$ cd coin-workspace</p>\n<p>$ truffle unbox tutorialtoken</p>\n<p><br></p>\n<p>在项目的根目录使用 npm 安装</p>\n<p>$ npm install zeppelin-solidity</p>\n<p><br></p>\n<p>四、运行ganache</p>\n<p><br></p>\n<p>在我们部署智能合约之前,首先需要有一个以太坊区块链测试环境。新开一个命令行工具,输入以下命令:</p>\n<p>$ ganache-cli</p>\n<p><br></p>\n<p>将会在本地生成以太坊区块链环境,会自动创建 10 个账号(Accounts),以及每个账号对应的私钥(Private Keys),每个账号中拥有 100 个测试用的以太币(Ether),我这里本地监听的端口是8454。</p>\n<p><br></p>\n<p>五、创建部署智能合约</p>\n<p><br></p>\n<p>1. 我们在contracts目录下新建一个 TutorialToken.sol 的文件(或者也可以用 truffle create contract TutorialToken.sol 命令来建立)。</p>\n<p>写入以下内容:</p>\n<p><br></p>\n<p>+++++++++++++++++++++++++++++</p>\n<p><br></p>\n<p>pragma solidity ^0.4.2; // 指明目前使用的solidity版本,不同版本可能会编译出不同的bytecode</p>\n<p><br></p>\n<p>import 'zeppelin-solidity/contracts/token/ERC20/StandardToken.sol';</p>\n<p><br></p>\n<p>// contract 关键字类似于其它语言的class。可以理解为TutorialToken继承了Contract类,具有智能合约的特性。is 关键字类型于其它语言的extends,TutorialToken 继承了 StandardToken 的属性及方法。</p>\n<p>contract TutorialToken is StandardToken {</p>\n<p> string public name = 'DogToken'; // 设置代币名称</p>\n<p> string public symbol = 'TT'; // 设置代币代号</p>\n<p> uint8 public decimals = 2; // 设置代币最小交易单位(精度)</p>\n<p> uint public INITIAL_SUPPLY = 10000; // 设置代币发行量</p>\n<p> </p>\n<p> function TutorialToken() public {</p>\n<p> totalSupply_ = INITIAL_SUPPLY; </p>\n<p> balances[msg.sender] = INITIAL_SUPPLY;</p>\n<p> }</p>\n<p>}</p>\n<p><br></p>\n<p>+++++++++++++++++++++++++++++</p>\n<p><br></p>\n<p>2. 在 migrations/ 目录下,我们可以看到 truffle 框架提供了方便部署合约的脚本。接下来我们创建 2_deploy_contracts.js 的文件。</p>\n<p>写入以下内容:</p>\n<p><br></p>\n<p>+++++++++++++++++++++++++++++</p>\n<p><br></p>\n<p>var TutorialToken = artifacts.require(\"TutorialToken\");</p>\n<p><br></p>\n<p>module.exports = function(deployer) {</p>\n<p> deployer.deploy(TutorialToken);</p>\n<p>};</p>\n<p><br></p>\n<p>+++++++++++++++++++++++++++++</p>\n<p><br></p>\n<p>3. 修改项目根目录的truffle.js文件</p>\n<p><br></p>\n<p>+++++++++++++++++++++++++++++</p>\n<p><br></p>\n<p>module.exports = {</p>\n<p> // See <http://truffleframework.com/docs/advanced/configuration></p>\n<p> // for more about customizing your Truffle configuration!</p>\n<p> networks: {</p>\n<p> development: {</p>\n<p> host: \"localhost\",</p>\n<p> port: 8545,</p>\n<p> network_id: \"*\" // Match any network id</p>\n<p> }</p>\n<p> }</p>\n<p>};</p>\n<p><br></p>\n<p>+++++++++++++++++++++++++++++</p>\n<p><br></p>\n<p>编译和部署智能合约</p>\n<p>$ truffle compile</p>\n<p>$ truffle migrate</p>\n<p><br></p>\n<p>六、安装及配置 MetaMask</p>\n<p><br></p>\n<p>MetaMask是一款在谷歌浏览器Chrome上使用的插件类型的以太坊钱包,该钱包不需要下载,只需要在谷歌浏览器添加对应的扩展程序即可,非常轻量级,使用起来也非常方便。</p>\n<p><br></p>\n<p>具体安装请自行google</p>\n<p><br></p>\n<p>操作流程说明:</p>\n<p>1. 安装好后连接本地运行的ganache服务(我是在远程服务器上运行的,然后通过nginx做了个代理)</p>\n<p>2. 使用私匙导入功能导入两个ganache生成的账号</p>\n<p>3. 然后可以在两个账号之间发送代币</p>\n<p><br></p>\n</html>",
"json_metadata": "{\"tags\":[\"cn\",\"eth\",\"ethereum\",\"go-ethereum\",\"blockchain\"],\"image\":[\"https://steemitimages.com/0x0/https://steemit-production-imageproxy-thumbnail.s3.amazonaws.com/U5dtkiK8PQtxARgkc4GPFogPo9sg4dV_1680x8400\"],\"links\":[\"http://truffleframework.com/docs/advanced/configuration\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}cn-naughty.boyreplied to @fblife / 20180303t100035553z-post2018/03/03 10:00:36
cn-naughty.boyreplied to @fblife / 20180303t100035553z-post
2018/03/03 10:00:36
| parent author | fblife |
| parent permlink | dapp |
| author | cn-naughty.boy |
| permlink | 20180303t100035553z-post |
| title | |
| body | @fblife, 这个不错,赞了! |
| json metadata | {"tags":["cn"]} |
| Transaction Info | Block #20348598/Trx 27c6dd805dc0e1eacb860ea36b67932635689ddd |
View Raw JSON Data
{
"trx_id": "27c6dd805dc0e1eacb860ea36b67932635689ddd",
"block": 20348598,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-03T10:00:36",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "dapp",
"author": "cn-naughty.boy",
"permlink": "20180303t100035553z-post",
"title": "",
"body": "@fblife, 这个不错,赞了!",
"json_metadata": "{\"tags\":[\"cn\"]}"
}
]
}cn-naughty.boyupvoted (30.64%) @fblife / dapp2018/03/03 10:00:33
cn-naughty.boyupvoted (30.64%) @fblife / dapp
2018/03/03 10:00:33
| voter | cn-naughty.boy |
| author | fblife |
| permlink | dapp |
| weight | 3064 (30.64%) |
| Transaction Info | Block #20348597/Trx dac386c996f71d0ffdb751e14c753efa658fa017 |
View Raw JSON Data
{
"trx_id": "dac386c996f71d0ffdb751e14c753efa658fa017",
"block": 20348597,
"trx_in_block": 47,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-03T10:00:33",
"op": [
"vote",
{
"voter": "cn-naughty.boy",
"author": "fblife",
"permlink": "dapp",
"weight": 3064
}
]
}2018/03/03 10:00:24
2018/03/03 10:00:24
| voter | kukuxa |
| author | fblife |
| permlink | dapp |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20348594/Trx 55658fbd37c5743dd7f6af166b33fe10ba2ef605 |
View Raw JSON Data
{
"trx_id": "55658fbd37c5743dd7f6af166b33fe10ba2ef605",
"block": 20348594,
"trx_in_block": 50,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-03T10:00:24",
"op": [
"vote",
{
"voter": "kukuxa",
"author": "fblife",
"permlink": "dapp",
"weight": 10000
}
]
}2018/03/03 10:00:06
2018/03/03 10:00:06
| parent author | |
| parent permlink | cn |
| author | fblife |
| permlink | dapp |
| title | 以太坊开发:如何开发一个简易Dapp |
| body | <html> <p><img src="https://steemit-production-imageproxy-thumbnail.s3.amazonaws.com/U5dtkiK8PQtxARgkc4GPFogPo9sg4dV_1680x8400" width="600" height="355"/></p> <p><br></p> <p>我们这里写一个简单的投票智能合约,可以通过Dapp对给定的候选人投票并计算每个候选人获得的票数。</p> <p><br></p> <p>一、环境配置</p> <p>安装nodejs,npm,git,web3,solc,testrpc等等</p> <p><br></p> <p>二、运行testrpc</p> <p>先运行testrpc(会自动生成十个账户,并且每个账户中都会初始有100个以太币)</p> <p><br></p> <p>三、用Solidity编写智能合约并使用solc编译</p> <p><br></p> <p>先写一个投票智能合约,这个合约有四个方法,分别是构造方法,查询票数,投票,和判断是否是候选人,逻辑非常简单,甚至不需要懂得Solidity语法都可以看得懂。</p> <p><br></p> <p>Voting.sol 代码:</p> <p><br></p> <p>pragma solidity ^0.4.11;</p> <p>// We have to specify what version of compiler this code will compile with</p> <p><br></p> <p>contract Voting {</p> <p> /* mapping field below is equivalent to an associative array or hash.</p> <p> The key of the mapping is candidate name stored as type bytes32 and value is</p> <p> an unsigned integer to store the vote count</p> <p> */</p> <p> </p> <p> mapping (bytes32 => uint8) public votesReceived;</p> <p> </p> <p> /* Solidity doesn't let you pass in an array of strings in the constructor (yet).</p> <p> We will use an array of bytes32 instead to store the list of candidates</p> <p> */</p> <p> </p> <p> bytes32[] public candidateList;</p> <p><br></p> <p> /* This is the constructor which will be called once when you</p> <p> deploy the contract to the blockchain. When we deploy the contract,</p> <p> we will pass an array of candidates who will be contesting in the election</p> <p> */</p> <p> function Voting(bytes32[] candidateNames) {</p> <p> candidateList = candidateNames;</p> <p> }</p> <p><br></p> <p> // This function returns the total votes a candidate has received so far</p> <p> function totalVotesFor(bytes32 candidate) returns (uint8) {</p> <p> if (validCandidate(candidate) == false) throw;</p> <p> return votesReceived[candidate];</p> <p> }</p> <p><br></p> <p> // This function increments the vote count for the specified candidate. This</p> <p> // is equivalent to casting a vote</p> <p> function voteForCandidate(bytes32 candidate) {</p> <p> if (validCandidate(candidate) == false) throw;</p> <p> votesReceived[candidate] += 1;</p> <p> }</p> <p><br></p> <p> function validCandidate(bytes32 candidate) returns (bool) {</p> <p> for(uint i = 0; i < candidateList.length; i++) {</p> <p> if (candidateList[i] == candidate) {</p> <p> return true;</p> <p> }</p> <p> }</p> <p> return false;</p> <p> }</p> <p>}</p> <p><br></p> <p>然后新开窗口进入node,然后输入以下语句:</p> <p><br></p> <p>先初始化一个web3对象,并可以利用这个web3对象来和区块链进行交互。比如,可以通过这个web3对象来查询它所连接到的区块链的账户信息</p> <p>> Web3 = require('web3')</p> <p>> web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));</p> <p><br></p> <p>查看当前的账号(testrpc已生成)</p> <p>> web3.eth.accounts</p> <p><br></p> <p>编译上面的智能合约代码并存到compiledCode当中</p> <p>> solc = require('solc')</p> <p>> code = fs.readFileSync('Voting.sol').toString()</p> <p>> compiledCode = solc.compile(code)</p> <p><br></p> <p>四、部署智能合约</p> <p><br></p> <p>abiDefinition中保存的是该智能合约的界面信息,JSON.parse() 方法解析一个JSON字符串,构造由字符串描述的JavaScript值或对象。也就是说,把JSON字符串解析为JavaScript值。</p> <p>> abiDefinition = JSON.parse(compiledCode.contracts[':Voting'].interface)</p> <p><br></p> <p>初始化一个投票合约对象</p> <p>> VotingContract = web3.eth.contract(abiDefinition)</p> <p><br></p> <p>将这些字节码存到byteCode这个变量中去</p> <p>> byteCode = compiledCode.contracts[':Voting'].bytecode</p> <p><br></p> <p>将这个合约部署到以太链</p> <p>> deployedContract = VotingContract.new(['Rama','Nick','Jose'],{data: byteCode, from: web3.eth.accounts[0], gas: 4700000})</p> <p><br></p> <p>获取这个合约的地址</p> <p>> deployedContract.address</p> <p>> contractInstance = VotingContract.at(deployedContract.address)</p> <p><br></p> <p>五、在控制台中与智能合约进行交互</p> <p>> contractInstance.totalVotesFor.call('Rama')</p> <p>> contractInstance.voteForCandidate('Rama', {from: web3.eth.accounts[0]})</p> <p>> contractInstance.voteForCandidate('Rama', {from: web3.eth.accounts[0]})</p> <p>> contractInstance.totalVotesFor.call('Rama').toLocaleString()</p> <p><br></p> <p>六、利用网页与智能合约进行交互</p> <p><br></p> <p>在上一步的交互中我们是在nodejs中进行投票和查询的,现在我们就要把这些命令写到js中,并写一个简单的html文件,通过网页来与智能合约进行交互。html和js文件见下。把这两个文件放到与Voting.sol同级别的目录下。</p> <p><br></p> <p>index.html</p> <p><br></p> <p><!DOCTYPE html></p> <p><html></p> <p><head></p> <p> <title>Hello World DApp</title></p> <p> <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'></p> <p> <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css' rel='stylesheet' type='text/css'></p> <p></head></p> <p><body class="container"></p> <p> <h1>SSC VOTING APPLICATION</h1></p> <p> <div class="table-responsive"></p> <p> <table class="table table-bordered"></p> <p> <thead></p> <p> <tr></p> <p> <th>Candidate</th></p> <p> <th>Votes</th></p> <p> </tr></p> <p> </thead></p> <p> <tbody></p> <p> <tr></p> <p> <td>Rama</td></p> <p> <td id="candidate-1"></td></p> <p> </tr></p> <p> <tr></p> <p> <td>Nick</td></p> <p> <td id="candidate-2"></td></p> <p> </tr></p> <p> <tr></p> <p> <td>Jose</td></p> <p> <td id="candidate-3"></td></p> <p> </tr></p> <p> </tbody></p> <p> </table></p> <p> </div></p> <p> <input type="text" id="candidate" /></p> <p> <a href="#" onclick="voteForCandidate()" class="btn btn-primary">Vote</a></p> <p></body></p> <p><script src="https://cdn.rawgit.com/ethereum/web3.js/develop/dist/web3.js"></script></p> <p><script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"></script></p> <p><script src="./index.js"></script></p> <p></html></p> <p><br></p> <p>index.js</p> <p><br></p> <p>web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));</p> <p>abi = JSON.parse('[{"constant":false,"inputs":[{"name":"candidate","type":"bytes32"}],"name":"totalVotesFor","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"candidate","type":"bytes32"}],"name":"validCandidate","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"votesReceived","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"x","type":"bytes32"}],"name":"bytes32ToString","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"candidateList","outputs":[{"name":"","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"candidate","type":"bytes32"}],"name":"voteForCandidate","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"contractOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"candidateNames","type":"bytes32[]"}],"payable":false,"type":"constructor"}]')</p> <p>VotingContract = web3.eth.contract(abi);</p> <p>//在你的控制台中, 执行contractInstance.address,并将获得的地址替换下面这个0x413a...地址</p> <p>contractInstance = VotingContract.at('0x4131a0f92d36932d3ec3b7a0581546f2e662ad0b');</p> <p>candidates = {"Rama": "candidate-1", "Nick": "candidate-2", "Jose": "candidate-3"}</p> <p><br></p> <p>function voteForCandidate(candidate) {</p> <p> candidateName = $("#candidate").val();</p> <p> contractInstance.voteForCandidate(candidateName, {from: web3.eth.accounts[0]}, function() {</p> <p> let div_id = candidates[candidateName];</p> <p> $("#" + div_id).html(contractInstance.totalVotesFor.call(candidateName).toString());</p> <p> });</p> <p>}</p> <p><br></p> <p>$(document).ready(function() {</p> <p> candidateNames = Object.keys(candidates);</p> <p> for (var i = 0; i < candidateNames.length; i++) {</p> <p> let name = candidateNames[i];</p> <p> let val = contractInstance.totalVotesFor.call(name).toString()</p> <p> $("#" + candidates[name]).html(val);</p> <p> }</p> <p>});</p> <p><br></p> <p>在index.js中把合约的地址替换之后打开index.html即可在网页上进行我们的投票操作,同时可以通过MetaMask看到我们的交易和以太币的变动情况。</p> </html> |
| json metadata | {"tags":["cn","eth","ethereum","go-ethereum","blockchain"],"image":["https://steemit-production-imageproxy-thumbnail.s3.amazonaws.com/U5dtkiK8PQtxARgkc4GPFogPo9sg4dV_1680x8400"],"links":["http://localhost:8545","https://fonts.googleapis.com/css?family=Open+Sans:400,700","https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css","https://cdn.rawgit.com/ethereum/web3.js/develop/dist/web3.js","https://code.jquery.com/jquery-3.1.1.slim.min.js"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #20348588/Trx 94636e748081f6c6b4228cde742c16940c00e868 |
View Raw JSON Data
{
"trx_id": "94636e748081f6c6b4228cde742c16940c00e868",
"block": 20348588,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-03T10:00:06",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cn",
"author": "fblife",
"permlink": "dapp",
"title": "以太坊开发:如何开发一个简易Dapp",
"body": "<html>\n<p><img src=\"https://steemit-production-imageproxy-thumbnail.s3.amazonaws.com/U5dtkiK8PQtxARgkc4GPFogPo9sg4dV_1680x8400\" width=\"600\" height=\"355\"/></p>\n<p><br></p>\n<p>我们这里写一个简单的投票智能合约,可以通过Dapp对给定的候选人投票并计算每个候选人获得的票数。</p>\n<p><br></p>\n<p>一、环境配置</p>\n<p>安装nodejs,npm,git,web3,solc,testrpc等等</p>\n<p><br></p>\n<p>二、运行testrpc</p>\n<p>先运行testrpc(会自动生成十个账户,并且每个账户中都会初始有100个以太币)</p>\n<p><br></p>\n<p>三、用Solidity编写智能合约并使用solc编译</p>\n<p><br></p>\n<p>先写一个投票智能合约,这个合约有四个方法,分别是构造方法,查询票数,投票,和判断是否是候选人,逻辑非常简单,甚至不需要懂得Solidity语法都可以看得懂。</p>\n<p><br></p>\n<p>Voting.sol 代码:</p>\n<p><br></p>\n<p>pragma solidity ^0.4.11;</p>\n<p>// We have to specify what version of compiler this code will compile with</p>\n<p><br></p>\n<p>contract Voting {</p>\n<p> /* mapping field below is equivalent to an associative array or hash.</p>\n<p> The key of the mapping is candidate name stored as type bytes32 and value is</p>\n<p> an unsigned integer to store the vote count</p>\n<p> */</p>\n<p> </p>\n<p> mapping (bytes32 => uint8) public votesReceived;</p>\n<p> </p>\n<p> /* Solidity doesn't let you pass in an array of strings in the constructor (yet).</p>\n<p> We will use an array of bytes32 instead to store the list of candidates</p>\n<p> */</p>\n<p> </p>\n<p> bytes32[] public candidateList;</p>\n<p><br></p>\n<p> /* This is the constructor which will be called once when you</p>\n<p> deploy the contract to the blockchain. When we deploy the contract,</p>\n<p> we will pass an array of candidates who will be contesting in the election</p>\n<p> */</p>\n<p> function Voting(bytes32[] candidateNames) {</p>\n<p> candidateList = candidateNames;</p>\n<p> }</p>\n<p><br></p>\n<p> // This function returns the total votes a candidate has received so far</p>\n<p> function totalVotesFor(bytes32 candidate) returns (uint8) {</p>\n<p> if (validCandidate(candidate) == false) throw;</p>\n<p> return votesReceived[candidate];</p>\n<p> }</p>\n<p><br></p>\n<p> // This function increments the vote count for the specified candidate. This</p>\n<p> // is equivalent to casting a vote</p>\n<p> function voteForCandidate(bytes32 candidate) {</p>\n<p> if (validCandidate(candidate) == false) throw;</p>\n<p> votesReceived[candidate] += 1;</p>\n<p> }</p>\n<p><br></p>\n<p> function validCandidate(bytes32 candidate) returns (bool) {</p>\n<p> for(uint i = 0; i < candidateList.length; i++) {</p>\n<p> if (candidateList[i] == candidate) {</p>\n<p> return true;</p>\n<p> }</p>\n<p> }</p>\n<p> return false;</p>\n<p> }</p>\n<p>}</p>\n<p><br></p>\n<p>然后新开窗口进入node,然后输入以下语句:</p>\n<p><br></p>\n<p>先初始化一个web3对象,并可以利用这个web3对象来和区块链进行交互。比如,可以通过这个web3对象来查询它所连接到的区块链的账户信息</p>\n<p>> Web3 = require('web3')</p>\n<p>> web3 = new Web3(new Web3.providers.HttpProvider(\"http://localhost:8545\"));</p>\n<p><br></p>\n<p>查看当前的账号(testrpc已生成)</p>\n<p>> web3.eth.accounts</p>\n<p><br></p>\n<p>编译上面的智能合约代码并存到compiledCode当中</p>\n<p>> solc = require('solc')</p>\n<p>> code = fs.readFileSync('Voting.sol').toString()</p>\n<p>> compiledCode = solc.compile(code)</p>\n<p><br></p>\n<p>四、部署智能合约</p>\n<p><br></p>\n<p>abiDefinition中保存的是该智能合约的界面信息,JSON.parse() 方法解析一个JSON字符串,构造由字符串描述的JavaScript值或对象。也就是说,把JSON字符串解析为JavaScript值。</p>\n<p>> abiDefinition = JSON.parse(compiledCode.contracts[':Voting'].interface)</p>\n<p><br></p>\n<p>初始化一个投票合约对象</p>\n<p>> VotingContract = web3.eth.contract(abiDefinition)</p>\n<p><br></p>\n<p>将这些字节码存到byteCode这个变量中去</p>\n<p>> byteCode = compiledCode.contracts[':Voting'].bytecode</p>\n<p><br></p>\n<p>将这个合约部署到以太链</p>\n<p>> deployedContract = VotingContract.new(['Rama','Nick','Jose'],{data: byteCode, from: web3.eth.accounts[0], gas: 4700000})</p>\n<p><br></p>\n<p>获取这个合约的地址</p>\n<p>> deployedContract.address</p>\n<p>> contractInstance = VotingContract.at(deployedContract.address)</p>\n<p><br></p>\n<p>五、在控制台中与智能合约进行交互</p>\n<p>> contractInstance.totalVotesFor.call('Rama')</p>\n<p>> contractInstance.voteForCandidate('Rama', {from: web3.eth.accounts[0]})</p>\n<p>> contractInstance.voteForCandidate('Rama', {from: web3.eth.accounts[0]})</p>\n<p>> contractInstance.totalVotesFor.call('Rama').toLocaleString()</p>\n<p><br></p>\n<p>六、利用网页与智能合约进行交互</p>\n<p><br></p>\n<p>在上一步的交互中我们是在nodejs中进行投票和查询的,现在我们就要把这些命令写到js中,并写一个简单的html文件,通过网页来与智能合约进行交互。html和js文件见下。把这两个文件放到与Voting.sol同级别的目录下。</p>\n<p><br></p>\n<p>index.html</p>\n<p><br></p>\n<p><!DOCTYPE html></p>\n<p><html></p>\n<p><head></p>\n<p> <title>Hello World DApp</title></p>\n<p> <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'></p>\n<p> <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css' rel='stylesheet' type='text/css'></p>\n<p></head></p>\n<p><body class=\"container\"></p>\n<p> <h1>SSC VOTING APPLICATION</h1></p>\n<p> <div class=\"table-responsive\"></p>\n<p> <table class=\"table table-bordered\"></p>\n<p> <thead></p>\n<p> <tr></p>\n<p> <th>Candidate</th></p>\n<p> <th>Votes</th></p>\n<p> </tr></p>\n<p> </thead></p>\n<p> <tbody></p>\n<p> <tr></p>\n<p> <td>Rama</td></p>\n<p> <td id=\"candidate-1\"></td></p>\n<p> </tr></p>\n<p> <tr></p>\n<p> <td>Nick</td></p>\n<p> <td id=\"candidate-2\"></td></p>\n<p> </tr></p>\n<p> <tr></p>\n<p> <td>Jose</td></p>\n<p> <td id=\"candidate-3\"></td></p>\n<p> </tr></p>\n<p> </tbody></p>\n<p> </table></p>\n<p> </div></p>\n<p> <input type=\"text\" id=\"candidate\" /></p>\n<p> <a href=\"#\" onclick=\"voteForCandidate()\" class=\"btn btn-primary\">Vote</a></p>\n<p></body></p>\n<p><script src=\"https://cdn.rawgit.com/ethereum/web3.js/develop/dist/web3.js\"></script></p>\n<p><script src=\"https://code.jquery.com/jquery-3.1.1.slim.min.js\"></script></p>\n<p><script src=\"./index.js\"></script></p>\n<p></html></p>\n<p><br></p>\n<p>index.js</p>\n<p><br></p>\n<p>web3 = new Web3(new Web3.providers.HttpProvider(\"http://localhost:8545\"));</p>\n<p>abi = JSON.parse('[{\"constant\":false,\"inputs\":[{\"name\":\"candidate\",\"type\":\"bytes32\"}],\"name\":\"totalVotesFor\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"candidate\",\"type\":\"bytes32\"}],\"name\":\"validCandidate\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"votesReceived\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"x\",\"type\":\"bytes32\"}],\"name\":\"bytes32ToString\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"candidateList\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"candidate\",\"type\":\"bytes32\"}],\"name\":\"voteForCandidate\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"contractOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[{\"name\":\"candidateNames\",\"type\":\"bytes32[]\"}],\"payable\":false,\"type\":\"constructor\"}]')</p>\n<p>VotingContract = web3.eth.contract(abi);</p>\n<p>//在你的控制台中, 执行contractInstance.address,并将获得的地址替换下面这个0x413a...地址</p>\n<p>contractInstance = VotingContract.at('0x4131a0f92d36932d3ec3b7a0581546f2e662ad0b');</p>\n<p>candidates = {\"Rama\": \"candidate-1\", \"Nick\": \"candidate-2\", \"Jose\": \"candidate-3\"}</p>\n<p><br></p>\n<p>function voteForCandidate(candidate) {</p>\n<p> candidateName = $(\"#candidate\").val();</p>\n<p> contractInstance.voteForCandidate(candidateName, {from: web3.eth.accounts[0]}, function() {</p>\n<p> let div_id = candidates[candidateName];</p>\n<p> $(\"#\" + div_id).html(contractInstance.totalVotesFor.call(candidateName).toString());</p>\n<p> });</p>\n<p>}</p>\n<p><br></p>\n<p>$(document).ready(function() {</p>\n<p> candidateNames = Object.keys(candidates);</p>\n<p> for (var i = 0; i < candidateNames.length; i++) {</p>\n<p> let name = candidateNames[i];</p>\n<p> let val = contractInstance.totalVotesFor.call(name).toString()</p>\n<p> $(\"#\" + candidates[name]).html(val);</p>\n<p> }</p>\n<p>});</p>\n<p><br></p>\n<p>在index.js中把合约的地址替换之后打开index.html即可在网页上进行我们的投票操作,同时可以通过MetaMask看到我们的交易和以太币的变动情况。</p>\n</html>",
"json_metadata": "{\"tags\":[\"cn\",\"eth\",\"ethereum\",\"go-ethereum\",\"blockchain\"],\"image\":[\"https://steemit-production-imageproxy-thumbnail.s3.amazonaws.com/U5dtkiK8PQtxARgkc4GPFogPo9sg4dV_1680x8400\"],\"links\":[\"http://localhost:8545\",\"https://fonts.googleapis.com/css?family=Open+Sans:400,700\",\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\",\"https://cdn.rawgit.com/ethereum/web3.js/develop/dist/web3.js\",\"https://code.jquery.com/jquery-3.1.1.slim.min.js\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}jademontupvoted (16.00%) @fblife / go-ethereum2018/03/01 16:36:18
jademontupvoted (16.00%) @fblife / go-ethereum
2018/03/01 16:36:18
| voter | jademont |
| author | fblife |
| permlink | go-ethereum |
| weight | 1600 (16.00%) |
| Transaction Info | Block #20298941/Trx 78f7bd5f00e7f017502f025d7cb68575f6369720 |
View Raw JSON Data
{
"trx_id": "78f7bd5f00e7f017502f025d7cb68575f6369720",
"block": 20298941,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-01T16:36:18",
"op": [
"vote",
{
"voter": "jademont",
"author": "fblife",
"permlink": "go-ethereum",
"weight": 1600
}
]
}cnbuddyreplied to @fblife / re-fblife-go-ethereum-20180301t152811770z2018/03/01 15:28:12
cnbuddyreplied to @fblife / re-fblife-go-ethereum-20180301t152811770z
2018/03/01 15:28:12
| parent author | fblife |
| parent permlink | go-ethereum |
| author | cnbuddy |
| permlink | re-fblife-go-ethereum-20180301t152811770z |
| title | |
| body | 新年快乐!cn区点赞机器人 @cnbuddy 谢谢你对cn区的贡献。如果不想再收到我的留言,请回复“取消”。 |
| json metadata | |
| Transaction Info | Block #20297579/Trx 7de1edf669d9411f35546f3c63cd22e9c70dcb96 |
View Raw JSON Data
{
"trx_id": "7de1edf669d9411f35546f3c63cd22e9c70dcb96",
"block": 20297579,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-01T15:28:12",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "go-ethereum",
"author": "cnbuddy",
"permlink": "re-fblife-go-ethereum-20180301t152811770z",
"title": "",
"body": "新年快乐!cn区点赞机器人 @cnbuddy 谢谢你对cn区的贡献。如果不想再收到我的留言,请回复“取消”。",
"json_metadata": ""
}
]
}cnbuddyupvoted (0.10%) @fblife / go-ethereum2018/03/01 15:26:36
cnbuddyupvoted (0.10%) @fblife / go-ethereum
2018/03/01 15:26:36
| voter | cnbuddy |
| author | fblife |
| permlink | go-ethereum |
| weight | 10 (0.10%) |
| Transaction Info | Block #20297547/Trx 1140277b03cf1abf815ccb07fc5ea857efe75a5a |
View Raw JSON Data
{
"trx_id": "1140277b03cf1abf815ccb07fc5ea857efe75a5a",
"block": 20297547,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-01T15:26:36",
"op": [
"vote",
{
"voter": "cnbuddy",
"author": "fblife",
"permlink": "go-ethereum",
"weight": 10
}
]
}wannastayupvoted (100.00%) @fblife / re-wannastay-re-fblife-4ukgc3-20180301t091552415z2018/03/01 10:07:27
wannastayupvoted (100.00%) @fblife / re-wannastay-re-fblife-4ukgc3-20180301t091552415z
2018/03/01 10:07:27
| voter | wannastay |
| author | fblife |
| permlink | re-wannastay-re-fblife-4ukgc3-20180301t091552415z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20291166/Trx 78ef66702a7167fb77d41108c75b989df01832f1 |
View Raw JSON Data
{
"trx_id": "78ef66702a7167fb77d41108c75b989df01832f1",
"block": 20291166,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-01T10:07:27",
"op": [
"vote",
{
"voter": "wannastay",
"author": "fblife",
"permlink": "re-wannastay-re-fblife-4ukgc3-20180301t091552415z",
"weight": 10000
}
]
}2018/03/01 09:15:51
2018/03/01 09:15:51
| parent author | wannastay |
| parent permlink | re-fblife-4ukgc3-20180227t124644011z |
| author | fblife |
| permlink | re-wannastay-re-fblife-4ukgc3-20180301t091552415z |
| title | |
| body | 找一帮朋友,立刻出发 :) |
| json metadata | {"tags":["cn"],"app":"steemit/0.1"} |
| Transaction Info | Block #20290136/Trx 8b967b796aecafdf0bf677413648b833c9a29e9b |
View Raw JSON Data
{
"trx_id": "8b967b796aecafdf0bf677413648b833c9a29e9b",
"block": 20290136,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-01T09:15:51",
"op": [
"comment",
{
"parent_author": "wannastay",
"parent_permlink": "re-fblife-4ukgc3-20180227t124644011z",
"author": "fblife",
"permlink": "re-wannastay-re-fblife-4ukgc3-20180301t091552415z",
"title": "",
"body": "找一帮朋友,立刻出发 :)",
"json_metadata": "{\"tags\":[\"cn\"],\"app\":\"steemit/0.1\"}"
}
]
}fblifepublished a new post: go-ethereum2018/03/01 09:14:21
fblifepublished a new post: go-ethereum
2018/03/01 09:14:21
| parent author | |
| parent permlink | cn |
| author | fblife |
| permlink | go-ethereum |
| title | 使用Go-Ethereum搭建以太坊私有链 |
| body | <html> <p><img src="http://img4.fblife.com/FmnfqWKtebzq3LlJjduO-4Q-qgRK?imageView2/2/w/728/q/100" width="600" height="355"/></p> <p><br></p> <p>发一篇技术文章,之前从网上找了好多教程(没有一个是完整的),安装过程中遇到不少问题,记录一下。</p> <p>一、安装</p> <p><br></p> <p>git clone https://github.com/ethereum/go-ethereum.git</p> <p>cd go-ethereum</p> <p>make geth</p> <p>make all</p> <p><br></p> <p>二、运行</p> <p><br></p> <p>mkdir chain</p> <p>geth --datadir "./chain" -dev -dev.period 1 --nodiscover console 2>>eth_output.log</p> <p><br></p> <p>三、使用</p> <p><br></p> <p>查看账户</p> <p>> eth.accounts</p> <p><br></p> <p>创建账户</p> <p>> personal.newAccount("123456")</p> <p><br></p> <p>查看余额</p> <p>> web3.eth.getBalance("0xbe323cc4fde114269a9513a27d3e985f82b9e25d")</p> <p>或者</p> <p>> acc0 = eth.accounts[0]</p> <p>> eth.getBalance(acc0)</p> <p><br></p> <p>查看格式化的以太币</p> <p>> web3.fromWei(web3.eth.getBalance(acc0))</p> <p><br></p> <p>挖矿</p> <p>> miner.start()</p> <p>> miner.stop()</p> <p><br></p> <p>查看全部账户余额</p> <p>> function checkAllBalances() {</p> <p> var totalBal = 0;</p> <p> for (var acctNum in eth.accounts) {</p> <p> var acct = eth.accounts[acctNum];</p> <p> var acctBal = web3.fromWei(eth.getBalance(acct), "ether");</p> <p> totalBal += parseFloat(acctBal);</p> <p> console.log(" eth.accounts[" + acctNum + "]: \t" + acct + " \tbalance: " + acctBal + " ether");</p> <p> }</p> <p> console.log(" Total balance: " + totalBal + " ether");</p> <p> };</p> <p>> checkAllBalances()</p> <p>或者保存到一个脚本里,然后加载运行</p> <p>> loadScript('/path/script/here.js')</p> <p>> checkAllBalances()</p> <p><br></p> <p>转账</p> <p>> web3.eth.sendTransaction({from:acc0,to:acc1,value:web3.toWei(3,"ether")})</p> <p><br></p> <p>四、问题</p> <p><br></p> <p>1. 转账失败</p> <p><br></p> <p>a. 账号被锁</p> <p><br></p> <p>当直接执行此方法时会抛出异常,显示帐号被锁</p> <p>> web3.eth.sendTransaction({from:acc0,to:acc1,value:web3.toWei(3,"ether")})</p> <p>Error: authentication needed: password or unlock</p> <p> at web3.js:3104:20</p> <p> at web3.js:6191:15</p> <p> at web3.js:5004:36</p> <p> at <anonymous>:1:1</p> <p><br></p> <p>解锁转帐帐户</p> <p>> web3.personal.unlockAccount(acc0,"123456")</p> <p><br></p> <p>b. 未挖矿</p> <p><br></p> <p>可能未运行挖矿</p> <p>> miner.start()</p> <p><br></p> <p>2. miner.start()返回null</p> <p><br></p> <p>a. 是否设置miner地址</p> <p><br></p> <p>查看当前节点下面是否有账号存在</p> <p>> personal.listAccounts</p> <p><br></p> <p>当确认账户已经存在时,可以设置Etherbase。先查看以下coinbase账户</p> <p>> eth.coinbase</p> <p><br></p> <p>执行设置miner地址</p> <p>> miner.setEtherbase(eth.coinbase)</p> <p>或者</p> <p>> miner.setEtherbase(eth.accounts[0])</p> <p><br></p> <p>b. 节点误报</p> <p><br></p> <p>另外一种情况就是其实miner.start()命令已经执行成功,只不过节点返回null。如果是dev模式,可以使用eth.blockNumber查看一下区块高度是否增加。</p> <p><br></p> <p>c. 节点版本问题</p> <p><br></p> <p>出现此问题的原因在于geth版本更新之后,–dev模式下新增了一个参数项:</p> <p>--dev Ephemeral proof-of-authority network with a pre-funded developer account, mining enabled</p> <p>--dev.period value Block period to use in developer mode (0 = mine only if transaction pending) (default: 0)</p> <p><br></p> <p>–dev是我们常用的参数,之前版本中我们只用使用–dev然后执行miner.start()就可以挖矿,但是在后面的版本中,当我们会发现只有发送交易了才会挖一个块。</p> <p><br></p> <p>引起此问题的原因就是新增了–dev.period value配置项。此配置默认值为0,也就是说只有有pending中的交易才会挖矿。</p> <p><br></p> <p>明白了这个参数的含义之后,解决问题就很简答了,之前的–dev参数依旧使用,然后再在后面添加–dev.period 1,注意,参数值为1,不是默认的0。</p> <p><br></p> <p>再重新启动节点,然后执行挖矿,先不管返回是否是null,执行之后,无论查看日志或执行eth.blockNumber都会发现块在不停的增高。</p> </html> |
| json metadata | {"tags":["cn","eth","ethereum","go-ethereum","blockchain"],"image":["http://img4.fblife.com/FmnfqWKtebzq3LlJjduO-4Q-qgRK?imageView2/2/w/728/q/100"],"links":["https://github.com/ethereum/go-ethereum.git"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #20290106/Trx 008e70c653ec42fc0baf201d72c36f001f907ba9 |
View Raw JSON Data
{
"trx_id": "008e70c653ec42fc0baf201d72c36f001f907ba9",
"block": 20290106,
"trx_in_block": 36,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-01T09:14:21",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cn",
"author": "fblife",
"permlink": "go-ethereum",
"title": "使用Go-Ethereum搭建以太坊私有链",
"body": "<html>\n<p><img src=\"http://img4.fblife.com/FmnfqWKtebzq3LlJjduO-4Q-qgRK?imageView2/2/w/728/q/100\" width=\"600\" height=\"355\"/></p>\n<p><br></p>\n<p>发一篇技术文章,之前从网上找了好多教程(没有一个是完整的),安装过程中遇到不少问题,记录一下。</p>\n<p>一、安装</p>\n<p><br></p>\n<p>git clone https://github.com/ethereum/go-ethereum.git</p>\n<p>cd go-ethereum</p>\n<p>make geth</p>\n<p>make all</p>\n<p><br></p>\n<p>二、运行</p>\n<p><br></p>\n<p>mkdir chain</p>\n<p>geth --datadir \"./chain\" -dev -dev.period 1 --nodiscover console 2>>eth_output.log</p>\n<p><br></p>\n<p>三、使用</p>\n<p><br></p>\n<p>查看账户</p>\n<p>> eth.accounts</p>\n<p><br></p>\n<p>创建账户</p>\n<p>> personal.newAccount(\"123456\")</p>\n<p><br></p>\n<p>查看余额</p>\n<p>> web3.eth.getBalance(\"0xbe323cc4fde114269a9513a27d3e985f82b9e25d\")</p>\n<p>或者</p>\n<p>> acc0 = eth.accounts[0]</p>\n<p>> eth.getBalance(acc0)</p>\n<p><br></p>\n<p>查看格式化的以太币</p>\n<p>> web3.fromWei(web3.eth.getBalance(acc0))</p>\n<p><br></p>\n<p>挖矿</p>\n<p>> miner.start()</p>\n<p>> miner.stop()</p>\n<p><br></p>\n<p>查看全部账户余额</p>\n<p>> function checkAllBalances() {</p>\n<p> var totalBal = 0;</p>\n<p> for (var acctNum in eth.accounts) {</p>\n<p> var acct = eth.accounts[acctNum];</p>\n<p> var acctBal = web3.fromWei(eth.getBalance(acct), \"ether\");</p>\n<p> totalBal += parseFloat(acctBal);</p>\n<p> console.log(\" eth.accounts[\" + acctNum + \"]: \\t\" + acct + \" \\tbalance: \" + acctBal + \" ether\");</p>\n<p> }</p>\n<p> console.log(\" Total balance: \" + totalBal + \" ether\");</p>\n<p> };</p>\n<p>> checkAllBalances()</p>\n<p>或者保存到一个脚本里,然后加载运行</p>\n<p>> loadScript('/path/script/here.js')</p>\n<p>> checkAllBalances()</p>\n<p><br></p>\n<p>转账</p>\n<p>> web3.eth.sendTransaction({from:acc0,to:acc1,value:web3.toWei(3,\"ether\")})</p>\n<p><br></p>\n<p>四、问题</p>\n<p><br></p>\n<p>1. 转账失败</p>\n<p><br></p>\n<p>a. 账号被锁</p>\n<p><br></p>\n<p>当直接执行此方法时会抛出异常,显示帐号被锁</p>\n<p>> web3.eth.sendTransaction({from:acc0,to:acc1,value:web3.toWei(3,\"ether\")})</p>\n<p>Error: authentication needed: password or unlock</p>\n<p> at web3.js:3104:20</p>\n<p> at web3.js:6191:15</p>\n<p> at web3.js:5004:36</p>\n<p> at <anonymous>:1:1</p>\n<p><br></p>\n<p>解锁转帐帐户</p>\n<p>> web3.personal.unlockAccount(acc0,\"123456\")</p>\n<p><br></p>\n<p>b. 未挖矿</p>\n<p><br></p>\n<p>可能未运行挖矿</p>\n<p>> miner.start()</p>\n<p><br></p>\n<p>2. miner.start()返回null</p>\n<p><br></p>\n<p>a. 是否设置miner地址</p>\n<p><br></p>\n<p>查看当前节点下面是否有账号存在</p>\n<p>> personal.listAccounts</p>\n<p><br></p>\n<p>当确认账户已经存在时,可以设置Etherbase。先查看以下coinbase账户</p>\n<p>> eth.coinbase</p>\n<p><br></p>\n<p>执行设置miner地址</p>\n<p>> miner.setEtherbase(eth.coinbase)</p>\n<p>或者</p>\n<p>> miner.setEtherbase(eth.accounts[0])</p>\n<p><br></p>\n<p>b. 节点误报</p>\n<p><br></p>\n<p>另外一种情况就是其实miner.start()命令已经执行成功,只不过节点返回null。如果是dev模式,可以使用eth.blockNumber查看一下区块高度是否增加。</p>\n<p><br></p>\n<p>c. 节点版本问题</p>\n<p><br></p>\n<p>出现此问题的原因在于geth版本更新之后,–dev模式下新增了一个参数项:</p>\n<p>--dev Ephemeral proof-of-authority network with a pre-funded developer account, mining enabled</p>\n<p>--dev.period value Block period to use in developer mode (0 = mine only if transaction pending) (default: 0)</p>\n<p><br></p>\n<p>–dev是我们常用的参数,之前版本中我们只用使用–dev然后执行miner.start()就可以挖矿,但是在后面的版本中,当我们会发现只有发送交易了才会挖一个块。</p>\n<p><br></p>\n<p>引起此问题的原因就是新增了–dev.period value配置项。此配置默认值为0,也就是说只有有pending中的交易才会挖矿。</p>\n<p><br></p>\n<p>明白了这个参数的含义之后,解决问题就很简答了,之前的–dev参数依旧使用,然后再在后面添加–dev.period 1,注意,参数值为1,不是默认的0。</p>\n<p><br></p>\n<p>再重新启动节点,然后执行挖矿,先不管返回是否是null,执行之后,无论查看日志或执行eth.blockNumber都会发现块在不停的增高。</p>\n</html>",
"json_metadata": "{\"tags\":[\"cn\",\"eth\",\"ethereum\",\"go-ethereum\",\"blockchain\"],\"image\":[\"http://img4.fblife.com/FmnfqWKtebzq3LlJjduO-4Q-qgRK?imageView2/2/w/728/q/100\"],\"links\":[\"https://github.com/ethereum/go-ethereum.git\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}wannastayreplied to @fblife / re-fblife-4ukgc3-20180227t124644011z2018/02/27 12:46:45
wannastayreplied to @fblife / re-fblife-4ukgc3-20180227t124644011z
2018/02/27 12:46:45
| parent author | fblife |
| parent permlink | 4ukgc3 |
| author | wannastay |
| permlink | re-fblife-4ukgc3-20180227t124644011z |
| title | |
| body | wow 看你的照片好想去冒險! |
| json metadata | {"tags":["cn"],"app":"steemit/0.1"} |
| Transaction Info | Block #20236776/Trx 7c6979b0671985c469c161c7e1baceeb60e2d5c2 |
View Raw JSON Data
{
"trx_id": "7c6979b0671985c469c161c7e1baceeb60e2d5c2",
"block": 20236776,
"trx_in_block": 43,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-27T12:46:45",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "4ukgc3",
"author": "wannastay",
"permlink": "re-fblife-4ukgc3-20180227t124644011z",
"title": "",
"body": "wow 看你的照片好想去冒險!",
"json_metadata": "{\"tags\":[\"cn\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/02/27 12:45:36
2018/02/27 12:45:36
| voter | wannastay |
| author | fblife |
| permlink | 4ukgc3 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20236753/Trx 55215db5be0f5a54657d5272d91c9a274af8748f |
View Raw JSON Data
{
"trx_id": "55215db5be0f5a54657d5272d91c9a274af8748f",
"block": 20236753,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-27T12:45:36",
"op": [
"vote",
{
"voter": "wannastay",
"author": "fblife",
"permlink": "4ukgc3",
"weight": 10000
}
]
}cnbuddyreplied to @fblife / re-fblife-4ukgc3-20180226t113854787z2018/02/26 11:38:54
cnbuddyreplied to @fblife / re-fblife-4ukgc3-20180226t113854787z
2018/02/26 11:38:54
| parent author | fblife |
| parent permlink | 4ukgc3 |
| author | cnbuddy |
| permlink | re-fblife-4ukgc3-20180226t113854787z |
| title | |
| body | 新年快乐!cn区点赞机器人 @cnbuddy 谢谢你对cn区的贡献。倘若你想让我隐形,请回复“取消”。 |
| json metadata | |
| Transaction Info | Block #20206779/Trx b0475e655d7a00760eed94c2683a28996390a9d0 |
View Raw JSON Data
{
"trx_id": "b0475e655d7a00760eed94c2683a28996390a9d0",
"block": 20206779,
"trx_in_block": 41,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-26T11:38:54",
"op": [
"comment",
{
"parent_author": "fblife",
"parent_permlink": "4ukgc3",
"author": "cnbuddy",
"permlink": "re-fblife-4ukgc3-20180226t113854787z",
"title": "",
"body": "新年快乐!cn区点赞机器人 @cnbuddy 谢谢你对cn区的贡献。倘若你想让我隐形,请回复“取消”。",
"json_metadata": ""
}
]
}2018/02/26 11:38:51
2018/02/26 11:38:51
| voter | cnbuddy |
| author | fblife |
| permlink | 4ukgc3 |
| weight | 10 (0.10%) |
| Transaction Info | Block #20206778/Trx 1e3823a8914c19903ab19321b4d8640ff2780081 |
View Raw JSON Data
{
"trx_id": "1e3823a8914c19903ab19321b4d8640ff2780081",
"block": 20206778,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-26T11:38:51",
"op": [
"vote",
{
"voter": "cnbuddy",
"author": "fblife",
"permlink": "4ukgc3",
"weight": 10
}
]
}hackerzizonupvoted (1.00%) @fblife / 4ukgc32018/02/26 11:13:48
hackerzizonupvoted (1.00%) @fblife / 4ukgc3
2018/02/26 11:13:48
| voter | hackerzizon |
| author | fblife |
| permlink | 4ukgc3 |
| weight | 100 (1.00%) |
| Transaction Info | Block #20206278/Trx efccf4d71658ee9db0d04846430acd5570585b74 |
View Raw JSON Data
{
"trx_id": "efccf4d71658ee9db0d04846430acd5570585b74",
"block": 20206278,
"trx_in_block": 39,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-26T11:13:48",
"op": [
"vote",
{
"voter": "hackerzizon",
"author": "fblife",
"permlink": "4ukgc3",
"weight": 100
}
]
}2018/02/26 11:13:36
2018/02/26 11:13:36
| parent author | |
| parent permlink | cn |
| author | fblife |
| permlink | 4ukgc3 |
| title | 无人区跨年超级大爬梯—哈拉湖装逼穿越之旅 |
| body | <html> <p>序:我们是生活的热爱者,更是无人区的自由人</p> <p>所有不为人知的风景,都在前路等着你!</p> <p>人生总要有一次疯狂的冲动!</p> <p>在一个时间似乎是静止的荒芜之地,</p> <p>与文明世界切断所有联系,</p> <p>在这与世隔绝之地,</p> <p>跟孤独的自己来一次对话;</p> <p>在壮阔和荒凉并存的景色里, 探索自己的灵魂和心灵。</p> <p>无人区穿越的意义不是在于成为谈资,</p> <p>更不是变得狂妄,</p> <p>而是学会对自然万物的心存敬畏!</p> <p>我在无人区等你。</p> <p>无人区跨年超级大爬梯—哈拉湖装逼穿越之旅</p> <p><img src="http://p3.pstatp.com/large/66b300055ce4e231ef59" width="640" height="426"/></p> <p>浩浩荡荡挺进哈拉湖</p> <p><img src="http://p3.pstatp.com/large/66b9000014a1486b1ab8" width="640" height="426"/></p> <p>挺进哈拉湖</p> <p><img src="http://p9.pstatp.com/large/66b500044df923bf1952" width="640" height="444"/></p> <p>咱们首次发现的新大陆:狮身人面像</p> <p><img src="http://p3.pstatp.com/large/66b60000b944cc177fba" width="640" height="426"/></p> <p>车子抛锚,无人区只能靠外星人救援了</p> <p><img src="http://p3.pstatp.com/large/66b70000a102a7633f62" width="640" height="480"/></p> <p>出发前前方朋友传回的其他穿越队伍的现场图片(冰陷</p> <p><img src="http://p3.pstatp.com/large/66b300055e4f1af02547" width="640" height="640"/></p> <p>大白萝卜+羊羔肉,高压锅一压,妥妥的幸福</p> <p><img src="http://p3.pstatp.com/large/66b400045ffd2dc1de35" width="640" height="426"/></p> <p>纯净的天空,是我们内心宁静</p> <p><img src="http://p3.pstatp.com/large/66b40004601d29a2e712" width="640" height="960"/></p> <p>这童话般的场景,因为他是无人区,所以显得弥足珍贵!!我想,这一刻,会载入每一个队员的内心深处。</p> </html> |
| json metadata | {"tags":["cn","travel","cars","photography","story"],"image":["http://p3.pstatp.com/large/66b300055ce4e231ef59","http://p3.pstatp.com/large/66b9000014a1486b1ab8","http://p9.pstatp.com/large/66b500044df923bf1952","http://p3.pstatp.com/large/66b60000b944cc177fba","http://p3.pstatp.com/large/66b70000a102a7633f62","http://p3.pstatp.com/large/66b300055e4f1af02547","http://p3.pstatp.com/large/66b400045ffd2dc1de35","http://p3.pstatp.com/large/66b40004601d29a2e712"],"app":"steemit/0.1","format":"html"} |
| Transaction Info | Block #20206274/Trx ed1bf833679f70dc88ee60118c031e16f130fd71 |
View Raw JSON Data
{
"trx_id": "ed1bf833679f70dc88ee60118c031e16f130fd71",
"block": 20206274,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-26T11:13:36",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cn",
"author": "fblife",
"permlink": "4ukgc3",
"title": "无人区跨年超级大爬梯—哈拉湖装逼穿越之旅",
"body": "<html>\n<p>序:我们是生活的热爱者,更是无人区的自由人</p>\n<p>所有不为人知的风景,都在前路等着你!</p>\n<p>人生总要有一次疯狂的冲动!</p>\n<p>在一个时间似乎是静止的荒芜之地,</p>\n<p>与文明世界切断所有联系,</p>\n<p>在这与世隔绝之地,</p>\n<p>跟孤独的自己来一次对话;</p>\n<p>在壮阔和荒凉并存的景色里, 探索自己的灵魂和心灵。</p>\n<p>无人区穿越的意义不是在于成为谈资,</p>\n<p>更不是变得狂妄,</p>\n<p>而是学会对自然万物的心存敬畏!</p>\n<p>我在无人区等你。</p>\n<p>无人区跨年超级大爬梯—哈拉湖装逼穿越之旅</p>\n<p><img src=\"http://p3.pstatp.com/large/66b300055ce4e231ef59\" width=\"640\" height=\"426\"/></p>\n<p>浩浩荡荡挺进哈拉湖</p>\n<p><img src=\"http://p3.pstatp.com/large/66b9000014a1486b1ab8\" width=\"640\" height=\"426\"/></p>\n<p>挺进哈拉湖</p>\n<p><img src=\"http://p9.pstatp.com/large/66b500044df923bf1952\" width=\"640\" height=\"444\"/></p>\n<p>咱们首次发现的新大陆:狮身人面像</p>\n<p><img src=\"http://p3.pstatp.com/large/66b60000b944cc177fba\" width=\"640\" height=\"426\"/></p>\n<p>车子抛锚,无人区只能靠外星人救援了</p>\n<p><img src=\"http://p3.pstatp.com/large/66b70000a102a7633f62\" width=\"640\" height=\"480\"/></p>\n<p>出发前前方朋友传回的其他穿越队伍的现场图片(冰陷</p>\n<p><img src=\"http://p3.pstatp.com/large/66b300055e4f1af02547\" width=\"640\" height=\"640\"/></p>\n<p>大白萝卜+羊羔肉,高压锅一压,妥妥的幸福</p>\n<p><img src=\"http://p3.pstatp.com/large/66b400045ffd2dc1de35\" width=\"640\" height=\"426\"/></p>\n<p>纯净的天空,是我们内心宁静</p>\n<p><img src=\"http://p3.pstatp.com/large/66b40004601d29a2e712\" width=\"640\" height=\"960\"/></p>\n<p>这童话般的场景,因为他是无人区,所以显得弥足珍贵!!我想,这一刻,会载入每一个队员的内心深处。</p>\n</html>",
"json_metadata": "{\"tags\":[\"cn\",\"travel\",\"cars\",\"photography\",\"story\"],\"image\":[\"http://p3.pstatp.com/large/66b300055ce4e231ef59\",\"http://p3.pstatp.com/large/66b9000014a1486b1ab8\",\"http://p9.pstatp.com/large/66b500044df923bf1952\",\"http://p3.pstatp.com/large/66b60000b944cc177fba\",\"http://p3.pstatp.com/large/66b70000a102a7633f62\",\"http://p3.pstatp.com/large/66b300055e4f1af02547\",\"http://p3.pstatp.com/large/66b400045ffd2dc1de35\",\"http://p3.pstatp.com/large/66b40004601d29a2e712\"],\"app\":\"steemit/0.1\",\"format\":\"html\"}"
}
]
}2018/02/06 09:38:18
2018/02/06 09:38:18
| author | fblife |
| permlink | elf |
| sbd payout | 0.023 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 14.318309 VESTS |
| Transaction Info | Block #19628906/Virtual Operation #10 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 19628906,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 10,
"timestamp": "2018-02-06T09:38:18",
"op": [
"author_reward",
{
"author": "fblife",
"permlink": "elf",
"sbd_payout": "0.023 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "14.318309 VESTS"
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress30.26%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779063306
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779063306
},
"rc_account": {
"account": "fblife",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779063306
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"http://img4.fblife.com/FrhbImrEFLk8cWueohD6DBn-fvwB?imageView2/2/w/728/q/100","about":"steemitcn.com - Steemit中国,致力于打造国内steemiter交流的社区。","location":"beijing","website":"http://www.steemitcn.com"} |
| JSON METADATA | |
| profile | {"profile_image":"http://img4.fblife.com/FrhbImrEFLk8cWueohD6DBn-fvwB?imageView2/2/w/728/q/100","about":"steemitcn.com - Steemit中国,致力于打造国内steemiter交流的社区。","location":"beijing","website":"http://www.steemitcn.com"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "http://img4.fblife.com/FrhbImrEFLk8cWueohD6DBn-fvwB?imageView2/2/w/728/q/100",
"about": "steemitcn.com - Steemit中国,致力于打造国内steemiter交流的社区。",
"location": "beijing",
"website": "http://www.steemitcn.com"
}
},
"json_metadata": {
"profile": {
"profile_image": "http://img4.fblife.com/FrhbImrEFLk8cWueohD6DBn-fvwB?imageView2/2/w/728/q/100",
"about": "steemitcn.com - Steemit中国,致力于打造国内steemiter交流的社区。",
"location": "beijing",
"website": "http://www.steemitcn.com"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM84nPXmCeVRvtnxYkQXDv1XiuYDR1bvmp6zTMKEbQEFQYNYMyEi1/1
Active
Single Signature
Public Keys
STM58WzpKpLLfBQA2d4XiuQteB2saM8ctwnHu9ini6JJMo9F3QKQB1/1
Posting
Single Signature
Public Keys
STM5FTSTMnC5ZTa43gvncWFkJqJ7qkUWYd9zLqtEWwWxuupGWEFbp1/1
Memo
STM5vMnNuqUu3q8KSWzRbRxi3VdnhZKRqq3z3xKNyAkrTtEM8tiAV
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM84nPXmCeVRvtnxYkQXDv1XiuYDR1bvmp6zTMKEbQEFQYNYMyEi",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM58WzpKpLLfBQA2d4XiuQteB2saM8ctwnHu9ini6JJMo9F3QKQB",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5FTSTMnC5ZTa43gvncWFkJqJ7qkUWYd9zLqtEWwWxuupGWEFbp",
1
]
]
},
"memo": "STM5vMnNuqUu3q8KSWzRbRxi3VdnhZKRqq3z3xKNyAkrTtEM8tiAV"
}Witness Votes
0 / 30
No active witness votes.
[]