@rtrade
41Steemit page for RTrade Technologies LTD. Specialists in Blockchain Infrastructure
steemit.com/@rtradeVOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS80.32%
Net Worth
0.365USD
STEEM
0.000STEEM
SBD
0.005SBD
Own SP
6.702SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 6.702SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 0.000SP | SP |
| Effective Power | 6.702SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.005SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "10913.017448 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 VESTS",
"sbd_balance": "0.005 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | rtrade |
| id | 1004618 |
| rank | 182,950 |
| reputation | 57004845007 |
| created | 2018-05-23T23:19:36 |
| recovery_account | steem |
| proxy | None |
| post_count | 43 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2019-05-11T05:55:12 |
| last_root_post | 2019-05-11T05:55:12 |
| last_vote_time | 2019-05-11T05:55:30 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 10,000 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.005 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 10913.017448 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 0.000000 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 65707049110 |
| to_withdraw | 65707049110 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 2018-06-22T06:29:21 |
| last_account_update | 2018-07-19T15:17:51 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 2018-12-06T23:13:39 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 1004618,
"name": "rtrade",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7FjLoFn2ZCFr8Xh7t6hTsYGyGHe7C7dyegFz7ByTuGcHpfZXiH",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6wzdmt6xJ6SQh87k7FHm8z8jXnx1Hx4msAA2qiQpaMmHAeiXM7",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6zrckzoNfRuT31Z74BHFDKoJxnck8o2E4ADEutTRn3GDMwrYeW",
1
]
]
},
"memo_key": "STM7buGbJducfuRaRqK9MHDsJHrdBT7eHrsjoWYLPFzMmbQEvpfdy",
"json_metadata": "{\"profile\":{\"location\":\"Canada\",\"website\":\"http://www.rtradetechnologies.com\",\"about\":\"Steemit page for RTrade Technologies LTD. Specialists in Blockchain Infrastructure\",\"name\":\"RTrade Technologies\",\"profile_image\":\"https://cdn.steemitimages.com/DQmS3zhzYVoAcpMWWALxHmxULS9krj2uPXYorCqr9dvf6Ep/about-us_R-logo%20Circle.png\",\"cover_image\":\"https://cdn.steemitimages.com/DQmcrrfZzmzKWjtN2JagXTsvCqd9wyF6igBquUEvmPTVqFa/Twitter%20Header.png\"}}",
"posting_json_metadata": "{\"profile\":{\"location\":\"Canada\",\"website\":\"http://www.rtradetechnologies.com\",\"about\":\"Steemit page for RTrade Technologies LTD. Specialists in Blockchain Infrastructure\",\"name\":\"RTrade Technologies\",\"profile_image\":\"https://cdn.steemitimages.com/DQmS3zhzYVoAcpMWWALxHmxULS9krj2uPXYorCqr9dvf6Ep/about-us_R-logo%20Circle.png\",\"cover_image\":\"https://cdn.steemitimages.com/DQmcrrfZzmzKWjtN2JagXTsvCqd9wyF6igBquUEvmPTVqFa/Twitter%20Header.png\"}}",
"proxy": "",
"last_owner_update": "2018-06-22T06:29:21",
"last_account_update": "2018-07-19T15:17:51",
"created": "2018-05-23T23:19:36",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 43,
"can_vote": true,
"voting_manabar": {
"current_mana": "954278682119",
"last_update_time": 1557554130
},
"downvote_manabar": {
"current_mana": 0,
"last_update_time": 1527117576
},
"voting_power": 10000,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.005 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "2018-12-06T23:13:39",
"sbd_last_interest_payment": "2018-12-06T23:13:39",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "10913.017448 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": "65707049110",
"to_withdraw": "65707049110",
"withdraw_routes": 0,
"curation_rewards": 167,
"posting_rewards": 4282,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2019-05-11T05:55:12",
"last_root_post": "2019-05-11T05:55:12",
"last_vote_time": "2019-05-11T05:55:30",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": "57004845007",
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 182950
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
rtradesent 33.994 STEEM to @deepcrypto8- "100181885"2020/09/17 19:47:54
rtradesent 33.994 STEEM to @deepcrypto8- "100181885"
2020/09/17 19:47:54
| from | rtrade |
| to | deepcrypto8 |
| amount | 33.994 STEEM |
| memo | 100181885 |
| Transaction Info | Block #46956602/Trx 27b9193ef1d54832800fa29a91282a39759cba61 |
View Raw JSON Data
{
"trx_id": "27b9193ef1d54832800fa29a91282a39759cba61",
"block": 46956602,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-09-17T19:47:54",
"op": [
"transfer",
{
"from": "rtrade",
"to": "deepcrypto8",
"amount": "33.994 STEEM",
"memo": "100181885"
}
]
}rtradereceived 8.509 STEEM from power down installment (10.088 SP)2020/09/17 02:08:48
rtradereceived 8.509 STEEM from power down installment (10.088 SP)
2020/09/17 02:08:48
| from account | rtrade |
| to account | rtrade |
| withdrawn | 16426.762276 VESTS |
| deposited | 8.509 STEEM |
| Transaction Info | Block #46935674/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 46935674,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-09-17T02:08:48",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "16426.762276 VESTS",
"deposited": "8.509 STEEM"
}
]
}rtradereceived 8.502 STEEM from power down installment (10.088 SP)2020/09/10 02:08:48
rtradereceived 8.502 STEEM from power down installment (10.088 SP)
2020/09/10 02:08:48
| from account | rtrade |
| to account | rtrade |
| withdrawn | 16426.762278 VESTS |
| deposited | 8.502 STEEM |
| Transaction Info | Block #46736517/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 46736517,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-09-10T02:08:48",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "16426.762278 VESTS",
"deposited": "8.502 STEEM"
}
]
}rtradereceived 8.495 STEEM from power down installment (10.088 SP)2020/09/03 02:08:48
rtradereceived 8.495 STEEM from power down installment (10.088 SP)
2020/09/03 02:08:48
| from account | rtrade |
| to account | rtrade |
| withdrawn | 16426.762278 VESTS |
| deposited | 8.495 STEEM |
| Transaction Info | Block #46537384/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 46537384,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-09-03T02:08:48",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "16426.762278 VESTS",
"deposited": "8.495 STEEM"
}
]
}rtradereceived 8.488 STEEM from power down installment (10.088 SP)2020/08/27 02:08:48
rtradereceived 8.488 STEEM from power down installment (10.088 SP)
2020/08/27 02:08:48
| from account | rtrade |
| to account | rtrade |
| withdrawn | 16426.762278 VESTS |
| deposited | 8.488 STEEM |
| Transaction Info | Block #46338199/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 46338199,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-08-27T02:08:48",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "16426.762278 VESTS",
"deposited": "8.488 STEEM"
}
]
}rtradestarted power down of 40.350 SP2020/08/20 02:08:48
rtradestarted power down of 40.350 SP
2020/08/20 02:08:48
| account | rtrade |
| vesting shares | 65707.049110 VESTS |
| Transaction Info | Block #46139281/Trx 9adca65b588690f8f1adfef4645d60c7b782817b |
View Raw JSON Data
{
"trx_id": "9adca65b588690f8f1adfef4645d60c7b782817b",
"block": 46139281,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-08-20T02:08:48",
"op": [
"withdraw_vesting",
{
"account": "rtrade",
"vesting_shares": "65707.049110 VESTS"
}
]
}rtradesent 106.265 STEEM to @deepcrypto8- "100181885"2020/07/28 00:25:48
rtradesent 106.265 STEEM to @deepcrypto8- "100181885"
2020/07/28 00:25:48
| from | rtrade |
| to | deepcrypto8 |
| amount | 106.265 STEEM |
| memo | 100181885 |
| Transaction Info | Block #45483193/Trx c1148056c62c36e94ba7a9984bac13e785c84a8b |
View Raw JSON Data
{
"trx_id": "c1148056c62c36e94ba7a9984bac13e785c84a8b",
"block": 45483193,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-07-28T00:25:48",
"op": [
"transfer",
{
"from": "rtrade",
"to": "deepcrypto8",
"amount": "106.265 STEEM",
"memo": "100181885"
}
]
}rtradereceived 35.442 STEEM from power down installment (42.379 SP)2020/06/20 02:23:33
rtradereceived 35.442 STEEM from power down installment (42.379 SP)
2020/06/20 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283895 VESTS |
| deposited | 35.442 STEEM |
| Transaction Info | Block #44401431/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 44401431,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-06-20T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283895 VESTS",
"deposited": "35.442 STEEM"
}
]
}rtradereceived 35.421 STEEM from power down installment (42.379 SP)2020/06/13 02:23:33
rtradereceived 35.421 STEEM from power down installment (42.379 SP)
2020/06/13 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.421 STEEM |
| Transaction Info | Block #44202165/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 44202165,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-06-13T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.421 STEEM"
}
]
}rtradereceived 35.401 STEEM from power down installment (42.379 SP)2020/06/06 02:23:33
rtradereceived 35.401 STEEM from power down installment (42.379 SP)
2020/06/06 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.401 STEEM |
| Transaction Info | Block #44003493/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 44003493,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-06-06T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.401 STEEM"
}
]
}exnihilo.witnesssent 0.001 STEEM to @rtrade- "By casting your witness vote on @exnihilo.witness you will passively earn and be rewarded just for voting. More information : https://steemit.com/@exnihilo.witness"2020/06/03 23:11:45
exnihilo.witnesssent 0.001 STEEM to @rtrade- "By casting your witness vote on @exnihilo.witness you will passively earn and be rewarded just for voting. More information : https://steemit.com/@exnihilo.witness"
2020/06/03 23:11:45
| from | exnihilo.witness |
| to | rtrade |
| amount | 0.001 STEEM |
| memo | By casting your witness vote on @exnihilo.witness you will passively earn and be rewarded just for voting. More information : https://steemit.com/@exnihilo.witness |
| Transaction Info | Block #43943009/Trx b7e6daf202b9246bdc717a232b7a9abb642ea0ed |
View Raw JSON Data
{
"trx_id": "b7e6daf202b9246bdc717a232b7a9abb642ea0ed",
"block": 43943009,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-06-03T23:11:45",
"op": [
"transfer",
{
"from": "exnihilo.witness",
"to": "rtrade",
"amount": "0.001 STEEM",
"memo": "By casting your witness vote on @exnihilo.witness you will passively earn and be rewarded just for voting. More information : https://steemit.com/@exnihilo.witness"
}
]
}rtradesent 106.605 STEEM to @deepcrypto8- "100181885"2020/06/03 23:10:48
rtradesent 106.605 STEEM to @deepcrypto8- "100181885"
2020/06/03 23:10:48
| from | rtrade |
| to | deepcrypto8 |
| amount | 106.605 STEEM |
| memo | 100181885 |
| Transaction Info | Block #43942990/Trx 97cfd9774d0fdb7f5b9dce41c6e29d344e36dbe4 |
View Raw JSON Data
{
"trx_id": "97cfd9774d0fdb7f5b9dce41c6e29d344e36dbe4",
"block": 43942990,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-06-03T23:10:48",
"op": [
"transfer",
{
"from": "rtrade",
"to": "deepcrypto8",
"amount": "106.605 STEEM",
"memo": "100181885"
}
]
}rtradereceived 35.381 STEEM from power down installment (42.379 SP)2020/05/30 02:23:33
rtradereceived 35.381 STEEM from power down installment (42.379 SP)
2020/05/30 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.381 STEEM |
| Transaction Info | Block #43805214/Virtual Operation #9 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 43805214,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 9,
"timestamp": "2020-05-30T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.381 STEEM"
}
]
}rtradereceived 35.363 STEEM from power down installment (42.379 SP)2020/05/23 02:23:33
rtradereceived 35.363 STEEM from power down installment (42.379 SP)
2020/05/23 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.363 STEEM |
| Transaction Info | Block #43607428/Virtual Operation #285 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 43607428,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 285,
"timestamp": "2020-05-23T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.363 STEEM"
}
]
}rtradereceived 35.346 STEEM from power down installment (42.379 SP)2020/05/16 02:23:33
rtradereceived 35.346 STEEM from power down installment (42.379 SP)
2020/05/16 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.346 STEEM |
| Transaction Info | Block #43410147/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 43410147,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-05-16T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.346 STEEM"
}
]
}rtradesent 35.000 STEEM to @silly-einstein- "55663882-b6d2-4d7f-b93b-da8ade28f296"2020/05/11 19:54:09
rtradesent 35.000 STEEM to @silly-einstein- "55663882-b6d2-4d7f-b93b-da8ade28f296"
2020/05/11 19:54:09
| from | rtrade |
| to | silly-einstein |
| amount | 35.000 STEEM |
| memo | 55663882-b6d2-4d7f-b93b-da8ade28f296 |
| Transaction Info | Block #43289917/Trx 50ffe22a95928f0dd3cfa765b5f8d9ec9c791299 |
View Raw JSON Data
{
"trx_id": "50ffe22a95928f0dd3cfa765b5f8d9ec9c791299",
"block": 43289917,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-11T19:54:09",
"op": [
"transfer",
{
"from": "rtrade",
"to": "silly-einstein",
"amount": "35.000 STEEM",
"memo": "55663882-b6d2-4d7f-b93b-da8ade28f296"
}
]
}rtradereceived 35.331 STEEM from power down installment (42.379 SP)2020/05/09 02:23:33
rtradereceived 35.331 STEEM from power down installment (42.379 SP)
2020/05/09 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.331 STEEM |
| Transaction Info | Block #43213112/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 43213112,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-05-09T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.331 STEEM"
}
]
}rtradesent 141.000 STEEM to @silly-einstein- "55663882-b6d2-4d7f-b93b-da8ade28f296"2020/05/02 20:32:18
rtradesent 141.000 STEEM to @silly-einstein- "55663882-b6d2-4d7f-b93b-da8ade28f296"
2020/05/02 20:32:18
| from | rtrade |
| to | silly-einstein |
| amount | 141.000 STEEM |
| memo | 55663882-b6d2-4d7f-b93b-da8ade28f296 |
| Transaction Info | Block #43037648/Trx 256c81c9ea2e74c1037a1a8fb736a6466faa4c3f |
View Raw JSON Data
{
"trx_id": "256c81c9ea2e74c1037a1a8fb736a6466faa4c3f",
"block": 43037648,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-02T20:32:18",
"op": [
"transfer",
{
"from": "rtrade",
"to": "silly-einstein",
"amount": "141.000 STEEM",
"memo": "55663882-b6d2-4d7f-b93b-da8ade28f296"
}
]
}rtradereceived 35.317 STEEM from power down installment (42.379 SP)2020/05/02 02:23:33
rtradereceived 35.317 STEEM from power down installment (42.379 SP)
2020/05/02 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.317 STEEM |
| Transaction Info | Block #43016401/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 43016401,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2020-05-02T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.317 STEEM"
}
]
}rtradereceived 35.303 STEEM from power down installment (42.379 SP)2020/04/25 02:23:33
rtradereceived 35.303 STEEM from power down installment (42.379 SP)
2020/04/25 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.303 STEEM |
| Transaction Info | Block #42819910/Virtual Operation #11 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 42819910,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 11,
"timestamp": "2020-04-25T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.303 STEEM"
}
]
}rtradereceived 35.289 STEEM from power down installment (42.379 SP)2020/04/18 02:23:33
rtradereceived 35.289 STEEM from power down installment (42.379 SP)
2020/04/18 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.289 STEEM |
| Transaction Info | Block #42623918/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 42623918,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2020-04-18T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.289 STEEM"
}
]
}rtradereceived 35.275 STEEM from power down installment (42.379 SP)2020/04/11 02:23:33
rtradereceived 35.275 STEEM from power down installment (42.379 SP)
2020/04/11 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.275 STEEM |
| Transaction Info | Block #42427521/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 42427521,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-04-11T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.275 STEEM"
}
]
}rtradesent 70.513 STEEM to @deepcrypto8- "100181885"2020/04/10 01:52:48
rtradesent 70.513 STEEM to @deepcrypto8- "100181885"
2020/04/10 01:52:48
| from | rtrade |
| to | deepcrypto8 |
| amount | 70.513 STEEM |
| memo | 100181885 |
| Transaction Info | Block #42398774/Trx fa19f7fa035cb24138b5428a1406697f4f423d4f |
View Raw JSON Data
{
"trx_id": "fa19f7fa035cb24138b5428a1406697f4f423d4f",
"block": 42398774,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-04-10T01:52:48",
"op": [
"transfer",
{
"from": "rtrade",
"to": "deepcrypto8",
"amount": "70.513 STEEM",
"memo": "100181885"
}
]
}rtradereceived 35.263 STEEM from power down installment (42.379 SP)2020/04/04 02:23:33
rtradereceived 35.263 STEEM from power down installment (42.379 SP)
2020/04/04 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.263 STEEM |
| Transaction Info | Block #42230678/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 42230678,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2020-04-04T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.263 STEEM"
}
]
}rtradereceived 35.250 STEEM from power down installment (42.379 SP)2020/03/28 02:23:33
rtradereceived 35.250 STEEM from power down installment (42.379 SP)
2020/03/28 02:23:33
| from account | rtrade |
| to account | rtrade |
| withdrawn | 69010.283901 VESTS |
| deposited | 35.250 STEEM |
| Transaction Info | Block #42032032/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 42032032,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2020-03-28T02:23:33",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "69010.283901 VESTS",
"deposited": "35.250 STEEM"
}
]
}rtradesent 199.183 STEEM to @deepcrypto8- "100181885"2020/03/23 07:11:48
rtradesent 199.183 STEEM to @deepcrypto8- "100181885"
2020/03/23 07:11:48
| from | rtrade |
| to | deepcrypto8 |
| amount | 199.183 STEEM |
| memo | 100181885 |
| Transaction Info | Block #41895571/Trx 3cfac94016538c2854078a382b1e5815b51d684a |
View Raw JSON Data
{
"trx_id": "3cfac94016538c2854078a382b1e5815b51d684a",
"block": 41895571,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-03-23T07:11:48",
"op": [
"transfer",
{
"from": "rtrade",
"to": "deepcrypto8",
"amount": "199.183 STEEM",
"memo": "100181885"
}
]
}rtradestarted power down of 550.925 SP2020/03/21 02:23:33
rtradestarted power down of 550.925 SP
2020/03/21 02:23:33
| account | rtrade |
| vesting shares | 897133.690707 VESTS |
| Transaction Info | Block #41833088/Trx 98658bdabdb94c05a56bc3bdb6fb901f3af617dd |
View Raw JSON Data
{
"trx_id": "98658bdabdb94c05a56bc3bdb6fb901f3af617dd",
"block": 41833088,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-03-21T02:23:33",
"op": [
"withdraw_vesting",
{
"account": "rtrade",
"vesting_shares": "897133.690707 VESTS"
}
]
}lunixupvoted (100.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens2019/06/23 14:37:39
lunixupvoted (100.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens
2019/06/23 14:37:39
| voter | lunix |
| author | rtrade |
| permlink | run-your-own-ipfs-search-engine-with-lens |
| weight | 10000 (100.00%) |
| Transaction Info | Block #34053338/Trx 6990f16b96af243ffa07aa0ec8096ffd0181f1c8 |
View Raw JSON Data
{
"trx_id": "6990f16b96af243ffa07aa0ec8096ffd0181f1c8",
"block": 34053338,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-06-23T14:37:39",
"op": [
"vote",
{
"voter": "lunix",
"author": "rtrade",
"permlink": "run-your-own-ipfs-search-engine-with-lens",
"weight": 10000
}
]
}2019/05/24 00:32:30
2019/05/24 00:32:30
| parent author | rtrade |
| parent permlink | run-your-own-ipfs-search-engine-with-lens |
| author | steemitboard |
| permlink | steemitboard-notify-rtrade-20190524t003230000z |
| title | |
| body | Congratulations @rtrade! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@rtrade/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/@rtrade) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=rtrade)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #33173641/Trx 843b53c9df269e4cac3fc58e14daf279ad594ad8 |
View Raw JSON Data
{
"trx_id": "843b53c9df269e4cac3fc58e14daf279ad594ad8",
"block": 33173641,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-24T00:32:30",
"op": [
"comment",
{
"parent_author": "rtrade",
"parent_permlink": "run-your-own-ipfs-search-engine-with-lens",
"author": "steemitboard",
"permlink": "steemitboard-notify-rtrade-20190524t003230000z",
"title": "",
"body": "Congratulations @rtrade! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@rtrade/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/@rtrade) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=rtrade)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}katamoriupvoted (100.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens2019/05/12 10:12:45
katamoriupvoted (100.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens
2019/05/12 10:12:45
| voter | katamori |
| author | rtrade |
| permlink | run-your-own-ipfs-search-engine-with-lens |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32839858/Trx 1cd7f4e6602f64ece13b47dd7d30b086751f7930 |
View Raw JSON Data
{
"trx_id": "1cd7f4e6602f64ece13b47dd7d30b086751f7930",
"block": 32839858,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-12T10:12:45",
"op": [
"vote",
{
"voter": "katamori",
"author": "rtrade",
"permlink": "run-your-own-ipfs-search-engine-with-lens",
"weight": 10000
}
]
}mrakodrapupvoted (10.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens2019/05/11 09:10:48
mrakodrapupvoted (10.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens
2019/05/11 09:10:48
| voter | mrakodrap |
| author | rtrade |
| permlink | run-your-own-ipfs-search-engine-with-lens |
| weight | 1000 (10.00%) |
| Transaction Info | Block #32809830/Trx 31a4d3a7c6c362530e4126aff4bc2e0758bb9277 |
View Raw JSON Data
{
"trx_id": "31a4d3a7c6c362530e4126aff4bc2e0758bb9277",
"block": 32809830,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-11T09:10:48",
"op": [
"vote",
{
"voter": "mrakodrap",
"author": "rtrade",
"permlink": "run-your-own-ipfs-search-engine-with-lens",
"weight": 1000
}
]
}steemitboardupvoted (1.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens2019/05/11 08:11:54
steemitboardupvoted (1.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens
2019/05/11 08:11:54
| voter | steemitboard |
| author | rtrade |
| permlink | run-your-own-ipfs-search-engine-with-lens |
| weight | 100 (1.00%) |
| Transaction Info | Block #32808652/Trx f5109384c8650205c9bfc569448fd9de423386e4 |
View Raw JSON Data
{
"trx_id": "f5109384c8650205c9bfc569448fd9de423386e4",
"block": 32808652,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-11T08:11:54",
"op": [
"vote",
{
"voter": "steemitboard",
"author": "rtrade",
"permlink": "run-your-own-ipfs-search-engine-with-lens",
"weight": 100
}
]
}2019/05/11 08:11:51
2019/05/11 08:11:51
| parent author | rtrade |
| parent permlink | run-your-own-ipfs-search-engine-with-lens |
| author | steemitboard |
| permlink | steemitboard-notify-rtrade-20190511t081150000z |
| title | |
| body | Congratulations @rtrade! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) : <table><tr><td><img src="https://steemitimages.com/60x70/http://steemitboard.com/@rtrade/posts.png?201905110719"></td><td>You published more than 20 posts. Your next target is to reach 30 posts.</td></tr> </table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@rtrade) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=rtrade)_</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> To support your work, I also upvoted your post! **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/7CiQEO.png"></a></td><td><a href="https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05">SteemitBoard - Witness Update</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"]} |
| Transaction Info | Block #32808651/Trx 14be7b71cff4562d0ee2498888fa928407121751 |
View Raw JSON Data
{
"trx_id": "14be7b71cff4562d0ee2498888fa928407121751",
"block": 32808651,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-11T08:11:51",
"op": [
"comment",
{
"parent_author": "rtrade",
"parent_permlink": "run-your-own-ipfs-search-engine-with-lens",
"author": "steemitboard",
"permlink": "steemitboard-notify-rtrade-20190511t081150000z",
"title": "",
"body": "Congratulations @rtrade! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :\n\n<table><tr><td><img src=\"https://steemitimages.com/60x70/http://steemitboard.com/@rtrade/posts.png?201905110719\"></td><td>You published more than 20 posts. Your next target is to reach 30 posts.</td></tr>\n</table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@rtrade) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=rtrade)_</sub>\n<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>\n\n\nTo support your work, I also upvoted your post!\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05\"><img src=\"https://steemitimages.com/64x128/http://i.cubeupload.com/7CiQEO.png\"></a></td><td><a href=\"https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05\">SteemitBoard - Witness Update</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\"]}"
}
]
}filipinoupvoted (10.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens2019/05/11 06:31:30
filipinoupvoted (10.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens
2019/05/11 06:31:30
| voter | filipino |
| author | rtrade |
| permlink | run-your-own-ipfs-search-engine-with-lens |
| weight | 1000 (10.00%) |
| Transaction Info | Block #32806644/Trx 4adf3c4ed29c91a6ea5edaaf4519436179344c60 |
View Raw JSON Data
{
"trx_id": "4adf3c4ed29c91a6ea5edaaf4519436179344c60",
"block": 32806644,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-11T06:31:30",
"op": [
"vote",
{
"voter": "filipino",
"author": "rtrade",
"permlink": "run-your-own-ipfs-search-engine-with-lens",
"weight": 1000
}
]
}linuxguyupvoted (100.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens2019/05/11 05:56:00
linuxguyupvoted (100.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens
2019/05/11 05:56:00
| voter | linuxguy |
| author | rtrade |
| permlink | run-your-own-ipfs-search-engine-with-lens |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32805934/Trx 5e87605e7ba694e28b0ffab72c2b030a09a0dc20 |
View Raw JSON Data
{
"trx_id": "5e87605e7ba694e28b0ffab72c2b030a09a0dc20",
"block": 32805934,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-11T05:56:00",
"op": [
"vote",
{
"voter": "linuxguy",
"author": "rtrade",
"permlink": "run-your-own-ipfs-search-engine-with-lens",
"weight": 10000
}
]
}rtradeupvoted (100.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens2019/05/11 05:55:30
rtradeupvoted (100.00%) @rtrade / run-your-own-ipfs-search-engine-with-lens
2019/05/11 05:55:30
| voter | rtrade |
| author | rtrade |
| permlink | run-your-own-ipfs-search-engine-with-lens |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32805924/Trx 70ec1cbc10279763b8f8427269d157de86f50d4d |
View Raw JSON Data
{
"trx_id": "70ec1cbc10279763b8f8427269d157de86f50d4d",
"block": 32805924,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-11T05:55:30",
"op": [
"vote",
{
"voter": "rtrade",
"author": "rtrade",
"permlink": "run-your-own-ipfs-search-engine-with-lens",
"weight": 10000
}
]
}rtradepublished a new post: run-your-own-ipfs-search-engine-with-lens2019/05/11 05:55:12
rtradepublished a new post: run-your-own-ipfs-search-engine-with-lens
2019/05/11 05:55:12
| parent author | |
| parent permlink | cryptocurrency |
| author | rtrade |
| permlink | run-your-own-ipfs-search-engine-with-lens |
| title | Run Your Own IPFS Search Engine With Lens |
| body | # Run Your Own IPFS Search Engine With Lens [Lens](https://github.com/RTradeLtd/Lens) is another one of our open-source IPFS tools under the Temporal umbrella, allowing you to take content from IPFS, and index it to be searchable at a later date. Currently Lens can index the following mime-types: * text/* * image/* * application/pdf The one requirement is that all your data exists on IPFS, and is discoverable by the running Lens instance. In the future we may add support for other distributed networks, such as DAT or SWARM. To interact with Lens we have a simple, but robust gRPC API that supports both simple and complex queries. ## How Does Indexing Work We have a few different methods of analyzing data that we’ll chain together. When given PDFs we first attempt to extract images and text from the pages. The text is fed into bleve which is capable of handling simple and complex search queries. The images are also analyzed, using a combination of Tesseract for optical character recognition to extract searchable text, and Tensorflow for rudimentary classification of images. When analyzing other mime types such as image/* we attempt to perform the same Tesseract, and image classification analysis as we do with images extracted from PDFs. When analyzing mime types like text/* we feed the text directly into bleve. ## How Does Searching Work Searching at the most basic level consists of taking a query, ranging from single words like blockchain all the way up to search phrases like blockchain data storage. We also support more complex queries, like filtering against specific tags, categories, mime types, and more however these are entirely optional. The response to your query is an array of documents that contains the IPFS hash of the content that matched your query, as well as the mimetype of the content, and a score displaying the relevance this content has to your search query.  ## Installing Lens There are a few different ways you can go about installing Lens, with the simplest way to be using our prebuilt Lens docker image. When using the docker image, the default setting is to start the gRPC server listening on 0.0.0.0:9998, without any encryption, and with a gRPC authentication key of blahblahblah. The docker container will also need a connection to an IPFS HTTP API, with the default being 127.0.0.1:5001. To install this docker image, run the following command docker pull rtradetech/lens:latest Alternatively for those wanting a more hands off setup, we have a docker-compose setup that also spins up the required IPFS node. To use this docker-compose file, the following set of commands need to be run. These will use the /tmp directory as the base directory for storing all files in. $> wget -O lens.yml https://raw.githubusercontent.com/RTradeLtd/Lens/master/lens.yml $> LENS=latest BASE=/tmp docker-compose -f lens.yml up ## Using Lens Before we get started with how you can use Lens, we’ve published the existing Lens index as seen on [https://temporal.cloud/lens](https://temporal.cloud/lens) via IPFS that can be downloaded via the CID [QmZqSYDQrtWg4LHnqT6DPqa1XUr7u4oeaGcyaTiGHJY3SR](https://gateway.temporal.cloud/ipfs/QmZqSYDQrtWg4LHnqT6DPqa1XUr7u4oeaGcyaTiGHJY3SR). It’s 1.2GB in size and contains a variety of research papers, crypto whitepapers, and I have submitted, as well as other user submitted documents. All Indexing and Searching can be done via the gRPC API, for which we have published protocol buffers on [github](https://github.com/RTradeLtd/grpc/tree/master/lensv2). Using these you can build an API for Lens in *any* language that supports protocol buffers! For an example of how we use those protocol buffers to build the Lens API client that is in Temporal, you can check out our Golang example below: ```Golang package clients import ( "fmt" "github.com/RTradeLtd/config/v2" "github.com/RTradeLtd/grpc/dialer" pb "github.com/RTradeLtd/grpc/lensv2" "google.golang.org/grpc" "google.golang.org/grpc/credentials" ) const ( defaultURL = "127.0.0.1:9998" ) // LensClient is a lens client used to make requests to the Lens gRPC server type LensClient struct { conn *grpc.ClientConn pb.LensV2Client } // NewLensClient is used to generate our lens client func NewLensClient(opts config.Services) (*LensClient, error) { dialOpts := make([]grpc.DialOption, 0) if opts.Lens.TLS.CertPath != "" { creds, err := credentials.NewClientTLSFromFile(opts.Lens.TLS.CertPath, "") if err != nil { return nil, fmt.Errorf("could not load tls cert: %s", err) } dialOpts = append(dialOpts, grpc.WithTransportCredentials(creds), grpc.WithPerRPCCredentials(dialer.NewCredentials(opts.Lens.AuthKey, true))) } else { dialOpts = append(dialOpts, grpc.WithInsecure(), grpc.WithPerRPCCredentials(dialer.NewCredentials(opts.Lens.AuthKey, false))) } var url string if opts.Lens.URL == "" { url = defaultURL } else { url = opts.Lens.URL } conn, err := grpc.Dial(url, dialOpts...) if err != nil { return nil, err } return &LensClient{ conn: conn, LensV2Client: pb.NewLensV2Client(conn), }, nil } // Close shuts down the client's gRPC connection func (l *LensClient) Close() { l.conn.Close() } ``` To actually index data, once you have your gRPC client up and running, all you need to do is called the Index command, and let Lens do its magic! Depending on where the content is in your network this process can take sometime. Generally speaking, if the content is locally available index analysis shouldn't ever take more than a minute, usually 30 seconds. When submitting data for indexing, you must provide two parameters, the ObjectType, which should be using the IndexReq_IPLDas defined in the protocol buffers. The second parameter is ObjectIdentifier which should be the IPFS hash of the content you want indexed. Searching for data is extremely simple as well, and requires calling the Search command. The only required parameter is Query which defines how you want to search the data. Optionally you can filter out your search results even more with filters like Hashes to only match specific IPFS hashes, MimeTypes to only match specific mime types. The time it takes for this command to complete will depend on a wide variety of factors, such as the size of your index, the number of objects matched, the speed of your disk that the index resides on. ## Thank you and a big shout out to everyone contributing to IPFS and all the great work that is be done by many different projects! RTrade’s online community, [Twitter](https://twitter.com/rtradetech) or [Telegram](https://t.me/rtradetech) and [website](http://www.rtradetechnologies.com/en/). Don’t forget to show Temporal some love on [Github](https://github.com/RTradeLtd)! [v2.1.0 of Temporal is out! ](https://github.com/RTradeLtd/Temporal/releases/tag/v2.1.0) Highlights of release: - go-ipfs v0.4.20 - ipfs-cluster v0.10.1 - gomod support **Temporal:** A versatile easy to use tool for companies with large amounts of data to secure, store and track. The platform can be used as is, or customarily built to manage and deploy blockchain-based applications and non-blockchain data-storage solutions for any enterprise. **Temporal Features:** If you don’t want to run your own Temporal installation you can use our hosted version[, Full Featured Pinning Service](https://temporal.cloud/) w/ Free 3GB/Monthly, 5 Free IPNS record creation a month, 100 Free pubSub messages a month and 5 Free IPFS keys [Interface walk-through](https://medium.com/@rtradetech/temporal-cloud-walk-through-c477568be551) [Full Service IPFS API](https://gateway.temporal.cloud/ipns/docs.api.temporal.cloud/) [Temporal-JS SDK Full public IPFS and IPNS usage](https://github.com/clemlak/temporal-js) [IPFS Gateway](https://gateway.temporal.cloud) [I2P IPFS Gateway access](http://cdii3ou5mve5sfxyirs6kogt4tbvivk2d6o25awbcbazjrlhjeza.b32.i2p) [Installing your own Temporal](https://rtradetechnologies.atlassian.net/wiki/x/U4JIAw) Also the [Usages and Features](https://github.com/RTradeLtd/Temporal) section of the README.md doc on the GitHub repository covers using the docker compose file to spin up the environment. ### **Anything you build or use on our platform is NOT vendor locked-in. All software solutions currently available can be run in your own infrastructure simply by downloading our code off of github**  |
| json metadata | {"tags":["cryptocurrency","blockchain","ipfs","storage","search"],"image":["https://cdn-images-1.medium.com/max/2000/1*7gnii4YYVJ_eloYkU27Y6g.jpeg","https://cdn-images-1.medium.com/max/2000/1*TRZNxp9hh6ZjZha9R1RmFQ.png"],"links":["https://github.com/RTradeLtd/Lens","https://temporal.cloud/lens","https://gateway.temporal.cloud/ipfs/QmZqSYDQrtWg4LHnqT6DPqa1XUr7u4oeaGcyaTiGHJY3SR","https://github.com/RTradeLtd/grpc/tree/master/lensv2","https://twitter.com/rtradetech","https://t.me/rtradetech","http://www.rtradetechnologies.com/en/","https://github.com/RTradeLtd","https://github.com/RTradeLtd/Temporal/releases/tag/v2.1.0","https://temporal.cloud/","https://medium.com/@rtradetech/temporal-cloud-walk-through-c477568be551","https://gateway.temporal.cloud/ipns/docs.api.temporal.cloud/","https://github.com/clemlak/temporal-js","https://gateway.temporal.cloud","http://cdii3ou5mve5sfxyirs6kogt4tbvivk2d6o25awbcbazjrlhjeza.b32.i2p","https://rtradetechnologies.atlassian.net/wiki/x/U4JIAw","https://github.com/RTradeLtd/Temporal"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #32805918/Trx 6bf704dd5fbb13e64bbe4b45c19a04094eb415cd |
View Raw JSON Data
{
"trx_id": "6bf704dd5fbb13e64bbe4b45c19a04094eb415cd",
"block": 32805918,
"trx_in_block": 29,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-11T05:55:12",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "rtrade",
"permlink": "run-your-own-ipfs-search-engine-with-lens",
"title": "Run Your Own IPFS Search Engine With Lens",
"body": "# Run Your Own IPFS Search Engine With Lens\n\n\n\n[Lens](https://github.com/RTradeLtd/Lens) is another one of our open-source IPFS tools under the Temporal umbrella, allowing you to take content from IPFS, and index it to be searchable at a later date. Currently Lens can index the following mime-types:\n\n* text/*\n\n* image/*\n\n* application/pdf\n\nThe one requirement is that all your data exists on IPFS, and is discoverable by the running Lens instance. In the future we may add support for other distributed networks, such as DAT or SWARM. To interact with Lens we have a simple, but robust gRPC API that supports both simple and complex queries.\n\n## How Does Indexing Work\n\nWe have a few different methods of analyzing data that we’ll chain together. When given PDFs we first attempt to extract images and text from the pages. The text is fed into bleve which is capable of handling simple and complex search queries. The images are also analyzed, using a combination of Tesseract for optical character recognition to extract searchable text, and Tensorflow for rudimentary classification of images. When analyzing other mime types such as image/* we attempt to perform the same Tesseract, and image classification analysis as we do with images extracted from PDFs. When analyzing mime types like text/* we feed the text directly into bleve.\n\n## How Does Searching Work\n\nSearching at the most basic level consists of taking a query, ranging from single words like blockchain all the way up to search phrases like blockchain data storage. We also support more complex queries, like filtering against specific tags, categories, mime types, and more however these are entirely optional.\n\nThe response to your query is an array of documents that contains the IPFS hash of the content that matched your query, as well as the mimetype of the content, and a score displaying the relevance this content has to your search query.\n\n\n\n## Installing Lens\n\nThere are a few different ways you can go about installing Lens, with the simplest way to be using our prebuilt Lens docker image. When using the docker image, the default setting is to start the gRPC server listening on 0.0.0.0:9998, without any encryption, and with a gRPC authentication key of blahblahblah. The docker container will also need a connection to an IPFS HTTP API, with the default being 127.0.0.1:5001. To install this docker image, run the following command docker pull rtradetech/lens:latest\n\nAlternatively for those wanting a more hands off setup, we have a docker-compose setup that also spins up the required IPFS node. To use this docker-compose file, the following set of commands need to be run. These will use the /tmp directory as the base directory for storing all files in.\n\n $> wget -O lens.yml https://raw.githubusercontent.com/RTradeLtd/Lens/master/lens.yml\n $> LENS=latest BASE=/tmp docker-compose -f lens.yml up\n\n## Using Lens\n\nBefore we get started with how you can use Lens, we’ve published the existing Lens index as seen on [https://temporal.cloud/lens](https://temporal.cloud/lens) via IPFS that can be downloaded via the CID [QmZqSYDQrtWg4LHnqT6DPqa1XUr7u4oeaGcyaTiGHJY3SR](https://gateway.temporal.cloud/ipfs/QmZqSYDQrtWg4LHnqT6DPqa1XUr7u4oeaGcyaTiGHJY3SR). It’s 1.2GB in size and contains a variety of research papers, crypto whitepapers, and I have submitted, as well as other user submitted documents.\n\nAll Indexing and Searching can be done via the gRPC API, for which we have published protocol buffers on [github](https://github.com/RTradeLtd/grpc/tree/master/lensv2). Using these you can build an API for Lens in *any* language that supports protocol buffers!\n\nFor an example of how we use those protocol buffers to build the Lens API client that is in Temporal, you can check out our Golang example below:\n\n```Golang\n\npackage clients\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/RTradeLtd/config/v2\"\n\t\"github.com/RTradeLtd/grpc/dialer\"\n\tpb \"github.com/RTradeLtd/grpc/lensv2\"\n\t\"google.golang.org/grpc\"\n\t\"google.golang.org/grpc/credentials\"\n)\n\nconst (\n\tdefaultURL = \"127.0.0.1:9998\"\n)\n\n// LensClient is a lens client used to make requests to the Lens gRPC server\ntype LensClient struct {\n\tconn *grpc.ClientConn\n\tpb.LensV2Client\n}\n\n// NewLensClient is used to generate our lens client\nfunc NewLensClient(opts config.Services) (*LensClient, error) {\n\tdialOpts := make([]grpc.DialOption, 0)\n\tif opts.Lens.TLS.CertPath != \"\" {\n\t\tcreds, err := credentials.NewClientTLSFromFile(opts.Lens.TLS.CertPath, \"\")\n\t\tif err != nil {\n\t\t\treturn nil, fmt.Errorf(\"could not load tls cert: %s\", err)\n\t\t}\n\t\tdialOpts = append(dialOpts,\n\t\t\tgrpc.WithTransportCredentials(creds),\n\t\t\tgrpc.WithPerRPCCredentials(dialer.NewCredentials(opts.Lens.AuthKey, true)))\n\t} else {\n\t\tdialOpts = append(dialOpts,\n\t\t\tgrpc.WithInsecure(),\n\t\t\tgrpc.WithPerRPCCredentials(dialer.NewCredentials(opts.Lens.AuthKey, false)))\n\t}\n\tvar url string\n\tif opts.Lens.URL == \"\" {\n\t\turl = defaultURL\n\t} else {\n\t\turl = opts.Lens.URL\n\t}\n\n\tconn, err := grpc.Dial(url, dialOpts...)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\treturn &LensClient{\n\t\tconn: conn,\n\t\tLensV2Client: pb.NewLensV2Client(conn),\n\t}, nil\n}\n\n// Close shuts down the client's gRPC connection\nfunc (l *LensClient) Close() { l.conn.Close() }\n\n```\nTo actually index data, once you have your gRPC client up and running, all you need to do is called the Index command, and let Lens do its magic! Depending on where the content is in your network this process can take sometime. Generally speaking, if the content is locally available index analysis shouldn't ever take more than a minute, usually 30 seconds. When submitting data for indexing, you must provide two parameters, the ObjectType, which should be using the IndexReq_IPLDas defined in the protocol buffers. The second parameter is ObjectIdentifier which should be the IPFS hash of the content you want indexed.\n\nSearching for data is extremely simple as well, and requires calling the Search command. The only required parameter is Query which defines how you want to search the data. Optionally you can filter out your search results even more with filters like Hashes to only match specific IPFS hashes, MimeTypes to only match specific mime types. The time it takes for this command to complete will depend on a wide variety of factors, such as the size of your index, the number of objects matched, the speed of your disk that the index resides on.\n\n## Thank you and a big shout out to everyone contributing to IPFS and all the great work that is be done by many different projects!\n\nRTrade’s online community, [Twitter](https://twitter.com/rtradetech) or [Telegram](https://t.me/rtradetech) and [website](http://www.rtradetechnologies.com/en/). Don’t forget to show Temporal some love on [Github](https://github.com/RTradeLtd)!\n\n[v2.1.0 of Temporal is out! ](https://github.com/RTradeLtd/Temporal/releases/tag/v2.1.0)\nHighlights of release:\n- go-ipfs v0.4.20\n- ipfs-cluster v0.10.1\n- gomod support\n\n**Temporal:** A versatile easy to use tool for companies with large amounts of data to secure, store and track. The platform can be used as is, or customarily built to manage and deploy blockchain-based applications and non-blockchain data-storage solutions for any enterprise.\n\n**Temporal Features:**\n\nIf you don’t want to run your own Temporal installation you can use our hosted version[, Full Featured Pinning Service](https://temporal.cloud/) w/ Free 3GB/Monthly, 5 Free IPNS record creation a month, 100 Free pubSub messages a month and 5 Free IPFS keys\n\n[Interface walk-through](https://medium.com/@rtradetech/temporal-cloud-walk-through-c477568be551)\n\n[Full Service IPFS API](https://gateway.temporal.cloud/ipns/docs.api.temporal.cloud/)\n\n[Temporal-JS SDK Full public IPFS and IPNS usage](https://github.com/clemlak/temporal-js)\n\n[IPFS Gateway](https://gateway.temporal.cloud)\n\n[I2P IPFS Gateway access](http://cdii3ou5mve5sfxyirs6kogt4tbvivk2d6o25awbcbazjrlhjeza.b32.i2p)\n \n[Installing your own Temporal](https://rtradetechnologies.atlassian.net/wiki/x/U4JIAw)\n\nAlso the [Usages and Features](https://github.com/RTradeLtd/Temporal) section of the README.md doc on the GitHub repository covers using the docker compose file to spin up the environment.\n\n### **Anything you build or use on our platform is NOT vendor locked-in. All software solutions currently available can be run in your own infrastructure simply by downloading our code off of github**\n\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"blockchain\",\"ipfs\",\"storage\",\"search\"],\"image\":[\"https://cdn-images-1.medium.com/max/2000/1*7gnii4YYVJ_eloYkU27Y6g.jpeg\",\"https://cdn-images-1.medium.com/max/2000/1*TRZNxp9hh6ZjZha9R1RmFQ.png\"],\"links\":[\"https://github.com/RTradeLtd/Lens\",\"https://temporal.cloud/lens\",\"https://gateway.temporal.cloud/ipfs/QmZqSYDQrtWg4LHnqT6DPqa1XUr7u4oeaGcyaTiGHJY3SR\",\"https://github.com/RTradeLtd/grpc/tree/master/lensv2\",\"https://twitter.com/rtradetech\",\"https://t.me/rtradetech\",\"http://www.rtradetechnologies.com/en/\",\"https://github.com/RTradeLtd\",\"https://github.com/RTradeLtd/Temporal/releases/tag/v2.1.0\",\"https://temporal.cloud/\",\"https://medium.com/@rtradetech/temporal-cloud-walk-through-c477568be551\",\"https://gateway.temporal.cloud/ipns/docs.api.temporal.cloud/\",\"https://github.com/clemlak/temporal-js\",\"https://gateway.temporal.cloud\",\"http://cdii3ou5mve5sfxyirs6kogt4tbvivk2d6o25awbcbazjrlhjeza.b32.i2p\",\"https://rtradetechnologies.atlassian.net/wiki/x/U4JIAw\",\"https://github.com/RTradeLtd/Temporal\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2019/05/05 19:11:15
2019/05/05 19:11:15
| parent author | rtrade |
| parent permlink | re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z |
| author | davidmind |
| permlink | re-rtrade-re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190505t191106119z |
| title | |
| body | I don't know if you have heard about utopian, utopian support open source project like yours. Sorry for cheetah flagging down your post. You can always join utopian discord channel [here](https://discord.gg) good luck and have fun. |
| json metadata | {"tags":["ethereum"],"links":["https://discord.gg"],"app":"steemit/0.1"} |
| Transaction Info | Block #32649105/Trx d71cae44745019c680bdabdf25e38bd97c04b271 |
View Raw JSON Data
{
"trx_id": "d71cae44745019c680bdabdf25e38bd97c04b271",
"block": 32649105,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-05T19:11:15",
"op": [
"comment",
{
"parent_author": "rtrade",
"parent_permlink": "re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z",
"author": "davidmind",
"permlink": "re-rtrade-re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190505t191106119z",
"title": "",
"body": "I don't know if you have heard about utopian, utopian support open source project like yours. Sorry for cheetah flagging down your post. You can always join utopian discord channel [here](https://discord.gg) good luck and have fun.",
"json_metadata": "{\"tags\":[\"ethereum\"],\"links\":[\"https://discord.gg\"],\"app\":\"steemit/0.1\"}"
}
]
}2019/04/30 23:38:15
2019/04/30 23:38:15
| voter | katamori |
| author | rtrade |
| permlink | efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32510551/Trx bfb01c9d2ce93d876b73989a53e5a0d3d682ad10 |
View Raw JSON Data
{
"trx_id": "bfb01c9d2ce93d876b73989a53e5a0d3d682ad10",
"block": 32510551,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-30T23:38:15",
"op": [
"vote",
{
"voter": "katamori",
"author": "rtrade",
"permlink": "efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"weight": 10000
}
]
}2019/04/30 23:37:33
2019/04/30 23:37:33
| parent author | rtrade |
| parent permlink | re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z |
| author | katamori |
| permlink | katamori-re-rtrade-re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190430t233731374z |
| title | |
| body | I was about to rant about plagiarism but holy shit, you're the author indeed. (unless someone compromised this name on Steem) Maybe try contacting whoever makes this anti-plagiarism measure (not sure if cheetah is the creator or the bot) Posted using [Partiko Android](https://partiko.app/referral/katamori) |
| json metadata | {"app":"partiko","client":"android"} |
| Transaction Info | Block #32510537/Trx 60e397560e3af8460cde43f51b601dd42531c5d2 |
View Raw JSON Data
{
"trx_id": "60e397560e3af8460cde43f51b601dd42531c5d2",
"block": 32510537,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-30T23:37:33",
"op": [
"comment",
{
"parent_author": "rtrade",
"parent_permlink": "re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z",
"author": "katamori",
"permlink": "katamori-re-rtrade-re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190430t233731374z",
"title": "",
"body": "I was about to rant about plagiarism but holy shit, you're the author indeed. (unless someone compromised this name on Steem)\n\nMaybe try contacting whoever makes this anti-plagiarism measure (not sure if cheetah is the creator or the bot)\n\nPosted using [Partiko Android](https://partiko.app/referral/katamori)",
"json_metadata": "{\"app\":\"partiko\",\"client\":\"android\"}"
}
]
}2019/04/30 02:00:24
2019/04/30 02:00:24
| voter | sahulinkan7 |
| author | rtrade |
| permlink | efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32484619/Trx 7736e4b2f3a6ed71384a6df6fabe8878d71aba04 |
View Raw JSON Data
{
"trx_id": "7736e4b2f3a6ed71384a6df6fabe8878d71aba04",
"block": 32484619,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-30T02:00:24",
"op": [
"vote",
{
"voter": "sahulinkan7",
"author": "rtrade",
"permlink": "efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"weight": 10000
}
]
}2019/04/29 23:32:39
2019/04/29 23:32:39
| voter | steffenix |
| author | rtrade |
| permlink | efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32481665/Trx 66fa855846c5cfc7778d62af7db60d59fa94075b |
View Raw JSON Data
{
"trx_id": "66fa855846c5cfc7778d62af7db60d59fa94075b",
"block": 32481665,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:32:39",
"op": [
"vote",
{
"voter": "steffenix",
"author": "rtrade",
"permlink": "efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"weight": 10000
}
]
}2019/04/29 23:30:03
2019/04/29 23:30:03
| parent author | rtrade |
| parent permlink | efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| author | guiltyparties |
| permlink | re-rtrade-efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t233128131z |
| title | |
| body | !cheetah unban Account verified. |
| json metadata | {"tags":["ethereum"],"app":"steemit/0.1"} |
| Transaction Info | Block #32481613/Trx 0f899451986f191e29686ff307be197ab4b88584 |
View Raw JSON Data
{
"trx_id": "0f899451986f191e29686ff307be197ab4b88584",
"block": 32481613,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:30:03",
"op": [
"comment",
{
"parent_author": "rtrade",
"parent_permlink": "efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"author": "guiltyparties",
"permlink": "re-rtrade-efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t233128131z",
"title": "",
"body": "!cheetah unban\n\nAccount verified.",
"json_metadata": "{\"tags\":[\"ethereum\"],\"app\":\"steemit/0.1\"}"
}
]
}2019/04/29 23:21:00
2019/04/29 23:21:00
| voter | rtrade |
| author | rtrade |
| permlink | re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32481432/Trx b4ed0dc4f271edcc96f74c3939e0d7c37dd3932f |
View Raw JSON Data
{
"trx_id": "b4ed0dc4f271edcc96f74c3939e0d7c37dd3932f",
"block": 32481432,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:21:00",
"op": [
"vote",
{
"voter": "rtrade",
"author": "rtrade",
"permlink": "re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z",
"weight": 10000
}
]
}2019/04/29 23:20:51
2019/04/29 23:20:51
| voter | rtrade |
| author | cheetah |
| permlink | cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| weight | -10000 (-100.00%) |
| Transaction Info | Block #32481429/Trx b87419d1bda4a1dfc8c1a1a796f15d725b5e2c68 |
View Raw JSON Data
{
"trx_id": "b87419d1bda4a1dfc8c1a1a796f15d725b5e2c68",
"block": 32481429,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:20:51",
"op": [
"vote",
{
"voter": "rtrade",
"author": "cheetah",
"permlink": "cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"weight": -10000
}
]
}2019/04/29 23:20:15
2019/04/29 23:20:15
| voter | linuxguy |
| author | rtrade |
| permlink | efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32481417/Trx c8715cab9a6df6c7e191745176217e5e5c29374f |
View Raw JSON Data
{
"trx_id": "c8715cab9a6df6c7e191745176217e5e5c29374f",
"block": 32481417,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:20:15",
"op": [
"vote",
{
"voter": "linuxguy",
"author": "rtrade",
"permlink": "efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"weight": 10000
}
]
}2019/04/29 23:20:09
2019/04/29 23:20:09
| voter | linuxguy |
| author | rtrade |
| permlink | re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32481415/Trx ab207f4c9f70343e4d1733939b3f8cd71cb4f4d0 |
View Raw JSON Data
{
"trx_id": "ab207f4c9f70343e4d1733939b3f8cd71cb4f4d0",
"block": 32481415,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:20:09",
"op": [
"vote",
{
"voter": "linuxguy",
"author": "rtrade",
"permlink": "re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z",
"weight": 10000
}
]
}2019/04/29 23:18:30
2019/04/29 23:18:30
| voter | cheetah |
| author | rtrade |
| permlink | re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z |
| weight | -8 (-0.08%) |
| Transaction Info | Block #32481382/Trx c4d88fbff2e170112ad6b59e0d5959d09199fb41 |
View Raw JSON Data
{
"trx_id": "c4d88fbff2e170112ad6b59e0d5959d09199fb41",
"block": 32481382,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:18:30",
"op": [
"vote",
{
"voter": "cheetah",
"author": "rtrade",
"permlink": "re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z",
"weight": -8
}
]
}2019/04/29 23:18:21
2019/04/29 23:18:21
| parent author | cheetah |
| parent permlink | cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| author | rtrade |
| permlink | re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z |
| title | |
| body | This is such bullshit, all because I refused to verify my account with some unknown third-party service? |
| json metadata | {"tags":["ethereum"],"app":"steemit/0.1"} |
| Transaction Info | Block #32481379/Trx 2b037cbad7f428b1a7a9bb6deac6957efa538aa6 |
View Raw JSON Data
{
"trx_id": "2b037cbad7f428b1a7a9bb6deac6957efa538aa6",
"block": 32481379,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:18:21",
"op": [
"comment",
{
"parent_author": "cheetah",
"parent_permlink": "cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"author": "rtrade",
"permlink": "re-cheetah-cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts-20190429t231821753z",
"title": "",
"body": "This is such bullshit, all because I refused to verify my account with some unknown third-party service?",
"json_metadata": "{\"tags\":[\"ethereum\"],\"app\":\"steemit/0.1\"}"
}
]
}2019/04/29 23:17:33
2019/04/29 23:17:33
| voter | rtrade |
| author | rtrade |
| permlink | efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| weight | 10000 (100.00%) |
| Transaction Info | Block #32481363/Trx c579b975d6675163b05e4c98522e23fe2f82ae50 |
View Raw JSON Data
{
"trx_id": "c579b975d6675163b05e4c98522e23fe2f82ae50",
"block": 32481363,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:17:33",
"op": [
"vote",
{
"voter": "rtrade",
"author": "rtrade",
"permlink": "efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"weight": 10000
}
]
}2019/04/29 23:17:27
2019/04/29 23:17:27
| parent author | rtrade |
| parent permlink | efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| author | cheetah |
| permlink | cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| title | |
| body | Warning! This user is on my black list, likely as a known plagiarist, spammer or ID thief. Please be cautious with this post! If you believe this is an error, please chat with us in the #cheetah-appeals channel in [our discord](https://discord.gg/7FkETjJ). |
| json metadata | |
| Transaction Info | Block #32481361/Trx a0483f0816f2d6ccc152b448eee9edb7412d710e |
View Raw JSON Data
{
"trx_id": "a0483f0816f2d6ccc152b448eee9edb7412d710e",
"block": 32481361,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:17:27",
"op": [
"comment",
{
"parent_author": "rtrade",
"parent_permlink": "efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"author": "cheetah",
"permlink": "cheetah-re-rtradeefficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"title": "",
"body": "Warning! This user is on my black list, likely as a known plagiarist, spammer or ID thief. Please be cautious with this post!\nIf you believe this is an error, please chat with us in the #cheetah-appeals channel in [our discord](https://discord.gg/7FkETjJ).",
"json_metadata": ""
}
]
}2019/04/29 23:17:21
2019/04/29 23:17:21
| voter | cheetah |
| author | rtrade |
| permlink | efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| weight | -8 (-0.08%) |
| Transaction Info | Block #32481359/Trx 4338b0e5dcb715d7ab9f91ac3568cfa157b1b997 |
View Raw JSON Data
{
"trx_id": "4338b0e5dcb715d7ab9f91ac3568cfa157b1b997",
"block": 32481359,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:17:21",
"op": [
"vote",
{
"voter": "cheetah",
"author": "rtrade",
"permlink": "efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"weight": -8
}
]
}rtradepublished a new post: efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts2019/04/29 23:17:18
rtradepublished a new post: efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts
2019/04/29 23:17:18
| parent author | |
| parent permlink | ethereum |
| author | rtrade |
| permlink | efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts |
| title | Efficient, Usable, And Cheap Storage Of IPFS Hashes In Solidity Smart Contracts |
| body |  # Efficient, Usable, And Cheap Storage Of IPFS Hashes In Solidity Smart Contracts Recently while working on a new project, I encountered the need to store IPFS Hashes, in particular CIDv1 type on the ethereum blockchain, in a user-friendly but also gas efficient manner. Why CIDv1? Well CIDv0 uses sha2-256, whose output size does not fit into a single `bytes32` storage slot. From what I've seen in the wild, anytime people need to store IPFS hashes in smart contracts, it's almost always a hash of the IPFS CID stored in a `bytes32` storage variable, or the IPFS hash itself stored in a `string` storage variable. Working with CIDv1 does not suffer from this :) While there is nothing wrong with either of those two approaches, they are suboptimal. Hashing a hash simply to fit into a single storage slot makes it significantly harder to consume and is only worthwhile if you need to do so for security reasons. Storing the IPFS hash in a `string` storage variable is very expensive in general, and also suboptimal. The trick here is being able to fit into as few, but fully occupied storage slots as possible (efficient), while being easy to consume (usable) and using minimal gas (cheap). This sounds simple in theory as all you need to do is find a hash function that takes up a single `bytes32` storage variable, or two `bytes32` storage variables, but because IPFS uses multiformats (or more appropriately, multihash) this isn't as easy as it sounds. To figure this out, we're going to need to talk a bit about multihash. ## Multihash [Multihash](https://multiformats.io/multihash/) is a subset of the [multiformat](https://multiformats.io/) specification and allows us to create [self describing hashes](https://github.com/multiformats/multihash). The format for multihash looks like (image is from github.com/multiformats/multiformats):  So given the above, this means that even if you were able to find a hash function whose output is 32 bytes, multihash would then add an additional 4 bytes onto that for a total of 36 bytes. This means we then need to store it in a `bytes` storage variable which has a single word overhead. ## Solution This then lead me to the question, what if we can find a hash function which when in multihash format takes up a single `bytes32` storage slot we would be good to go! Well not quite, the only multihash that did this was `blake2b-136`, which `go-ipfs` nodes don't accept by default due to security risks... yikes! After several hours of different experimentation (aka blindly trying multihashes), I was finally able to find a hash function which when in multihash the output is 64 bytes, which means we can store this in exactly two `bytes32` storage slots, completely filling two slots and not wasting any. The multihash is `blake2b-328`. So to use this, all we need to do is take the 64 bytes output, split it in two and we're good to go!  ## Example To keep things short, I'll demonstrate the most optimal solution I found after trying a few different combinations and ways to store two `bytes32` storage variables. The first step is two define two parts of the hash, `hashPart1` and `hashPart2`. In order to store our IFPS hashes here, we need to take the 64 bytes output of the `blake2b-328` multihash, split it in half, storing each half within a 2 element array of `bytes32` type, passing that into the function `updateHash`. Now, whenever we want to consume this data, all we have to do is call `getHash` which will return the complete hash in `bytes` type. If you're consuming this in a mobile phone DApp, then all you need to do is convert to string, which in golang would be `string(returnedBytes)` and you have your IPFS Hash in plaintext! ```solidity pragma solidity 0.5.7; contract Hash { bytes32 public hashPart1; bytes32 public hashPart2; function updateHash(bytes32[2] memory _hash) public returns (bool) { hashPart1 = _hash[0]; hashPart2 = _hash[1]; return true; } function getHash() public view returns (bytes memory) { bytes memory joined = new bytes(64); bytes32 h1 = link.currentHash[0]; bytes32 h2 = link.currentHash[1]; assembly { mstore(add(joined, 32), h1) mstore(add(joined, 64), h2) } return joined; } } ``` So does this actually save gas, or did I just waste your time? ## Gas Consumption To test gas consumption, i wrote the following fairly ugly test contract to measure gas consumption. To get cas costs, I would check the `CumulativeGasUsed` field of the transaction receipt. Tests were ran on a local private PoA chain on my laptop with a 1sec block time, using `geth 1.8.27-stable`. The functions `updateLink`, `updateLinkHash` and `updateLinkParts` are used to test gas costs from different ways of storing data in two `bytes32` storage slots. The function `setCID` is used to test gas costs for storing a hashed IPFS hash.. The function `setCIDString` was used to test gas costs from storing the plaintext (aka string) version of the IPFS hash. ```solidity pragma solidity 0.5.7; contract GasTest { string public hashString; bytes32 public hash; bytes32[2] public linkHash; bytes32 public linkPart1; bytes32 public linkPart2; LinkObject private link; struct LinkObject { bytes32[2] currentHash; } function updateLink(bytes32[2] memory _newHash) public returns (bool) { link.currentHash = _newHash; return true; } function updateLinkHash(bytes32[2] memory _newHash) public returns (bool) { linkHash = _newHash; return true; } function updateLinkParts(bytes32[2] memory _newHash) public returns (bool) { linkPart1 = _newHash[0]; linkPart2 = _newHash[1]; return true; } function setCID(bytes32 _cid) public returns (bool) { hash = _cid; return true; } function setCIDString(string memory _cid) public returns (bool) { hashString = _cid; return true; } } ``` And the results of cumulative gas usage from the above contract is | Function | Cumulative Gas Used | |------|---------------------| | updateLink | 66360 | | updateLinkHash | 66426 | | updateLinkParts | 66071 | | setCID | 43810 | | setCIDString | 86213 | Initially you might be looking at the gas cost for `setCID` and start thinking that I just wasted your precious time. However, we need to consider the fact that this isn't actually just the IPFS hash. It is a hash, *of* the IPFS hash. So while this may be gas efficient, it is not easy to consume outside of smart contracts, and is abysmal at best to consume within other smart contracts because: 1) We need to store a plaintext copy of the hash somewhere accessible by the smart contract (storage) 2) We need to read the plaintext data from storage, hash it, then compare the two hashed hashes. Now after considering that, the gas prices for the hash storage methods being talked about here (66071 -> 66360 depending on the method being used), combined with the fact that there you can store+consume the hashes as is, seems pretty useful in my eyes. ## Takeways * Use `blake2b-328` * Cast to bytes * Store in 2 `bytes32` storage slots * ??? * profit! |
| json metadata | {"tags":["ethereum","blockchain","ipfs","smart-contract","storage"],"image":["https://steemitimages.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iP9NnDPd8cYgNcNPAgCHxWtpiRzAc3VPR8tn2BRS41v4wLj1g6J1mqvtWTX7e1pTL9Hbpc4G9mg?format=match&mode=fit&width=640","https://raw.githubusercontent.com/multiformats/multiformats/eb22cd807db692877a9094b5bfb4d2997fd0278a/img/multihash.006.jpg","https://gateway.temporal.cloud/ipfs/QmR5uZMmt6rzsyW4iyHjFSb8ieUqqrWJWz7ea2iA6pBV1M"],"links":["https://multiformats.io/multihash/","https://multiformats.io/","https://github.com/multiformats/multihash"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #32481358/Trx 5901a547779026205a1f48b1a5629c1c1c2fb505 |
View Raw JSON Data
{
"trx_id": "5901a547779026205a1f48b1a5629c1c1c2fb505",
"block": 32481358,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-29T23:17:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "ethereum",
"author": "rtrade",
"permlink": "efficient-usable-and-cheap-storage-of-ipfs-hashes-in-solidity-smart-contracts",
"title": "Efficient, Usable, And Cheap Storage Of IPFS Hashes In Solidity Smart Contracts",
"body": "\n\n# Efficient, Usable, And Cheap Storage Of IPFS Hashes In Solidity Smart Contracts\n\nRecently while working on a new project, I encountered the need to store IPFS Hashes, in particular CIDv1 type on the ethereum blockchain, in a user-friendly but also gas efficient manner. Why CIDv1? Well CIDv0 uses sha2-256, whose output size does not fit into a single `bytes32` storage slot. From what I've seen in the wild, anytime people need to store IPFS hashes in smart contracts, it's almost always a hash of the IPFS CID stored in a `bytes32` storage variable, or the IPFS hash itself stored in a `string` storage variable. Working with CIDv1 does not suffer from this :)\n\nWhile there is nothing wrong with either of those two approaches, they are suboptimal. Hashing a hash simply to fit into a single storage slot makes it significantly harder to consume and is only worthwhile if you need to do so for security reasons. Storing the IPFS hash in a `string` storage variable is very expensive in general, and also suboptimal.\n\nThe trick here is being able to fit into as few, but fully occupied storage slots as possible (efficient), while being easy to consume (usable) and using minimal gas (cheap). This sounds simple in theory as all you need to do is find a hash function that takes up a single `bytes32` storage variable, or two `bytes32` storage variables, but because IPFS uses multiformats (or more appropriately, multihash) this isn't as easy as it sounds. To figure this out, we're going to need to talk a bit about multihash.\n\n## Multihash\n\n[Multihash](https://multiformats.io/multihash/) is a subset of the [multiformat](https://multiformats.io/) specification and allows us to create [self describing hashes](https://github.com/multiformats/multihash). The format for multihash looks like (image is from github.com/multiformats/multiformats):\n\n\n\nSo given the above, this means that even if you were able to find a hash function whose output is 32 bytes, multihash would then add an additional 4 bytes onto that for a total of 36 bytes. This means we then need to store it in a `bytes` storage variable which has a single word overhead.\n\n## Solution\n\nThis then lead me to the question, what if we can find a hash function which when in multihash format takes up a single `bytes32` storage slot we would be good to go! Well not quite, the only multihash that did this was `blake2b-136`, which `go-ipfs` nodes don't accept by default due to security risks... yikes!\n\nAfter several hours of different experimentation (aka blindly trying multihashes), I was finally able to find a hash function which when in multihash the output is 64 bytes, which means we can store this in exactly two `bytes32` storage slots, completely filling two slots and not wasting any. The multihash is `blake2b-328`. So to use this, all we need to do is take the 64 bytes output, split it in two and we're good to go!\n\n\n\n## Example\n\nTo keep things short, I'll demonstrate the most optimal solution I found after trying a few different combinations and ways to store two `bytes32` storage variables.\n\nThe first step is two define two parts of the hash, `hashPart1` and `hashPart2`. In order to store our IFPS hashes here, we need to take the 64 bytes output of the `blake2b-328` multihash, split it in half, storing each half within a 2 element array of `bytes32` type, passing that into the function `updateHash`.\n\nNow, whenever we want to consume this data, all we have to do is call `getHash` which will return the complete hash in `bytes` type. If you're consuming this in a mobile phone DApp, then all you need to do is convert to string, which in golang would be `string(returnedBytes)` and you have your IPFS Hash in plaintext!\n\n\n```solidity\npragma solidity 0.5.7;\n\ncontract Hash {\n \n bytes32 public hashPart1;\n bytes32 public hashPart2;\n\n\n function updateHash(bytes32[2] memory _hash) public returns (bool) {\n hashPart1 = _hash[0];\n hashPart2 = _hash[1];\n return true;\n }\n\n function getHash() public view returns (bytes memory) {\n bytes memory joined = new bytes(64);\n bytes32 h1 = link.currentHash[0];\n bytes32 h2 = link.currentHash[1];\n assembly {\n mstore(add(joined, 32), h1)\n mstore(add(joined, 64), h2)\n }\n return joined; \n }\n\n}\n```\n\nSo does this actually save gas, or did I just waste your time?\n\n\n## Gas Consumption\n\nTo test gas consumption, i wrote the following fairly ugly test contract to measure gas consumption. To get cas costs, I would check the `CumulativeGasUsed` field of the transaction receipt. Tests were ran on a local private PoA chain on my laptop with a 1sec block time, using `geth 1.8.27-stable`.\n\nThe functions `updateLink`, `updateLinkHash` and `updateLinkParts` are used to test gas costs from different ways of storing data in two `bytes32` storage slots. The function `setCID` is used to test gas costs for storing a hashed IPFS hash.. The function `setCIDString` was used to test gas costs from storing the plaintext (aka string) version of the IPFS hash.\n\n```solidity\npragma solidity 0.5.7;\n\ncontract GasTest {\n\n string public hashString;\n bytes32 public hash;\n bytes32[2] public linkHash;\n bytes32 public linkPart1;\n bytes32 public linkPart2;\n LinkObject private link;\n\n struct LinkObject {\n bytes32[2] currentHash;\n }\n\n function updateLink(bytes32[2] memory _newHash) public returns (bool) {\n link.currentHash = _newHash;\n return true;\n }\n\n function updateLinkHash(bytes32[2] memory _newHash) public returns (bool) {\n linkHash = _newHash;\n return true;\n }\n\n function updateLinkParts(bytes32[2] memory _newHash) public returns (bool) {\n linkPart1 = _newHash[0];\n linkPart2 = _newHash[1];\n return true;\n }\n\n function setCID(bytes32 _cid) public returns (bool) {\n hash = _cid;\n return true;\n }\n\n\n function setCIDString(string memory _cid) public returns (bool) {\n hashString = _cid;\n return true;\n }\n}\n```\n\nAnd the results of cumulative gas usage from the above contract is\n\n\n| Function | Cumulative Gas Used |\n|------|---------------------|\n| updateLink | 66360 |\n| updateLinkHash | 66426 |\n| updateLinkParts | 66071 |\n| setCID | 43810 |\n| setCIDString | 86213 |\n\nInitially you might be looking at the gas cost for `setCID` and start thinking that I just wasted your precious time. However, we need to consider the fact that this isn't actually just the IPFS hash. It is a hash, *of* the IPFS hash. So while this may be gas efficient, it is not easy to consume outside of smart contracts, and is abysmal at best to consume within other smart contracts because:\n\n1) We need to store a plaintext copy of the hash somewhere accessible by the smart contract (storage)\n2) We need to read the plaintext data from storage, hash it, then compare the two hashed hashes.\n\nNow after considering that, the gas prices for the hash storage methods being talked about here (66071 -> 66360 depending on the method being used), combined with the fact that there you can store+consume the hashes as is, seems pretty useful in my eyes.\n\n\n\n## Takeways\n\n* Use `blake2b-328`\n* Cast to bytes\n* Store in 2 `bytes32` storage slots\n* ???\n* profit!",
"json_metadata": "{\"tags\":[\"ethereum\",\"blockchain\",\"ipfs\",\"smart-contract\",\"storage\"],\"image\":[\"https://steemitimages.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iP9NnDPd8cYgNcNPAgCHxWtpiRzAc3VPR8tn2BRS41v4wLj1g6J1mqvtWTX7e1pTL9Hbpc4G9mg?format=match&mode=fit&width=640\",\"https://raw.githubusercontent.com/multiformats/multiformats/eb22cd807db692877a9094b5bfb4d2997fd0278a/img/multihash.006.jpg\",\"https://gateway.temporal.cloud/ipfs/QmR5uZMmt6rzsyW4iyHjFSb8ieUqqrWJWz7ea2iA6pBV1M\"],\"links\":[\"https://multiformats.io/multihash/\",\"https://multiformats.io/\",\"https://github.com/multiformats/multihash\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}rtradereceived 0.000 STEEM from power down installment (0.000 SP)2019/01/15 18:31:00
rtradereceived 0.000 STEEM from power down installment (0.000 SP)
2019/01/15 18:31:00
| from account | rtrade |
| to account | rtrade |
| withdrawn | 0.000006 VESTS |
| deposited | 0.000 STEEM |
| Transaction Info | Block #29484210/Virtual Operation #9 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 29484210,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 9,
"timestamp": "2019-01-15T18:31:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "0.000006 VESTS",
"deposited": "0.000 STEEM"
}
]
}rtradereceived 13.725 STEEM from power down installment (16.935 SP)2019/01/08 18:31:00
rtradereceived 13.725 STEEM from power down installment (16.935 SP)
2019/01/08 18:31:00
| from account | rtrade |
| to account | rtrade |
| withdrawn | 27577.396201 VESTS |
| deposited | 13.725 STEEM |
| Transaction Info | Block #29282749/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 29282749,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2019-01-08T18:31:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "27577.396201 VESTS",
"deposited": "13.725 STEEM"
}
]
}rtradereceived 13.720 STEEM from power down installment (16.935 SP)2019/01/01 18:31:00
rtradereceived 13.720 STEEM from power down installment (16.935 SP)
2019/01/01 18:31:00
| from account | rtrade |
| to account | rtrade |
| withdrawn | 27577.396201 VESTS |
| deposited | 13.720 STEEM |
| Transaction Info | Block #29081384/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 29081384,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2019-01-01T18:31:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "27577.396201 VESTS",
"deposited": "13.720 STEEM"
}
]
}2018/12/29 11:17:09
2018/12/29 11:17:09
| voter | rtrade |
| author | rtrade |
| permlink | re-steemcleaners-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092103126z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #28986379/Trx 096750aa9c1c918e8db429f7c957d84f1aae1752 |
View Raw JSON Data
{
"trx_id": "096750aa9c1c918e8db429f7c957d84f1aae1752",
"block": 28986379,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-29T11:17:09",
"op": [
"vote",
{
"voter": "rtrade",
"author": "rtrade",
"permlink": "re-steemcleaners-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092103126z",
"weight": 10000
}
]
}rtradereceived 13.715 STEEM from power down installment (16.935 SP)2018/12/25 18:31:00
rtradereceived 13.715 STEEM from power down installment (16.935 SP)
2018/12/25 18:31:00
| from account | rtrade |
| to account | rtrade |
| withdrawn | 27577.396201 VESTS |
| deposited | 13.715 STEEM |
| Transaction Info | Block #28879894/Virtual Operation #14 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 28879894,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 14,
"timestamp": "2018-12-25T18:31:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "27577.396201 VESTS",
"deposited": "13.715 STEEM"
}
]
}2018/12/21 09:23:18
2018/12/21 09:23:18
| voter | linuxguy |
| author | rtrade |
| permlink | re-steemcleaners-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092103126z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #28753801/Trx 7734db945c89d1863a6101df4b752b499627e9a0 |
View Raw JSON Data
{
"trx_id": "7734db945c89d1863a6101df4b752b499627e9a0",
"block": 28753801,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:23:18",
"op": [
"vote",
{
"voter": "linuxguy",
"author": "rtrade",
"permlink": "re-steemcleaners-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092103126z",
"weight": 10000
}
]
}2018/12/21 09:23:09
2018/12/21 09:23:09
| voter | linuxguy |
| author | rtrade |
| permlink | re-steemcleaner-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092034476z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #28753798/Trx 96475638a2a5e05a0d38b308aacbc27df084f84c |
View Raw JSON Data
{
"trx_id": "96475638a2a5e05a0d38b308aacbc27df084f84c",
"block": 28753798,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:23:09",
"op": [
"vote",
{
"voter": "linuxguy",
"author": "rtrade",
"permlink": "re-steemcleaner-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092034476z",
"weight": 10000
}
]
}2018/12/21 09:21:33
2018/12/21 09:21:33
| voter | rtrade |
| author | rtrade |
| permlink | re-steemcleaner-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092034476z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #28753766/Trx 61e420667b586b1a801dd347ca2b8244198df471 |
View Raw JSON Data
{
"trx_id": "61e420667b586b1a801dd347ca2b8244198df471",
"block": 28753766,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:21:33",
"op": [
"vote",
{
"voter": "rtrade",
"author": "rtrade",
"permlink": "re-steemcleaner-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092034476z",
"weight": 10000
}
]
}2018/12/21 09:21:12
2018/12/21 09:21:12
| voter | cheetah |
| author | rtrade |
| permlink | re-steemcleaners-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092103126z |
| weight | -8 (-0.08%) |
| Transaction Info | Block #28753759/Trx 62ab34c7fb6c64a1f1f1ffbe51ce600b9a42771c |
View Raw JSON Data
{
"trx_id": "62ab34c7fb6c64a1f1f1ffbe51ce600b9a42771c",
"block": 28753759,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:21:12",
"op": [
"vote",
{
"voter": "cheetah",
"author": "rtrade",
"permlink": "re-steemcleaners-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092103126z",
"weight": -8
}
]
}2018/12/21 09:21:03
2018/12/21 09:21:03
| parent author | steemcleaners |
| parent permlink | re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181208t110301526z |
| author | rtrade |
| permlink | re-steemcleaners-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092103126z |
| title | |
| body | Not sure what exactly "steemcleaner" is but we're not going to verify with services we've never heard about, nor that didn't bother to reach out to us through proper channels. Tweeting us isn't a reliable method of contacting us. Our emails are clearly available on our websites, telegram, and other community channels. |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #28753756/Trx e341e6b20358c86e0f3c879954c91f03da8be2c6 |
View Raw JSON Data
{
"trx_id": "e341e6b20358c86e0f3c879954c91f03da8be2c6",
"block": 28753756,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:21:03",
"op": [
"comment",
{
"parent_author": "steemcleaners",
"parent_permlink": "re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181208t110301526z",
"author": "rtrade",
"permlink": "re-steemcleaners-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092103126z",
"title": "",
"body": "Not sure what exactly \"steemcleaner\" is but we're not going to verify with services we've never heard about, nor that didn't bother to reach out to us through proper channels. Tweeting us isn't a reliable method of contacting us. Our emails are clearly available on our websites, telegram, and other community channels.",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/12/21 09:20:57
2018/12/21 09:20:57
| voter | rtrade |
| author | steemcleaner |
| permlink | re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181214t161012580z |
| weight | -10000 (-100.00%) |
| Transaction Info | Block #28753754/Trx 0497d9cc6758e9164226fef7eef089327c1a6e63 |
View Raw JSON Data
{
"trx_id": "0497d9cc6758e9164226fef7eef089327c1a6e63",
"block": 28753754,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:20:57",
"op": [
"vote",
{
"voter": "rtrade",
"author": "steemcleaner",
"permlink": "re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181214t161012580z",
"weight": -10000
}
]
}2018/12/21 09:20:48
2018/12/21 09:20:48
| voter | rtrade |
| author | cheetah |
| permlink | cheetah-re-steemcleanerre-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181214t161012580z |
| weight | -10000 (-100.00%) |
| Transaction Info | Block #28753751/Trx 7df693aac050803b53fdfbf077f204750e189f1d |
View Raw JSON Data
{
"trx_id": "7df693aac050803b53fdfbf077f204750e189f1d",
"block": 28753751,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:20:48",
"op": [
"vote",
{
"voter": "rtrade",
"author": "cheetah",
"permlink": "cheetah-re-steemcleanerre-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181214t161012580z",
"weight": -10000
}
]
}2018/12/21 09:20:45
2018/12/21 09:20:45
| voter | cheetah |
| author | rtrade |
| permlink | re-steemcleaner-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092034476z |
| weight | -8 (-0.08%) |
| Transaction Info | Block #28753750/Trx a3a05b1e4a176bfdd2eebd756b5a79ee4fe73c37 |
View Raw JSON Data
{
"trx_id": "a3a05b1e4a176bfdd2eebd756b5a79ee4fe73c37",
"block": 28753750,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:20:45",
"op": [
"vote",
{
"voter": "cheetah",
"author": "rtrade",
"permlink": "re-steemcleaner-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092034476z",
"weight": -8
}
]
}2018/12/21 09:20:36
2018/12/21 09:20:36
| parent author | steemcleaner |
| parent permlink | re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181214t161012580z |
| author | rtrade |
| permlink | re-steemcleaner-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092034476z |
| title | |
| body | Not sure what exactly "steemcleaner" is but we're not going to verify with services we've never heard about, nor that didn't bother to reach out to us through proper channels. Tweeting us isn't a reliable method of contacting us. Our emails are clearly available on our websites, telegram, and other community channels. |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| Transaction Info | Block #28753747/Trx a2bba2bc9edd0409a469766c043664cbec39ab6e |
View Raw JSON Data
{
"trx_id": "a2bba2bc9edd0409a469766c043664cbec39ab6e",
"block": 28753747,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:20:36",
"op": [
"comment",
{
"parent_author": "steemcleaner",
"parent_permlink": "re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181214t161012580z",
"author": "rtrade",
"permlink": "re-steemcleaner-re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181221t092034476z",
"title": "",
"body": "Not sure what exactly \"steemcleaner\" is but we're not going to verify with services we've never heard about, nor that didn't bother to reach out to us through proper channels. Tweeting us isn't a reliable method of contacting us. Our emails are clearly available on our websites, telegram, and other community channels.",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/12/21 09:20:18
2018/12/21 09:20:18
| voter | rtrade |
| author | steemcleaners |
| permlink | re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181208t110301526z |
| weight | -10000 (-100.00%) |
| Transaction Info | Block #28753741/Trx 10151ff299298b7b35749292f82a5d1d48fc5829 |
View Raw JSON Data
{
"trx_id": "10151ff299298b7b35749292f82a5d1d48fc5829",
"block": 28753741,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-21T09:20:18",
"op": [
"vote",
{
"voter": "rtrade",
"author": "steemcleaners",
"permlink": "re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181208t110301526z",
"weight": -10000
}
]
}rtradereceived 13.709 STEEM from power down installment (16.935 SP)2018/12/18 18:31:00
rtradereceived 13.709 STEEM from power down installment (16.935 SP)
2018/12/18 18:31:00
| from account | rtrade |
| to account | rtrade |
| withdrawn | 27577.396201 VESTS |
| deposited | 13.709 STEEM |
| Transaction Info | Block #28678417/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 28678417,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2018-12-18T18:31:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "27577.396201 VESTS",
"deposited": "13.709 STEEM"
}
]
}2018/12/14 16:10:12
2018/12/14 16:10:12
| parent author | rtrade |
| parent permlink | rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage |
| author | steemcleaner |
| permlink | re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181214t161012580z |
| title | |
| body | !cheetah ban Failed ID Verification. |
| json metadata | {"app":"steemcleaners/0.3","format":"markdown+html","community":"steemcleaners"} |
| Transaction Info | Block #28560473/Trx bed9d99e89128255a02ae0d27cc66b84de511b33 |
View Raw JSON Data
{
"trx_id": "bed9d99e89128255a02ae0d27cc66b84de511b33",
"block": 28560473,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-14T16:10:12",
"op": [
"comment",
{
"parent_author": "rtrade",
"parent_permlink": "rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage",
"author": "steemcleaner",
"permlink": "re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181214t161012580z",
"title": "",
"body": "!cheetah ban\nFailed ID Verification.",
"json_metadata": "{\"app\":\"steemcleaners/0.3\",\"format\":\"markdown+html\",\"community\":\"steemcleaners\"}"
}
]
}rtradereceived 13.704 STEEM from power down installment (16.935 SP)2018/12/11 18:31:00
rtradereceived 13.704 STEEM from power down installment (16.935 SP)
2018/12/11 18:31:00
| from account | rtrade |
| to account | rtrade |
| withdrawn | 27577.396201 VESTS |
| deposited | 13.704 STEEM |
| Transaction Info | Block #28476956/Virtual Operation #22 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 28476956,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 22,
"timestamp": "2018-12-11T18:31:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "rtrade",
"to_account": "rtrade",
"withdrawn": "27577.396201 VESTS",
"deposited": "13.704 STEEM"
}
]
}demandkelvinupvoted (100.00%) @rtrade / rtrade-technologies-ltd-mega-development-update2018/12/10 09:16:21
demandkelvinupvoted (100.00%) @rtrade / rtrade-technologies-ltd-mega-development-update
2018/12/10 09:16:21
| voter | demandkelvin |
| author | rtrade |
| permlink | rtrade-technologies-ltd-mega-development-update |
| weight | 10000 (100.00%) |
| Transaction Info | Block #28437093/Trx 6c7fe0823d1a62e5857229f4003fb4bd464e22f0 |
View Raw JSON Data
{
"trx_id": "6c7fe0823d1a62e5857229f4003fb4bd464e22f0",
"block": 28437093,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-10T09:16:21",
"op": [
"vote",
{
"voter": "demandkelvin",
"author": "rtrade",
"permlink": "rtrade-technologies-ltd-mega-development-update",
"weight": 10000
}
]
}2018/12/10 09:16:21
2018/12/10 09:16:21
| voter | demandkelvin |
| author | rtrade |
| permlink | rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage |
| weight | 10000 (100.00%) |
| Transaction Info | Block #28437093/Trx 0f8f6810c649ea7f62ce17939a88083e5f4824e0 |
View Raw JSON Data
{
"trx_id": "0f8f6810c649ea7f62ce17939a88083e5f4824e0",
"block": 28437093,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-10T09:16:21",
"op": [
"vote",
{
"voter": "demandkelvin",
"author": "rtrade",
"permlink": "rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage",
"weight": 10000
}
]
}2018/12/08 11:03:03
2018/12/08 11:03:03
| parent author | rtrade |
| parent permlink | rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage |
| author | steemcleaners |
| permlink | re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181208t110301526z |
| title | |
| body | Hello, We have contacted you on your Twitter to verify the authorship of your Steemit blog but we have received no response yet. We would be grateful if you could, please, respond to us via Twitter. https://twitter.com/steemcleaners/status/1068225314965331970 Please note I am a volunteer that works to ensure that plagiarised content does not get rewarded. I have no way to remove any content from steemit.com. Thank you |
| json metadata | {"tags":["cryptocurrency"],"links":["https://twitter.com/steemcleaners/status/1068225314965331970"],"app":"steemit/0.1"} |
| Transaction Info | Block #28381650/Trx b2e2e68ab4c8868607026005e0b8c12febc6ce92 |
View Raw JSON Data
{
"trx_id": "b2e2e68ab4c8868607026005e0b8c12febc6ce92",
"block": 28381650,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-08T11:03:03",
"op": [
"comment",
{
"parent_author": "rtrade",
"parent_permlink": "rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage",
"author": "steemcleaners",
"permlink": "re-rtrade-rtrade-technologies-to-use-chainlink-to-provide-oracles-for-high-quality-off-chain-data-storage-20181208t110301526z",
"title": "",
"body": "Hello, \n\nWe have contacted you on your Twitter to verify the authorship of your Steemit blog but we have received no response yet. We would be grateful if you could, please, respond to us via Twitter. \n\nhttps://twitter.com/steemcleaners/status/1068225314965331970\n\nPlease note I am a volunteer that works to ensure that plagiarised content does not get rewarded. I have no way to remove any content from steemit.com.\n\nThank you",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"links\":[\"https://twitter.com/steemcleaners/status/1068225314965331970\"],\"app\":\"steemit/0.1\"}"
}
]
}rtradeclaimed reward balance: 1.279 STEEM, 0.004 SBD, 1.596 SP2018/12/06 23:13:39
rtradeclaimed reward balance: 1.279 STEEM, 0.004 SBD, 1.596 SP
2018/12/06 23:13:39
| account | rtrade |
| reward steem | 1.279 STEEM |
| reward sbd | 0.004 SBD |
| reward vests | 2598.707695 VESTS |
| Transaction Info | Block #28338704/Trx 79d6ca68e30c5bc15dde63698642df88d9571107 |
View Raw JSON Data
{
"trx_id": "79d6ca68e30c5bc15dde63698642df88d9571107",
"block": 28338704,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-12-06T23:13:39",
"op": [
"claim_reward_balance",
{
"account": "rtrade",
"reward_steem": "1.279 STEEM",
"reward_sbd": "0.004 SBD",
"reward_vests": "2598.707695 VESTS"
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress80.32%
{
"voting_manabar": {
"current_mana": "954278682119",
"last_update_time": 1557554130
},
"downvote_manabar": {
"current_mana": 0,
"last_update_time": 1527117576
},
"rc_account": {
"account": "rtrade",
"rc_manabar": {
"current_mana": "12770517130",
"last_update_time": 1600372074
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "12933766421"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"location":"Canada","website":"http://www.rtradetechnologies.com","about":"Steemit page for RTrade Technologies LTD. Specialists in Blockchain Infrastructure","name":"RTrade Technologies","profile_image":"https://cdn.steemitimages.com/DQmS3zhzYVoAcpMWWALxHmxULS9krj2uPXYorCqr9dvf6Ep/about-us_R-logo%20Circle.png","cover_image":"https://cdn.steemitimages.com/DQmcrrfZzmzKWjtN2JagXTsvCqd9wyF6igBquUEvmPTVqFa/Twitter%20Header.png"} |
| JSON METADATA | |
| profile | {"location":"Canada","website":"http://www.rtradetechnologies.com","about":"Steemit page for RTrade Technologies LTD. Specialists in Blockchain Infrastructure","name":"RTrade Technologies","profile_image":"https://cdn.steemitimages.com/DQmS3zhzYVoAcpMWWALxHmxULS9krj2uPXYorCqr9dvf6Ep/about-us_R-logo%20Circle.png","cover_image":"https://cdn.steemitimages.com/DQmcrrfZzmzKWjtN2JagXTsvCqd9wyF6igBquUEvmPTVqFa/Twitter%20Header.png"} |
{
"posting_json_metadata": {
"profile": {
"location": "Canada",
"website": "http://www.rtradetechnologies.com",
"about": "Steemit page for RTrade Technologies LTD. Specialists in Blockchain Infrastructure",
"name": "RTrade Technologies",
"profile_image": "https://cdn.steemitimages.com/DQmS3zhzYVoAcpMWWALxHmxULS9krj2uPXYorCqr9dvf6Ep/about-us_R-logo%20Circle.png",
"cover_image": "https://cdn.steemitimages.com/DQmcrrfZzmzKWjtN2JagXTsvCqd9wyF6igBquUEvmPTVqFa/Twitter%20Header.png"
}
},
"json_metadata": {
"profile": {
"location": "Canada",
"website": "http://www.rtradetechnologies.com",
"about": "Steemit page for RTrade Technologies LTD. Specialists in Blockchain Infrastructure",
"name": "RTrade Technologies",
"profile_image": "https://cdn.steemitimages.com/DQmS3zhzYVoAcpMWWALxHmxULS9krj2uPXYorCqr9dvf6Ep/about-us_R-logo%20Circle.png",
"cover_image": "https://cdn.steemitimages.com/DQmcrrfZzmzKWjtN2JagXTsvCqd9wyF6igBquUEvmPTVqFa/Twitter%20Header.png"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM7FjLoFn2ZCFr8Xh7t6hTsYGyGHe7C7dyegFz7ByTuGcHpfZXiH1/1
Active
Single Signature
Public Keys
STM6wzdmt6xJ6SQh87k7FHm8z8jXnx1Hx4msAA2qiQpaMmHAeiXM71/1
Posting
Single Signature
Public Keys
STM6zrckzoNfRuT31Z74BHFDKoJxnck8o2E4ADEutTRn3GDMwrYeW1/1
Memo
STM7buGbJducfuRaRqK9MHDsJHrdBT7eHrsjoWYLPFzMmbQEvpfdy
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7FjLoFn2ZCFr8Xh7t6hTsYGyGHe7C7dyegFz7ByTuGcHpfZXiH",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6wzdmt6xJ6SQh87k7FHm8z8jXnx1Hx4msAA2qiQpaMmHAeiXM7",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6zrckzoNfRuT31Z74BHFDKoJxnck8o2E4ADEutTRn3GDMwrYeW",
1
]
]
},
"memo": "STM7buGbJducfuRaRqK9MHDsJHrdBT7eHrsjoWYLPFzMmbQEvpfdy"
}Witness Votes
0 / 30
No active witness votes.
[]