VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS47.79%
Net Worth
0.020USD
STEEM
0.032STEEM
SBD
0.022SBD
Effective Power
5.008SP
├── Own SP
0.125SP
└── Incoming DelegationsDeleg
+4.883SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.032STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.125SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.883SP | SP |
| Effective Power | 5.008SP | SP |
| Reward SP (pending) | 0.043SP | SP |
| SBD | ||
| sbd_balance | 0.001SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.021SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.032 STEEM",
"vesting_shares": "203.512806 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7940.147000 VESTS",
"sbd_balance": "0.001 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.021 SBD",
"conversions": []
}Account Info
| name | madhavanmalolan |
| id | 995706 |
| rank | 353,458 |
| reputation | 1130053542 |
| created | 2018-05-14T02:48:33 |
| recovery_account | steem |
| proxy | None |
| post_count | 4 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-08-29T07:29:03 |
| last_root_post | 2018-08-29T07:29:03 |
| last_vote_time | 2018-08-29T07:29:18 |
| 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.001 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 203.512806 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7940.147000 VESTS |
| reward_vesting_balance | 87.101152 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 | 2018-08-29T07:30:21 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"active": {
"account_auths": [],
"key_auths": [
[
"STM5wKJU3yEuSxXqgZFdz1vwruqtC6S1TMcM7fKnwnyL3LSYEH1Mo",
1
]
],
"weight_threshold": 1
},
"balance": "0.000 STEEM",
"can_vote": true,
"comment_count": 0,
"created": "2018-05-14T02:48:33",
"curation_rewards": 0,
"delegated_vesting_shares": "0.000000 VESTS",
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779074067
},
"guest_bloggers": [],
"id": 995706,
"json_metadata": "{}",
"last_account_recovery": "1970-01-01T00:00:00",
"last_account_update": "1970-01-01T00:00:00",
"last_owner_update": "1970-01-01T00:00:00",
"last_post": "2018-08-29T07:29:03",
"last_root_post": "2018-08-29T07:29:03",
"last_vote_time": "2018-08-29T07:29:18",
"lifetime_vote_count": 0,
"market_history": [],
"memo_key": "STM55wzzh1bCJKUqn7cxh379Wg3K4fa7pXheSutQaJuUws1Q1BMP7",
"mined": false,
"name": "madhavanmalolan",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"other_history": [],
"owner": {
"account_auths": [],
"key_auths": [
[
"STM6h5N8xby7azdW6xSUyZQK2NenTZdXvsQKzky4yb5JMvJixrEvo",
1
]
],
"weight_threshold": 1
},
"pending_claimed_accounts": 0,
"post_bandwidth": 0,
"post_count": 4,
"post_history": [],
"posting": {
"account_auths": [],
"key_auths": [
[
"STM5DNtEJVX1kEmaf7qHJyUZoTbNV2xyTpE6eiYCWsJWX6xRQjq8D",
1
]
],
"weight_threshold": 1
},
"posting_json_metadata": "",
"posting_rewards": 84,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"proxy": "",
"received_vesting_shares": "7940.147000 VESTS",
"recovery_account": "steem",
"reputation": 1130053542,
"reset_account": "null",
"reward_sbd_balance": "0.021 SBD",
"reward_steem_balance": "0.032 STEEM",
"reward_vesting_balance": "87.101152 VESTS",
"reward_vesting_steem": "0.043 STEEM",
"savings_balance": "0.000 STEEM",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"sbd_balance": "0.001 SBD",
"sbd_last_interest_payment": "2018-08-29T07:30:21",
"sbd_seconds": "0",
"sbd_seconds_last_update": "2018-08-29T07:32:09",
"tags_usage": [],
"to_withdraw": 0,
"transfer_history": [],
"vesting_balance": "0.000 STEEM",
"vesting_shares": "203.512806 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"vote_history": [],
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779074067
},
"voting_power": 0,
"withdraw_routes": 0,
"withdrawn": 0,
"witness_votes": [],
"witnesses_voted_for": 0,
"rank": 353458
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
steemdelegated 4.883 SP to @madhavanmalolan2026/05/18 03:14:27
steemdelegated 4.883 SP to @madhavanmalolan
2026/05/18 03:14:27
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 7940.147000 VESTS |
| Transaction Info | Block #106147015/Trx 5a43610ecac2e9f472c5df4876a158683ab2bf05 |
View Raw JSON Data
{
"block": 106147015,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "7940.147000 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-05-18T03:14:27",
"trx_id": "5a43610ecac2e9f472c5df4876a158683ab2bf05",
"trx_in_block": 1,
"virtual_op": 0
}steemdelegated 3.215 SP to @madhavanmalolan2026/05/12 15:55:54
steemdelegated 3.215 SP to @madhavanmalolan
2026/05/12 15:55:54
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 5227.936595 VESTS |
| Transaction Info | Block #105990188/Trx 6334e07b1aab216ecf96f4347d34471c2075841a |
View Raw JSON Data
{
"block": 105990188,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "5227.936595 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-05-12T15:55:54",
"trx_id": "6334e07b1aab216ecf96f4347d34471c2075841a",
"trx_in_block": 0,
"virtual_op": 0
}steemdelegated 4.890 SP to @madhavanmalolan2026/04/26 02:30:48
steemdelegated 4.890 SP to @madhavanmalolan
2026/04/26 02:30:48
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 7952.662756 VESTS |
| Transaction Info | Block #105514584/Trx 66d723be083c9fa7befc0dbe0deb5dc0cf435144 |
View Raw JSON Data
{
"block": 105514584,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "7952.662756 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-04-26T02:30:48",
"trx_id": "66d723be083c9fa7befc0dbe0deb5dc0cf435144",
"trx_in_block": 3,
"virtual_op": 0
}steemdelegated 3.240 SP to @madhavanmalolan2026/01/23 15:47:48
steemdelegated 3.240 SP to @madhavanmalolan
2026/01/23 15:47:48
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 5269.483414 VESTS |
| Transaction Info | Block #102861391/Trx f3598189a4cc19bcf7c1d0118b8f901e87f6ddd2 |
View Raw JSON Data
{
"block": 102861391,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "5269.483414 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-01-23T15:47:48",
"trx_id": "f3598189a4cc19bcf7c1d0118b8f901e87f6ddd2",
"trx_in_block": 3,
"virtual_op": 0
}steemdelegated 3.341 SP to @madhavanmalolan2024/12/17 11:01:33
steemdelegated 3.341 SP to @madhavanmalolan
2024/12/17 11:01:33
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 5433.702611 VESTS |
| Transaction Info | Block #91307679/Trx 5f203d5cab3940afe8581b40da42aca8f0588fe0 |
View Raw JSON Data
{
"block": 91307679,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "5433.702611 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2024-12-17T11:01:33",
"trx_id": "5f203d5cab3940afe8581b40da42aca8f0588fe0",
"trx_in_block": 5,
"virtual_op": 0
}steemdelegated 3.445 SP to @madhavanmalolan2023/11/14 02:43:33
steemdelegated 3.445 SP to @madhavanmalolan
2023/11/14 02:43:33
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 5602.836143 VESTS |
| Transaction Info | Block #79861857/Trx ca098c13c24cb866924c6b7a7b982525a4ad7a95 |
View Raw JSON Data
{
"block": 79861857,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "5602.836143 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2023-11-14T02:43:33",
"trx_id": "ca098c13c24cb866924c6b7a7b982525a4ad7a95",
"trx_in_block": 3,
"virtual_op": 0
}steemdelegated 5.251 SP to @madhavanmalolan2023/09/22 01:20:12
steemdelegated 5.251 SP to @madhavanmalolan
2023/09/22 01:20:12
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 8540.114929 VESTS |
| Transaction Info | Block #78352027/Trx 18010e338c10d8b7f9735ad33d0a3f740ed733c2 |
View Raw JSON Data
{
"block": 78352027,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "8540.114929 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2023-09-22T01:20:12",
"trx_id": "18010e338c10d8b7f9735ad33d0a3f740ed733c2",
"trx_in_block": 0,
"virtual_op": 0
}steemdelegated 5.388 SP to @madhavanmalolan2022/11/03 14:42:06
steemdelegated 5.388 SP to @madhavanmalolan
2022/11/03 14:42:06
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 8761.796367 VESTS |
| Transaction Info | Block #69116840/Trx f8be1d151ed46696d4c03a0c7b9178206db229ea |
View Raw JSON Data
{
"block": 69116840,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "8761.796367 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2022-11-03T14:42:06",
"trx_id": "f8be1d151ed46696d4c03a0c7b9178206db229ea",
"trx_in_block": 37,
"virtual_op": 0
}steemdelegated 5.523 SP to @madhavanmalolan2022/01/17 17:58:45
steemdelegated 5.523 SP to @madhavanmalolan
2022/01/17 17:58:45
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 8982.031503 VESTS |
| Transaction Info | Block #60817800/Trx 795ce75a4d8c8511cb058cafa8ad9f586659e3d5 |
View Raw JSON Data
{
"block": 60817800,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "8982.031503 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2022-01-17T17:58:45",
"trx_id": "795ce75a4d8c8511cb058cafa8ad9f586659e3d5",
"trx_in_block": 69,
"virtual_op": 0
}steemdelegated 5.636 SP to @madhavanmalolan2021/06/14 03:30:45
steemdelegated 5.636 SP to @madhavanmalolan
2021/06/14 03:30:45
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 9166.098256 VESTS |
| Transaction Info | Block #54610941/Trx 7a6cdf646d3426dd480cda34831bdd47102e1353 |
View Raw JSON Data
{
"block": 54610941,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "9166.098256 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2021-06-14T03:30:45",
"trx_id": "7a6cdf646d3426dd480cda34831bdd47102e1353",
"trx_in_block": 2,
"virtual_op": 0
}steemdelegated 5.752 SP to @madhavanmalolan2020/12/11 13:46:15
steemdelegated 5.752 SP to @madhavanmalolan
2020/12/11 13:46:15
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 9353.520230 VESTS |
| Transaction Info | Block #49358299/Trx bd8d39259bd580261fbba668ffaa1a549588b351 |
View Raw JSON Data
{
"block": 49358299,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "9353.520230 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-12-11T13:46:15",
"trx_id": "bd8d39259bd580261fbba668ffaa1a549588b351",
"trx_in_block": 1,
"virtual_op": 0
}steemdelegated 1.176 SP to @madhavanmalolan2020/12/06 07:22:33
steemdelegated 1.176 SP to @madhavanmalolan
2020/12/06 07:22:33
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49209842/Trx 09bc4c9630f30ca7202c56334942ecbbb851d478 |
View Raw JSON Data
{
"block": 49209842,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "1912.543513 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-12-06T07:22:33",
"trx_id": "09bc4c9630f30ca7202c56334942ecbbb851d478",
"trx_in_block": 3,
"virtual_op": 0
}steemdelegated 5.755 SP to @madhavanmalolan2020/12/05 17:24:09
steemdelegated 5.755 SP to @madhavanmalolan
2020/12/05 17:24:09
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 9359.728084 VESTS |
| Transaction Info | Block #49193389/Trx ef87e29d436a80a7be4815751eee5597099f826e |
View Raw JSON Data
{
"block": 49193389,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "9359.728084 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-12-05T17:24:09",
"trx_id": "ef87e29d436a80a7be4815751eee5597099f826e",
"trx_in_block": 10,
"virtual_op": 0
}steemdelegated 1.181 SP to @madhavanmalolan2020/11/02 21:06:18
steemdelegated 1.181 SP to @madhavanmalolan
2020/11/02 21:06:18
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48264240/Trx 7ec0c93859a54174af87ea872afbe35b261be82f |
View Raw JSON Data
{
"block": 48264240,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "1920.017158 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-11-02T21:06:18",
"trx_id": "7ec0c93859a54174af87ea872afbe35b261be82f",
"trx_in_block": 8,
"virtual_op": 0
}steemdelegated 5.880 SP to @madhavanmalolan2020/05/09 08:22:51
steemdelegated 5.880 SP to @madhavanmalolan
2020/05/09 08:22:51
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 9562.533443 VESTS |
| Transaction Info | Block #43220129/Trx 3e407e335d1aaee6e457b64c63f13171bb40e197 |
View Raw JSON Data
{
"block": 43220129,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "9562.533443 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-05-09T08:22:51",
"trx_id": "3e407e335d1aaee6e457b64c63f13171bb40e197",
"trx_in_block": 5,
"virtual_op": 0
}steemdelegated 1.201 SP to @madhavanmalolan2020/05/08 12:23:03
steemdelegated 1.201 SP to @madhavanmalolan
2020/05/08 12:23:03
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43196698/Trx 1c93d50d42e6e73ea7b354fdab4a87b0f924e5c3 |
View Raw JSON Data
{
"block": 43196698,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "1953.311140 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-05-08T12:23:03",
"trx_id": "1c93d50d42e6e73ea7b354fdab4a87b0f924e5c3",
"trx_in_block": 3,
"virtual_op": 0
}steemdelegated 5.945 SP to @madhavanmalolan2019/11/02 20:08:39
steemdelegated 5.945 SP to @madhavanmalolan
2019/11/02 20:08:39
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 9668.013566 VESTS |
| Transaction Info | Block #37831677/Trx ac44449ed56cb2d5dcfcf078e0a52710c3bc59e8 |
View Raw JSON Data
{
"block": 37831677,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "9668.013566 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2019-11-02T20:08:39",
"trx_id": "ac44449ed56cb2d5dcfcf078e0a52710c3bc59e8",
"trx_in_block": 16,
"virtual_op": 0
}2019/05/14 04:08:15
2019/05/14 04:08:15
| author | steemitboard |
| body | Congratulations @madhavanmalolan! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@madhavanmalolan/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/@madhavanmalolan) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=madhavanmalolan)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/japanese/@steemitboard/new-japanese-speaking-community-steem-meetup-badge"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmRWbAjbeETEaqSPLcpwYX1JN5pZhdPffv4q6DaBs6xvZm/image.png"></a></td><td><a href="https://steemit.com/japanese/@steemitboard/new-japanese-speaking-community-steem-meetup-badge">New japanese speaking community Steem Meetup badge</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| parent author | madhavanmalolan |
| parent permlink | ethpay-apple-pay-for-eth |
| permlink | steemitboard-notify-madhavanmalolan-20190514t040814000z |
| title | |
| Transaction Info | Block #32890144/Trx 2b236f3bac1ee4837fd0743677190433a8b2b03b |
View Raw JSON Data
{
"block": 32890144,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @madhavanmalolan! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@madhavanmalolan/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/@madhavanmalolan) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=madhavanmalolan)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/japanese/@steemitboard/new-japanese-speaking-community-steem-meetup-badge\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmRWbAjbeETEaqSPLcpwYX1JN5pZhdPffv4q6DaBs6xvZm/image.png\"></a></td><td><a href=\"https://steemit.com/japanese/@steemitboard/new-japanese-speaking-community-steem-meetup-badge\">New japanese speaking community Steem Meetup badge</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
"parent_author": "madhavanmalolan",
"parent_permlink": "ethpay-apple-pay-for-eth",
"permlink": "steemitboard-notify-madhavanmalolan-20190514t040814000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2019-05-14T04:08:15",
"trx_id": "2b236f3bac1ee4837fd0743677190433a8b2b03b",
"trx_in_block": 1,
"virtual_op": 0
}steemdelegated 6.066 SP to @madhavanmalolan2018/11/28 09:39:45
steemdelegated 6.066 SP to @madhavanmalolan
2018/11/28 09:39:45
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 9865.445018 VESTS |
| Transaction Info | Block #28092117/Trx b5423e12af944f031330a99691193c4862c8e305 |
View Raw JSON Data
{
"block": 28092117,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "9865.445018 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-11-28T09:39:45",
"trx_id": "b5423e12af944f031330a99691193c4862c8e305",
"trx_in_block": 0,
"virtual_op": 0
}madhavanmalolanreceived 0.031 STEEM, 0.040 SP author reward for @madhavanmalolan / ethpay-apple-pay-for-eth2018/09/05 07:29:03
madhavanmalolanreceived 0.031 STEEM, 0.040 SP author reward for @madhavanmalolan / ethpay-apple-pay-for-eth
2018/09/05 07:29:03
| author | madhavanmalolan |
| permlink | ethpay-apple-pay-for-eth |
| sbd payout | 0.000 SBD |
| steem payout | 0.031 STEEM |
| vesting payout | 64.733540 VESTS |
| Transaction Info | Block #25687589/Virtual Operation #3 |
View Raw JSON Data
{
"block": 25687589,
"op": [
"author_reward",
{
"author": "madhavanmalolan",
"permlink": "ethpay-apple-pay-for-eth",
"sbd_payout": "0.000 SBD",
"steem_payout": "0.031 STEEM",
"vesting_payout": "64.733540 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-09-05T07:29:03",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": 3
}2018/08/29 11:32:21
2018/08/29 11:32:21
| author | steemitboard |
| body | Congratulations @madhavanmalolan! You have completed the following achievement on Steemit and have been rewarded with new badge(s) : [](http://steemitboard.com/@madhavanmalolan) You made your First Vote <sub>_Click on the badge to view your Board of Honor._</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> > Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| parent author | madhavanmalolan |
| parent permlink | ethpay-apple-pay-for-eth |
| permlink | steemitboard-notify-madhavanmalolan-20180829t113220000z |
| title | |
| Transaction Info | Block #25490985/Trx 267f59dbe9f0336ed10e31a3d7d187ec616cb315 |
View Raw JSON Data
{
"block": 25490985,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @madhavanmalolan! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :\n\n[](http://steemitboard.com/@madhavanmalolan) You made your First Vote\n\n<sub>_Click on the badge to view your Board of Honor._</sub>\n<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>\n\n\n\n> Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
"parent_author": "madhavanmalolan",
"parent_permlink": "ethpay-apple-pay-for-eth",
"permlink": "steemitboard-notify-madhavanmalolan-20180829t113220000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T11:32:21",
"trx_id": "267f59dbe9f0336ed10e31a3d7d187ec616cb315",
"trx_in_block": 2,
"virtual_op": 0
}steemdelegated 18.541 SP to @madhavanmalolan2018/08/29 08:57:00
steemdelegated 18.541 SP to @madhavanmalolan
2018/08/29 08:57:00
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 30151.283008 VESTS |
| Transaction Info | Block #25487880/Trx e72782b40ff42e5816af7245eba10ac9c8bf3f57 |
View Raw JSON Data
{
"block": 25487880,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "30151.283008 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T08:57:00",
"trx_id": "e72782b40ff42e5816af7245eba10ac9c8bf3f57",
"trx_in_block": 60,
"virtual_op": 0
}hr1upvoted (0.02%) @madhavanmalolan / ethpay-apple-pay-for-eth2018/08/29 07:58:57
hr1upvoted (0.02%) @madhavanmalolan / ethpay-apple-pay-for-eth
2018/08/29 07:58:57
| author | madhavanmalolan |
| permlink | ethpay-apple-pay-for-eth |
| voter | hr1 |
| weight | 2 (0.02%) |
| Transaction Info | Block #25486720/Trx 0c406ffe48d39dfc88a3874f55728e097b6606ab |
View Raw JSON Data
{
"block": 25486720,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "ethpay-apple-pay-for-eth",
"voter": "hr1",
"weight": 2
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T07:58:57",
"trx_id": "0c406ffe48d39dfc88a3874f55728e097b6606ab",
"trx_in_block": 63,
"virtual_op": 0
}raise-me-upsent 0.001 SBD to @madhavanmalolan- "Don't waste your time, promote your post to more than 26,000+ FOLLOWERS and get Min 150+ upvotes for only 1 SBD or 1.5 STEEM. Feel the difference. Invest in your account to succeed! Find new friends/v..."2018/08/29 07:32:09
raise-me-upsent 0.001 SBD to @madhavanmalolan- "Don't waste your time, promote your post to more than 26,000+ FOLLOWERS and get Min 150+ upvotes for only 1 SBD or 1.5 STEEM. Feel the difference. Invest in your account to succeed! Find new friends/v..."
2018/08/29 07:32:09
| amount | 0.001 SBD |
| from | raise-me-up |
| memo | Don't waste your time, promote your post to more than 26,000+ FOLLOWERS and get Min 150+ upvotes for only 1 SBD or 1.5 STEEM. Feel the difference. Invest in your account to succeed! Find new friends/voters who will vote your posts daily. Put post's url in memo and @raise-me-up will resteem your post + 100% upvote. 365 days Active. |
| to | madhavanmalolan |
| Transaction Info | Block #25486184/Trx e21493e6c36805e9ef71d4e2b92575196f3d4368 |
View Raw JSON Data
{
"block": 25486184,
"op": [
"transfer",
{
"amount": "0.001 SBD",
"from": "raise-me-up",
"memo": "Don't waste your time, promote your post to more than 26,000+ FOLLOWERS and get Min 150+ upvotes for only 1 SBD or 1.5 STEEM. Feel the difference. Invest in your account to succeed! Find new friends/voters who will vote your posts daily. Put post's url in memo and @raise-me-up will resteem your post + 100% upvote. 365 days Active.",
"to": "madhavanmalolan"
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T07:32:09",
"trx_id": "e21493e6c36805e9ef71d4e2b92575196f3d4368",
"trx_in_block": 22,
"virtual_op": 0
}madhavanmalolansent 0.718 SBD to @null- "@madhavanmalolan/ethpay-apple-pay-for-eth"2018/08/29 07:30:21
madhavanmalolansent 0.718 SBD to @null- "@madhavanmalolan/ethpay-apple-pay-for-eth"
2018/08/29 07:30:21
| amount | 0.718 SBD |
| from | madhavanmalolan |
| memo | @madhavanmalolan/ethpay-apple-pay-for-eth |
| to | null |
| Transaction Info | Block #25486148/Trx a3d540715e2dcc3027847cde8ce30a680aa8d49c |
View Raw JSON Data
{
"block": 25486148,
"op": [
"transfer",
{
"amount": "0.718 SBD",
"from": "madhavanmalolan",
"memo": "@madhavanmalolan/ethpay-apple-pay-for-eth",
"to": "null"
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T07:30:21",
"trx_id": "a3d540715e2dcc3027847cde8ce30a680aa8d49c",
"trx_in_block": 30,
"virtual_op": 0
}madhavanmalolanupvoted (100.00%) @madhavanmalolan / ethpay-apple-pay-for-eth2018/08/29 07:29:18
madhavanmalolanupvoted (100.00%) @madhavanmalolan / ethpay-apple-pay-for-eth
2018/08/29 07:29:18
| author | madhavanmalolan |
| permlink | ethpay-apple-pay-for-eth |
| voter | madhavanmalolan |
| weight | 10000 (100.00%) |
| Transaction Info | Block #25486127/Trx 9b53a26cf5b0095b0ebc6217154b830e8c571517 |
View Raw JSON Data
{
"block": 25486127,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "ethpay-apple-pay-for-eth",
"voter": "madhavanmalolan",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T07:29:18",
"trx_id": "9b53a26cf5b0095b0ebc6217154b830e8c571517",
"trx_in_block": 34,
"virtual_op": 0
}fastresteemupvoted (1.00%) @madhavanmalolan / ethpay-apple-pay-for-eth2018/08/29 07:29:12
fastresteemupvoted (1.00%) @madhavanmalolan / ethpay-apple-pay-for-eth
2018/08/29 07:29:12
| author | madhavanmalolan |
| permlink | ethpay-apple-pay-for-eth |
| voter | fastresteem |
| weight | 100 (1.00%) |
| Transaction Info | Block #25486125/Trx 593bb0d0b196de9af003244daf82ee91b3efdf8f |
View Raw JSON Data
{
"block": 25486125,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "ethpay-apple-pay-for-eth",
"voter": "fastresteem",
"weight": 100
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T07:29:12",
"trx_id": "593bb0d0b196de9af003244daf82ee91b3efdf8f",
"trx_in_block": 8,
"virtual_op": 0
}grammarnaziupvoted (50.00%) @madhavanmalolan / ethpay-apple-pay-for-eth2018/08/29 07:29:06
grammarnaziupvoted (50.00%) @madhavanmalolan / ethpay-apple-pay-for-eth
2018/08/29 07:29:06
| author | madhavanmalolan |
| permlink | ethpay-apple-pay-for-eth |
| voter | grammarnazi |
| weight | 5000 (50.00%) |
| Transaction Info | Block #25486123/Trx 0a5f4c90cfef392e47a1c3b2be96ff47ec0447b1 |
View Raw JSON Data
{
"block": 25486123,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "ethpay-apple-pay-for-eth",
"voter": "grammarnazi",
"weight": 5000
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T07:29:06",
"trx_id": "0a5f4c90cfef392e47a1c3b2be96ff47ec0447b1",
"trx_in_block": 24,
"virtual_op": 0
}2018/08/29 07:29:03
2018/08/29 07:29:03
| author | grammarnazi |
| body | You have a minor misspelling in the following sentence: <blockquote> By having a standardised AppLink app developers can leverage the existance of other ethereum wallets on the user's phone to sign and send transactions.</blockquote> It should be <i>existence</i> instead of <i>existance</i>. |
| json metadata | {"app":"steemit"} |
| parent author | madhavanmalolan |
| parent permlink | ethpay-apple-pay-for-eth |
| permlink | re-madhavanmalolan-ethpay-apple-pay-for-eth-20180829t072856633z |
| title | Minor Correction |
| Transaction Info | Block #25486122/Trx 0d5e5df9308123c623919f6e9bf39564375130cf |
View Raw JSON Data
{
"block": 25486122,
"op": [
"comment",
{
"author": "grammarnazi",
"body": "You have a minor misspelling in the following sentence: <blockquote> By having a standardised AppLink app developers can leverage the existance of other ethereum wallets on the user's phone to sign and send transactions.</blockquote> It should be <i>existence</i> instead of <i>existance</i>.",
"json_metadata": "{\"app\":\"steemit\"}",
"parent_author": "madhavanmalolan",
"parent_permlink": "ethpay-apple-pay-for-eth",
"permlink": "re-madhavanmalolan-ethpay-apple-pay-for-eth-20180829t072856633z",
"title": "Minor Correction"
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T07:29:03",
"trx_id": "0d5e5df9308123c623919f6e9bf39564375130cf",
"trx_in_block": 31,
"virtual_op": 0
}madhavanmalolanpublished a new post: ethpay-apple-pay-for-eth2018/08/29 07:29:03
madhavanmalolanpublished a new post: ethpay-apple-pay-for-eth
2018/08/29 07:29:03
| author | madhavanmalolan |
| body | ``` --- eip: <to be assigned> title: Standardized AppLink for signing ETH Transactions using an installed wallet on mobile author: Madhavan Malolan (@madhavanmalolan) status: Draft type: Interface created: 2018-08-29 --- ``` ## Simple Summary Proposing standardizing the `ethpay://` URI (AppLink) so that native app developers can invoke user's wallets to sign transactions. ## Abstract Proposing a simple mechanism that will allow developers to build DApps as native apps without having to maintain the users' wallets/private keys. DApps today are built primarily on the web because of the access to Web3 injections, but the user experience is lacking. Native apps provide a much richer experience. A MetaMask equivalent for native apps will help the developer community a long way. ## Motivation App developers today need to maintain the private keys and keep pace with the changes happening on the Web3 libraries. A large majority of people have some ethereum Wallet installed on their phone which already maintains their keys and accounts. Why should every app developer have to re-invent the wheel by building the entire wallet stack into their app? By having a standardised AppLink app developers can leverage the existance of other ethereum wallets on the user's phone to sign and send transactions. ## Specification The AppLink will be an URI of scheme `ethpay://` ### Possible actions - `sign` : The wallet signs the data sent to it and redirects to a URI also specified in the request with the signature as a query parameter - `sendSignedTransaction` : The wallet signs a transaction and sends it to an Ethereum Node ### Allowed parameters - `action` : may be one of `sign` or `sendSignedTransaction` - `to` : An Ethereum Address to which the transaction is to be sent. Required if action is `sendSignedTransaction` - `value` : Integral value of number of Wei to include in the transaction. Optional. - `data` : Data that needs to be signed. If action is `sendSignedTransaction` this should be hex encoded. Required if type is `sign` - `gas` : Amount of gas to be used in the transaction. Required if action is `sendSignedTransaction` - `gasPrice` : Gas price for the transaction. Optional. If not provided for action `sendSignedTransaction`, current gas price will be used. - `redirectUri` : The URI to which the wallet should redirect with signature after signing. Used only for action `sign`. ## Rationale The URI based AppLinks will allow app developers to request signing of transactions without needing to use any external library. The users will not have to trust the app developer with their private keys, since it is maintained by a separate wallet app they already use. ## Implementation A rough implementation of this protocol has been done using [Web3 1.0.0-beta](https://github.com/ethereum/web3.js) on a [React Native](https://facebook.github.io/react-native/) app. It uses [Infura](https://infura.io) as an Ethereum node. The implementation handles App Links and a basic implementation of an ETH wallet. You can find the [app's implementation here](https://github.com/madhavanmalolan/ethpay) ## Join the discussion Join the discussion on [GitHub](https://github.com/ethereum/EIPs/issues/1361) ## Copyright Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). |
| json metadata | {"tags":["android","ios","ethereum","wallet","dapp"],"links":["https://github.com/ethereum/web3.js","https://facebook.github.io/react-native/","https://infura.io","https://github.com/madhavanmalolan/ethpay","https://github.com/ethereum/EIPs/issues/1361","https://creativecommons.org/publicdomain/zero/1.0/"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | android |
| permlink | ethpay-apple-pay-for-eth |
| title | ETHPay : Apple pay for ETH |
| Transaction Info | Block #25486122/Trx 7fae74bf6f745355d0f3cfca69a5f94c1acad4cd |
View Raw JSON Data
{
"block": 25486122,
"op": [
"comment",
{
"author": "madhavanmalolan",
"body": "```\n---\neip: <to be assigned>\ntitle: Standardized AppLink for signing ETH Transactions using an installed wallet on mobile\nauthor: Madhavan Malolan (@madhavanmalolan)\nstatus: Draft\ntype: Interface\ncreated: 2018-08-29\n---\n```\n## Simple Summary\nProposing standardizing the `ethpay://` URI (AppLink) so that native app developers can invoke user's wallets to sign transactions.\n\n## Abstract\nProposing a simple mechanism that will allow developers to build DApps as native apps without having to maintain the users' wallets/private keys. DApps today are built primarily on the web because of the access to Web3 injections, but the user experience is lacking. Native apps provide a much richer experience. A MetaMask equivalent for native apps will help the developer community a long way.\n\n## Motivation\nApp developers today need to maintain the private keys and keep pace with the changes happening on the Web3 libraries. A large majority of people have some ethereum Wallet installed on their phone which already maintains their keys and accounts. Why should every app developer have to re-invent the wheel by building the entire wallet stack into their app? By having a standardised AppLink app developers can leverage the existance of other ethereum wallets on the user's phone to sign and send transactions.\n\n## Specification\nThe AppLink will be an URI of scheme `ethpay://`\n\n### Possible actions\n- `sign` : The wallet signs the data sent to it and redirects to a URI also specified in the request with the signature as a query parameter\n- `sendSignedTransaction` : The wallet signs a transaction and sends it to an Ethereum Node\n\n### Allowed parameters\n- `action` : may be one of `sign` or `sendSignedTransaction`\n- `to` : An Ethereum Address to which the transaction is to be sent. Required if action is `sendSignedTransaction`\n- `value` : Integral value of number of Wei to include in the transaction. Optional.\n- `data` : Data that needs to be signed. If action is `sendSignedTransaction` this should be hex encoded. Required if type is `sign`\n- `gas` : Amount of gas to be used in the transaction. Required if action is `sendSignedTransaction`\n- `gasPrice` : Gas price for the transaction. Optional. If not provided for action `sendSignedTransaction`, current gas price will be used.\n- `redirectUri` : The URI to which the wallet should redirect with signature after signing. Used only for action `sign`.\n\n\n## Rationale\nThe URI based AppLinks will allow app developers to request signing of transactions without needing to use any external library.\nThe users will not have to trust the app developer with their private keys, since it is maintained by a separate wallet app they already use.\n\n## Implementation\nA rough implementation of this protocol has been done using [Web3 1.0.0-beta](https://github.com/ethereum/web3.js) on a [React Native](https://facebook.github.io/react-native/) app. It uses [Infura](https://infura.io) as an Ethereum node.\n\nThe implementation handles App Links and a basic implementation of an ETH wallet.\n\nYou can find the [app's implementation here](https://github.com/madhavanmalolan/ethpay)\n\n## Join the discussion\nJoin the discussion on [GitHub](https://github.com/ethereum/EIPs/issues/1361)\n\n## Copyright\nCopyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).",
"json_metadata": "{\"tags\":[\"android\",\"ios\",\"ethereum\",\"wallet\",\"dapp\"],\"links\":[\"https://github.com/ethereum/web3.js\",\"https://facebook.github.io/react-native/\",\"https://infura.io\",\"https://github.com/madhavanmalolan/ethpay\",\"https://github.com/ethereum/EIPs/issues/1361\",\"https://creativecommons.org/publicdomain/zero/1.0/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "android",
"permlink": "ethpay-apple-pay-for-eth",
"title": "ETHPay : Apple pay for ETH"
}
],
"op_in_trx": 0,
"timestamp": "2018-08-29T07:29:03",
"trx_id": "7fae74bf6f745355d0f3cfca69a5f94c1acad4cd",
"trx_in_block": 7,
"virtual_op": 0
}steemdelegated 6.099 SP to @madhavanmalolan2018/08/22 14:41:03
steemdelegated 6.099 SP to @madhavanmalolan
2018/08/22 14:41:03
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 9918.443086 VESTS |
| Transaction Info | Block #25293271/Trx e60971ae1520a1f89b62aa70dbd114892fc46125 |
View Raw JSON Data
{
"block": 25293271,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "9918.443086 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-08-22T14:41:03",
"trx_id": "e60971ae1520a1f89b62aa70dbd114892fc46125",
"trx_in_block": 5,
"virtual_op": 0
}madhavanmalolanreceived 0.001 STEEM, 0.021 SBD, 0.014 SP author reward for @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/30 09:41:57
madhavanmalolanreceived 0.001 STEEM, 0.021 SBD, 0.014 SP author reward for @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/30 09:41:57
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| sbd payout | 0.021 SBD |
| steem payout | 0.001 STEEM |
| vesting payout | 22.367612 VESTS |
| Transaction Info | Block #22879905/Virtual Operation #20 |
View Raw JSON Data
{
"block": 22879905,
"op": [
"author_reward",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"sbd_payout": "0.021 SBD",
"steem_payout": "0.001 STEEM",
"vesting_payout": "22.367612 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-30T09:41:57",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": 20
}harmaaupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/29 18:14:18
harmaaupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/29 18:14:18
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | harmaa |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22861354/Trx eb931b47fd74ee74ef32d38c521e704d3ea38550 |
View Raw JSON Data
{
"block": 22861354,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "harmaa",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-29T18:14:18",
"trx_id": "eb931b47fd74ee74ef32d38c521e704d3ea38550",
"trx_in_block": 39,
"virtual_op": 0
}2018/05/29 17:14:42
2018/05/29 17:14:42
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | mezmerizer9 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22860162/Trx 59f3970f4d5ace19e635ea481146ef0a9a9f0e3b |
View Raw JSON Data
{
"block": 22860162,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "mezmerizer9",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-29T17:14:42",
"trx_id": "59f3970f4d5ace19e635ea481146ef0a9a9f0e3b",
"trx_in_block": 40,
"virtual_op": 0
}2018/05/29 16:08:45
2018/05/29 16:08:45
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | lost-tiger-films |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22858843/Trx a5b94b820cd09665a3ed5cd3710a9e1eb1f11ccb |
View Raw JSON Data
{
"block": 22858843,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "lost-tiger-films",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-29T16:08:45",
"trx_id": "a5b94b820cd09665a3ed5cd3710a9e1eb1f11ccb",
"trx_in_block": 25,
"virtual_op": 0
}cryptojoltupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/29 14:01:21
cryptojoltupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/29 14:01:21
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | cryptojolt |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22856295/Trx ad93d15e574eca553a33fadf9888123ce071a852 |
View Raw JSON Data
{
"block": 22856295,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "cryptojolt",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-29T14:01:21",
"trx_id": "ad93d15e574eca553a33fadf9888123ce071a852",
"trx_in_block": 51,
"virtual_op": 0
}varvasupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/27 23:01:57
varvasupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/27 23:01:57
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | varvas |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22809512/Trx 41ff121606919834c842f309e8ec5821bc29717c |
View Raw JSON Data
{
"block": 22809512,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "varvas",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-27T23:01:57",
"trx_id": "41ff121606919834c842f309e8ec5821bc29717c",
"trx_in_block": 57,
"virtual_op": 0
}filburupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/27 19:51:48
filburupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/27 19:51:48
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | filbur |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22805709/Trx 6adf94d314b30d9ba608421f9e3817d819f868a0 |
View Raw JSON Data
{
"block": 22805709,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "filbur",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-27T19:51:48",
"trx_id": "6adf94d314b30d9ba608421f9e3817d819f868a0",
"trx_in_block": 52,
"virtual_op": 0
}2018/05/27 15:47:30
2018/05/27 15:47:30
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | nycryptotalk |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22800824/Trx ba6788d4e3f67537ee6a04597f1a4aaf23dbc5f9 |
View Raw JSON Data
{
"block": 22800824,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "nycryptotalk",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-27T15:47:30",
"trx_id": "ba6788d4e3f67537ee6a04597f1a4aaf23dbc5f9",
"trx_in_block": 35,
"virtual_op": 0
}kowal115upvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/26 20:20:48
kowal115upvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/26 20:20:48
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | kowal115 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22777494/Trx 0c873f44b583e9d1c4bb6605e2da1d6653a46ea3 |
View Raw JSON Data
{
"block": 22777494,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "kowal115",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-26T20:20:48",
"trx_id": "0c873f44b583e9d1c4bb6605e2da1d6653a46ea3",
"trx_in_block": 88,
"virtual_op": 0
}razelupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/26 09:52:06
razelupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/26 09:52:06
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | razel |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22764923/Trx aa65df7467f73d29c45c992394bbb2b71a6b7d46 |
View Raw JSON Data
{
"block": 22764923,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "razel",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-26T09:52:06",
"trx_id": "aa65df7467f73d29c45c992394bbb2b71a6b7d46",
"trx_in_block": 40,
"virtual_op": 0
}darkxseinupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/26 08:06:12
darkxseinupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/26 08:06:12
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | darkxsein |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22762805/Trx 6246fd38127c82c36241542d7f6daf3669f08b50 |
View Raw JSON Data
{
"block": 22762805,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "darkxsein",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-26T08:06:12",
"trx_id": "6246fd38127c82c36241542d7f6daf3669f08b50",
"trx_in_block": 17,
"virtual_op": 0
}sadia777upvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/25 20:29:09
sadia777upvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/25 20:29:09
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | sadia777 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22748867/Trx 80520b2c4ba07123ee32a131fe6f9ab41843af23 |
View Raw JSON Data
{
"block": 22748867,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "sadia777",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-25T20:29:09",
"trx_id": "80520b2c4ba07123ee32a131fe6f9ab41843af23",
"trx_in_block": 37,
"virtual_op": 0
}kuros1700upvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/24 21:06:33
kuros1700upvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/24 21:06:33
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | kuros1700 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22720821/Trx 521fab18e938c2fd04c8b7e30a70670e304698c0 |
View Raw JSON Data
{
"block": 22720821,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "kuros1700",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-24T21:06:33",
"trx_id": "521fab18e938c2fd04c8b7e30a70670e304698c0",
"trx_in_block": 4,
"virtual_op": 0
}blessuupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/24 19:10:00
blessuupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/24 19:10:00
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | blessu |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22718493/Trx ab39d676af67835d9dbe6a9d9d187881dbbbd532 |
View Raw JSON Data
{
"block": 22718493,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "blessu",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-24T19:10:00",
"trx_id": "ab39d676af67835d9dbe6a9d9d187881dbbbd532",
"trx_in_block": 30,
"virtual_op": 0
}sambrishesupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/24 18:49:57
sambrishesupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/24 18:49:57
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | sambrishes |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22718092/Trx 723880df811c516526ebac15d9f8fc0dc1217598 |
View Raw JSON Data
{
"block": 22718092,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "sambrishes",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-24T18:49:57",
"trx_id": "723880df811c516526ebac15d9f8fc0dc1217598",
"trx_in_block": 63,
"virtual_op": 0
}techzuug0dupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/24 17:43:00
techzuug0dupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/24 17:43:00
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | techzuug0d |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22716754/Trx 05bd795b60a984442e5c7a235d8e6c4de936b0ee |
View Raw JSON Data
{
"block": 22716754,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "techzuug0d",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-24T17:43:00",
"trx_id": "05bd795b60a984442e5c7a235d8e6c4de936b0ee",
"trx_in_block": 2,
"virtual_op": 0
}rayoupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/24 14:08:21
rayoupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/24 14:08:21
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | rayo |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22712461/Trx 265e725cbcd80c54160331cfeaf394bba05c9dc1 |
View Raw JSON Data
{
"block": 22712461,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "rayo",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-24T14:08:21",
"trx_id": "265e725cbcd80c54160331cfeaf394bba05c9dc1",
"trx_in_block": 7,
"virtual_op": 0
}2018/05/24 04:28:21
2018/05/24 04:28:21
| author | ritikagupta |
| body | Hey great content.. I'm also a blogger on latest upcoming ICOs. If you find interest please do follow me and i will follow you back!! |
| json metadata | {"tags":["ethereum"],"app":"steemit/0.1"} |
| parent author | madhavanmalolan |
| parent permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| permlink | re-madhavanmalolan-introducing-dauth-a-decentralized-authentication-for-dapps-20180524t042820789z |
| title | |
| Transaction Info | Block #22701220/Trx cb625e293d0299e4ff91d766dafc29e5bb4ec675 |
View Raw JSON Data
{
"block": 22701220,
"op": [
"comment",
{
"author": "ritikagupta",
"body": "Hey great content..\nI'm also a blogger on latest upcoming ICOs.\nIf you find interest please do follow me and i will follow you back!!",
"json_metadata": "{\"tags\":[\"ethereum\"],\"app\":\"steemit/0.1\"}",
"parent_author": "madhavanmalolan",
"parent_permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"permlink": "re-madhavanmalolan-introducing-dauth-a-decentralized-authentication-for-dapps-20180524t042820789z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-05-24T04:28:21",
"trx_id": "cb625e293d0299e4ff91d766dafc29e5bb4ec675",
"trx_in_block": 35,
"virtual_op": 0
}2018/05/24 04:26:27
2018/05/24 04:26:27
| author | madhavanmalolan |
| permlink | 6swexy-introducing-dauth-a-decentralized-authentication-mechanism |
| voter | ritikagupta |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22701182/Trx 5126ced1dfd7590f3921fa0d0ceabe61a1098512 |
View Raw JSON Data
{
"block": 22701182,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "6swexy-introducing-dauth-a-decentralized-authentication-mechanism",
"voter": "ritikagupta",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-24T04:26:27",
"trx_id": "5126ced1dfd7590f3921fa0d0ceabe61a1098512",
"trx_in_block": 13,
"virtual_op": 0
}2018/05/24 04:26:21
2018/05/24 04:26:21
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | ritikagupta |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22701180/Trx 7bc76c2229f94c42c70db9b86e8f1e1c7f476876 |
View Raw JSON Data
{
"block": 22701180,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "ritikagupta",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-24T04:26:21",
"trx_id": "7bc76c2229f94c42c70db9b86e8f1e1c7f476876",
"trx_in_block": 25,
"virtual_op": 0
}2018/05/24 03:14:54
2018/05/24 03:14:54
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | vertigemoon |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22699751/Trx 65d4be04b9f2185bd24fa2df2c44f8e5f33af146 |
View Raw JSON Data
{
"block": 22699751,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "vertigemoon",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-24T03:14:54",
"trx_id": "65d4be04b9f2185bd24fa2df2c44f8e5f33af146",
"trx_in_block": 49,
"virtual_op": 0
}2018/05/23 21:54:30
2018/05/23 21:54:30
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | jasonmiller2134 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22693343/Trx 5e0c722db5aa508a4c9221e746ef15e2f7baca72 |
View Raw JSON Data
{
"block": 22693343,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "jasonmiller2134",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T21:54:30",
"trx_id": "5e0c722db5aa508a4c9221e746ef15e2f7baca72",
"trx_in_block": 61,
"virtual_op": 0
}fuxupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps2018/05/23 18:53:27
fuxupvoted (100.00%) @madhavanmalolan / introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/23 18:53:27
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | fux |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22689723/Trx 1b7e443971860c5224177da4698509d78ba7212e |
View Raw JSON Data
{
"block": 22689723,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "fux",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T18:53:27",
"trx_id": "1b7e443971860c5224177da4698509d78ba7212e",
"trx_in_block": 45,
"virtual_op": 0
}madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-for-dapps2018/05/23 13:58:21
madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/23 13:58:21
| author | madhavanmalolan |
| body | ``` eip: ERC 1115 title: DAuth - Decentralized authentication mechanism for DApps author: madhavanmalolan discussion-to: [email protected] status: Draft type: Standards Track category: ERC created: 2018-05-23 ``` # Simple Summary This is an authentication mechanism like _"Login with Facebook"_ and _"Sign in with Google"_ that is completely decentralized and helps DApps authenticate users. # Abstract DAuth is a specification for an alternative to OAuth that allows DApps to accept user logins in a completely decentralized way - helping the DApp acertain the Ethereum address owned by the user. This login uses a familiar username-password pair that would allow logins to happen from any device or environment without the need for external libraries and extensions like Web3. # Motivation Many DApps that perform some form of personalization need to identify the user. Consider, for example, the case of a popular DApp - [CryptoKitties](https://cryptokitties.co). CryptoKitties is a web based DApp and allows users to view, buy, sell and _breed_ CryptoKitties. The only way to login into the application is using MetaMask which is a Web3 injector. It is not possible to view _My kitties_ using a device that doesn't have MetaMask installed even if I do not intend to make any transactions. DAuth will enable DApps to allow users to establish their identity by proving the ownership of their Ethereum address. # Design We first describe the _Authentication Game_ which takes place to authenticate a user. ## 0. Registration A user registers by setting up a HTTP server (called the Dauth server). The user generates a password and a public-private key pair and stores the private key and the hash of the password on the server. Then, registers a username on the smart contract by providing the desired username, the public key and the address of the DAuth server. All usernames on the contract are unique. ## 1. DApp Login To login into a DApp, the user provides the following to the endpoint that performs the authentication on the DApp. - **Code** : This is a random string that identifies the current authentication session. The authentication will go through only once for a given code. - **HashCode** : `sha3(sha3(password), code)` - **Username** : The username that was registered and confirmed on the smart contract. In order to verify this request, the DApp will fetch the public key and DAuth server address from the smart contract. The DApp shall then generate a _Secret_ string - which may be a random string. It will then pass the following parameters to the DAuth server's verification endpoint. - **Code** : As provided by the user - **HashCode** : As provided by the user - **Username** : As provided by the user - **Cipher** : The _Secret string_ encrypted using the user's public key ## 2. DAuth server verification The DAuth server on receiving the request from the DApp, fetches the hash of the password and the private key from its database corresponding to the username in the request. It then validates if `HashCode = sha3(hash of password, code)` If the HashCode is valid, and the code has not been used before, it tries to decrypt the Cipher using the private key and sends the decrypted value back to the DApp ## 3. Verification The DApp may authenticate the user if the response from the DAuth server is the same as the Secret it used to generate the Cipher. # Specification ## Smart Contract ### set ``` function set(string username, string dauth_url, string public_key) public returns (bool) event NewUser(address from, string username, bool success); ``` Must insert a mapping between the `msg.sender` and the username, DAuth Server address, and public key. Must emit `NewUser(address, username, true)` if successfully created, `NewUser(address, username, false)` if it fails. ### getUsername ``` function getUsername(address user_address) public view returns (string) ``` Returns the username associated with a given address. Returns a blank string if no username exists for that address. ### getAddress ``` function getAddress(string username) public view returns (address) ``` Returns the address associated with the username. Returns a blank string if the username is not registered. ### getDauthUrl ``` function getDauthUrl(string username) public view returns (string) ``` Returns the DAuth Server address associated with the username. Returns a blank string if the username is not registered. ### getDauthPublicKey ``` function getDauthPublicKey(string username) public view returns (string) ``` Returns the public key associated with the username. Returns a blank string if the username is not registered. ## DAuth Server The DAuth server must expose two endpoints ### Verification Endpoint This is the endpoint using a POST request to the DAuth Server address. This takes as parameters ``` { username : string, cipher : string, code : string, hashcode : string } ``` If verification is successful, returns ``` 200 { data : <decrypted value> } ``` else, ``` 403 { data : <reason for failure> } ``` ### Login Page This is a GET request to the DAuth Server address. This takes as query parameter the verifier url. On the webpage it must accept the username and password, generate the code and hashcode and transmit the username, code and hashcode to the verifier (DApp). ## DApp The Dapp must provide an endpoint called the _verifier URL_ that is a GET request that can be accessed from a web browser. This endpoint gets the following query parameters : code, hashcode, username. This endpoint may respond accordingly based on the success of the login. # Implementation ## Smart Contract The smart contract is hosted on the Rinkeby testnet - [Link](https://rinkeby.etherscan.io/address/0xb19d6bf34cf6cecc50c4a73c38f54defcf9e8f6a) ## DAuth Server A user may run a self hosted DAuth Server by cloning [this](https://github.com/madhavanmalolan/dauth/tree/master/server) repository. For the sake of simplicity and a demo, a DAuth Server has been setup at [dauth.co](https://dauth.co) on which users may choose to host their credentials if they are not able to host a server on their own. ## Verifier The DApps may use a the promise based nodejs implementation, which abstracts out all implementation details. ## Source All the code for the smart contract and the Dauth Server are opensourced at [this repository](https://github.com/madhavanmalolan/dauth). # Demo A demo is available at [dauth.co](https://dauth.co) # More details A white paper is made available that digs deeper into technical details : [dauth.pdf](https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf) https://www.youtube.com/watch?v=Tgnk3pqNxSw # Participate Please do join in the [discussions on GitHub for ERC 1115](https://github.com/ethereum/EIPs/issues/1115) |
| json metadata | {"tags":["ethereum","smart-contract","cryptocurrency","bitcoin","crypto"],"links":["https://cryptokitties.co","https://rinkeby.etherscan.io/address/0xb19d6bf34cf6cecc50c4a73c38f54defcf9e8f6a","https://github.com/madhavanmalolan/dauth/tree/master/server","https://dauth.co","https://github.com/madhavanmalolan/dauth","https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf","https://www.youtube.com/watch?v=Tgnk3pqNxSw","https://github.com/ethereum/EIPs/issues/1115"],"app":"steemit/0.1","format":"markdown","image":["https://img.youtube.com/vi/Tgnk3pqNxSw/0.jpg"]} |
| parent author | |
| parent permlink | ethereum |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| title | Introducing DAuth - A decentralized authentication for DApps |
| Transaction Info | Block #22683821/Trx a5bbbfb45accb02c765663887e8f193c55648c48 |
View Raw JSON Data
{
"block": 22683821,
"op": [
"comment",
{
"author": "madhavanmalolan",
"body": "```\neip: ERC 1115\ntitle: DAuth - Decentralized authentication mechanism for DApps\nauthor: madhavanmalolan\ndiscussion-to: [email protected]\nstatus: Draft\ntype: Standards Track\ncategory: ERC\ncreated: 2018-05-23\n```\n# Simple Summary\nThis is an authentication mechanism like _\"Login with Facebook\"_ and _\"Sign in with Google\"_ that is completely decentralized and helps DApps authenticate users.\n\n# Abstract\nDAuth is a specification for an alternative to OAuth that allows DApps to accept user logins in a completely decentralized way - helping the DApp acertain the Ethereum address owned by the user. This login uses a familiar username-password pair that would allow logins to happen from any device or environment without the need for external libraries and extensions like Web3.\n\n# Motivation\nMany DApps that perform some form of personalization need to identify the user. Consider, for example, the case of a popular DApp - [CryptoKitties](https://cryptokitties.co). CryptoKitties is a web based DApp and allows users to view, buy, sell and _breed_ CryptoKitties. The only way to login into the application is using MetaMask which is a Web3 injector. It is not possible to view _My kitties_ using a device that doesn't have MetaMask installed even if I do not intend to make any transactions.\n\nDAuth will enable DApps to allow users to establish their identity by proving the ownership of their Ethereum address. \n\n# Design \nWe first describe the _Authentication Game_ which takes place to authenticate a user.\n\n## 0. Registration\nA user registers by setting up a HTTP server (called the Dauth server). The user generates a password and a public-private key pair and stores the private key and the hash of the password on the server. Then, registers a username on the smart contract by providing the desired username, the public key and the address of the DAuth server.\n\nAll usernames on the contract are unique.\n\n## 1. DApp Login\nTo login into a DApp, the user provides the following to the endpoint that performs the authentication on the DApp.\n- **Code** : This is a random string that identifies the current authentication session. The authentication will go through only once for a given code.\n- **HashCode** : `sha3(sha3(password), code)`\n- **Username** : The username that was registered and confirmed on the smart contract.\n\nIn order to verify this request, the DApp will fetch the public key and DAuth server address from the smart contract.\n\nThe DApp shall then generate a _Secret_ string - which may be a random string. It will then pass the following parameters to the DAuth server's verification endpoint.\n- **Code** : As provided by the user\n- **HashCode** : As provided by the user\n- **Username** : As provided by the user\n- **Cipher** : The _Secret string_ encrypted using the user's public key\n\n## 2. DAuth server verification\nThe DAuth server on receiving the request from the DApp, fetches the hash of the password and the private key from its database corresponding to the username in the request.\n\nIt then validates if `HashCode = sha3(hash of password, code)`\n\nIf the HashCode is valid, and the code has not been used before, it tries to decrypt the Cipher using the private key and sends the decrypted value back to the DApp\n\n## 3. Verification\nThe DApp may authenticate the user if the response from the DAuth server is the same as the Secret it used to generate the Cipher.\n\n# Specification\n\n## Smart Contract\n### set\n```\n function set(string username, string dauth_url, string public_key) public returns (bool)\n\n event NewUser(address from, string username, bool success);\n```\nMust insert a mapping between the `msg.sender` and the username, DAuth Server address, and public key.\n\nMust emit `NewUser(address, username, true)` if successfully created, `NewUser(address, username, false)` if it fails.\n### getUsername\n```\n function getUsername(address user_address) public view returns (string)\n```\nReturns the username associated with a given address. Returns a blank string if no username exists for that address.\n\n### getAddress\n```\n function getAddress(string username) public view returns (address)\n```\nReturns the address associated with the username. Returns a blank string if the username is not registered.\n### getDauthUrl\n```\n function getDauthUrl(string username) public view returns (string)\n```\nReturns the DAuth Server address associated with the username. Returns a blank string if the username is not registered. \n### getDauthPublicKey\n```\n function getDauthPublicKey(string username) public view returns (string)\n```\nReturns the public key associated with the username. Returns a blank string if the username is not registered.\n\n\n## DAuth Server\nThe DAuth server must expose two endpoints\n### Verification Endpoint\nThis is the endpoint using a POST request to the DAuth Server address. This takes as parameters\n```\n{\n username : string,\n cipher : string,\n code : string,\n hashcode : string\n}\n```\n\nIf verification is successful, returns \n```\n200\n{ data : <decrypted value> }\n```\nelse,\n```\n403\n{ data : <reason for failure> }\n```\n\n### Login Page \nThis is a GET request to the DAuth Server address. This takes as query parameter the verifier url.\nOn the webpage it must accept the username and password, generate the code and hashcode and transmit the username, code and hashcode to the verifier (DApp).\n\n\n## DApp\nThe Dapp must provide an endpoint called the _verifier URL_ that is a GET request that can be accessed from a web browser. This endpoint gets the following query parameters : code, hashcode, username. This endpoint may respond accordingly based on the success of the login.\n\n# Implementation\n## Smart Contract\nThe smart contract is hosted on the Rinkeby testnet - [Link](https://rinkeby.etherscan.io/address/0xb19d6bf34cf6cecc50c4a73c38f54defcf9e8f6a)\n\n## DAuth Server\nA user may run a self hosted DAuth Server by cloning [this](https://github.com/madhavanmalolan/dauth/tree/master/server) repository.\nFor the sake of simplicity and a demo, a DAuth Server has been setup at [dauth.co](https://dauth.co) on which users may choose to host their credentials if they are not able to host a server on their own.\n\n## Verifier\nThe DApps may use a the promise based nodejs implementation, which abstracts out all implementation details.\n\n## Source\nAll the code for the smart contract and the Dauth Server are opensourced at [this repository](https://github.com/madhavanmalolan/dauth).\n\n# Demo \nA demo is available at [dauth.co](https://dauth.co)\n\n# More details\nA white paper is made available that digs deeper into technical details : [dauth.pdf](https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf)\n\nhttps://www.youtube.com/watch?v=Tgnk3pqNxSw\n\n# Participate\nPlease do join in the [discussions on GitHub for ERC 1115](https://github.com/ethereum/EIPs/issues/1115)",
"json_metadata": "{\"tags\":[\"ethereum\",\"smart-contract\",\"cryptocurrency\",\"bitcoin\",\"crypto\"],\"links\":[\"https://cryptokitties.co\",\"https://rinkeby.etherscan.io/address/0xb19d6bf34cf6cecc50c4a73c38f54defcf9e8f6a\",\"https://github.com/madhavanmalolan/dauth/tree/master/server\",\"https://dauth.co\",\"https://github.com/madhavanmalolan/dauth\",\"https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf\",\"https://www.youtube.com/watch?v=Tgnk3pqNxSw\",\"https://github.com/ethereum/EIPs/issues/1115\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://img.youtube.com/vi/Tgnk3pqNxSw/0.jpg\"]}",
"parent_author": "",
"parent_permlink": "ethereum",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"title": "Introducing DAuth - A decentralized authentication for DApps"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T13:58:21",
"trx_id": "a5bbbfb45accb02c765663887e8f193c55648c48",
"trx_in_block": 30,
"virtual_op": 0
}raise-me-upsent 0.001 SBD to @madhavanmalolan- "✔ Promote your post with more than 21,200 Followers for only 1 SBD or 1.5 STEEM. Invest in your account to succeed! Find new friends/voters who will vote your posts daily. Put post's url in memo and @..."2018/05/23 12:48:54
raise-me-upsent 0.001 SBD to @madhavanmalolan- "✔ Promote your post with more than 21,200 Followers for only 1 SBD or 1.5 STEEM. Invest in your account to succeed! Find new friends/voters who will vote your posts daily. Put post's url in memo and @..."
2018/05/23 12:48:54
| amount | 0.001 SBD |
| from | raise-me-up |
| memo | ✔ Promote your post with more than 21,200 Followers for only 1 SBD or 1.5 STEEM. Invest in your account to succeed! Find new friends/voters who will vote your posts daily. Put post's url in memo and @raise-me-up will resteem your post + 100% upvote. 365 days Active. |
| to | madhavanmalolan |
| Transaction Info | Block #22682432/Trx c64e0a4ff5156e6af84254a383b8c455bea260de |
View Raw JSON Data
{
"block": 22682432,
"op": [
"transfer",
{
"amount": "0.001 SBD",
"from": "raise-me-up",
"memo": "✔ Promote your post with more than 21,200 Followers for only 1 SBD or 1.5 STEEM. Invest in your account to succeed! Find new friends/voters who will vote your posts daily. Put post's url in memo and @raise-me-up will resteem your post + 100% upvote. 365 days Active.",
"to": "madhavanmalolan"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T12:48:54",
"trx_id": "c64e0a4ff5156e6af84254a383b8c455bea260de",
"trx_in_block": 53,
"virtual_op": 0
}madhavanmalolansent 15.000 SBD to @null- "@madhavanmalolan/introducing-dauth-a-decentralized-authentication-for-dapps"2018/05/23 11:23:06
madhavanmalolansent 15.000 SBD to @null- "@madhavanmalolan/introducing-dauth-a-decentralized-authentication-for-dapps"
2018/05/23 11:23:06
| amount | 15.000 SBD |
| from | madhavanmalolan |
| memo | @madhavanmalolan/introducing-dauth-a-decentralized-authentication-for-dapps |
| to | null |
| Transaction Info | Block #22680718/Trx 22f20c213cf38d55bbbb274a6152f594c05b0114 |
View Raw JSON Data
{
"block": 22680718,
"op": [
"transfer",
{
"amount": "15.000 SBD",
"from": "madhavanmalolan",
"memo": "@madhavanmalolan/introducing-dauth-a-decentralized-authentication-for-dapps",
"to": "null"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T11:23:06",
"trx_id": "22f20c213cf38d55bbbb274a6152f594c05b0114",
"trx_in_block": 1,
"virtual_op": 0
}madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-for-dapps2018/05/23 11:22:45
madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/23 11:22:45
| author | madhavanmalolan |
| body | @@ -1254,16 +1254,111 @@ smile:%0A%0A +# Set up%0ASetting it up takes just a few minutes!%0A%0Ahttps://www.youtube.com/watch?v=Tgnk3pqNxSw%0A%0A Looking |
| json metadata | {"tags":["ethereum","smart-contract","cryptocurrency","bitcoin","crypto"],"links":["https://github.com/madhavanmalolan/dauth","https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf","https://dauth.co","https://www.youtube.com/watch?v=Tgnk3pqNxSw"],"app":"steemit/0.1","format":"markdown","image":["https://img.youtube.com/vi/Tgnk3pqNxSw/0.jpg"]} |
| parent author | |
| parent permlink | ethereum |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| title | Introducing DAuth - A decentralized authentication for DApps |
| Transaction Info | Block #22680711/Trx 7a2c8e8b0f943dbb5caecebb708e10db29fdf5a3 |
View Raw JSON Data
{
"block": 22680711,
"op": [
"comment",
{
"author": "madhavanmalolan",
"body": "@@ -1254,16 +1254,111 @@\n smile:%0A%0A\n+# Set up%0ASetting it up takes just a few minutes!%0A%0Ahttps://www.youtube.com/watch?v=Tgnk3pqNxSw%0A%0A\n Looking \n",
"json_metadata": "{\"tags\":[\"ethereum\",\"smart-contract\",\"cryptocurrency\",\"bitcoin\",\"crypto\"],\"links\":[\"https://github.com/madhavanmalolan/dauth\",\"https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf\",\"https://dauth.co\",\"https://www.youtube.com/watch?v=Tgnk3pqNxSw\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"https://img.youtube.com/vi/Tgnk3pqNxSw/0.jpg\"]}",
"parent_author": "",
"parent_permlink": "ethereum",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"title": "Introducing DAuth - A decentralized authentication for DApps"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T11:22:45",
"trx_id": "7a2c8e8b0f943dbb5caecebb708e10db29fdf5a3",
"trx_in_block": 9,
"virtual_op": 0
}blocktradessent 14.660 SBD to @madhavanmalolan2018/05/23 11:21:18
blocktradessent 14.660 SBD to @madhavanmalolan
2018/05/23 11:21:18
| amount | 14.660 SBD |
| from | blocktrades |
| memo | |
| to | madhavanmalolan |
| Transaction Info | Block #22680682/Trx 051a7d9052a5d72862c6644144b5b48a058c4b3c |
View Raw JSON Data
{
"block": 22680682,
"op": [
"transfer",
{
"amount": "14.660 SBD",
"from": "blocktrades",
"memo": "",
"to": "madhavanmalolan"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T11:21:18",
"trx_id": "051a7d9052a5d72862c6644144b5b48a058c4b3c",
"trx_in_block": 63,
"virtual_op": 0
}madhavanmalolansent 0.300 SBD to @null- "@madhavanmalolan/introducing-dauth-a-decentralized-authentication-for-dapps"2018/05/23 11:11:00
madhavanmalolansent 0.300 SBD to @null- "@madhavanmalolan/introducing-dauth-a-decentralized-authentication-for-dapps"
2018/05/23 11:11:00
| amount | 0.300 SBD |
| from | madhavanmalolan |
| memo | @madhavanmalolan/introducing-dauth-a-decentralized-authentication-for-dapps |
| to | null |
| Transaction Info | Block #22680476/Trx b8b1e3820959eab71dcabccfc3161f8321577b77 |
View Raw JSON Data
{
"block": 22680476,
"op": [
"transfer",
{
"amount": "0.300 SBD",
"from": "madhavanmalolan",
"memo": "@madhavanmalolan/introducing-dauth-a-decentralized-authentication-for-dapps",
"to": "null"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T11:11:00",
"trx_id": "b8b1e3820959eab71dcabccfc3161f8321577b77",
"trx_in_block": 64,
"virtual_op": 0
}blocktradessent 1.048 SBD to @madhavanmalolan2018/05/23 11:10:06
blocktradessent 1.048 SBD to @madhavanmalolan
2018/05/23 11:10:06
| amount | 1.048 SBD |
| from | blocktrades |
| memo | |
| to | madhavanmalolan |
| Transaction Info | Block #22680458/Trx 4838bfafb057cf4148470cb3b62d9836f4693e4c |
View Raw JSON Data
{
"block": 22680458,
"op": [
"transfer",
{
"amount": "1.048 SBD",
"from": "blocktrades",
"memo": "",
"to": "madhavanmalolan"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T11:10:06",
"trx_id": "4838bfafb057cf4148470cb3b62d9836f4693e4c",
"trx_in_block": 13,
"virtual_op": 0
}blocktradessent 0.309 SBD to @madhavanmalolan2018/05/23 11:05:24
blocktradessent 0.309 SBD to @madhavanmalolan
2018/05/23 11:05:24
| amount | 0.309 SBD |
| from | blocktrades |
| memo | |
| to | madhavanmalolan |
| Transaction Info | Block #22680364/Trx a95bc95dd48e7a0c7d0cc42d9fbcca8d787492f8 |
View Raw JSON Data
{
"block": 22680364,
"op": [
"transfer",
{
"amount": "0.309 SBD",
"from": "blocktrades",
"memo": "",
"to": "madhavanmalolan"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T11:05:24",
"trx_id": "a95bc95dd48e7a0c7d0cc42d9fbcca8d787492f8",
"trx_in_block": 1,
"virtual_op": 0
}2018/05/23 10:17:48
2018/05/23 10:17:48
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| voter | originalworks |
| weight | 200 (2.00%) |
| Transaction Info | Block #22679414/Trx 90fe3de741f9ce05bd5eab23c287290a672f7685 |
View Raw JSON Data
{
"block": 22679414,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"voter": "originalworks",
"weight": 200
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T10:17:48",
"trx_id": "90fe3de741f9ce05bd5eab23c287290a672f7685",
"trx_in_block": 20,
"virtual_op": 0
}madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-for-dapps2018/05/23 10:13:24
madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/23 10:13:24
| author | madhavanmalolan |
| body | @@ -1250,15 +1250,8 @@ is : -slight_ smil |
| json metadata | {"tags":["ethereum","smart-contract","cryptocurrency","bitcoin","crypto"],"links":["https://github.com/madhavanmalolan/dauth","https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf","https://dauth.co"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | ethereum |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| title | Introducing DAuth - A decentralized authentication for DApps |
| Transaction Info | Block #22679326/Trx 43d800dec9df3b1cf94ece689cc0113e2c285402 |
View Raw JSON Data
{
"block": 22679326,
"op": [
"comment",
{
"author": "madhavanmalolan",
"body": "@@ -1250,15 +1250,8 @@\n is :\n-slight_\n smil\n",
"json_metadata": "{\"tags\":[\"ethereum\",\"smart-contract\",\"cryptocurrency\",\"bitcoin\",\"crypto\"],\"links\":[\"https://github.com/madhavanmalolan/dauth\",\"https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf\",\"https://dauth.co\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "ethereum",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"title": "Introducing DAuth - A decentralized authentication for DApps"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T10:13:24",
"trx_id": "43d800dec9df3b1cf94ece689cc0113e2c285402",
"trx_in_block": 16,
"virtual_op": 0
}madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-for-dapps2018/05/23 09:41:57
madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-for-dapps
2018/05/23 09:41:57
| author | madhavanmalolan |
| body | # Introduction DAuth is a replacement to OAuth based authentication systems like "Login with Facebook", "Sign in with Google". # Motivation I was building a DApp, and realized there is no way for the user to deterministically say which ethereum address she owns without using MetaMask or other Web3 providers and are instantaneous. Let us take the example of CryptoKitties. Though making any transaction like selling/buying should need MetaMask - just viewing my kitties should be possible on any device that may or may not have Web3, using a simple username password. # Solution I created a simple protocol describing the exchange of messages, in a way similar to OAuth. This uses an authentication server that can be self hosted by the user. The identities and the authentication flow is determined by a smart contract. All logins are instantaneous and free of transaction costs. # More information ## GitHub [https://github.com/madhavanmalolan/dauth](https://github.com/madhavanmalolan/dauth) ## Whitepaper [dauth.pdf](https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf) # Demo [https://dauth.co](https://dauth.co) # Disclaimer I am relatively new to designing decentralized systems, I would love to hear your feedback on this :slight_smile: Looking forward to help the community. |
| json metadata | {"tags":["ethereum","smart-contract","cryptocurrency","bitcoin","crypto"],"links":["https://github.com/madhavanmalolan/dauth","https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf","https://dauth.co"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | ethereum |
| permlink | introducing-dauth-a-decentralized-authentication-for-dapps |
| title | Introducing DAuth - A decentralized authentication for DApps |
| Transaction Info | Block #22678698/Trx 9f8cc5e123c3779d79291cc46633dac3ad35e27f |
View Raw JSON Data
{
"block": 22678698,
"op": [
"comment",
{
"author": "madhavanmalolan",
"body": "# Introduction\nDAuth is a replacement to OAuth based authentication systems like \"Login with Facebook\", \"Sign in with Google\".\n\n# Motivation\nI was building a DApp, and realized there is no way for the user to deterministically say which ethereum address she owns without using MetaMask or other Web3 providers and are instantaneous.\n\nLet us take the example of CryptoKitties. Though making any transaction like selling/buying should need MetaMask - just viewing my kitties should be possible on any device that may or may not have Web3, using a simple username password.\n\n# Solution\nI created a simple protocol describing the exchange of messages, in a way similar to OAuth. This uses an authentication server that can be self hosted by the user. The identities and the authentication flow is determined by a smart contract.\n\nAll logins are instantaneous and free of transaction costs.\n\n# More information\n## GitHub\n[https://github.com/madhavanmalolan/dauth](https://github.com/madhavanmalolan/dauth)\n\n## Whitepaper \n[dauth.pdf](https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf)\n\n# Demo \n[https://dauth.co](https://dauth.co)\n\n# Disclaimer\nI am relatively new to designing decentralized systems, I would love to hear your feedback on this :slight_smile:\n\nLooking forward to help the community.",
"json_metadata": "{\"tags\":[\"ethereum\",\"smart-contract\",\"cryptocurrency\",\"bitcoin\",\"crypto\"],\"links\":[\"https://github.com/madhavanmalolan/dauth\",\"https://github.com/madhavanmalolan/dauth/blob/master/dauth.pdf\",\"https://dauth.co\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "ethereum",
"permlink": "introducing-dauth-a-decentralized-authentication-for-dapps",
"title": "Introducing DAuth - A decentralized authentication for DApps"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-23T09:41:57",
"trx_id": "9f8cc5e123c3779d79291cc46633dac3ad35e27f",
"trx_in_block": 49,
"virtual_op": 0
}2018/05/14 18:13:24
2018/05/14 18:13:24
| author | steemitboard |
| body | Congratulations @madhavanmalolan! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [](http://steemitboard.com/@madhavanmalolan) You published your First Post [](http://steemitboard.com/@madhavanmalolan) You got a First Vote Click on any badge to view your own Board of Honor on SteemitBoard. For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` > Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)! |
| json metadata | {"image":["https://steemitboard.com/img/notifications.png"]} |
| parent author | madhavanmalolan |
| parent permlink | 6swexy-introducing-dauth-a-decentralized-authentication-mechanism |
| permlink | steemitboard-notify-madhavanmalolan-20180514t181326000z |
| title | |
| Transaction Info | Block #22429778/Trx 1a6ae98c511636d0c6b7a95d63421e5fd4aceb57 |
View Raw JSON Data
{
"block": 22429778,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @madhavanmalolan! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[](http://steemitboard.com/@madhavanmalolan) You published your First Post\n[](http://steemitboard.com/@madhavanmalolan) You got a First Vote\n\nClick on any badge to view your own Board of Honor on SteemitBoard.\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n> Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notifications.png\"]}",
"parent_author": "madhavanmalolan",
"parent_permlink": "6swexy-introducing-dauth-a-decentralized-authentication-mechanism",
"permlink": "steemitboard-notify-madhavanmalolan-20180514t181326000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-05-14T18:13:24",
"trx_id": "1a6ae98c511636d0c6b7a95d63421e5fd4aceb57",
"trx_in_block": 52,
"virtual_op": 0
}madhavanmalolanpublished a new post: 6swexy-introducing-dauth-a-decentralized-authentication-mechanism2018/05/14 03:08:00
madhavanmalolanpublished a new post: 6swexy-introducing-dauth-a-decentralized-authentication-mechanism
2018/05/14 03:08:00
| author | madhavanmalolan |
| body | This is a non technical overview. For a technical overview [visit this page](https://steemit.com/ethereum/@madhavanmalolan/introducing-dauth-a-decentralized-authentication-mechanism). We have for long been aware of social plugins that allow us to login on various websites. However, I can’t login from a different computer into CryptoKitties. The only way to access my kitties is if i am at my primary laptop. This felt like a major step back. I decided to fix it. # There is no way to authenticate on Ethereum ## No decentralized solution OAuth that Facebook, Google and Twitter use for their service login use OAuth and are highly centralized. This is a major let down for any service that aims to be truely de-centralized. ## No way to authenticate claims As of today there is no good way to map a user to his or her Ethereum address. ## No human readable identifiers The only way to identify some entity on Ethereum is using the address, which is hard to remember and not human friendly at all. ## No way to decouple identity from payment Most authentication procedures i have seen on this use the public-private keys associated with the Ethereum address. So, if the keys are compromised — so are the Ethers. ## No way to authenticate remotely To login using a Ethereum account you usually need to have MetaMask installed on your browser and this browser is the only place where you can use the login. You cannot login from your iPad. ## No way to authenticate without paying Many solutions expect you to make a transaction and pay the transaction fees associated with it to merely login. ## Non trivial to integrate Using existing login mechanisms on Ethereum expect you to setup an Ethereum Node and use Web3 to authenticate. # Welcome DAuth ## DAuth is decentralized Building on the simplicity of OAuth, DAuth is a simple authentication protocol that doesn’t rely on a central authority. Anyone can setup their own DAuth servers ## DAuth verifies address claims DAuth provides a way for users to claim that they own a certain Ethereum address. ## DAuth addresses are human readable DAuth uses usernames instead of addresses. This makes it easy to remember identities. ## DAuth is decoupled from payments DAuth’s keys used for authentication are different from the ones used for Ethereum transaction signatures. This makes sure that the Ethers are never compromised ## DAuth is in the cloud Once registered, you can login using DAuth from any device anywhere in the world ## DAuth is free Users don’t have to make any payment to access the service. ## DAuth is trivial to integrate DAuth integration is very similar to an OAuth integration, no new technologies involved! ## DAuth is open sourced! Check out the [Github Repo](https://github.com/madhavanmalolan/dauth) # Demo [dauth.co](https://dauth.co) I look forward to your comments. |
| json metadata | {"tags":["ethereum","blockchain","authentication","web","login"],"links":["https://steemit.com/ethereum/@madhavanmalolan/introducing-dauth-a-decentralized-authentication-mechanism","https://github.com/madhavanmalolan/dauth","https://dauth.co"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | ethereum |
| permlink | 6swexy-introducing-dauth-a-decentralized-authentication-mechanism |
| title | Introducing DAuth - A decentralized authentication mechanism |
| Transaction Info | Block #22411671/Trx 3b5fe3690c08985b0f5302c8904640cd116355b4 |
View Raw JSON Data
{
"block": 22411671,
"op": [
"comment",
{
"author": "madhavanmalolan",
"body": "This is a non technical overview. \nFor a technical overview [visit this page](https://steemit.com/ethereum/@madhavanmalolan/introducing-dauth-a-decentralized-authentication-mechanism).\n\nWe have for long been aware of social plugins that allow us to login on various websites. \n\nHowever, I can’t login from a different computer into CryptoKitties. The only way to access my kitties is if i am at my primary laptop.\n\nThis felt like a major step back. I decided to fix it.\n\n# There is no way to authenticate on Ethereum\n## No decentralized solution\n\nOAuth that Facebook, Google and Twitter use for their service login use OAuth and are highly centralized. This is a major let down for any service that aims to be truely de-centralized.\n## No way to authenticate claims\n\nAs of today there is no good way to map a user to his or her Ethereum address.\n\n## No human readable identifiers\n\nThe only way to identify some entity on Ethereum is using the address, which is hard to remember and not human friendly at all.\n\n## No way to decouple identity from payment\n\nMost authentication procedures i have seen on this use the public-private keys associated with the Ethereum address. So, if the keys are compromised — so are the Ethers.\n\n## No way to authenticate remotely\n\nTo login using a Ethereum account you usually need to have MetaMask installed on your browser and this browser is the only place where you can use the login. You cannot login from your iPad.\n\n## No way to authenticate without paying\n\nMany solutions expect you to make a transaction and pay the transaction fees associated with it to merely login.\n\n## Non trivial to integrate\n\nUsing existing login mechanisms on Ethereum expect you to setup an Ethereum Node and use Web3 to authenticate.\n\n# Welcome DAuth\n## DAuth is decentralized\n\nBuilding on the simplicity of OAuth, DAuth is a simple authentication protocol that doesn’t rely on a central authority. Anyone can setup their own DAuth servers\n\n## DAuth verifies address claims\n\nDAuth provides a way for users to claim that they own a certain Ethereum address.\n\n## DAuth addresses are human readable\n\nDAuth uses usernames instead of addresses. This makes it easy to remember identities.\n\n## DAuth is decoupled from payments\n\nDAuth’s keys used for authentication are different from the ones used for Ethereum transaction signatures. This makes sure that the Ethers are never compromised\n\n## DAuth is in the cloud\n\nOnce registered, you can login using DAuth from any device anywhere in the world\n\n## DAuth is free\n\nUsers don’t have to make any payment to access the service.\n\n## DAuth is trivial to integrate\n\nDAuth integration is very similar to an OAuth integration, no new technologies involved!\n\n## DAuth is open sourced!\n\nCheck out the [Github Repo](https://github.com/madhavanmalolan/dauth)\n\n# Demo\n[dauth.co](https://dauth.co)\n\nI look forward to your comments.",
"json_metadata": "{\"tags\":[\"ethereum\",\"blockchain\",\"authentication\",\"web\",\"login\"],\"links\":[\"https://steemit.com/ethereum/@madhavanmalolan/introducing-dauth-a-decentralized-authentication-mechanism\",\"https://github.com/madhavanmalolan/dauth\",\"https://dauth.co\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "ethereum",
"permlink": "6swexy-introducing-dauth-a-decentralized-authentication-mechanism",
"title": "Introducing DAuth - A decentralized authentication mechanism"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-14T03:08:00",
"trx_id": "3b5fe3690c08985b0f5302c8904640cd116355b4",
"trx_in_block": 37,
"virtual_op": 0
}2018/05/14 03:07:30
2018/05/14 03:07:30
| author | emergedinsteem |
| body | @therealwolf 's created platform smartsteem scammed my post this morning (mothersday) that was supposed to be for an Abused Childrens Charity. Dude literally stole from abused children that don't have mothers ... on mothersday. https://steemit.com/steemit/@prometheusrisen/beware-of-smartsteem-scam |
| json metadata | {} |
| parent author | madhavanmalolan |
| parent permlink | introducing-dauth-a-decentralized-authentication-mechanism |
| permlink | re-madhavanmalolan-introducing-dauth-a-decentralized-authentication-mechanism-20180514t030730121z |
| title | fossbot voter comment |
| Transaction Info | Block #22411661/Trx 5ff9f7b48c9871a3619512a5239d25691e5d5ff0 |
View Raw JSON Data
{
"block": 22411661,
"op": [
"comment",
{
"author": "emergedinsteem",
"body": "@therealwolf 's created platform smartsteem scammed my post this morning (mothersday) that was supposed to be for an Abused Childrens Charity. Dude literally stole from abused children that don't have mothers ... on mothersday. \r\n\r\nhttps://steemit.com/steemit/@prometheusrisen/beware-of-smartsteem-scam",
"json_metadata": "{}",
"parent_author": "madhavanmalolan",
"parent_permlink": "introducing-dauth-a-decentralized-authentication-mechanism",
"permlink": "re-madhavanmalolan-introducing-dauth-a-decentralized-authentication-mechanism-20180514t030730121z",
"title": "fossbot voter comment"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-14T03:07:30",
"trx_id": "5ff9f7b48c9871a3619512a5239d25691e5d5ff0",
"trx_in_block": 20,
"virtual_op": 0
}steemdelegated 18.646 SP to @madhavanmalolan2018/05/14 03:07:21
steemdelegated 18.646 SP to @madhavanmalolan
2018/05/14 03:07:21
| delegatee | madhavanmalolan |
| delegator | steem |
| vesting shares | 30323.394531 VESTS |
| Transaction Info | Block #22411658/Trx 52209b2e4e64750c4360ca1d144ee95497320d38 |
View Raw JSON Data
{
"block": 22411658,
"op": [
"delegate_vesting_shares",
{
"delegatee": "madhavanmalolan",
"delegator": "steem",
"vesting_shares": "30323.394531 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-14T03:07:21",
"trx_id": "52209b2e4e64750c4360ca1d144ee95497320d38",
"trx_in_block": 3,
"virtual_op": 0
}2018/05/14 03:02:18
2018/05/14 03:02:18
| author | introduce.bot |
| body | ✅ @madhavanmalolan, congratulations on making your first post! **I gave you an upvote!**<br><br>**Please give me a follow** and take a moment to read [this post](https://steemit.com/spam/@pleasestop/introducing-pleasestop-here-to-reduce-comment-spam) regarding commenting and spam.<br>(tl;dr - if you spam, you will be flagged!) |
| json metadata | |
| parent author | madhavanmalolan |
| parent permlink | introducing-dauth-a-decentralized-authentication-mechanism |
| permlink | introduce-bot-re-madhavanmalolanintroducing-dauth-a-decentralized-authentication-mechanism |
| title | |
| Transaction Info | Block #22411557/Trx d389cb5ed9caf9951b3f9956d4937f24d3634b64 |
View Raw JSON Data
{
"block": 22411557,
"op": [
"comment",
{
"author": "introduce.bot",
"body": "✅ @madhavanmalolan, congratulations on making your first post! **I gave you an upvote!**<br><br>**Please give me a follow** and take a moment to read [this post](https://steemit.com/spam/@pleasestop/introducing-pleasestop-here-to-reduce-comment-spam) regarding commenting and spam.<br>(tl;dr - if you spam, you will be flagged!)",
"json_metadata": "",
"parent_author": "madhavanmalolan",
"parent_permlink": "introducing-dauth-a-decentralized-authentication-mechanism",
"permlink": "introduce-bot-re-madhavanmalolanintroducing-dauth-a-decentralized-authentication-mechanism",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-05-14T03:02:18",
"trx_id": "d389cb5ed9caf9951b3f9956d4937f24d3634b64",
"trx_in_block": 27,
"virtual_op": 0
}2018/05/14 03:02:03
2018/05/14 03:02:03
| author | madhavanmalolan |
| permlink | introducing-dauth-a-decentralized-authentication-mechanism |
| voter | introduce.bot |
| weight | 69 (0.69%) |
| Transaction Info | Block #22411552/Trx eb998399051c6f6677487f5364008807e75b2d6e |
View Raw JSON Data
{
"block": 22411552,
"op": [
"vote",
{
"author": "madhavanmalolan",
"permlink": "introducing-dauth-a-decentralized-authentication-mechanism",
"voter": "introduce.bot",
"weight": 69
}
],
"op_in_trx": 0,
"timestamp": "2018-05-14T03:02:03",
"trx_id": "eb998399051c6f6677487f5364008807e75b2d6e",
"trx_in_block": 10,
"virtual_op": 0
}madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-mechanism2018/05/14 03:01:51
madhavanmalolanpublished a new post: introducing-dauth-a-decentralized-authentication-mechanism
2018/05/14 03:01:51
| author | madhavanmalolan |
| body | # Tech Overview : A decentralized authentication mechanism for Ethereum DAuth is to Ethereum what OAuth is to the web. Here, I describe briefly the architecture of how DAuth works. # Participants ## User The person who wants to login using credentials on the Dauth System. ## Client A service that wishes to authenticate a user using the Dauth System. ## Dauth Provider A server that will authenticate a user’s claim of credentials and pass on the verification to the client. This server may be hosted by the user or may use a server setup by a person or an organization she trusts. A Dauth provider exposes 2 endpoints — login page, verification REST API. # Flow of control ## User registration The authentication is controlled by a smart contract. To register on DAuth, a user should bind her ethereum address with the following parameters, all stored on the blockchain : - **Username** : All usernames on the Dauth system are unique, thereby removing the need to remember complicated keys. - **Public Key** : Each Dauth user has a public-private key pair that will be used for authentication. This key is independent of the keys used to sign transactions. This keeps the Ethers decoupled with authentication. - **DAuth Provider address** : Every user may choose a DAuth Provider. This may be self hosted or on a server providing Dauth as a service. This Provider is responsible for maintaining the Private key associated with the above mentioned Public Key. - **Verifiers** : A list of Dauth accounts that have verified this address. Eg. “An email address has been verified by Google”, “A phone number has been verified by True Caller” — This allows clients to use Dauth for services that needs a unique login (fighting sybil). The verifiers can add a new entry to the list of verifiers for any user, and mentioning the type of verification (“email”, “phone”, “facebook”) ## Registration with a Dauth Provider The user must provide the following to the Dauth Provider - **Password** : The user must provide a password that must be used by the Dauth Provider to validate that the authentication claims are indeed arising from the user claimed by the client. - **Private Key** : This is the private key associated with the public key stored on the blockchain associated with the users’ address. ## Authentication - **Presenting login page 1**. The client must redirect the user to a page that accepts the user’s username and redirects the user to the login page on the DAuth Provider. The Dauth provider address must be fetched from the blockchain. It must pass a redirect url to the login page 2. - **Presenting login page 2**. This is the login page on the Dauth Provider. The user must verify that she has been redirected to the correct Dauth Provider (by validating the URL or any other identification like UI or display text), and enter the password. Once the password has been entered, two strings are generated. - **Code** : A random string - **CodeHash** : SHA256(Code, Password) The Code and the CodeHash are passed to redirectURL, which is the endpoint exposed by the client. - **Redirect URL verification** : The client receives the Code and CodeHash on the Redirection URL endpoint as a POST request. This endpoint must pass the following parameters on a POST request to the Dauth Provider’s second endpoint — verification api : - **Code** : The code that this endpoint received from the login page 2 - **CodeHash** : The code hash this endpoint received from the login page 2 - **MessageCipher** : A random string encrypted using the user’s public key. - **Username** : username received from the login page 2 Verification API. The verification api verifies that the CodeHash = SHA256(Code, Password) of the user identified by the username. If true, it decrypts the MessageCipher using the registered private key and sends that back as a response. Final authentication. The client receives the decrypted message as a response to the call to verification api. It may then verify that the random string that was encrypted using the public key is the same as the string that it received in response. If true, it may proceed with a successful authentication for the user. # Demo Try it out at [https://dauth.co](https://dauth.co) # Source Code You may check out the smart contract, Dauth Provider and Client code on [github](https://github.com/madhavanmalolan/dauth). |
| json metadata | {"tags":["ethereum","blockchain","authentication","login","web"],"links":["https://dauth.co","https://github.com/madhavanmalolan/dauth"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | ethereum |
| permlink | introducing-dauth-a-decentralized-authentication-mechanism |
| title | Introducing DAuth - A decentralized authentication mechanism |
| Transaction Info | Block #22411548/Trx d57930ba0bac99a39e774ea3a610ddda2de2b0f1 |
View Raw JSON Data
{
"block": 22411548,
"op": [
"comment",
{
"author": "madhavanmalolan",
"body": "# Tech Overview : A decentralized authentication mechanism for Ethereum\n\nDAuth is to Ethereum what OAuth is to the web.\n\nHere, I describe briefly the architecture of how DAuth works.\n# Participants\n## User\n\nThe person who wants to login using credentials on the Dauth System.\n## Client\n\nA service that wishes to authenticate a user using the Dauth System.\n## Dauth Provider\n\nA server that will authenticate a user’s claim of credentials and pass on the verification to the client. This server may be hosted by the user or may use a server setup by a person or an organization she trusts. A Dauth provider exposes 2 endpoints — login page, verification REST API.\n\n# Flow of control\n## User registration\n\nThe authentication is controlled by a smart contract. To register on DAuth, a user should bind her ethereum address with the following parameters, all stored on the blockchain :\n- **Username** : All usernames on the Dauth system are unique, thereby removing the need to remember complicated keys.\n- **Public Key** : Each Dauth user has a public-private key pair that will be used for authentication. This key is independent of the keys used to sign transactions. This keeps the Ethers decoupled with authentication.\n- **DAuth Provider address** : Every user may choose a DAuth Provider. This may be self hosted or on a server providing Dauth as a service. This Provider is responsible for maintaining the Private key associated with the above mentioned Public Key.\n- **Verifiers** : A list of Dauth accounts that have verified this address. Eg. “An email address has been verified by Google”, “A phone number has been verified by True Caller” — This allows clients to use Dauth for services that needs a unique login (fighting sybil). The verifiers can add a new entry to the list of verifiers for any user, and mentioning the type of verification (“email”, “phone”, “facebook”)\n\n## Registration with a Dauth Provider\n\nThe user must provide the following to the Dauth Provider\n\n- **Password** : The user must provide a password that must be used by the Dauth Provider to validate that the authentication claims are indeed arising from the user claimed by the client.\n- **Private Key** : This is the private key associated with the public key stored on the blockchain associated with the users’ address.\n\n## Authentication\n\n- **Presenting login page 1**. The client must redirect the user to a page that accepts the user’s username and redirects the user to the login page on the DAuth Provider. The Dauth provider address must be fetched from the blockchain. It must pass a redirect url to the login page 2.\n- **Presenting login page 2**. This is the login page on the Dauth Provider. The user must verify that she has been redirected to the correct Dauth Provider (by validating the URL or any other identification like UI or display text), and enter the password. Once the password has been entered, two strings are generated. \n - **Code** : A random string\n - **CodeHash** : SHA256(Code, Password)\n The Code and the CodeHash are passed to redirectURL, which is the endpoint exposed by the client.\n - **Redirect URL verification** : The client receives the Code and CodeHash on the Redirection URL endpoint as a POST request. This endpoint must pass the following parameters on a POST request to the Dauth Provider’s second endpoint — verification api :\n - **Code** : The code that this endpoint received from the login page 2\n - **CodeHash** : The code hash this endpoint received from the login page 2\n - **MessageCipher** : A random string encrypted using the user’s public key.\n - **Username** : username received from the login page 2\n Verification API. The verification api verifies that the CodeHash = SHA256(Code, Password) of the user identified by the username. If true, it decrypts the MessageCipher using the registered private key and sends that back as a response.\n Final authentication. The client receives the decrypted message as a response to the call to verification api. It may then verify that the random string that was encrypted using the public key is the same as the string that it received in response. If true, it may proceed with a successful authentication for the user.\n\n# Demo\n\nTry it out at [https://dauth.co](https://dauth.co)\n\n# Source Code\n\nYou may check out the smart contract, Dauth Provider and Client code on [github](https://github.com/madhavanmalolan/dauth).",
"json_metadata": "{\"tags\":[\"ethereum\",\"blockchain\",\"authentication\",\"login\",\"web\"],\"links\":[\"https://dauth.co\",\"https://github.com/madhavanmalolan/dauth\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "ethereum",
"permlink": "introducing-dauth-a-decentralized-authentication-mechanism",
"title": "Introducing DAuth - A decentralized authentication mechanism"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-14T03:01:51",
"trx_id": "d57930ba0bac99a39e774ea3a610ddda2de2b0f1",
"trx_in_block": 37,
"virtual_op": 0
}steemcreated a new account: @madhavanmalolan2018/05/14 02:48:33
steemcreated a new account: @madhavanmalolan
2018/05/14 02:48:33
| active | {"account_auths":[],"key_auths":[["STM5wKJU3yEuSxXqgZFdz1vwruqtC6S1TMcM7fKnwnyL3LSYEH1Mo",1]],"weight_threshold":1} |
| creator | steem |
| delegation | 30690.000000 VESTS |
| extensions | [] |
| fee | 0.100 STEEM |
| json metadata | {} |
| memo key | STM55wzzh1bCJKUqn7cxh379Wg3K4fa7pXheSutQaJuUws1Q1BMP7 |
| new account name | madhavanmalolan |
| owner | {"account_auths":[],"key_auths":[["STM6h5N8xby7azdW6xSUyZQK2NenTZdXvsQKzky4yb5JMvJixrEvo",1]],"weight_threshold":1} |
| posting | {"account_auths":[],"key_auths":[["STM5DNtEJVX1kEmaf7qHJyUZoTbNV2xyTpE6eiYCWsJWX6xRQjq8D",1]],"weight_threshold":1} |
| Transaction Info | Block #22411282/Trx b230eb14e5875611fc34f11c66afbf939b10cb52 |
View Raw JSON Data
{
"block": 22411282,
"op": [
"account_create_with_delegation",
{
"active": {
"account_auths": [],
"key_auths": [
[
"STM5wKJU3yEuSxXqgZFdz1vwruqtC6S1TMcM7fKnwnyL3LSYEH1Mo",
1
]
],
"weight_threshold": 1
},
"creator": "steem",
"delegation": "30690.000000 VESTS",
"extensions": [],
"fee": "0.100 STEEM",
"json_metadata": "{}",
"memo_key": "STM55wzzh1bCJKUqn7cxh379Wg3K4fa7pXheSutQaJuUws1Q1BMP7",
"new_account_name": "madhavanmalolan",
"owner": {
"account_auths": [],
"key_auths": [
[
"STM6h5N8xby7azdW6xSUyZQK2NenTZdXvsQKzky4yb5JMvJixrEvo",
1
]
],
"weight_threshold": 1
},
"posting": {
"account_auths": [],
"key_auths": [
[
"STM5DNtEJVX1kEmaf7qHJyUZoTbNV2xyTpE6eiYCWsJWX6xRQjq8D",
1
]
],
"weight_threshold": 1
}
}
],
"op_in_trx": 0,
"timestamp": "2018-05-14T02:48:33",
"trx_id": "b230eb14e5875611fc34f11c66afbf939b10cb52",
"trx_in_block": 23,
"virtual_op": 0
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress47.79%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779074067
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779074067
},
"rc_account": {
"account": "madhavanmalolan",
"max_rc": "10164408779",
"max_rc_creation_adjustment": {
"amount": "2020748973",
"nai": "@@000000037",
"precision": 6
},
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779074067
}
}
}Account Metadata
| POSTING JSON METADATA | |
| None | |
| JSON METADATA | |
| None |
{
"posting_json_metadata": {},
"json_metadata": {}
}Auth Keys
Owner
Single Signature
Public Keys
STM6h5N8xby7azdW6xSUyZQK2NenTZdXvsQKzky4yb5JMvJixrEvo1/1
Active
Single Signature
Public Keys
STM5wKJU3yEuSxXqgZFdz1vwruqtC6S1TMcM7fKnwnyL3LSYEH1Mo1/1
Posting
Single Signature
Public Keys
STM5DNtEJVX1kEmaf7qHJyUZoTbNV2xyTpE6eiYCWsJWX6xRQjq8D1/1
Memo
STM55wzzh1bCJKUqn7cxh379Wg3K4fa7pXheSutQaJuUws1Q1BMP7
{
"owner": {
"account_auths": [],
"key_auths": [
[
"STM6h5N8xby7azdW6xSUyZQK2NenTZdXvsQKzky4yb5JMvJixrEvo",
1
]
],
"weight_threshold": 1
},
"active": {
"account_auths": [],
"key_auths": [
[
"STM5wKJU3yEuSxXqgZFdz1vwruqtC6S1TMcM7fKnwnyL3LSYEH1Mo",
1
]
],
"weight_threshold": 1
},
"posting": {
"account_auths": [],
"key_auths": [
[
"STM5DNtEJVX1kEmaf7qHJyUZoTbNV2xyTpE6eiYCWsJWX6xRQjq8D",
1
]
],
"weight_threshold": 1
},
"memo": "STM55wzzh1bCJKUqn7cxh379Wg3K4fa7pXheSutQaJuUws1Q1BMP7"
}Witness Votes
0 / 30
No active witness votes.
[]