VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.006USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.007SP
├── Own SP
0.125SP
└── Incoming DelegationsDeleg
+4.881SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.125SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.881SP | SP |
| Effective Power | 5.007SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "203.850092 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7939.809714 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | jeffry82 |
| id | 938311 |
| rank | 1,274,354 |
| reputation | 261490910 |
| created | 2018-04-12T05:46:42 |
| recovery_account | steem |
| proxy | None |
| post_count | 2 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-10-03T05:36:00 |
| last_root_post | 2018-10-03T05:36:00 |
| last_vote_time | 2018-05-01T02:57:57 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 203.850092 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7939.809714 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 1970-01-01T00:00:00 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 938311,
"name": "jeffry82",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5Exgz7t2bh1vDcntmJYfqgEtazJteNCxdtnjyf8KNCcSLYt2mw",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8XH1SMsAsDFhDDHLUrsdVtgcv7VfFBM3sGmZWQpH8tTQad7AwK",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5UShpAt3xrAPhLAQcwBS1cSC5xZnLmoBNhtFWNyTdcEz515Tcj",
1
]
]
},
"memo_key": "STM5DqUNC54tGRhPGtmkfWc6Zs9qKK6iRkUpf2UjEFJ6mC6oU1x6g",
"json_metadata": "{}",
"posting_json_metadata": "",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "1970-01-01T00:00:00",
"created": "2018-04-12T05:46:42",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 2,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779068877
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779068877
},
"voting_power": 0,
"balance": "0.000 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": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "203.850092 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7939.809714 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 0,
"posting_rewards": 0,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2018-10-03T05:36:00",
"last_root_post": "2018-10-03T05:36:00",
"last_vote_time": "2018-05-01T02:57:57",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": 261490910,
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 1274354
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2026/05/18 01:47:57
2026/05/18 01:47:57
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 7939.809714 VESTS |
| Transaction Info | Block #106145293/Trx 83019e083e1f22064397dc62000b9dbae65e94a7 |
View Raw JSON Data
{
"trx_id": "83019e083e1f22064397dc62000b9dbae65e94a7",
"block": 106145293,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-18T01:47:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "7939.809714 VESTS"
}
]
}2026/05/12 10:06:54
2026/05/12 10:06:54
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 5227.599309 VESTS |
| Transaction Info | Block #105983226/Trx 9148ee1b6b5588f3d4bdb5d04f57216479cc75dc |
View Raw JSON Data
{
"trx_id": "9148ee1b6b5588f3d4bdb5d04f57216479cc75dc",
"block": 105983226,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-12T10:06:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "5227.599309 VESTS"
}
]
}2026/04/26 01:06:21
2026/04/26 01:06:21
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 7952.325470 VESTS |
| Transaction Info | Block #105512901/Trx 9efa584e309216fab23580f87e82a4911d58952d |
View Raw JSON Data
{
"trx_id": "9efa584e309216fab23580f87e82a4911d58952d",
"block": 105512901,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-26T01:06:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "7952.325470 VESTS"
}
]
}2026/01/23 11:57:27
2026/01/23 11:57:27
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 5269.146128 VESTS |
| Transaction Info | Block #102856792/Trx cd46f95b17b87f5bed2144ca84a0727506453377 |
View Raw JSON Data
{
"trx_id": "cd46f95b17b87f5bed2144ca84a0727506453377",
"block": 102856792,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-23T11:57:27",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "5269.146128 VESTS"
}
]
}2024/12/17 07:14:12
2024/12/17 07:14:12
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 5433.365325 VESTS |
| Transaction Info | Block #91303143/Trx 02a82669bfdd2e2276c345ea36d0fa4c6546203e |
View Raw JSON Data
{
"trx_id": "02a82669bfdd2e2276c345ea36d0fa4c6546203e",
"block": 91303143,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-17T07:14:12",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "5433.365325 VESTS"
}
]
}2023/11/13 22:56:36
2023/11/13 22:56:36
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 5602.498857 VESTS |
| Transaction Info | Block #79857335/Trx c60cd00f2625869506d9e28681ce57464d63bb63 |
View Raw JSON Data
{
"trx_id": "c60cd00f2625869506d9e28681ce57464d63bb63",
"block": 79857335,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-13T22:56:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "5602.498857 VESTS"
}
]
}2023/09/21 23:39:33
2023/09/21 23:39:33
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 8539.777643 VESTS |
| Transaction Info | Block #78350019/Trx db2e538d529cafe1d076fafe85de7d7fea734521 |
View Raw JSON Data
{
"trx_id": "db2e538d529cafe1d076fafe85de7d7fea734521",
"block": 78350019,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-21T23:39:33",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "8539.777643 VESTS"
}
]
}2022/11/03 13:12:45
2022/11/03 13:12:45
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 8761.459081 VESTS |
| Transaction Info | Block #69115063/Trx 86221021151859719a956039f5dd1be7396d0e82 |
View Raw JSON Data
{
"trx_id": "86221021151859719a956039f5dd1be7396d0e82",
"block": 69115063,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T13:12:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "8761.459081 VESTS"
}
]
}2022/01/17 12:21:00
2022/01/17 12:21:00
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 8981.992312 VESTS |
| Transaction Info | Block #60811078/Trx 80070fe6ad81522b32ecc2e5ff3a079a57c269c0 |
View Raw JSON Data
{
"trx_id": "80070fe6ad81522b32ecc2e5ff3a079a57c269c0",
"block": 60811078,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-17T12:21:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "8981.992312 VESTS"
}
]
}2021/06/14 02:12:36
2021/06/14 02:12:36
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 9165.760970 VESTS |
| Transaction Info | Block #54609388/Trx 18cc41aa301ec2f44405d73ab994ba6625f6fb46 |
View Raw JSON Data
{
"trx_id": "18cc41aa301ec2f44405d73ab994ba6625f6fb46",
"block": 54609388,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-14T02:12:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "9165.760970 VESTS"
}
]
}2020/12/11 12:29:27
2020/12/11 12:29:27
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 9353.182944 VESTS |
| Transaction Info | Block #49356789/Trx fe7ea5528c1781c3e05c9385c0f507ccab2ef930 |
View Raw JSON Data
{
"trx_id": "fe7ea5528c1781c3e05c9385c0f507ccab2ef930",
"block": 49356789,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T12:29:27",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "9353.182944 VESTS"
}
]
}2020/12/06 06:06:15
2020/12/06 06:06:15
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49208343/Trx 974849547beafaace10339a3edcbf51c7c930ba9 |
View Raw JSON Data
{
"trx_id": "974849547beafaace10339a3edcbf51c7c930ba9",
"block": 49208343,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T06:06:15",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "1912.543513 VESTS"
}
]
}2020/12/05 16:07:39
2020/12/05 16:07:39
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 9359.390798 VESTS |
| Transaction Info | Block #49191887/Trx 983bdd5cca13a4ab4498ff3f2ce1bfb65f2cea7c |
View Raw JSON Data
{
"trx_id": "983bdd5cca13a4ab4498ff3f2ce1bfb65f2cea7c",
"block": 49191887,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-05T16:07:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "9359.390798 VESTS"
}
]
}2020/11/02 18:27:33
2020/11/02 18:27:33
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48261124/Trx 6f78080e2c12c6cacd85f6c4b5dc41b0c467e63e |
View Raw JSON Data
{
"trx_id": "6f78080e2c12c6cacd85f6c4b5dc41b0c467e63e",
"block": 48261124,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-02T18:27:33",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "1920.017158 VESTS"
}
]
}2020/05/09 07:05:00
2020/05/09 07:05:00
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 9562.196157 VESTS |
| Transaction Info | Block #43218612/Trx 2f85506f24116382a793b0e36f29c5e32d97bbdd |
View Raw JSON Data
{
"trx_id": "2f85506f24116382a793b0e36f29c5e32d97bbdd",
"block": 43218612,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T07:05:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "9562.196157 VESTS"
}
]
}2020/05/08 10:53:18
2020/05/08 10:53:18
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43194945/Trx 9577d3018ba15a88a44e353fee01637e0f1d0dcd |
View Raw JSON Data
{
"trx_id": "9577d3018ba15a88a44e353fee01637e0f1d0dcd",
"block": 43194945,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T10:53:18",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "1953.311140 VESTS"
}
]
}2019/12/05 08:26:30
2019/12/05 08:26:30
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 9648.495808 VESTS |
| Transaction Info | Block #38766258/Trx aa50e1cf44d4200359b3e2aea536ec7a02b2c9f0 |
View Raw JSON Data
{
"trx_id": "aa50e1cf44d4200359b3e2aea536ec7a02b2c9f0",
"block": 38766258,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-12-05T08:26:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "9648.495808 VESTS"
}
]
}2019/04/12 06:09:39
2019/04/12 06:09:39
| parent author | jeffry82 |
| parent permlink | icon-2 |
| author | steemitboard |
| permlink | steemitboard-notify-jeffry82-20190412t060939000z |
| title | |
| body | Congratulations @jeffry82! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jeffry82/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@jeffry82) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=jeffry82)_</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 #31972691/Trx f8a3f95795f93bef660c44905fa5ca0b1a78713f |
View Raw JSON Data
{
"trx_id": "f8a3f95795f93bef660c44905fa5ca0b1a78713f",
"block": 31972691,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-12T06:09:39",
"op": [
"comment",
{
"parent_author": "jeffry82",
"parent_permlink": "icon-2",
"author": "steemitboard",
"permlink": "steemitboard-notify-jeffry82-20190412t060939000z",
"title": "",
"body": "Congratulations @jeffry82! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@jeffry82/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@jeffry82) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=jeffry82)_</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/01/02 07:05:39
2019/01/02 07:05:39
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 9845.576800 VESTS |
| Transaction Info | Block #29096459/Trx 65d0a5af60c1432189c1ec62a76beb8e718898bc |
View Raw JSON Data
{
"trx_id": "65d0a5af60c1432189c1ec62a76beb8e718898bc",
"block": 29096459,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-01-02T07:05:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "9845.576800 VESTS"
}
]
}2018/10/13 09:41:30
2018/10/13 09:41:30
| voter | jeffry82 |
| author | jeffry82 |
| permlink | icon-2 |
| weight | 0 (0.00%) |
| Transaction Info | Block #26768253/Trx f2e9410da2449062492d7cc5c731d8d685a3daf9 |
View Raw JSON Data
{
"trx_id": "f2e9410da2449062492d7cc5c731d8d685a3daf9",
"block": 26768253,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-13T09:41:30",
"op": [
"vote",
{
"voter": "jeffry82",
"author": "jeffry82",
"permlink": "icon-2",
"weight": 0
}
]
}2018/10/13 09:41:18
2018/10/13 09:41:18
| voter | jeffry82 |
| author | jeffry82 |
| permlink | icon-2 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #26768249/Trx 9926b99b14eabebc46995e984f6de43bb75d345f |
View Raw JSON Data
{
"trx_id": "9926b99b14eabebc46995e984f6de43bb75d345f",
"block": 26768249,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-13T09:41:18",
"op": [
"vote",
{
"voter": "jeffry82",
"author": "jeffry82",
"permlink": "icon-2",
"weight": 10000
}
]
}2018/10/08 16:53:51
2018/10/08 16:53:51
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 30086.194680 VESTS |
| Transaction Info | Block #26633001/Trx 11059a56a17141e09fa1345e4f4ff21ff53557dc |
View Raw JSON Data
{
"trx_id": "11059a56a17141e09fa1345e4f4ff21ff53557dc",
"block": 26633001,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-08T16:53:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "30086.194680 VESTS"
}
]
}jeffry82upvoted (100.00%) @energist / blockchain-study-pbft-practical-byzantine-fault-tolerance2018/10/04 23:53:33
jeffry82upvoted (100.00%) @energist / blockchain-study-pbft-practical-byzantine-fault-tolerance
2018/10/04 23:53:33
| voter | jeffry82 |
| author | energist |
| permlink | blockchain-study-pbft-practical-byzantine-fault-tolerance |
| weight | 10000 (100.00%) |
| Transaction Info | Block #26526273/Trx d0ef4027dccb035584527fc41a10058bec4d707d |
View Raw JSON Data
{
"trx_id": "d0ef4027dccb035584527fc41a10058bec4d707d",
"block": 26526273,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-04T23:53:33",
"op": [
"vote",
{
"voter": "jeffry82",
"author": "energist",
"permlink": "blockchain-study-pbft-practical-byzantine-fault-tolerance",
"weight": 10000
}
]
}2018/10/03 08:10:03
2018/10/03 08:10:03
| voter | powerguy |
| author | jeffry82 |
| permlink | icon-2 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #26478625/Trx f178ac67d7c74017426d3ed9d43b21e73243d49d |
View Raw JSON Data
{
"trx_id": "f178ac67d7c74017426d3ed9d43b21e73243d49d",
"block": 26478625,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-03T08:10:03",
"op": [
"vote",
{
"voter": "powerguy",
"author": "jeffry82",
"permlink": "icon-2",
"weight": 10000
}
]
}2018/10/03 05:48:39
2018/10/03 05:48:39
| parent author | |
| parent permlink | blockchain |
| author | jeffry82 |
| permlink | icon-2 |
| title | ICON 스마트 컨트랙트 실용 예제 #2 |
| body | @@ -1051,17 +1051,17 @@ %EB%93%A0%EC%A7%80, %EC%A3%BC%EB%AC%B8 %EA%B3%84 -%EC%9E%90 +%EC%A2%8C %EB%A1%9C %EB%B6%80%ED%84%B0 %EA%B0%9C%EC%9D%B8 |
| json metadata | {"tags":["blockchain","icon","score","smart-contract","example"],"image":["https://cdn.steemitimages.com/DQmS9R3qaAc6BCNoghZnoGe1fstaruHPY967gcr4SdVrVRe/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.29.19.png","https://cdn.steemitimages.com/DQmayem4ZfsJvp2guECajEPsPwiLaJQhcWRzrSrayadcWgg/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.30.05.png"],"links":["https://steemit.com/blockchain/@jeffry82/icon-1","https://github.com/jaepary/upgradable-contract-icon"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #26475803/Trx d8cac15b50d2920e6150c025ac232253383b8058 |
View Raw JSON Data
{
"trx_id": "d8cac15b50d2920e6150c025ac232253383b8058",
"block": 26475803,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-03T05:48:39",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "blockchain",
"author": "jeffry82",
"permlink": "icon-2",
"title": "ICON 스마트 컨트랙트 실용 예제 #2",
"body": "@@ -1051,17 +1051,17 @@\n %EB%93%A0%EC%A7%80, %EC%A3%BC%EB%AC%B8 %EA%B3%84\n-%EC%9E%90\n+%EC%A2%8C\n %EB%A1%9C %EB%B6%80%ED%84%B0 %EA%B0%9C%EC%9D%B8 \n",
"json_metadata": "{\"tags\":[\"blockchain\",\"icon\",\"score\",\"smart-contract\",\"example\"],\"image\":[\"https://cdn.steemitimages.com/DQmS9R3qaAc6BCNoghZnoGe1fstaruHPY967gcr4SdVrVRe/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.29.19.png\",\"https://cdn.steemitimages.com/DQmayem4ZfsJvp2guECajEPsPwiLaJQhcWRzrSrayadcWgg/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.30.05.png\"],\"links\":[\"https://steemit.com/blockchain/@jeffry82/icon-1\",\"https://github.com/jaepary/upgradable-contract-icon\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/10/03 05:40:42
2018/10/03 05:40:42
| parent author | |
| parent permlink | blockchain |
| author | jeffry82 |
| permlink | icon-2 |
| title | ICON 스마트 컨트랙트 실용 예제 #2 |
| body | @@ -2118,16 +2118,19 @@ %EB%8B%88%EB%8B%A4.%0A%0A- %5B +%EC%A0%84%EC%B2%B4 %EC%98%88%EC%A0%9C %EC%BD%94%EB%93%9C%5D(h |
| json metadata | {"tags":["blockchain","icon","score","smart-contract","example"],"image":["https://cdn.steemitimages.com/DQmS9R3qaAc6BCNoghZnoGe1fstaruHPY967gcr4SdVrVRe/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.29.19.png","https://cdn.steemitimages.com/DQmayem4ZfsJvp2guECajEPsPwiLaJQhcWRzrSrayadcWgg/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.30.05.png"],"links":["https://steemit.com/blockchain/@jeffry82/icon-1","https://github.com/jaepary/upgradable-contract-icon"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #26475644/Trx e4b5cf420fd42f625ce3b04205ce73697451ac79 |
View Raw JSON Data
{
"trx_id": "e4b5cf420fd42f625ce3b04205ce73697451ac79",
"block": 26475644,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-03T05:40:42",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "blockchain",
"author": "jeffry82",
"permlink": "icon-2",
"title": "ICON 스마트 컨트랙트 실용 예제 #2",
"body": "@@ -2118,16 +2118,19 @@\n %EB%8B%88%EB%8B%A4.%0A%0A- %5B\n+%EC%A0%84%EC%B2%B4 \n %EC%98%88%EC%A0%9C %EC%BD%94%EB%93%9C%5D(h\n",
"json_metadata": "{\"tags\":[\"blockchain\",\"icon\",\"score\",\"smart-contract\",\"example\"],\"image\":[\"https://cdn.steemitimages.com/DQmS9R3qaAc6BCNoghZnoGe1fstaruHPY967gcr4SdVrVRe/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.29.19.png\",\"https://cdn.steemitimages.com/DQmayem4ZfsJvp2guECajEPsPwiLaJQhcWRzrSrayadcWgg/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.30.05.png\"],\"links\":[\"https://steemit.com/blockchain/@jeffry82/icon-1\",\"https://github.com/jaepary/upgradable-contract-icon\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/10/03 05:39:51
2018/10/03 05:39:51
| parent author | |
| parent permlink | blockchain |
| author | jeffry82 |
| permlink | icon-2 |
| title | ICON 스마트 컨트랙트 실용 예제 #2 |
| body | @@ -22,12 +22,12 @@ %EB%8B%A4.%0A%0A +%5B %EC%9D%B4%EC%A0%84 -%5B %ED%8F%AC%EC%8A%A4%ED%8A%B8%5D |
| json metadata | {"tags":["blockchain","icon","score","smart-contract","example"],"image":["https://cdn.steemitimages.com/DQmS9R3qaAc6BCNoghZnoGe1fstaruHPY967gcr4SdVrVRe/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.29.19.png","https://cdn.steemitimages.com/DQmayem4ZfsJvp2guECajEPsPwiLaJQhcWRzrSrayadcWgg/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.30.05.png"],"links":["https://steemit.com/blockchain/@jeffry82/icon-1","https://github.com/jaepary/upgradable-contract-icon"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #26475627/Trx 3b4f00a0dbc226c596fba9d8b17b5e7424a0551c |
View Raw JSON Data
{
"trx_id": "3b4f00a0dbc226c596fba9d8b17b5e7424a0551c",
"block": 26475627,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-03T05:39:51",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "blockchain",
"author": "jeffry82",
"permlink": "icon-2",
"title": "ICON 스마트 컨트랙트 실용 예제 #2",
"body": "@@ -22,12 +22,12 @@\n %EB%8B%A4.%0A%0A\n+%5B\n %EC%9D%B4%EC%A0%84 \n-%5B\n %ED%8F%AC%EC%8A%A4%ED%8A%B8%5D\n",
"json_metadata": "{\"tags\":[\"blockchain\",\"icon\",\"score\",\"smart-contract\",\"example\"],\"image\":[\"https://cdn.steemitimages.com/DQmS9R3qaAc6BCNoghZnoGe1fstaruHPY967gcr4SdVrVRe/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.29.19.png\",\"https://cdn.steemitimages.com/DQmayem4ZfsJvp2guECajEPsPwiLaJQhcWRzrSrayadcWgg/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.30.05.png\"],\"links\":[\"https://steemit.com/blockchain/@jeffry82/icon-1\",\"https://github.com/jaepary/upgradable-contract-icon\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/10/03 05:39:27
2018/10/03 05:39:27
| voter | alphabot |
| author | jeffry82 |
| permlink | icon-1 |
| weight | 100 (1.00%) |
| Transaction Info | Block #26475619/Trx 8d66c4ab0bab545920762032dcc957db5695704c |
View Raw JSON Data
{
"trx_id": "8d66c4ab0bab545920762032dcc957db5695704c",
"block": 26475619,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-03T05:39:27",
"op": [
"vote",
{
"voter": "alphabot",
"author": "jeffry82",
"permlink": "icon-1",
"weight": 100
}
]
}2018/10/03 05:39:18
2018/10/03 05:39:18
| parent author | |
| parent permlink | blockchain |
| author | jeffry82 |
| permlink | icon-1 |
| title | ICON 스마트 컨트랙트 실용 예제 #1 |
| body | @@ -1911,18 +1911,17 @@ %ED%83%88%EC%A4%91%EC%95%99%ED%99%94%EB%90%9C %22 -** +%5B %EA%B0%9C%EC%9D%B8%EA%B0%84 %EC%A4%91%EA%B3%A0 %EB%AC%BC @@ -1940,18 +1940,66 @@ %EC%BB%A8%ED%8A%B8%EB%9E%99%ED%8A%B8 %EC%98%88%EC%A0%9C -** +%5D(https://steemit.com/blockchain/@jeffry82/icon-2) %22%EC%97%90 %EB%8C%80%ED%95%B4%EC%84%9C %EA%B3%B5 |
| json metadata | {"tags":["blockchain","icon","score","smart-contract","example"],"image":["https://cdn.steemitimages.com/DQmfPBQJ16Axuuo9DnnbSEj2mHyp9eMUHTVqyCKKKoVSN85/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-09-29%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.09.36.png"],"links":["https://www.icondev.io","https://blog.indorse.io/ethereum-upgradeable-smart-contract-strategies-456350d0557c","https://www.icondev.io/score01.do","https://github.com/jaepary/upgradable-contract-icon/blob/master/uc_contract_registry/uc_contract_registry.py","https://github.com/jaepary/upgradable-contract-icon/blob/master/tests/test_uc_contract_registry.py","https://steemit.com/blockchain/@jeffry82/icon-2"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #26475616/Trx 6d6d29e471fd5be7bbeceea9087b58c2a3201bb0 |
View Raw JSON Data
{
"trx_id": "6d6d29e471fd5be7bbeceea9087b58c2a3201bb0",
"block": 26475616,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-03T05:39:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "blockchain",
"author": "jeffry82",
"permlink": "icon-1",
"title": "ICON 스마트 컨트랙트 실용 예제 #1",
"body": "@@ -1911,18 +1911,17 @@\n %ED%83%88%EC%A4%91%EC%95%99%ED%99%94%EB%90%9C %22\n-**\n+%5B\n %EA%B0%9C%EC%9D%B8%EA%B0%84 %EC%A4%91%EA%B3%A0 %EB%AC%BC\n@@ -1940,18 +1940,66 @@\n %EC%BB%A8%ED%8A%B8%EB%9E%99%ED%8A%B8 %EC%98%88%EC%A0%9C\n-**\n+%5D(https://steemit.com/blockchain/@jeffry82/icon-2)\n %22%EC%97%90 %EB%8C%80%ED%95%B4%EC%84%9C %EA%B3%B5\n",
"json_metadata": "{\"tags\":[\"blockchain\",\"icon\",\"score\",\"smart-contract\",\"example\"],\"image\":[\"https://cdn.steemitimages.com/DQmfPBQJ16Axuuo9DnnbSEj2mHyp9eMUHTVqyCKKKoVSN85/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-09-29%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.09.36.png\"],\"links\":[\"https://www.icondev.io\",\"https://blog.indorse.io/ethereum-upgradeable-smart-contract-strategies-456350d0557c\",\"https://www.icondev.io/score01.do\",\"https://github.com/jaepary/upgradable-contract-icon/blob/master/uc_contract_registry/uc_contract_registry.py\",\"https://github.com/jaepary/upgradable-contract-icon/blob/master/tests/test_uc_contract_registry.py\",\"https://steemit.com/blockchain/@jeffry82/icon-2\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}fastresteemupvoted (1.00%) @jeffry82 / icon-22018/10/03 05:36:09
fastresteemupvoted (1.00%) @jeffry82 / icon-2
2018/10/03 05:36:09
| voter | fastresteem |
| author | jeffry82 |
| permlink | icon-2 |
| weight | 100 (1.00%) |
| Transaction Info | Block #26475553/Trx e55a3bc69f729a89fea11f22a5e1aa50c3b62eb0 |
View Raw JSON Data
{
"trx_id": "e55a3bc69f729a89fea11f22a5e1aa50c3b62eb0",
"block": 26475553,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-03T05:36:09",
"op": [
"vote",
{
"voter": "fastresteem",
"author": "jeffry82",
"permlink": "icon-2",
"weight": 100
}
]
}2018/10/03 05:36:00
2018/10/03 05:36:00
| parent author | |
| parent permlink | blockchain |
| author | jeffry82 |
| permlink | icon-2 |
| title | ICON 스마트 컨트랙트 실용 예제 #2 |
| body | 안녕하세요. 블록체인 개발자 최재필입니다. 이전 [포스트](https://steemit.com/blockchain/@jeffry82/icon-1)에 이어서 이번에는 "**탈중앙화된 개인간 중고 물품 거래**"를 위한 스마트 컨트랙트 예제에 대해서 다루어 보도록 하겠습니다. 개인 간에 중개자가 없는 탈중앙화된 중고 거래가 가능하려면 우선 상호간에 신뢰할 수 있는 동등하고 안전한 거래가 가능해야 할 것입니다. 이를 위해서 스마트 컨트랙트의 거래는 다음과 같이 제안(Propose)-승인(Approve)-확정(Finalize)의 3단계를 거쳐서 거래가 이루어지면 될 것 같습니다.  1. 판매자가 스토어(Store) 컨트랙트에 가격을 정하여 물품(Item)을 등록합니다. 2. 구매자는 스토어에서 원하는 물품을 발견하면, 해당 물품에 대해서 주문(Order) 컨트랙트에 구매 제안을 합니다. 물론 사전에 주문 컨트랙트에 그 가격만큼 ICON 토큰(ICX)을 예치해 놓아하고, 제안한 토큰은 거래가 확정 또는 취소되기 전까지 아무도 인출할 수 없도록 묶이게 됩니다. 구매자는 판매자의 승인 전에는 구매 제안을 취소(Cancel)할 수 있습니다. 3. 판매자는 제안을 받으면 수락(Accept) 또는 거절(Reject)을 결정하여 승인합니다. 수락 후에 물품을 구매자에게 배송합니다. 물론 거절을 하면 거래는 취소가 됩니다. 4. 구매자는 물품을 수령하면 확정(Finalize)을 합니다. 이때 묶여있던 토큰이 판매자의 주문 컨트랙트 계좌로 이체됩니다. 판매자는 원할 때 언제든지, 주문 계자로 부터 개인 지갑으로 토큰을 인출(Withdraw) 할 수 있습니다. 일단, 이 정도면 중개자 없이도 어느 정도 안전한 거래가 될 것 같습니다. 하지만, 만일 판매자가 수락하고 나서 물품을 보내지 않는다면 어떨까요? 판매자는 안 팔면 그만이지만, 구매자는 토큰이 묶여 있으니 불리한 상황이 됩니다. 따라서, 구매자와 동등한 조건을 만들려면, 3번 단계에서 판매자 역시 물품의 가격 만큼 토큰을 예치하고, 승인시 판매자의 토큰도 함께 묶여야 합니다. 그렇게 되면 판매자가 승인 후 물품을 보내지 않거나, 구매자가 물품을 수령하고도 확정을 하지 않는 사태를 방지하게 됩니다. 전반적인 흐름에 대해서는 설명을 드렸으니, 이제 좀 더 구체화 해보겠습니다. 빠른 이해를 돕기 위해 아래와 같이 모듈 뷰를 작성해 보았습니다.  이전 포스트에서 설명되었던 것처럼, 로직을 담당하는 컨트랙트(Logic Contract)와 상태를 관리하는 컨트랙트(Proxy Contract)를 분리하는 방식을 사용했습니다. 사용자는 주문 컨트랙트(UcOrderAgentProxy)와 스토어 컨트랙트(UcStoreAgentProxy)를 사용하게 되고, 이 프록시 컨트랙트들은 각각의 로직 컨트랙트(UcOrderAgent, UcStoreAgent)에게 처리 로직만 위임합니다. 전체 예제 및 테스트 코드는 아래 깃허브 링크를 참조하시면 됩니다. 노파심에 다시 말씀 드리면, ICON의 Audit을 받은 코드가 아니므로 참고용으로 사용해주세요. 그리고, json import하는 부분도 향후 정식으로 지원되면 수정 필요합니다. - [예제 코드](https://github.com/jaepary/upgradable-contract-icon) 다음은 주문 승인 후 의도치 않게 배송 중 물품이 분실 되거나, 하자 발생으로 반품 처리 등 "**문제 해결까지 가능한 중고 거래 스마트 컨트랙트**"에 대해서 공유할 예정입니다. |
| json metadata | {"tags":["blockchain","icon","score","smart-contract","example"],"image":["https://cdn.steemitimages.com/DQmS9R3qaAc6BCNoghZnoGe1fstaruHPY967gcr4SdVrVRe/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.29.19.png","https://cdn.steemitimages.com/DQmayem4ZfsJvp2guECajEPsPwiLaJQhcWRzrSrayadcWgg/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.30.05.png"],"links":["https://steemit.com/blockchain/@jeffry82/icon-1","https://github.com/jaepary/upgradable-contract-icon"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #26475550/Trx b70bf0eebcf459b4ce66f4d3f8efbfce5619fc82 |
View Raw JSON Data
{
"trx_id": "b70bf0eebcf459b4ce66f4d3f8efbfce5619fc82",
"block": 26475550,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-03T05:36:00",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "blockchain",
"author": "jeffry82",
"permlink": "icon-2",
"title": "ICON 스마트 컨트랙트 실용 예제 #2",
"body": "안녕하세요. 블록체인 개발자 최재필입니다.\n\n이전 [포스트](https://steemit.com/blockchain/@jeffry82/icon-1)에 이어서 이번에는 \"**탈중앙화된 개인간 중고 물품 거래**\"를 위한 스마트 컨트랙트 예제에 대해서 다루어 보도록 하겠습니다.\n\n개인 간에 중개자가 없는 탈중앙화된 중고 거래가 가능하려면 우선 상호간에 신뢰할 수 있는 동등하고 안전한 거래가 가능해야 할 것입니다. 이를 위해서 스마트 컨트랙트의 거래는 다음과 같이 제안(Propose)-승인(Approve)-확정(Finalize)의 3단계를 거쳐서 거래가 이루어지면 될 것 같습니다. \n\n\n\n1. 판매자가 스토어(Store) 컨트랙트에 가격을 정하여 물품(Item)을 등록합니다.\n2. 구매자는 스토어에서 원하는 물품을 발견하면, 해당 물품에 대해서 주문(Order) 컨트랙트에 구매 제안을 합니다. 물론 사전에 주문 컨트랙트에 그 가격만큼 ICON 토큰(ICX)을 예치해 놓아하고, 제안한 토큰은 거래가 확정 또는 취소되기 전까지 아무도 인출할 수 없도록 묶이게 됩니다. 구매자는 판매자의 승인 전에는 구매 제안을 취소(Cancel)할 수 있습니다.\n3. 판매자는 제안을 받으면 수락(Accept) 또는 거절(Reject)을 결정하여 승인합니다. 수락 후에 물품을 구매자에게 배송합니다. 물론 거절을 하면 거래는 취소가 됩니다.\n4. 구매자는 물품을 수령하면 확정(Finalize)을 합니다. 이때 묶여있던 토큰이 판매자의 주문 컨트랙트 계좌로 이체됩니다. 판매자는 원할 때 언제든지, 주문 계자로 부터 개인 지갑으로 토큰을 인출(Withdraw) 할 수 있습니다.\n\n일단, 이 정도면 중개자 없이도 어느 정도 안전한 거래가 될 것 같습니다. 하지만, 만일 판매자가 수락하고 나서 물품을 보내지 않는다면 어떨까요? 판매자는 안 팔면 그만이지만, 구매자는 토큰이 묶여 있으니 불리한 상황이 됩니다. 따라서, 구매자와 동등한 조건을 만들려면, 3번 단계에서 판매자 역시 물품의 가격 만큼 토큰을 예치하고, 승인시 판매자의 토큰도 함께 묶여야 합니다. 그렇게 되면 판매자가 승인 후 물품을 보내지 않거나, 구매자가 물품을 수령하고도 확정을 하지 않는 사태를 방지하게 됩니다.\n\n전반적인 흐름에 대해서는 설명을 드렸으니, 이제 좀 더 구체화 해보겠습니다. 빠른 이해를 돕기 위해 아래와 같이 모듈 뷰를 작성해 보았습니다.\n\n\n\n이전 포스트에서 설명되었던 것처럼, 로직을 담당하는 컨트랙트(Logic Contract)와 상태를 관리하는 컨트랙트(Proxy Contract)를 분리하는 방식을 사용했습니다. 사용자는 주문 컨트랙트(UcOrderAgentProxy)와 스토어 컨트랙트(UcStoreAgentProxy)를 사용하게 되고, 이 프록시 컨트랙트들은 각각의 로직 컨트랙트(UcOrderAgent, UcStoreAgent)에게 처리 로직만 위임합니다.\n\n전체 예제 및 테스트 코드는 아래 깃허브 링크를 참조하시면 됩니다. 노파심에 다시 말씀 드리면, ICON의 Audit을 받은 코드가 아니므로 참고용으로 사용해주세요. 그리고, json import하는 부분도 향후 정식으로 지원되면 수정 필요합니다.\n\n- [예제 코드](https://github.com/jaepary/upgradable-contract-icon)\n\n다음은 주문 승인 후 의도치 않게 배송 중 물품이 분실 되거나, 하자 발생으로 반품 처리 등 \"**문제 해결까지 가능한 중고 거래 스마트 컨트랙트**\"에 대해서 공유할 예정입니다.",
"json_metadata": "{\"tags\":[\"blockchain\",\"icon\",\"score\",\"smart-contract\",\"example\"],\"image\":[\"https://cdn.steemitimages.com/DQmS9R3qaAc6BCNoghZnoGe1fstaruHPY967gcr4SdVrVRe/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.29.19.png\",\"https://cdn.steemitimages.com/DQmayem4ZfsJvp2guECajEPsPwiLaJQhcWRzrSrayadcWgg/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-10-03%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.30.05.png\"],\"links\":[\"https://steemit.com/blockchain/@jeffry82/icon-1\",\"https://github.com/jaepary/upgradable-contract-icon\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/10/01 02:47:18
2018/10/01 02:47:18
| voter | alpa44 |
| author | jeffry82 |
| permlink | icon-1 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #26414597/Trx 2eff9d5f6cc051cd960c99492adbe88e518cfccf |
View Raw JSON Data
{
"trx_id": "2eff9d5f6cc051cd960c99492adbe88e518cfccf",
"block": 26414597,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-01T02:47:18",
"op": [
"vote",
{
"voter": "alpa44",
"author": "jeffry82",
"permlink": "icon-1",
"weight": 10000
}
]
}2018/09/30 08:20:09
2018/09/30 08:20:09
| voter | suekong |
| author | jeffry82 |
| permlink | icon-1 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #26392473/Trx 29b1460ceb3a6accee8157a4fc706804af9c4f31 |
View Raw JSON Data
{
"trx_id": "29b1460ceb3a6accee8157a4fc706804af9c4f31",
"block": 26392473,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-30T08:20:09",
"op": [
"vote",
{
"voter": "suekong",
"author": "jeffry82",
"permlink": "icon-1",
"weight": 10000
}
]
}2018/09/29 13:19:06
2018/09/29 13:19:06
| voter | powerguy |
| author | jeffry82 |
| permlink | icon-1 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #26369679/Trx b7e8ac244d05015ca7f8e78a704b86b17fa16dfd |
View Raw JSON Data
{
"trx_id": "b7e8ac244d05015ca7f8e78a704b86b17fa16dfd",
"block": 26369679,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-29T13:19:06",
"op": [
"vote",
{
"voter": "powerguy",
"author": "jeffry82",
"permlink": "icon-1",
"weight": 10000
}
]
}2018/09/29 08:32:24
2018/09/29 08:32:24
| voter | ronel |
| author | jeffry82 |
| permlink | icon-1 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #26363950/Trx af807be214a300f2504fb36844f8bd07ccd9f90d |
View Raw JSON Data
{
"trx_id": "af807be214a300f2504fb36844f8bd07ccd9f90d",
"block": 26363950,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-29T08:32:24",
"op": [
"vote",
{
"voter": "ronel",
"author": "jeffry82",
"permlink": "icon-1",
"weight": 10000
}
]
}2018/09/29 08:31:18
2018/09/29 08:31:18
| voter | ax3 |
| author | jeffry82 |
| permlink | icon-1 |
| weight | 100 (1.00%) |
| Transaction Info | Block #26363928/Trx 219c18ac0096d39589c74aa5e2bdfbd9d366be76 |
View Raw JSON Data
{
"trx_id": "219c18ac0096d39589c74aa5e2bdfbd9d366be76",
"block": 26363928,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-29T08:31:18",
"op": [
"vote",
{
"voter": "ax3",
"author": "jeffry82",
"permlink": "icon-1",
"weight": 100
}
]
}2018/09/29 08:31:09
2018/09/29 08:31:09
| parent author | |
| parent permlink | blockchain |
| author | jeffry82 |
| permlink | icon-1 |
| title | ICON 스마트 컨트랙트 실용 예제 #1 |
| body | 안녕하세요. 블록체인 개발자 최재필입니다. 최근 [ICON](https://www.icondev.io) 기반 스마트 컨트랙트를 개발하고 있는데요. 아직 ICON 프로젝트에서 참고할 만한 스마트 컨트랙트 예제가 부족하다는 생각이 들어서, 도움이 될지 모르겠지만 제가 예제로 작성한 코드를 소개 및 공유 하려고 합니다. 이번 포스트에서는 "**Upgradable Smart Contract**"에 대해서 다루어 보려고 합니다. 이더리움에서는 스마트 컨트랙트의 업그레이드가 불가능하므로 어플리케이션 레벨에서 이를 해결하려는 방안들이 이미 다수 공유되어 있습니다. 참고로, [여기](https://blog.indorse.io/ethereum-upgradeable-smart-contract-strategies-456350d0557c)에 업그레이드 가능한 스마트 컨트랙트에 대한 여러가지 방안에 대해서 잘 정리되어 있습니다. ICON 플랫폼에서는 스마트 컨트랙트(SCORE) 배포시 update 모드를 지원하므로 어플리케이션 레벨에서 굳이 고려하지 않아도 될 것 같습니다. 하지만, ICON에서 이더리움 네임 서비스(ENS)와 같은 기능이 아직 제공되지 않으므로 로직을 별도의 스마트 컨트랙트로 분리하고 네임 서비스와 버전 관리가 가능한 일종의 레지스트리 컨트랙트를 두면 관리적인 측면에서 유용할 수 있을 것 같습니다. 특히, 컨트랙트 로직 업그레이드 후 문제가 발견되어 이전 버전으로 롤백해야 하는 경우, 컨트랙트 배포 없이 함수 호출만으로 빠르게 처리 가능한 것이 유용할 것 같습니다. 그럼, 조금 더 구체적으로 들어가볼까요? ICON SCORE에서 이더리움의 delagatcall과 같은 호출 기능을 제공하지 않으므로, 데이터의 분리는 불가능하고 로직의 분리만 가능합니다. 따라서, 아래와 같이 프록시 컨트랙트(Proxy Contract)와 로직 컨트랙트(Logic Contract), 로직 컨트랙트들이 등록되는 컨트랙트 레지스트리(Contract Registry)로 모듈을 구성할 수 있습니다.  스마트 컨트랙트 개발 및 운영자는 로직 배포 후, 컨트랙트 주소로 컨트랙트 레지스트리에 register/upgrade 할 수 있고, 필요한 경우 downgrade도 가능합니다. 프록시 컨트랙트는 컨트랙트 레지스트리에서 원하는 로직 컨트랙트의 이름으로 주소를 받아와서 호출할 수 있습니다. 예제 코드는 아래 링크를 통해서 확인하실 수 있습니다. Python 개발자라면, 블록체인 배경 지식과 [ICON SCORE 개발 가이드](https://www.icondev.io/score01.do)를 먼저 공부하셔야 합니다. 참고로, ICON의 Audit을 받은 코드가 아니므로 참고용으로 사용해주세요. 그리고, json import하는 부분도 향후 정식으로 지원되면 수정 필요합니다. - [예제 코드](https://github.com/jaepary/upgradable-contract-icon/blob/master/uc_contract_registry/uc_contract_registry.py) - [테스트 코드](https://github.com/jaepary/upgradable-contract-icon/blob/master/tests/test_uc_contract_registry.py) 다음 포스트에서는 탈중앙화된 "**개인간 중고 물품 거래를 위한 스마트 컨트랙트 예제**"에 대해서 공유할 예정입니다. |
| json metadata | {"tags":["blockchain","icon","score","smart-contract","example"],"image":["https://cdn.steemitimages.com/DQmfPBQJ16Axuuo9DnnbSEj2mHyp9eMUHTVqyCKKKoVSN85/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-09-29%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.09.36.png"],"links":["https://www.icondev.io","https://blog.indorse.io/ethereum-upgradeable-smart-contract-strategies-456350d0557c","https://www.icondev.io/score01.do","https://github.com/jaepary/upgradable-contract-icon/blob/master/uc_contract_registry/uc_contract_registry.py","https://github.com/jaepary/upgradable-contract-icon/blob/master/tests/test_uc_contract_registry.py"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #26363925/Trx d158522be0cb26b9502491eb2dba3b462d6cbf41 |
View Raw JSON Data
{
"trx_id": "d158522be0cb26b9502491eb2dba3b462d6cbf41",
"block": 26363925,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-29T08:31:09",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "blockchain",
"author": "jeffry82",
"permlink": "icon-1",
"title": "ICON 스마트 컨트랙트 실용 예제 #1",
"body": "안녕하세요. 블록체인 개발자 최재필입니다.\n\n최근 [ICON](https://www.icondev.io) 기반 스마트 컨트랙트를 개발하고 있는데요. 아직 ICON 프로젝트에서 참고할 만한 스마트 컨트랙트 예제가 부족하다는 생각이 들어서, 도움이 될지 모르겠지만 제가 예제로 작성한 코드를 소개 및 공유 하려고 합니다.\n\n이번 포스트에서는 \"**Upgradable Smart Contract**\"에 대해서 다루어 보려고 합니다. 이더리움에서는 스마트 컨트랙트의 업그레이드가 불가능하므로 어플리케이션 레벨에서 이를 해결하려는 방안들이 이미 다수 공유되어 있습니다. 참고로, [여기](https://blog.indorse.io/ethereum-upgradeable-smart-contract-strategies-456350d0557c)에 업그레이드 가능한 스마트 컨트랙트에 대한 여러가지 방안에 대해서 잘 정리되어 있습니다.\n\nICON 플랫폼에서는 스마트 컨트랙트(SCORE) 배포시 update 모드를 지원하므로 어플리케이션 레벨에서 굳이 고려하지 않아도 될 것 같습니다. 하지만, ICON에서 이더리움 네임 서비스(ENS)와 같은 기능이 아직 제공되지 않으므로 로직을 별도의 스마트 컨트랙트로 분리하고 네임 서비스와 버전 관리가 가능한 일종의 레지스트리 컨트랙트를 두면 관리적인 측면에서 유용할 수 있을 것 같습니다. 특히, 컨트랙트 로직 업그레이드 후 문제가 발견되어 이전 버전으로 롤백해야 하는 경우, 컨트랙트 배포 없이 함수 호출만으로 빠르게 처리 가능한 것이 유용할 것 같습니다.\n\n그럼, 조금 더 구체적으로 들어가볼까요?\n\nICON SCORE에서 이더리움의 delagatcall과 같은 호출 기능을 제공하지 않으므로, 데이터의 분리는 불가능하고 로직의 분리만 가능합니다. 따라서, 아래와 같이 프록시 컨트랙트(Proxy Contract)와 로직 컨트랙트(Logic Contract), 로직 컨트랙트들이 등록되는 컨트랙트 레지스트리(Contract Registry)로 모듈을 구성할 수 있습니다.\n\n\n\n스마트 컨트랙트 개발 및 운영자는 로직 배포 후, 컨트랙트 주소로 컨트랙트 레지스트리에 register/upgrade 할 수 있고, 필요한 경우 downgrade도 가능합니다. 프록시 컨트랙트는 컨트랙트 레지스트리에서 원하는 로직 컨트랙트의 이름으로 주소를 받아와서 호출할 수 있습니다.\n\n예제 코드는 아래 링크를 통해서 확인하실 수 있습니다. Python 개발자라면, 블록체인 배경 지식과 [ICON SCORE 개발 가이드](https://www.icondev.io/score01.do)를 먼저 공부하셔야 합니다. 참고로, ICON의 Audit을 받은 코드가 아니므로 참고용으로 사용해주세요. 그리고, json import하는 부분도 향후 정식으로 지원되면 수정 필요합니다.\n\n- [예제 코드](https://github.com/jaepary/upgradable-contract-icon/blob/master/uc_contract_registry/uc_contract_registry.py)\n- [테스트 코드](https://github.com/jaepary/upgradable-contract-icon/blob/master/tests/test_uc_contract_registry.py)\n\n다음 포스트에서는 탈중앙화된 \"**개인간 중고 물품 거래를 위한 스마트 컨트랙트 예제**\"에 대해서 공유할 예정입니다.",
"json_metadata": "{\"tags\":[\"blockchain\",\"icon\",\"score\",\"smart-contract\",\"example\"],\"image\":[\"https://cdn.steemitimages.com/DQmfPBQJ16Axuuo9DnnbSEj2mHyp9eMUHTVqyCKKKoVSN85/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202018-09-29%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.09.36.png\"],\"links\":[\"https://www.icondev.io\",\"https://blog.indorse.io/ethereum-upgradeable-smart-contract-strategies-456350d0557c\",\"https://www.icondev.io/score01.do\",\"https://github.com/jaepary/upgradable-contract-icon/blob/master/uc_contract_registry/uc_contract_registry.py\",\"https://github.com/jaepary/upgradable-contract-icon/blob/master/tests/test_uc_contract_registry.py\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/07/31 03:29:09
2018/07/31 03:29:09
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 9930.307440 VESTS |
| Transaction Info | Block #24646471/Trx cf77608b1dc27836c54308136b8da702c688dd97 |
View Raw JSON Data
{
"trx_id": "cf77608b1dc27836c54308136b8da702c688dd97",
"block": 24646471,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-31T03:29:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "9930.307440 VESTS"
}
]
}jeffry82upvoted (100.00%) @woojin.joe / go-ethereum-geth-day-32018/05/01 02:57:57
jeffry82upvoted (100.00%) @woojin.joe / go-ethereum-geth-day-3
2018/05/01 02:57:57
| voter | jeffry82 |
| author | woojin.joe |
| permlink | go-ethereum-geth-day-3 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22037152/Trx 5fb5b19b1d7206860477412692dc43e9b338124b |
View Raw JSON Data
{
"trx_id": "5fb5b19b1d7206860477412692dc43e9b338124b",
"block": 22037152,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-01T02:57:57",
"op": [
"vote",
{
"voter": "jeffry82",
"author": "woojin.joe",
"permlink": "go-ethereum-geth-day-3",
"weight": 10000
}
]
}2018/04/12 07:16:42
2018/04/12 07:16:42
| delegator | steem |
| delegatee | jeffry82 |
| vesting shares | 30373.569070 VESTS |
| Transaction Info | Block #21495871/Trx 98dd4a220d17b58c0ec6db160f58b84b2d1003b3 |
View Raw JSON Data
{
"trx_id": "98dd4a220d17b58c0ec6db160f58b84b2d1003b3",
"block": 21495871,
"trx_in_block": 66,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-12T07:16:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "jeffry82",
"vesting_shares": "30373.569070 VESTS"
}
]
}jeffry82upvoted (100.00%) @leesunmoo / eos-vs2018/04/12 06:21:48
jeffry82upvoted (100.00%) @leesunmoo / eos-vs
2018/04/12 06:21:48
| voter | jeffry82 |
| author | leesunmoo |
| permlink | eos-vs |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21494774/Trx d6751bb039254a04041d4db75f50a50366a44f37 |
View Raw JSON Data
{
"trx_id": "d6751bb039254a04041d4db75f50a50366a44f37",
"block": 21494774,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-12T06:21:48",
"op": [
"vote",
{
"voter": "jeffry82",
"author": "leesunmoo",
"permlink": "eos-vs",
"weight": 10000
}
]
}2018/04/12 05:46:42
2018/04/12 05:46:42
| fee | 0.100 STEEM |
| delegation | 30690.000000 VESTS |
| creator | steem |
| new account name | jeffry82 |
| owner | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM5Exgz7t2bh1vDcntmJYfqgEtazJteNCxdtnjyf8KNCcSLYt2mw",1]]} |
| active | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM8XH1SMsAsDFhDDHLUrsdVtgcv7VfFBM3sGmZWQpH8tTQad7AwK",1]]} |
| posting | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM5UShpAt3xrAPhLAQcwBS1cSC5xZnLmoBNhtFWNyTdcEz515Tcj",1]]} |
| memo key | STM5DqUNC54tGRhPGtmkfWc6Zs9qKK6iRkUpf2UjEFJ6mC6oU1x6g |
| json metadata | {} |
| extensions | [] |
| Transaction Info | Block #21494072/Trx b7b43d2bd6b2a68a3177e01b69a6f1f5652af510 |
View Raw JSON Data
{
"trx_id": "b7b43d2bd6b2a68a3177e01b69a6f1f5652af510",
"block": 21494072,
"trx_in_block": 39,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-12T05:46:42",
"op": [
"account_create_with_delegation",
{
"fee": "0.100 STEEM",
"delegation": "30690.000000 VESTS",
"creator": "steem",
"new_account_name": "jeffry82",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5Exgz7t2bh1vDcntmJYfqgEtazJteNCxdtnjyf8KNCcSLYt2mw",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8XH1SMsAsDFhDDHLUrsdVtgcv7VfFBM3sGmZWQpH8tTQad7AwK",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5UShpAt3xrAPhLAQcwBS1cSC5xZnLmoBNhtFWNyTdcEz515Tcj",
1
]
]
},
"memo_key": "STM5DqUNC54tGRhPGtmkfWc6Zs9qKK6iRkUpf2UjEFJ6mC6oU1x6g",
"json_metadata": "{}",
"extensions": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779068877
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779068877
},
"rc_account": {
"account": "jeffry82",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779068877
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| None | |
| JSON METADATA | |
| None |
{
"posting_json_metadata": {},
"json_metadata": {}
}Auth Keys
Owner
Single Signature
Public Keys
STM5Exgz7t2bh1vDcntmJYfqgEtazJteNCxdtnjyf8KNCcSLYt2mw1/1
Active
Single Signature
Public Keys
STM8XH1SMsAsDFhDDHLUrsdVtgcv7VfFBM3sGmZWQpH8tTQad7AwK1/1
Posting
Single Signature
Public Keys
STM5UShpAt3xrAPhLAQcwBS1cSC5xZnLmoBNhtFWNyTdcEz515Tcj1/1
Memo
STM5DqUNC54tGRhPGtmkfWc6Zs9qKK6iRkUpf2UjEFJ6mC6oU1x6g
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5Exgz7t2bh1vDcntmJYfqgEtazJteNCxdtnjyf8KNCcSLYt2mw",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8XH1SMsAsDFhDDHLUrsdVtgcv7VfFBM3sGmZWQpH8tTQad7AwK",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5UShpAt3xrAPhLAQcwBS1cSC5xZnLmoBNhtFWNyTdcEz515Tcj",
1
]
]
},
"memo": "STM5DqUNC54tGRhPGtmkfWc6Zs9qKK6iRkUpf2UjEFJ6mC6oU1x6g"
}Witness Votes
0 / 30
No active witness votes.
[]