@petarjs
54COO @Review.Network. Hungry for Code, Hungry for Ideas. Passionate about engineering Web applications, sharing knowledge and building communities.
steemit.com/@petarjsVOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS9.70%
Net Worth
15.953USD
STEEM
2.186STEEM
SBD
4.025SBD
Own SP
255.932SP
Detailed Balance
| STEEM | ||
| balance | 2.186STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 255.932SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 0.000SP | SP |
| Effective Power | 255.932SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 4.025SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "2.186 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "416758.998285 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "4.025 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | petarjs |
| id | 324100 |
| rank | 9,534 |
| reputation | 1710016701366 |
| created | 2017-08-21T14:55:45 |
| recovery_account | steem |
| proxy | None |
| post_count | 51 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-09-09T10:54:09 |
| last_root_post | 2018-09-09T10:54:09 |
| last_vote_time | 2018-09-08T22:45:45 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 2.186 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 4.025 SBD |
| vesting_shares | 416758.998285 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 | 4192685442 |
| to_withdraw | 4192685442 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-09-08T22:19:51 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 2018-09-08T22:11:33 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 324100,
"name": "petarjs",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6FiN3bvFHNG13apbZHA31sqF6nkizvcatBN4kcFTPvPpvpZNFH",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6qEXT7WbAuwuRU9WM7s28wk2EuXkf7yZ4P8cvMQdP6DtUcvDPV",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [
[
"busy.app",
1
]
],
"key_auths": [
[
"STM88Hunh9K7LHdFkCHsrsQ8XTDa49VQCFaDaSMe5k2NjQaeLPcd8",
1
]
]
},
"memo_key": "STM6CveEmoEKcb5HhX6uCeh2E1TAUsVbuH5Cbr5t4nfPZF1mzvTuT",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://scontent.fbeg5-1.fna.fbcdn.net/v/t1.0-1/p160x160/10353542_10204994411241194_8622727079869454566_n.jpg?oh=2995b890fd7882e4f74ae53d20513cb0&oe=5A1DADCA\",\"name\":\"petarjs\",\"location\":\"Belgrade\",\"website\":\"https://petar.io\",\"about\":\"COO @Review.Network. Hungry for Code, Hungry for Ideas. Passionate about engineering Web applications, sharing knowledge and building communities.\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://scontent.fbeg5-1.fna.fbcdn.net/v/t1.0-1/p160x160/10353542_10204994411241194_8622727079869454566_n.jpg?oh=2995b890fd7882e4f74ae53d20513cb0&oe=5A1DADCA\",\"name\":\"petarjs\",\"location\":\"Belgrade\",\"website\":\"https://petar.io\",\"about\":\"COO @Review.Network. Hungry for Code, Hungry for Ideas. Passionate about engineering Web applications, sharing knowledge and building communities.\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2018-09-08T22:19:51",
"created": "2017-08-21T14:55:45",
"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": 51,
"can_vote": true,
"voting_manabar": {
"current_mana": "419016598143",
"last_update_time": 1539798138
},
"downvote_manabar": {
"current_mana": 0,
"last_update_time": 1503327345
},
"voting_power": 0,
"balance": "2.186 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "2018-10-17T17:42:18",
"sbd_last_interest_payment": "2018-09-08T22:11:33",
"savings_sbd_balance": "4.025 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "2018-07-03T09: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": "416758.998285 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": 4192685442,
"to_withdraw": 4192685442,
"withdraw_routes": 0,
"curation_rewards": 149,
"posting_rewards": 205553,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2018-09-09T10:54:09",
"last_root_post": "2018-09-09T10:54:09",
"last_vote_time": "2018-09-08T22:45:45",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": "1710016701366",
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 9534
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2022/12/27 00:13:03
2022/12/27 00:13:03
| from | steemegg |
| to | petarjs |
| amount | 0.001 STEEM |
| memo | Free Upvotes Await!!!, Vote @se-witness for one of your 30 witness votes. Once you do so, you will start accumulating free upvotes every 6 hours automatically. Please check my latests posts for more info. Thanks! |
| Transaction Info | Block #70644679/Trx 81136443a5388d6481d2896abfcc9d01f432d227 |
View Raw JSON Data
{
"trx_id": "81136443a5388d6481d2896abfcc9d01f432d227",
"block": 70644679,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-12-27T00:13:03",
"op": [
"transfer",
{
"from": "steemegg",
"to": "petarjs",
"amount": "0.001 STEEM",
"memo": "Free Upvotes Await!!!, Vote @se-witness for one of your 30 witness votes. Once you do so, you will start accumulating free upvotes every 6 hours automatically. Please check my latests posts for more info. Thanks!"
}
]
}2022/06/29 05:50:27
2022/06/29 05:50:27
| parent author | petarjs |
| parent permlink | the-crazy-truth-about-my-first-job-in-software-development |
| author | dhev |
| permlink | re85k0 |
| title | |
| body | GoProtoz is a leading designer in the UX UI field, building a revolution in the world with our marvelous interaction designs.We Provide UI/UX design and development services for your Mobile and Web Application. Our Services are: UI UX Design, UX Design Consulting, Web Design, Data Visualization, Digital Product Ideation, and Branding. https://www.goprotoz.com/services.html |
| json metadata | {"links":["https://www.goprotoz.com/services.html"],"app":"steemit/0.2"} |
| Transaction Info | Block #65472063/Trx 2e9ad4663f8d902e66b0530bd4bf7fec7152ab0b |
View Raw JSON Data
{
"trx_id": "2e9ad4663f8d902e66b0530bd4bf7fec7152ab0b",
"block": 65472063,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-06-29T05:50:27",
"op": [
"comment",
{
"parent_author": "petarjs",
"parent_permlink": "the-crazy-truth-about-my-first-job-in-software-development",
"author": "dhev",
"permlink": "re85k0",
"title": "",
"body": "GoProtoz is a leading designer in the UX UI field, building a revolution in the world with our marvelous interaction designs.We Provide UI/UX design and development services for your Mobile and Web Application. Our Services are: UI UX Design, UX Design Consulting, Web Design, Data Visualization, Digital Product Ideation, and Branding. https://www.goprotoz.com/services.html",
"json_metadata": "{\"links\":[\"https://www.goprotoz.com/services.html\"],\"app\":\"steemit/0.2\"}"
}
]
}2019/08/21 15:54:51
2019/08/21 15:54:51
| parent author | petarjs |
| parent permlink | the-front-end-checklist-88-items-to-make-your-web-app-awesome |
| author | steemitboard |
| permlink | steemitboard-notify-petarjs-20190821t155451000z |
| title | |
| body | Congratulations @petarjs! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@petarjs/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@petarjs) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=petarjs)_</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 #35750351/Trx a4bfc379d84bbddf313223bcd91c98c9c9b6136e |
View Raw JSON Data
{
"trx_id": "a4bfc379d84bbddf313223bcd91c98c9c9b6136e",
"block": 35750351,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-21T15:54:51",
"op": [
"comment",
{
"parent_author": "petarjs",
"parent_permlink": "the-front-end-checklist-88-items-to-make-your-web-app-awesome",
"author": "steemitboard",
"permlink": "steemitboard-notify-petarjs-20190821t155451000z",
"title": "",
"body": "Congratulations @petarjs! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@petarjs/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@petarjs) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=petarjs)_</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\"]}"
}
]
}atalibaupvoted (100.00%) @petarjs / interactive-course-14-steps-to-a-career-boosting-portfolio2019/03/07 17:30:09
atalibaupvoted (100.00%) @petarjs / interactive-course-14-steps-to-a-career-boosting-portfolio
2019/03/07 17:30:09
| voter | ataliba |
| author | petarjs |
| permlink | interactive-course-14-steps-to-a-career-boosting-portfolio |
| weight | 10000 (100.00%) |
| Transaction Info | Block #30950536/Trx 774f4ede0992eae3321816253bc6b4053c43c61c |
View Raw JSON Data
{
"trx_id": "774f4ede0992eae3321816253bc6b4053c43c61c",
"block": 30950536,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-03-07T17:30:09",
"op": [
"vote",
{
"voter": "ataliba",
"author": "petarjs",
"permlink": "interactive-course-14-steps-to-a-career-boosting-portfolio",
"weight": 10000
}
]
}petarjsreceived 0.000 STEEM from power down installment (0.000 SP)2018/12/15 22:18:00
petarjsreceived 0.000 STEEM from power down installment (0.000 SP)
2018/12/15 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 0.000010 VESTS |
| deposited | 0.000 STEEM |
| Transaction Info | Block #28596611/Virtual Operation #19 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 28596611,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 19,
"timestamp": "2018-12-15T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "0.000010 VESTS",
"deposited": "0.000 STEEM"
}
]
}petarjsreceived 0.160 STEEM from power down installment (0.198 SP)2018/12/08 22:18:00
petarjsreceived 0.160 STEEM from power down installment (0.198 SP)
2018/12/08 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.160 STEEM |
| Transaction Info | Block #28395144/Virtual Operation #45 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 28395144,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 45,
"timestamp": "2018-12-08T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.160 STEEM"
}
]
}petarjsreceived 0.160 STEEM from power down installment (0.198 SP)2018/12/01 22:18:00
petarjsreceived 0.160 STEEM from power down installment (0.198 SP)
2018/12/01 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.160 STEEM |
| Transaction Info | Block #28193645/Virtual Operation #6 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 28193645,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 6,
"timestamp": "2018-12-01T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.160 STEEM"
}
]
}petarjsreceived 0.160 STEEM from power down installment (0.198 SP)2018/11/24 22:18:00
petarjsreceived 0.160 STEEM from power down installment (0.198 SP)
2018/11/24 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.160 STEEM |
| Transaction Info | Block #27992123/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 27992123,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2018-11-24T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.160 STEEM"
}
]
}petarjsreceived 0.160 STEEM from power down installment (0.198 SP)2018/11/17 22:18:00
petarjsreceived 0.160 STEEM from power down installment (0.198 SP)
2018/11/17 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.160 STEEM |
| Transaction Info | Block #27790617/Virtual Operation #4 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 27790617,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 4,
"timestamp": "2018-11-17T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.160 STEEM"
}
]
}petarjsreceived 0.159 STEEM from power down installment (0.198 SP)2018/11/10 22:18:00
petarjsreceived 0.159 STEEM from power down installment (0.198 SP)
2018/11/10 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.159 STEEM |
| Transaction Info | Block #27589176/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 27589176,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2018-11-10T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.159 STEEM"
}
]
}petarjsreceived 0.159 STEEM from power down installment (0.198 SP)2018/11/03 22:18:00
petarjsreceived 0.159 STEEM from power down installment (0.198 SP)
2018/11/03 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.159 STEEM |
| Transaction Info | Block #27387728/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 27387728,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2018-11-03T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.159 STEEM"
}
]
}petarjsreceived 0.159 STEEM from power down installment (0.198 SP)2018/10/27 22:18:00
petarjsreceived 0.159 STEEM from power down installment (0.198 SP)
2018/10/27 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.159 STEEM |
| Transaction Info | Block #27186274/Virtual Operation #4 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 27186274,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 4,
"timestamp": "2018-10-27T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.159 STEEM"
}
]
}petarjsreceived 0.159 STEEM from power down installment (0.198 SP)2018/10/20 22:18:00
petarjsreceived 0.159 STEEM from power down installment (0.198 SP)
2018/10/20 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.159 STEEM |
| Transaction Info | Block #26984825/Virtual Operation #15 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 26984825,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 15,
"timestamp": "2018-10-20T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.159 STEEM"
}
]
}petarjsclaimed reward balance: 0.004 SP2018/10/17 17:42:18
petarjsclaimed reward balance: 0.004 SP
2018/10/17 17:42:18
| account | petarjs |
| reward steem | 0.000 STEEM |
| reward sbd | 0.000 SBD |
| reward vests | 6.065383 VESTS |
| Transaction Info | Block #26892965/Trx 77f6d2260c2efca37c7025b5404ae1fab91d362b |
View Raw JSON Data
{
"trx_id": "77f6d2260c2efca37c7025b5404ae1fab91d362b",
"block": 26892965,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-17T17:42:18",
"op": [
"claim_reward_balance",
{
"account": "petarjs",
"reward_steem": "0.000 STEEM",
"reward_sbd": "0.000 SBD",
"reward_vests": "6.065383 VESTS"
}
]
}petarjsreceived 0.159 STEEM from power down installment (0.198 SP)2018/10/13 22:18:00
petarjsreceived 0.159 STEEM from power down installment (0.198 SP)
2018/10/13 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.159 STEEM |
| Transaction Info | Block #26783376/Virtual Operation #6 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 26783376,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 6,
"timestamp": "2018-10-13T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.159 STEEM"
}
]
}petarjsreceived 0.159 STEEM from power down installment (0.198 SP)2018/10/06 22:18:00
petarjsreceived 0.159 STEEM from power down installment (0.198 SP)
2018/10/06 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.159 STEEM |
| Transaction Info | Block #26581914/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 26581914,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2018-10-06T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.159 STEEM"
}
]
}petarjsreceived 0.159 STEEM from power down installment (0.198 SP)2018/09/29 22:18:00
petarjsreceived 0.159 STEEM from power down installment (0.198 SP)
2018/09/29 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.159 STEEM |
| Transaction Info | Block #26380443/Virtual Operation #9 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 26380443,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 9,
"timestamp": "2018-09-29T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.159 STEEM"
}
]
}petarjsreceived 0.159 STEEM from power down installment (0.198 SP)2018/09/22 22:18:00
petarjsreceived 0.159 STEEM from power down installment (0.198 SP)
2018/09/22 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.159 STEEM |
| Transaction Info | Block #26179166/Virtual Operation #7 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 26179166,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 7,
"timestamp": "2018-09-22T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.159 STEEM"
}
]
}petarjsreceived 0.159 STEEM from power down installment (0.198 SP)2018/09/15 22:18:00
petarjsreceived 0.159 STEEM from power down installment (0.198 SP)
2018/09/15 22:18:00
| from account | petarjs |
| to account | petarjs |
| withdrawn | 322.514264 VESTS |
| deposited | 0.159 STEEM |
| Transaction Info | Block #25993277/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 25993277,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2018-09-15T22:18:00",
"op": [
"fill_vesting_withdraw",
{
"from_account": "petarjs",
"to_account": "petarjs",
"withdrawn": "322.514264 VESTS",
"deposited": "0.159 STEEM"
}
]
}petarjsreceived 0.004 SP curation reward for @jsecoin / jsecoin-platform-and-network-update-v1-8-22018/09/15 16:25:54
petarjsreceived 0.004 SP curation reward for @jsecoin / jsecoin-platform-and-network-update-v1-8-2
2018/09/15 16:25:54
| curator | petarjs |
| reward | 6.065383 VESTS |
| comment author | jsecoin |
| comment permlink | jsecoin-platform-and-network-update-v1-8-2 |
| Transaction Info | Block #25986235/Virtual Operation #22 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 25986235,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 22,
"timestamp": "2018-09-15T16:25:54",
"op": [
"curation_reward",
{
"curator": "petarjs",
"reward": "6.065383 VESTS",
"comment_author": "jsecoin",
"comment_permlink": "jsecoin-platform-and-network-update-v1-8-2"
}
]
}nfcupvoted (1.00%) @petarjs / the-front-end-checklist-88-items-to-make-your-web-app-awesome2018/09/09 11:15:18
nfcupvoted (1.00%) @petarjs / the-front-end-checklist-88-items-to-make-your-web-app-awesome
2018/09/09 11:15:18
| voter | nfc |
| author | petarjs |
| permlink | the-front-end-checklist-88-items-to-make-your-web-app-awesome |
| weight | 100 (1.00%) |
| Transaction Info | Block #25807269/Trx e0f6d5f1282a28311182cd801ca3a8bd926f3ed4 |
View Raw JSON Data
{
"trx_id": "e0f6d5f1282a28311182cd801ca3a8bd926f3ed4",
"block": 25807269,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-09T11:15:18",
"op": [
"vote",
{
"voter": "nfc",
"author": "petarjs",
"permlink": "the-front-end-checklist-88-items-to-make-your-web-app-awesome",
"weight": 100
}
]
}2018/09/09 10:58:39
2018/09/09 10:58:39
| voter | golgo-13 |
| author | petarjs |
| permlink | the-front-end-checklist-88-items-to-make-your-web-app-awesome |
| weight | 800 (8.00%) |
| Transaction Info | Block #25806937/Trx 189c81518f43667c2a6d9752ea52623791a5202b |
View Raw JSON Data
{
"trx_id": "189c81518f43667c2a6d9752ea52623791a5202b",
"block": 25806937,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-09T10:58:39",
"op": [
"vote",
{
"voter": "golgo-13",
"author": "petarjs",
"permlink": "the-front-end-checklist-88-items-to-make-your-web-app-awesome",
"weight": 800
}
]
}ilovecodingreplied to @petarjs / 20180909t105421282z2018/09/09 10:54:21
ilovecodingreplied to @petarjs / 20180909t105421282z
2018/09/09 10:54:21
| parent author | petarjs |
| parent permlink | the-front-end-checklist-88-items-to-make-your-web-app-awesome |
| author | ilovecoding |
| permlink | 20180909t105421282z |
| title | |
| body | Hello! Your post has been resteemed and upvoted by @ilovecoding because **we love coding**! Keep up good work! Consider upvoting this comment to support the @ilovecoding and increase your future rewards! ^_^ Steem On!  *Reply !stop to disable the comment. Thanks!* |
| json metadata | {"tags":["ilovecoding"],"app":"ilovecoding"} |
| Transaction Info | Block #25806851/Trx 6e2c09927dc464ca79c1736d70a391b5c9603de8 |
View Raw JSON Data
{
"trx_id": "6e2c09927dc464ca79c1736d70a391b5c9603de8",
"block": 25806851,
"trx_in_block": 33,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-09T10:54:21",
"op": [
"comment",
{
"parent_author": "petarjs",
"parent_permlink": "the-front-end-checklist-88-items-to-make-your-web-app-awesome",
"author": "ilovecoding",
"permlink": "20180909t105421282z",
"title": "",
"body": "Hello! Your post has been resteemed and upvoted by @ilovecoding because **we love coding**! Keep up good work! Consider upvoting this comment to support the @ilovecoding and increase your future rewards! ^_^ Steem On! \n  \n*Reply !stop to disable the comment. Thanks!*",
"json_metadata": "{\"tags\":[\"ilovecoding\"],\"app\":\"ilovecoding\"}"
}
]
}ilovecodingupvoted (10.00%) @petarjs / the-front-end-checklist-88-items-to-make-your-web-app-awesome2018/09/09 10:54:18
ilovecodingupvoted (10.00%) @petarjs / the-front-end-checklist-88-items-to-make-your-web-app-awesome
2018/09/09 10:54:18
| voter | ilovecoding |
| author | petarjs |
| permlink | the-front-end-checklist-88-items-to-make-your-web-app-awesome |
| weight | 1000 (10.00%) |
| Transaction Info | Block #25806850/Trx c4fd1f491b031e3441dcfc0cebc9e3f7336b7b6b |
View Raw JSON Data
{
"trx_id": "c4fd1f491b031e3441dcfc0cebc9e3f7336b7b6b",
"block": 25806850,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-09T10:54:18",
"op": [
"vote",
{
"voter": "ilovecoding",
"author": "petarjs",
"permlink": "the-front-end-checklist-88-items-to-make-your-web-app-awesome",
"weight": 1000
}
]
}petarjspublished a new post: the-front-end-checklist-88-items-to-make-your-web-app-awesome2018/09/09 10:54:09
petarjspublished a new post: the-front-end-checklist-88-items-to-make-your-web-app-awesome
2018/09/09 10:54:09
| parent author | |
| parent permlink | programming |
| author | petarjs |
| permlink | the-front-end-checklist-88-items-to-make-your-web-app-awesome |
| title | The Front-End Checklist - 88 Items To Make Your Web App Awesome |
| body | As developers, we often forget to do the final polishing after we're ready to deliver the code. This checklist will remind you about 88 things that are important for any web application to check and implement. Contains tips about HTML, fonts, CSS, JS, images, accessibility, performance and SEO. If we all took the time and effort to check off even 10% of the list, it would be a huge improvement. This is especially important for freelancers who care about delivering high quality products to clients. After all, excellence is a habit, not a skill :) https://frontendchecklist.io/ |
| json metadata | {"tags":["programming","software","coding","javascript","web"],"links":["https://frontendchecklist.io/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #25806847/Trx 9e7d103d9c1bd4d5b704e00fa35e909c5043a702 |
View Raw JSON Data
{
"trx_id": "9e7d103d9c1bd4d5b704e00fa35e909c5043a702",
"block": 25806847,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-09T10:54:09",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "programming",
"author": "petarjs",
"permlink": "the-front-end-checklist-88-items-to-make-your-web-app-awesome",
"title": "The Front-End Checklist - 88 Items To Make Your Web App Awesome",
"body": "As developers, we often forget to do the final polishing after we're ready to deliver the code. This checklist will remind you about 88 things that are important for any web application to check and implement. Contains tips about HTML, fonts, CSS, JS, images, accessibility, performance and SEO. If we all took the time and effort to check off even 10% of the list, it would be a huge improvement. This is especially important for freelancers who care about delivering high quality products to clients. After all, excellence is a habit, not a skill :)\n\nhttps://frontendchecklist.io/",
"json_metadata": "{\"tags\":[\"programming\",\"software\",\"coding\",\"javascript\",\"web\"],\"links\":[\"https://frontendchecklist.io/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/09/09 02:13:54
2018/09/09 02:13:54
| parent author | petarjs |
| parent permlink | 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin |
| author | steemitboard |
| permlink | steemitboard-notify-petarjs-20180909t021356000z |
| title | |
| body | Congratulations @petarjs! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) : [](http://steemitboard.com/@petarjs) Award for the number of posts published <sub>_Click on the badge to view your Board of Honor._</sub> <sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2018-09-07"><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-2018-09-07">SteemitBoard - Witness Update</a></td></tr><tr><td><a href="https://steemit.com/steemfest/@steemitboard/steemfest-steemitboard-support-the-travel-reimbursement-fund"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmawPYDAwfrQM8YU6ejD1f87g64cvsmEFn8RQKHJMs4zxg/image.png"></a></td><td><a href="https://steemit.com/steemfest/@steemitboard/steemfest-steemitboard-support-the-travel-reimbursement-fund">SteemFest³ - SteemitBoard support the Travel Reimbursement Fund.</a></td></tr></table> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #25796444/Trx c79f307672931214f30c73887ee1e7204ab4ced4 |
View Raw JSON Data
{
"trx_id": "c79f307672931214f30c73887ee1e7204ab4ced4",
"block": 25796444,
"trx_in_block": 33,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-09T02:13:54",
"op": [
"comment",
{
"parent_author": "petarjs",
"parent_permlink": "1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin",
"author": "steemitboard",
"permlink": "steemitboard-notify-petarjs-20180909t021356000z",
"title": "",
"body": "Congratulations @petarjs! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :\n\n[](http://steemitboard.com/@petarjs) Award for the number of posts published\n\n<sub>_Click on the badge to view your Board of Honor._</sub>\n<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>\n\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2018-09-07\"><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-2018-09-07\">SteemitBoard - Witness Update</a></td></tr><tr><td><a href=\"https://steemit.com/steemfest/@steemitboard/steemfest-steemitboard-support-the-travel-reimbursement-fund\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmawPYDAwfrQM8YU6ejD1f87g64cvsmEFn8RQKHJMs4zxg/image.png\"></a></td><td><a href=\"https://steemit.com/steemfest/@steemitboard/steemfest-steemitboard-support-the-travel-reimbursement-fund\">SteemFest³ - SteemitBoard support the Travel Reimbursement Fund.</a></td></tr></table>\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}2018/09/08 23:45:00
2018/09/08 23:45:00
| voter | drsensor |
| author | petarjs |
| permlink | 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin |
| weight | 10000 (100.00%) |
| Transaction Info | Block #25793466/Trx 7c29e3c2b0c26e43f024395971b7d1f6e8667ac5 |
View Raw JSON Data
{
"trx_id": "7c29e3c2b0c26e43f024395971b7d1f6e8667ac5",
"block": 25793466,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T23:45:00",
"op": [
"vote",
{
"voter": "drsensor",
"author": "petarjs",
"permlink": "1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin",
"weight": 10000
}
]
}petarjsfollowed @ilovecoding2018/09/08 22:45:57
petarjsfollowed @ilovecoding
2018/09/08 22:45:57
| required auths | [] |
| required posting auths | ["petarjs"] |
| id | follow |
| json | ["follow",{"follower":"petarjs","following":"ilovecoding","what":["blog"]}] |
| Transaction Info | Block #25792285/Trx 599107b8ef8d9b9c7e3ce514bf1048571f7c9605 |
View Raw JSON Data
{
"trx_id": "599107b8ef8d9b9c7e3ce514bf1048571f7c9605",
"block": 25792285,
"trx_in_block": 71,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:45:57",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"petarjs"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"petarjs\",\"following\":\"ilovecoding\",\"what\":[\"blog\"]}]"
}
]
}petarjsupvoted (100.00%) @ilovecoding / 20180908t224509488z2018/09/08 22:45:45
petarjsupvoted (100.00%) @ilovecoding / 20180908t224509488z
2018/09/08 22:45:45
| voter | petarjs |
| author | ilovecoding |
| permlink | 20180908t224509488z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #25792281/Trx 991109779c307931770d6d6a7208d03d15424e56 |
View Raw JSON Data
{
"trx_id": "991109779c307931770d6d6a7208d03d15424e56",
"block": 25792281,
"trx_in_block": 103,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:45:45",
"op": [
"vote",
{
"voter": "petarjs",
"author": "ilovecoding",
"permlink": "20180908t224509488z",
"weight": 10000
}
]
}petarjspublished a new post: 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin2018/09/08 22:45:18
petarjspublished a new post: 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin
2018/09/08 22:45:18
| parent author | |
| parent permlink | programming |
| author | petarjs |
| permlink | 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin |
| title | 1 Day Challenge: Be The Ultimate Office Hipster For A Day - Windows 9x GitHub Skin |
| body |  Couple of days ago, I stumbled across this beautiful piece of engineering - a CSS script that easily makes GitHub.com look like Windows 9x. https://github.com/Athari/CssGitHubWindows I dare you to try it! Just install it at work, start browsing some GitHub repos and watch as your colleagues gasp at your hipster coolness! 😂 Inevitably, some of your fellow devs will hate you for it, but it's only because they are envious. Others will openly show admiration for your boldness and retro style. Especially if you work in an environment where there are a lot of older developers, you will be celebrated for bringing the refreshing spirit of times long past into the office. People all around you will remember the simpler, warmer times, when JavaScript was used only for text effects, Internet was in its infancy, and "Blockchain" didn't exist as a term. The pleasant daydreaming you brought forward will be forever appreciated, even by those who appear to be hatin'. WARNING: Do not use for more than a day! After one day, the coolness effect washes off, and you just become weird. |
| json metadata | {"tags":["programming","development","javascript","software","coding"],"image":["https://cdn.steemitimages.com/DQmQcQLoX4hPzv1cyADXs9YTJ8kGqqvg9xfxdWf6mFzaAyw/github9x.png"],"links":["https://github.com/Athari/CssGitHubWindows"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #25792272/Trx 7ab0eceb2d654389f9d62b80cda225b0ff6a56f4 |
View Raw JSON Data
{
"trx_id": "7ab0eceb2d654389f9d62b80cda225b0ff6a56f4",
"block": 25792272,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:45:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "programming",
"author": "petarjs",
"permlink": "1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin",
"title": "1 Day Challenge: Be The Ultimate Office Hipster For A Day - Windows 9x GitHub Skin",
"body": "\n\nCouple of days ago, I stumbled across this beautiful piece of engineering - a CSS script that easily makes GitHub.com look like Windows 9x.\n\nhttps://github.com/Athari/CssGitHubWindows\n\nI dare you to try it! Just install it at work, start browsing some GitHub repos and watch as your colleagues gasp at your hipster coolness! 😂\n\nInevitably, some of your fellow devs will hate you for it, but it's only because they are envious. Others will openly show admiration for your boldness and retro style. Especially if you work in an environment where there are a lot of older developers, you will be celebrated for bringing the refreshing spirit of times long past into the office.\n\nPeople all around you will remember the simpler, warmer times, when JavaScript was used only for text effects, Internet was in its infancy, and \"Blockchain\" didn't exist as a term. The pleasant daydreaming you brought forward will be forever appreciated, even by those who appear to be hatin'.\n\nWARNING: Do not use for more than a day! After one day, the coolness effect washes off, and you just become weird.",
"json_metadata": "{\"tags\":[\"programming\",\"development\",\"javascript\",\"software\",\"coding\"],\"image\":[\"https://cdn.steemitimages.com/DQmQcQLoX4hPzv1cyADXs9YTJ8kGqqvg9xfxdWf6mFzaAyw/github9x.png\"],\"links\":[\"https://github.com/Athari/CssGitHubWindows\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}ilovecodingreplied to @petarjs / 20180908t224509488z2018/09/08 22:45:09
ilovecodingreplied to @petarjs / 20180908t224509488z
2018/09/08 22:45:09
| parent author | petarjs |
| parent permlink | 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin |
| author | ilovecoding |
| permlink | 20180908t224509488z |
| title | |
| body | Hello! Your post has been resteemed and upvoted by @ilovecoding because **we love coding**! Keep up good work! Consider upvoting this comment to support the @ilovecoding and increase your future rewards! ^_^ Steem On!  *Reply !stop to disable the comment. Thanks!* |
| json metadata | {"tags":["ilovecoding"],"app":"ilovecoding"} |
| Transaction Info | Block #25792269/Trx 3fbc4d63e7548f759ffebfe6bc390947b21c431b |
View Raw JSON Data
{
"trx_id": "3fbc4d63e7548f759ffebfe6bc390947b21c431b",
"block": 25792269,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:45:09",
"op": [
"comment",
{
"parent_author": "petarjs",
"parent_permlink": "1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin",
"author": "ilovecoding",
"permlink": "20180908t224509488z",
"title": "",
"body": "Hello! Your post has been resteemed and upvoted by @ilovecoding because **we love coding**! Keep up good work! Consider upvoting this comment to support the @ilovecoding and increase your future rewards! ^_^ Steem On! \n  \n*Reply !stop to disable the comment. Thanks!*",
"json_metadata": "{\"tags\":[\"ilovecoding\"],\"app\":\"ilovecoding\"}"
}
]
}2018/09/08 22:45:06
2018/09/08 22:45:06
| voter | ilovecoding |
| author | petarjs |
| permlink | 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin |
| weight | 1000 (10.00%) |
| Transaction Info | Block #25792268/Trx fcf14b07293fc3e946c3f36fe41b13c76948adba |
View Raw JSON Data
{
"trx_id": "fcf14b07293fc3e946c3f36fe41b13c76948adba",
"block": 25792268,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:45:06",
"op": [
"vote",
{
"voter": "ilovecoding",
"author": "petarjs",
"permlink": "1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin",
"weight": 1000
}
]
}petarjspublished a new post: 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin2018/09/08 22:44:57
petarjspublished a new post: 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin
2018/09/08 22:44:57
| parent author | |
| parent permlink | programming |
| author | petarjs |
| permlink | 1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin |
| title | 1 Day Challenge: Be The Ultimate Office Hipster For A Day - Windows9x Github Skin |
| body |  Couple of days ago, I stumbled across this beautiful piece of engineering - a CSS script that easily makes GitHub.com look like Windows 9x. https://github.com/Athari/CssGitHubWindows I dare you to try it! Just install it at work, start browsing some GitHub repos and watch as your colleagues gasp at your hipster coolness! 😂 Inevitably, some of your fellow devs will hate you for it, but it's only because they are envious. Others will openly show admiration for your boldness and retro style. Especially if you work in an environment where there are a lot of older developers, you will be celebrated for bringing the refreshing spirit of times long past into the office. People all around you will remember the simpler, warmer times, when JavaScript was used only for text effects, Internet was in its infancy, and "Blockchain" didn't exist as a term. The pleasant daydreaming you brought forward will be forever appreciated, even by those who appear to be hatin'. WARNING: Do not use for more than a day! After one day, the coolness effect washes off, and you just become weird. |
| json metadata | {"tags":["programming","development","javascript","software","coding"],"image":["https://cdn.steemitimages.com/DQmQcQLoX4hPzv1cyADXs9YTJ8kGqqvg9xfxdWf6mFzaAyw/github9x.png"],"links":["https://github.com/Athari/CssGitHubWindows"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #25792265/Trx e007b5f38c2860a74de589fbb38b454b9c192704 |
View Raw JSON Data
{
"trx_id": "e007b5f38c2860a74de589fbb38b454b9c192704",
"block": 25792265,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:44:57",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "programming",
"author": "petarjs",
"permlink": "1-day-challenge-be-the-ultimate-office-hipster-for-a-day-windows9x-github-skin",
"title": "1 Day Challenge: Be The Ultimate Office Hipster For A Day - Windows9x Github Skin",
"body": "\n\nCouple of days ago, I stumbled across this beautiful piece of engineering - a CSS script that easily makes GitHub.com look like Windows 9x.\n\nhttps://github.com/Athari/CssGitHubWindows\n\nI dare you to try it! Just install it at work, start browsing some GitHub repos and watch as your colleagues gasp at your hipster coolness! 😂\n\nInevitably, some of your fellow devs will hate you for it, but it's only because they are envious. Others will openly show admiration for your boldness and retro style. Especially if you work in an environment where there are a lot of older developers, you will be celebrated for bringing the refreshing spirit of times long past into the office.\n\nPeople all around you will remember the simpler, warmer times, when JavaScript was used only for text effects, Internet was in its infancy, and \"Blockchain\" didn't exist as a term. The pleasant daydreaming you brought forward will be forever appreciated, even by those who appear to be hatin'.\n\nWARNING: Do not use for more than a day! After one day, the coolness effect washes off, and you just become weird.",
"json_metadata": "{\"tags\":[\"programming\",\"development\",\"javascript\",\"software\",\"coding\"],\"image\":[\"https://cdn.steemitimages.com/DQmQcQLoX4hPzv1cyADXs9YTJ8kGqqvg9xfxdWf6mFzaAyw/github9x.png\"],\"links\":[\"https://github.com/Athari/CssGitHubWindows\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}petarjsupdated their account properties2018/09/08 22:19:51
petarjsupdated their account properties
2018/09/08 22:19:51
| account | petarjs |
| memo key | STM6CveEmoEKcb5HhX6uCeh2E1TAUsVbuH5Cbr5t4nfPZF1mzvTuT |
| json metadata | {"profile":{"profile_image":"https://scontent.fbeg5-1.fna.fbcdn.net/v/t1.0-1/p160x160/10353542_10204994411241194_8622727079869454566_n.jpg?oh=2995b890fd7882e4f74ae53d20513cb0&oe=5A1DADCA","name":"petarjs","location":"Belgrade","website":"https://petar.io","about":"COO @Review.Network. Hungry for Code, Hungry for Ideas. Passionate about engineering Web applications, sharing knowledge and building communities."}} |
| Transaction Info | Block #25791763/Trx 29756282478414235e1a386ba0fec2ef9004b7c6 |
View Raw JSON Data
{
"trx_id": "29756282478414235e1a386ba0fec2ef9004b7c6",
"block": 25791763,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:19:51",
"op": [
"account_update",
{
"account": "petarjs",
"memo_key": "STM6CveEmoEKcb5HhX6uCeh2E1TAUsVbuH5Cbr5t4nfPZF1mzvTuT",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://scontent.fbeg5-1.fna.fbcdn.net/v/t1.0-1/p160x160/10353542_10204994411241194_8622727079869454566_n.jpg?oh=2995b890fd7882e4f74ae53d20513cb0&oe=5A1DADCA\",\"name\":\"petarjs\",\"location\":\"Belgrade\",\"website\":\"https://petar.io\",\"about\":\"COO @Review.Network. Hungry for Code, Hungry for Ideas. Passionate about engineering Web applications, sharing knowledge and building communities.\"}}"
}
]
}petarjsstarted power down of 2.575 SP2018/09/08 22:18:00
petarjsstarted power down of 2.575 SP
2018/09/08 22:18:00
| account | petarjs |
| vesting shares | 4192.685442 VESTS |
| Transaction Info | Block #25791726/Trx 9e548e18bdc48a22fc285a52b143073b2efd8a26 |
View Raw JSON Data
{
"trx_id": "9e548e18bdc48a22fc285a52b143073b2efd8a26",
"block": 25791726,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:18:00",
"op": [
"withdraw_vesting",
{
"account": "petarjs",
"vesting_shares": "4192.685442 VESTS"
}
]
}petarjsfollowed @money-dreamer2018/09/08 22:16:45
petarjsfollowed @money-dreamer
2018/09/08 22:16:45
| required auths | [] |
| required posting auths | ["petarjs"] |
| id | follow |
| json | ["follow",{"follower":"petarjs","following":"money-dreamer","what":["blog"]}] |
| Transaction Info | Block #25791701/Trx 2c71636f417614fe374f0cb7ee6d46ed6e3406fd |
View Raw JSON Data
{
"trx_id": "2c71636f417614fe374f0cb7ee6d46ed6e3406fd",
"block": 25791701,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:16:45",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"petarjs"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"petarjs\",\"following\":\"money-dreamer\",\"what\":[\"blog\"]}]"
}
]
}petarjsupvoted (100.00%) @jsecoin / jsecoin-platform-and-network-update-v1-8-22018/09/08 22:14:48
petarjsupvoted (100.00%) @jsecoin / jsecoin-platform-and-network-update-v1-8-2
2018/09/08 22:14:48
| voter | petarjs |
| author | jsecoin |
| permlink | jsecoin-platform-and-network-update-v1-8-2 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #25791662/Trx 6fe4bde6b104c39e20dbe0ef3aef56362795532e |
View Raw JSON Data
{
"trx_id": "6fe4bde6b104c39e20dbe0ef3aef56362795532e",
"block": 25791662,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:14:48",
"op": [
"vote",
{
"voter": "petarjs",
"author": "jsecoin",
"permlink": "jsecoin-platform-and-network-update-v1-8-2",
"weight": 10000
}
]
}petarjsclaimed reward balance: 0.002 SP2018/09/08 22:11:33
petarjsclaimed reward balance: 0.002 SP
2018/09/08 22:11:33
| account | petarjs |
| reward steem | 0.000 STEEM |
| reward sbd | 0.000 SBD |
| reward vests | 4.051921 VESTS |
| Transaction Info | Block #25791597/Trx 4ad754771b500e9980b213c49c2c0d9cd186c852 |
View Raw JSON Data
{
"trx_id": "4ad754771b500e9980b213c49c2c0d9cd186c852",
"block": 25791597,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T22:11:33",
"op": [
"claim_reward_balance",
{
"account": "petarjs",
"reward_steem": "0.000 STEEM",
"reward_sbd": "0.000 SBD",
"reward_vests": "4.051921 VESTS"
}
]
}petarjsupvoted (100.00%) @tomshwom / survey-of-crypto-users-results-and-analysis2018/09/08 18:23:57
petarjsupvoted (100.00%) @tomshwom / survey-of-crypto-users-results-and-analysis
2018/09/08 18:23:57
| voter | petarjs |
| author | tomshwom |
| permlink | survey-of-crypto-users-results-and-analysis |
| weight | 10000 (100.00%) |
| Transaction Info | Block #25787045/Trx 21ae6d97293cfc2bf8777b2d2698f3a66c860138 |
View Raw JSON Data
{
"trx_id": "21ae6d97293cfc2bf8777b2d2698f3a66c860138",
"block": 25787045,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-08T18:23:57",
"op": [
"vote",
{
"voter": "petarjs",
"author": "tomshwom",
"permlink": "survey-of-crypto-users-results-and-analysis",
"weight": 10000
}
]
}petarjsreceived 0.001 SP curation reward for @najoh / understanding-the-value-proposition-of-cosmos2018/08/15 20:45:18
petarjsreceived 0.001 SP curation reward for @najoh / understanding-the-value-proposition-of-cosmos
2018/08/15 20:45:18
| curator | petarjs |
| reward | 2.025147 VESTS |
| comment author | najoh |
| comment permlink | understanding-the-value-proposition-of-cosmos |
| Transaction Info | Block #25099010/Virtual Operation #172 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 25099010,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 172,
"timestamp": "2018-08-15T20:45:18",
"op": [
"curation_reward",
{
"curator": "petarjs",
"reward": "2.025147 VESTS",
"comment_author": "najoh",
"comment_permlink": "understanding-the-value-proposition-of-cosmos"
}
]
}2018/08/11 04:48:06
2018/08/11 04:48:06
| from | jsecoin |
| to | petarjs |
| amount | 0.001 STEEM |
| memo | Thank you for supporting the JSEcoin.com project |
| Transaction Info | Block #24964711/Trx 645c6e2d9c56c4af14eae2bd8d41fd9ef83581a2 |
View Raw JSON Data
{
"trx_id": "645c6e2d9c56c4af14eae2bd8d41fd9ef83581a2",
"block": 24964711,
"trx_in_block": 57,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-11T04:48:06",
"op": [
"transfer",
{
"from": "jsecoin",
"to": "petarjs",
"amount": "0.001 STEEM",
"memo": "Thank you for supporting the JSEcoin.com project"
}
]
}petarjsupvoted (100.00%) @najoh / understanding-the-value-proposition-of-cosmos2018/08/09 20:35:12
petarjsupvoted (100.00%) @najoh / understanding-the-value-proposition-of-cosmos
2018/08/09 20:35:12
| voter | petarjs |
| author | najoh |
| permlink | understanding-the-value-proposition-of-cosmos |
| weight | 10000 (100.00%) |
| Transaction Info | Block #24926065/Trx b7c2dc66076546d82fb0b87dba808a20601b21d0 |
View Raw JSON Data
{
"trx_id": "b7c2dc66076546d82fb0b87dba808a20601b21d0",
"block": 24926065,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-09T20:35:12",
"op": [
"vote",
{
"voter": "petarjs",
"author": "najoh",
"permlink": "understanding-the-value-proposition-of-cosmos",
"weight": 10000
}
]
}petarjsupvoted (100.00%) @petarjs / superhero-git-aliases2018/08/05 08:46:15
petarjsupvoted (100.00%) @petarjs / superhero-git-aliases
2018/08/05 08:46:15
| voter | petarjs |
| author | petarjs |
| permlink | superhero-git-aliases |
| weight | 10000 (100.00%) |
| Transaction Info | Block #24796744/Trx 936043074e59121a214fda167ffedee7c0877696 |
View Raw JSON Data
{
"trx_id": "936043074e59121a214fda167ffedee7c0877696",
"block": 24796744,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-05T08:46:15",
"op": [
"vote",
{
"voter": "petarjs",
"author": "petarjs",
"permlink": "superhero-git-aliases",
"weight": 10000
}
]
}2018/08/05 08:23:51
2018/08/05 08:23:51
| parent author | petarjs |
| parent permlink | superhero-git-aliases |
| author | steemporno |
| permlink | steemporno-re-petarjs-superhero-git-aliases-20180805t082352524z |
| title | |
| body | Free Btc Eth Get In Now ! https://1link.one/FreeBtcEth |
| json metadata | {"app":"partiko"} |
| Transaction Info | Block #24796296/Trx f32bcd4d30038b7014b51d3902dbe54bdb178f75 |
View Raw JSON Data
{
"trx_id": "f32bcd4d30038b7014b51d3902dbe54bdb178f75",
"block": 24796296,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-05T08:23:51",
"op": [
"comment",
{
"parent_author": "petarjs",
"parent_permlink": "superhero-git-aliases",
"author": "steemporno",
"permlink": "steemporno-re-petarjs-superhero-git-aliases-20180805t082352524z",
"title": "",
"body": "Free Btc Eth Get In Now ! https://1link.one/FreeBtcEth",
"json_metadata": "{\"app\":\"partiko\"}"
}
]
}petarjsupdated options for superhero-git-aliases2018/08/05 08:20:54
petarjsupdated options for superhero-git-aliases
2018/08/05 08:20:54
| author | petarjs |
| permlink | superhero-git-aliases |
| max accepted payout | 1000000.000 SBD |
| percent steem dollars | 0 |
| allow votes | true |
| allow curation rewards | true |
| extensions | [] |
| Transaction Info | Block #24796237/Trx 0a4febf1ec291e68ea17c8ff096a68b4b0fdf6b8 |
View Raw JSON Data
{
"trx_id": "0a4febf1ec291e68ea17c8ff096a68b4b0fdf6b8",
"block": 24796237,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-05T08:20:54",
"op": [
"comment_options",
{
"author": "petarjs",
"permlink": "superhero-git-aliases",
"max_accepted_payout": "1000000.000 SBD",
"percent_steem_dollars": 0,
"allow_votes": true,
"allow_curation_rewards": true,
"extensions": []
}
]
}petarjspublished a new post: superhero-git-aliases2018/08/05 08:20:54
petarjspublished a new post: superhero-git-aliases
2018/08/05 08:20:54
| parent author | |
| parent permlink | software |
| author | petarjs |
| permlink | superhero-git-aliases |
| title | Superhero Git Aliases |
| body |  Typing `git status` over and over again, for hundreds of times a day can get really annoying. You type one letter wrong and have to retype it. Yeah, you can have nice command completion, especially if you use [Fish](https://fishshell.com/), but I like my aliases better! I have set up aliases for Git commands that seemed logical to me. Maybe you will find them useful too. It's really useful, because when you get the tedious typing out of the way, and substitute it with just a few meaningful letters, you get a more productive and enjoyable experience. It's not only the time you save in typing. It's like the mental barrier between thinking about an action you want to execute (like get the latest changes from current branch) and typing it (`git pull origin HEAD`) is torn down. So you just think that thought and with a few keystrokes, it is executed. I find that very liberating, because it makes transferring of your intent to computer super fast and effortless. Now of course, I don't use aliases for commands that could be dangerous, like `git reset`, because when you have the ability to execute what you're thinking about nearly instantly, you also have a greater responsibility to think correctly. You could have a wrong thought, and if you get into that habit of executing commands automatically, you risk doing the wrong thing, which can cost you time and effort to recover. For example, if we had an alias for `git branch -D my-feature ` which would be like `gbD my-feature `, and you know you want to delete that branch, and do so automatically, you may remember right after pressing the Return key that there were some important changes on that branch after all. In contrast, if you have to type the whole command, or at least `gb -D` (as I use `gb` as an alias to `git branch`), it makes the intent more explicit, and you have more time to reevaluate what you're about to do. This reasoning saved me from trouble many times. *Note: some of the aliases might be OS specific, like the alias for `finder`.* Let's explore how we can use the aliases to make our git experience seamless. The one used most often is, you guessed it, `git status`. **Alias**: `gst` **Effect**: `git status` Okay, so we now know the status of our repository. We want to get the latest changes from the `develop` branch (as we use `git flow`). **Alias**: `gl origin develop` **Effect**: `git pull origin develop` Not much shorter. Well, let's try this: **Alias**: `glod` **Effect**: `git pull origin develop` Yes, much better. This one of the aliases I use the most. So now we change some files, but we don't want to keep the changes. We want to clear the modifications and return to previous state. So we do: **Alias**: `gco .` **Effect**: `git checkout .` Now we don't have any changes. Let's make some changes we want to commit. First, we need to add them to the staging area: **Alias**: `ga .` **Effect**: `git add .` Next, let's commit the changes. **Alias**: `gcmsg "fix the heuristic for determining the optimal coffee temperature"` **Effect**: `git commit -m "..."` Great. Oh! Just remembered we need to add a few more changes to the same commit. Run `ga .` to add the changes to the staging area, and then commit them with `--amend` flag. **Alias**: `gc --amend` **Effect**: `git commit --amend` Time to push the changes! **Alias**: `gp origin develop` **Effect**: `git push origin develop` Oh, but we can go shorter: **Alias**: `gpod` **Effect**: `git push origin develop` Okay, great. Now let's see a nice log of our commits. **Alias**: `glog` **Effect**: `git log --oneline --graph --decorate` Wanna see a list of all branches? **Alias**: `gbl` **Effect**: `git branch --list` And now, you made some changes to your files again, but forgot what exactly changed. Let's find out with: **Alias**: `gda` or `gd .` **Effect**: `git diff .` I use git flow for almost all my projects, so these proved very useful: To start a new feature: **Alias**: `gffs my-feature` **Effect**: `git flow feature start my-branch` and to finish it: **Alias**: `gfff my-feature` **Effect**: `git flow feature finish my-feature` You can find these as Gists for [bash](https://gist.github.com/petarslovic/3c93a25ef5b9328c895fb6edc8b034cf) and [fish](https://gist.github.com/petarslovic/e29300d1928ae48a7b62). Here a few more useful ones (fish only) Since Fish doesn't support `sudo !!`, we can simulate it like this: **Alias**: `sudo!!` **Effect**: `eval sudo $history[1]` Just a nice `ls`: **Alias**: `ll` **Effect**: `ls -FGlAhp` And a short `clear`: **Alias**: `c` **Effect**: `clear` Quickly open current directory with Finder: **Alias**: `f` **Effect**: `open -a Finder ./` Print what's in PATH: **Alias**: `ll` **Effect**: `echo -e $PATH` Make a directory and `cd` into it: **Alias**: `mkcd coffee-images` **Effect**: `mkdir -p coffee-images; and cd coffee-images;` Quick Look a file: **Alias**: `ql medium-roast.png` **Effect**: `qlmanage -p medium-roast.png >/dev/null;` You can find these here: [fish](https://gist.github.com/petarslovic/24416a61e291a55e05961b7889ce8b49) ## Conclusion Hopefully you realise how much I like these aliases, and maybe you will find them useful too. I am already so accustomed to them, that it's like second nature to me. |
| json metadata | {"tags":["software","git","javascript","php","technology"],"image":["https://cdn.steemitimages.com/DQmWttsupCdxWNzwkg8EEBbJnkEc7stHu6BdBJMJKuBagU4/image.png"],"links":["https://fishshell.com/","https://gist.github.com/petarslovic/3c93a25ef5b9328c895fb6edc8b034cf","https://gist.github.com/petarslovic/e29300d1928ae48a7b62","https://gist.github.com/petarslovic/24416a61e291a55e05961b7889ce8b49"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #24796237/Trx 0a4febf1ec291e68ea17c8ff096a68b4b0fdf6b8 |
View Raw JSON Data
{
"trx_id": "0a4febf1ec291e68ea17c8ff096a68b4b0fdf6b8",
"block": 24796237,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-05T08:20:54",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "software",
"author": "petarjs",
"permlink": "superhero-git-aliases",
"title": "Superhero Git Aliases",
"body": "\n\nTyping `git status` over and over again, for hundreds of times a day can get really annoying. You type one letter wrong and have to retype it. Yeah, you can have nice command completion, especially if you use [Fish](https://fishshell.com/), but I like my aliases better! I have set up aliases for Git commands that seemed logical to me. Maybe you will find them useful too.\n\nIt's really useful, because when you get the tedious typing out of the way, and substitute it with just a few meaningful letters, you get a more productive and enjoyable experience.\n\nIt's not only the time you save in typing. It's like the mental barrier between thinking about an action you want to execute (like get the latest changes from current branch) and typing it (`git pull origin HEAD`) is torn down. So you just think that thought and with a few keystrokes, it is executed. I find that very liberating, because it makes transferring of your intent to computer super fast and effortless.\n\nNow of course, I don't use aliases for commands that could be dangerous, like `git reset`, because when you have the ability to execute what you're thinking about nearly instantly, you also have a greater responsibility to think correctly. You could have a wrong thought, and if you get into that habit of executing commands automatically, you risk doing the wrong thing, which can cost you time and effort to recover. For example, if we had an alias for `git branch -D my-feature ` which would be like `gbD my-feature `, and you know you want to delete that branch, and do so automatically, you may remember right after pressing the Return key that there were some important changes on that branch after all.\n\nIn contrast, if you have to type the whole command, or at least `gb -D` (as I use `gb` as an alias to `git branch`), it makes the intent more explicit, and you have more time to reevaluate what you're about to do. This reasoning saved me from trouble many times.\n\n*Note: some of the aliases might be OS specific, like the alias for `finder`.*\n\nLet's explore how we can use the aliases to make our git experience seamless.\n\nThe one used most often is, you guessed it, `git status`.\n\n**Alias**: `gst` \n**Effect**: `git status`\n\nOkay, so we now know the status of our repository. We want to get the latest changes from the `develop` branch (as we use `git flow`).\n\n**Alias**: `gl origin develop` \n**Effect**: `git pull origin develop`\n\nNot much shorter. Well, let's try this:\n\n**Alias**: `glod` \n**Effect**: `git pull origin develop`\n\nYes, much better. This one of the aliases I use the most. \nSo now we change some files, but we don't want to keep the changes. We want to clear the modifications and return to previous state. So we do:\n\n**Alias**: `gco .` \n**Effect**: `git checkout .`\n\nNow we don't have any changes. Let's make some changes we want to commit. First, we need to add them to the staging area:\n\n**Alias**: `ga .` \n**Effect**: `git add .`\n\nNext, let's commit the changes.\n\n**Alias**: `gcmsg \"fix the heuristic for determining the optimal coffee temperature\"` \n**Effect**: `git commit -m \"...\"`\n\nGreat. Oh! Just remembered we need to add a few more changes to the same commit. Run `ga .` to add the changes to the staging area, and then commit them with `--amend` flag.\n\n**Alias**: `gc --amend` \n**Effect**: `git commit --amend`\n\nTime to push the changes!\n\n**Alias**: `gp origin develop` \n**Effect**: `git push origin develop`\n\nOh, but we can go shorter:\n\n**Alias**: `gpod` \n**Effect**: `git push origin develop`\n\nOkay, great. Now let's see a nice log of our commits.\n\n**Alias**: `glog` \n**Effect**: `git log --oneline --graph --decorate`\n\nWanna see a list of all branches?\n\n**Alias**: `gbl` \n**Effect**: `git branch --list`\n\nAnd now, you made some changes to your files again, but forgot what exactly changed. Let's find out with:\n\n**Alias**: `gda` or `gd .` \n**Effect**: `git diff .`\n\nI use git flow for almost all my projects, so these proved very useful:\n\nTo start a new feature:\n\n**Alias**: `gffs my-feature` \n**Effect**: `git flow feature start my-branch`\n\nand to finish it:\n\n**Alias**: `gfff my-feature` \n**Effect**: `git flow feature finish my-feature`\n\nYou can find these as Gists for [bash](https://gist.github.com/petarslovic/3c93a25ef5b9328c895fb6edc8b034cf) and [fish](https://gist.github.com/petarslovic/e29300d1928ae48a7b62).\n\nHere a few more useful ones (fish only)\n\nSince Fish doesn't support `sudo !!`, we can simulate it like this:\n\n**Alias**: `sudo!!` \n**Effect**: `eval sudo $history[1]`\n\nJust a nice `ls`:\n\n**Alias**: `ll` \n**Effect**: `ls -FGlAhp`\n\nAnd a short `clear`:\n\n**Alias**: `c` \n**Effect**: `clear`\n\nQuickly open current directory with Finder:\n\n**Alias**: `f` \n**Effect**: `open -a Finder ./`\n\nPrint what's in PATH:\n\n**Alias**: `ll` \n**Effect**: `echo -e $PATH`\n\nMake a directory and `cd` into it:\n\n**Alias**: `mkcd coffee-images` \n**Effect**: `mkdir -p coffee-images; and cd coffee-images;`\n\nQuick Look a file:\n\n**Alias**: `ql medium-roast.png` \n**Effect**: `qlmanage -p medium-roast.png >/dev/null;`\n\nYou can find these here: [fish](https://gist.github.com/petarslovic/24416a61e291a55e05961b7889ce8b49)\n\n## Conclusion\n\nHopefully you realise how much I like these aliases, and maybe you will find them useful too. I am already so accustomed to them, that it's like second nature to me.",
"json_metadata": "{\"tags\":[\"software\",\"git\",\"javascript\",\"php\",\"technology\"],\"image\":[\"https://cdn.steemitimages.com/DQmWttsupCdxWNzwkg8EEBbJnkEc7stHu6BdBJMJKuBagU4/image.png\"],\"links\":[\"https://fishshell.com/\",\"https://gist.github.com/petarslovic/3c93a25ef5b9328c895fb6edc8b034cf\",\"https://gist.github.com/petarslovic/e29300d1928ae48a7b62\",\"https://gist.github.com/petarslovic/24416a61e291a55e05961b7889ce8b49\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}petarjsreceived 0.001 SP curation reward for @martins87 / quick-guide-to-ethereum-gas2018/07/31 20:12:18
petarjsreceived 0.001 SP curation reward for @martins87 / quick-guide-to-ethereum-gas
2018/07/31 20:12:18
| curator | petarjs |
| reward | 2.026774 VESTS |
| comment author | martins87 |
| comment permlink | quick-guide-to-ethereum-gas |
| Transaction Info | Block #24666522/Virtual Operation #2 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 24666522,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 2,
"timestamp": "2018-07-31T20:12:18",
"op": [
"curation_reward",
{
"curator": "petarjs",
"reward": "2.026774 VESTS",
"comment_author": "martins87",
"comment_permlink": "quick-guide-to-ethereum-gas"
}
]
}petarjsupvoted (100.00%) @martins87 / quick-guide-to-ethereum-gas2018/07/28 19:40:54
petarjsupvoted (100.00%) @martins87 / quick-guide-to-ethereum-gas
2018/07/28 19:40:54
| voter | petarjs |
| author | martins87 |
| permlink | quick-guide-to-ethereum-gas |
| weight | 10000 (100.00%) |
| Transaction Info | Block #24579521/Trx 74256769566241d18568245a7c9ff7bae4be2001 |
View Raw JSON Data
{
"trx_id": "74256769566241d18568245a7c9ff7bae4be2001",
"block": 24579521,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-28T19:40:54",
"op": [
"vote",
{
"voter": "petarjs",
"author": "martins87",
"permlink": "quick-guide-to-ethereum-gas",
"weight": 10000
}
]
}petarjsremoved vote from (0.00%) @proofmaster / cryptocurrencies-that-are-changing-the-internet-and-gaming-for-the-better2018/07/12 18:19:15
petarjsremoved vote from (0.00%) @proofmaster / cryptocurrencies-that-are-changing-the-internet-and-gaming-for-the-better
2018/07/12 18:19:15
| voter | petarjs |
| author | proofmaster |
| permlink | cryptocurrencies-that-are-changing-the-internet-and-gaming-for-the-better |
| weight | 0 (0.00%) |
| Transaction Info | Block #24117834/Trx 3f9f370a0ef59b2a51612ee934d00241471e7403 |
View Raw JSON Data
{
"trx_id": "3f9f370a0ef59b2a51612ee934d00241471e7403",
"block": 24117834,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-12T18:19:15",
"op": [
"vote",
{
"voter": "petarjs",
"author": "proofmaster",
"permlink": "cryptocurrencies-that-are-changing-the-internet-and-gaming-for-the-better",
"weight": 0
}
]
}2018/07/12 18:18:57
2018/07/12 18:18:57
| voter | petarjs |
| author | proofmaster |
| permlink | cryptocurrencies-that-are-changing-the-internet-and-gaming-for-the-better |
| weight | 10000 (100.00%) |
| Transaction Info | Block #24117828/Trx 6eb909aa72db8397832981851d6ee212e9927bf6 |
View Raw JSON Data
{
"trx_id": "6eb909aa72db8397832981851d6ee212e9927bf6",
"block": 24117828,
"trx_in_block": 53,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-12T18:18:57",
"op": [
"vote",
{
"voter": "petarjs",
"author": "proofmaster",
"permlink": "cryptocurrencies-that-are-changing-the-internet-and-gaming-for-the-better",
"weight": 10000
}
]
}petarjsblockchain operation: transfer to savings2018/07/03 09:00:00
petarjsblockchain operation: transfer to savings
2018/07/03 09:00:00
| from | petarjs |
| to | petarjs |
| amount | 4.025 SBD |
| memo | |
| Transaction Info | Block #23848804/Trx 7c2c9fe9c1808c688d887e7ce9ba0868246f96bb |
View Raw JSON Data
{
"trx_id": "7c2c9fe9c1808c688d887e7ce9ba0868246f96bb",
"block": 23848804,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-03T09:00:00",
"op": [
"transfer_to_savings",
{
"from": "petarjs",
"to": "petarjs",
"amount": "4.025 SBD",
"memo": ""
}
]
}petarjsclaimed reward balance: 0.112 STEEM, 2.879 SBD, 1.681 SP2018/07/03 08:57:30
petarjsclaimed reward balance: 0.112 STEEM, 2.879 SBD, 1.681 SP
2018/07/03 08:57:30
| account | petarjs |
| reward steem | 0.112 STEEM |
| reward sbd | 2.879 SBD |
| reward vests | 2736.742932 VESTS |
| Transaction Info | Block #23848771/Trx 549ee997c8583fcf28042104d760a04e9cb21f80 |
View Raw JSON Data
{
"trx_id": "549ee997c8583fcf28042104d760a04e9cb21f80",
"block": 23848771,
"trx_in_block": 49,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-03T08:57:30",
"op": [
"claim_reward_balance",
{
"account": "petarjs",
"reward_steem": "0.112 STEEM",
"reward_sbd": "2.879 SBD",
"reward_vests": "2736.742932 VESTS"
}
]
}petarjsreceived 0.001 STEEM, 0.011 SBD, 0.009 SP author reward for @petarjs / solidity-workshop-guide-pocked-edition-part-22018/06/10 19:49:00
petarjsreceived 0.001 STEEM, 0.011 SBD, 0.009 SP author reward for @petarjs / solidity-workshop-guide-pocked-edition-part-2
2018/06/10 19:49:00
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition-part-2 |
| sbd payout | 0.011 SBD |
| steem payout | 0.001 STEEM |
| vesting payout | 14.225439 VESTS |
| Transaction Info | Block #23208714/Virtual Operation #13 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 23208714,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 13,
"timestamp": "2018-06-10T19:49:00",
"op": [
"author_reward",
{
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition-part-2",
"sbd_payout": "0.011 SBD",
"steem_payout": "0.001 STEEM",
"vesting_payout": "14.225439 VESTS"
}
]
}petarjsreceived 0.004 STEEM, 0.125 SBD, 0.070 SP author reward for @petarjs / re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z2018/06/03 23:01:12
petarjsreceived 0.004 STEEM, 0.125 SBD, 0.070 SP author reward for @petarjs / re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z
2018/06/03 23:01:12
| author | petarjs |
| permlink | re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z |
| sbd payout | 0.125 SBD |
| steem payout | 0.004 STEEM |
| vesting payout | 113.844366 VESTS |
| Transaction Info | Block #23011042/Virtual Operation #3 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 23011042,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 3,
"timestamp": "2018-06-03T23:01:12",
"op": [
"author_reward",
{
"author": "petarjs",
"permlink": "re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z",
"sbd_payout": "0.125 SBD",
"steem_payout": "0.004 STEEM",
"vesting_payout": "113.844366 VESTS"
}
]
}petarjsupvoted (100.00%) @petarjs / solidity-workshop-guide-pocked-edition-part-22018/06/03 19:54:36
petarjsupvoted (100.00%) @petarjs / solidity-workshop-guide-pocked-edition-part-2
2018/06/03 19:54:36
| voter | petarjs |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition-part-2 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #23007311/Trx b9fd2fdf8b05471d9316e71ee5683f48c318d72c |
View Raw JSON Data
{
"trx_id": "b9fd2fdf8b05471d9316e71ee5683f48c318d72c",
"block": 23007311,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-03T19:54:36",
"op": [
"vote",
{
"voter": "petarjs",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition-part-2",
"weight": 10000
}
]
}petarjspublished a new post: solidity-workshop-guide-pocked-edition-part-22018/06/03 19:49:00
petarjspublished a new post: solidity-workshop-guide-pocked-edition-part-2
2018/06/03 19:49:00
| parent author | |
| parent permlink | ethereum |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition-part-2 |
| title | Solidity Workshop Guide - Pocked Edition - Part 2 |
| body | # Solidity Workshop Guide - Pocked Edition - Part 2  This is the part 2 of [Solidity Workshop Guide](https://steemit.com/ethereum/@petarjs/solidity-workshop-guide-pocked-edition), now tackling communication between JavaScript and a smart contract. ## Let's start! We'll use the already deployed contract Dask to play around with it. Dask is deployed to Ropsten test network at the address `0x991238107f1823de55c6fb21162b059532c72496`. You can check it out on [EtherScan](https://ropsten.etherscan.io/address/0x991238107f1823de55c6fb21162b059532c72496). To recap, Dask is a contract that allows anyone to ask a question and send bounty with it that will be rewarded to anyone who answers the question. The answers are a number between 1 and 5, so we can imagine someone asking a question like "How much did you like my blog post about Solidity?" and send some ether with it. Then the questions would come rushing in, with people answering with a number, so I would take the average of the answers and find out how much did people like my blog post on a scale from 1 to 5 :) ## Interface Dask has several methods that we can call: ### **getPricePerAnswer**() This method simply returns the price per one answer (view only). This is the amount of ether that will be rewarded to anyone who answers a question, and is defined in the contract. It is initially set to 10000 wei, a totally arbitrary number. But it can also be changed, by the creator of the contract, by calling the **setPricePerAnswer** method. You can try calling it, but it won't work, as it will allow only the address that created the contract to execute it. ### **askQuestion**(string text, uint maxAnswers) This method creates a new question that can be later answered by anyone. It changes state, so it will have a transaction fee associated with it. The first argument is *text*, so it would just be a string like "How much did you like my blog post". The second parameter, *maxAnswers* puts a limit on how many people can answer. I could say that I want 100 answers. Then if someone tries to answer the question after 100 answers, his will be rejected. Finally, along with the call to this method, I need to send ether that will be distributed to those who answer the question. I must send `*maxAnswers* * *pricePerAnswer*` ether. If I send less than that, the call will be rejected. The questions are indexed first by address and then by the text of the question, which seems reasonable, as it allows every address to ask a question once. This method also fires an event called *QuestionAsked*, so anyone can listen to that event and know when a new question has been asked. ### **answerQuestion**(address askedBy, string text, uint answer) This method allows us to answer a question. It is a state chaning method, so it has a transaction fee associated with it. We must provide the address that created the question, as well as the question's text. We can get this info from the events fired by *askQuestion* method. Last argument we provide is our answer, and it has to be a number from 1 to 5. Every address can only answer the question once, therefore disabling people from trying to get the answer reward multiple times for one question. The second requirement is that there is less than *maxAnswers* answers already associated with the question. If all requirements are met, this method records the answer, and transfers the reward in ether to you. Finally, it emits the *QuestionAnswered* event, so that the user who asked the question can be notified and follow the answers as they come in. ## Interacting with the contract via JavaScript We will use Metamask extension to manage our accounts and inject the `web3` library into our page. If you're not familiar with Metamask, check out this [tutorial](https://www.cryptocompare.com/wallets/guides/how-to-use-metamask/) and in the Part 3, instead of Mainnet, choose Ropsten test net, and you're all set! Create a new html file, and let's get rolling! One note though, you'll need a local webserver to serve your html page in order for this to work, I recommend NodeJS package HttpServer. You can get it by running `npm i -g http-server`, and then just go into the directory where you've got your html file, and run `http-server`. Then visit `http://localhost:8080` and you'll see your webpage! We need to wait for the document to load, to give Metamask time to initialize: ```js document.body.onload = () => { // your code here } ``` Now, to interact with our smart contract from JavaScript, we need two things - its abi and its address. The address we already know (`0x991238107f1823de55c6fb21162b059532c72496`), and the ABI you can find in [this Gist](https://gist.github.com/petarjs/7429e68fc13ab8e01a0261a4fa36e478). ```js let abi = [ { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "price", "type": "uint256" } ], "name": "PricePerAnswerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "askedBy", "type": "address" }, { "indexed": false, "name": "text", "type": "string" } ], "name": "QuestionAsked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "askedBy", "type": "address" }, { "indexed": false, "name": "text", "type": "string" }, { "indexed": false, "name": "answer", "type": "uint256" } ], "name": "QuestionAnswered", "type": "event" }, { "constant": false, "inputs": [ { "name": "price", "type": "uint256" } ], "name": "setPricePerAnswer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "getPricePerAnswer", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "text", "type": "string" }, { "name": "maxAnswers", "type": "uint256" } ], "name": "askQuestion", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": false, "inputs": [ { "name": "askedBy", "type": "address" }, { "name": "text", "type": "string" }, { "name": "answer", "type": "uint256" } ], "name": "answerQuestion", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ] let address = '0x991238107f1823de55c6fb21162b059532c72496' let daskContract = web3.eth.contract(abi).at(address) ``` Okay! Now we can use our daskContract to ask a question. Let's hardcode the parameters for brewity, but in real life you'd have an input field and use the value of it when calling a method. ```js let question = 'How are you today?' let maxAnswers = 100 let value = 10000 * maxAnswers daskContract .askQuestion(question, maxAnswers, { value }, (error, response) => { console.log(error, response) }) ``` After reloading the page, Metamask will ask you to confirm the transaction. When you confirm it, it will send it to the Ethereum Ropsten network! And in the browser console, you'll see a transaction hash printed out as `response`. This means that the transaction of this method call has been sent to the network, and now it's waiting to be mined (included in a block). You can open [EtherScan](`https://ropsten.etherscan.io`) and paste the transaction hash to watch it execute. After some time it will be executed, which means that it is now officially included in the Ropsten network, and everybody can see it! But, there's a problem with our code. We calculate `value` by multipling by `10000`, as we know that is the initial price per answer. What if at some point the contract creator (me) decides to change that price? Your code won't work, the transactions for askQuestion will be rejected. So we need a way to first ask the contract what is the current price per answer, and then use that price when asking the question. ```js daskContract .getPricePerAnswer((error, price) => { let question = 'How are you today?' let maxAnswers = 100 let value = price * maxAnswers daskContract .askQuestion(question, maxAnswers, { value }, (error, response) => { console.log(error, response) }) }) ``` ## Events Great! Now, let's create an event listener to load all questions that have ever been asked! ```js daskContract .QuestionAsked(null, { fromBlock: 0, toBlock: 'latest' }) .watch((error, event) => { let { askedBy, text } = event.args console.log(text) }) ``` We can see that `QuestionAsked` accepts two parameters when we want to start watching it. Both are filters - the first one (the one we set to `null`) is for filtering events based on its indexed values. Since we didn't index any parameters for events in the Dask contract, we leave this empty. The second filter argument allows us to specify `fromBlock` and `toBlock`. By setting the value 0 for `fromBlock`, we say that we want to get all `QuestionAsked` events from the beginning of the blockchain history. If we set `'latest'` as the value for `fromBlock`, we would not get any past events, but only those that happen after we first load the page. On the other hand, setting `'latest'` as the value for `toBlock` allows us to keep listening for events as new blocks are added to the blockchain. Conversly, if we set a fixed value for `toBlock`, we would only get `QuestionAsked` events that happend up to that block number. ## Next steps Whoah! We took a look at interacting with our contract by calling methods that modify the state and those that just read from it. We saw how we can use events to keep track of what's happening on the blockchain in real time. Now, you can try to implement the `answerQuestion` functinality on your own! If you get stuck, or have any questions, feel free to ask them in the comments below. I'd love to help! Cheers! 🎉🎉🎉 |
| json metadata | {"tags":["ethereum","software","solidity","javascript","programming"],"image":["https://cdn.steemitimages.com/DQmYJSzUVK9P6h9KbedPV1ijL66FiPZFU7PgDtu2ww7WABP/IMG_9676.JPG"],"links":["https://steemit.com/ethereum/@petarjs/solidity-workshop-guide-pocked-edition","https://ropsten.etherscan.io/address/0x991238107f1823de55c6fb21162b059532c72496","https://www.cryptocompare.com/wallets/guides/how-to-use-metamask/","https://gist.github.com/petarjs/7429e68fc13ab8e01a0261a4fa36e478","`https://ropsten.etherscan.io`"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #23007199/Trx 06fe42d2e50b40f39069920378aacd75d3ba8049 |
View Raw JSON Data
{
"trx_id": "06fe42d2e50b40f39069920378aacd75d3ba8049",
"block": 23007199,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-03T19:49:00",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "ethereum",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition-part-2",
"title": "Solidity Workshop Guide - Pocked Edition - Part 2",
"body": "# Solidity Workshop Guide - Pocked Edition - Part 2\n\n\n\nThis is the part 2 of [Solidity Workshop Guide](https://steemit.com/ethereum/@petarjs/solidity-workshop-guide-pocked-edition), now tackling communication between JavaScript and a smart contract.\n\n## Let's start!\n\nWe'll use the already deployed contract Dask to play around with it.\n\nDask is deployed to Ropsten test network at the address `0x991238107f1823de55c6fb21162b059532c72496`. You can check it out on [EtherScan](https://ropsten.etherscan.io/address/0x991238107f1823de55c6fb21162b059532c72496).\n\nTo recap, Dask is a contract that allows anyone to ask a question and send bounty with it that will be rewarded to anyone who answers the question. The answers are a number between 1 and 5, so we can imagine someone asking a question like \"How much did you like my blog post about Solidity?\" and send some ether with it. Then the questions would come rushing in, with people answering with a number, so I would take the average of the answers and find out how much did people like my blog post on a scale from 1 to 5 :)\n\n## Interface\n\nDask has several methods that we can call:\n\n### **getPricePerAnswer**()\n\nThis method simply returns the price per one answer (view only). This is the amount of ether that will be rewarded to anyone who answers a question, and is defined in the contract. It is initially set to 10000 wei, a totally arbitrary number. But it can also be changed, by the creator of the contract, by calling the **setPricePerAnswer** method. You can try calling it, but it won't work, as it will allow only the address that created the contract to execute it.\n\n### **askQuestion**(string text, uint maxAnswers)\n\nThis method creates a new question that can be later answered by anyone. It changes state, so it will have a transaction fee associated with it. The first argument is *text*, so it would just be a string like \"How much did you like my blog post\". The second parameter, *maxAnswers* puts a limit on how many people can answer. I could say that I want 100 answers. Then if someone tries to answer the question after 100 answers, his will be rejected. Finally, along with the call to this method, I need to send ether that will be distributed to those who answer the question. I must send `*maxAnswers* * *pricePerAnswer*` ether. If I send less than that, the call will be rejected.\n\nThe questions are indexed first by address and then by the text of the question, which seems reasonable, as it allows every address to ask a question once.\n\nThis method also fires an event called *QuestionAsked*, so anyone can listen to that event and know when a new question has been asked.\n\n### **answerQuestion**(address askedBy, string text, uint answer)\n\nThis method allows us to answer a question. It is a state chaning method, so it has a transaction fee associated with it. We must provide the address that created the question, as well as the question's text. We can get this info from the events fired by *askQuestion* method. Last argument we provide is our answer, and it has to be a number from 1 to 5. Every address can only answer the question once, therefore disabling people from trying to get the answer reward multiple times for one question. The second requirement is that there is less than *maxAnswers* answers already associated with the question.\n\nIf all requirements are met, this method records the answer, and transfers the reward in ether to you. Finally, it emits the *QuestionAnswered* event, so that the user who asked the question can be notified and follow the answers as they come in.\n\n## Interacting with the contract via JavaScript\n\nWe will use Metamask extension to manage our accounts and inject the `web3` library into our page. If you're not familiar with Metamask, check out this [tutorial](https://www.cryptocompare.com/wallets/guides/how-to-use-metamask/) and in the Part 3, instead of Mainnet, choose Ropsten test net, and you're all set!\n\nCreate a new html file, and let's get rolling! One note though, you'll need a local webserver to serve your html page in order for this to work, I recommend NodeJS package HttpServer. You can get it by running `npm i -g http-server`, and then just go into the directory where you've got your html file, and run `http-server`. Then visit `http://localhost:8080` and you'll see your webpage!\n\nWe need to wait for the document to load, to give Metamask time to initialize:\n\n```js\ndocument.body.onload = () => {\n // your code here\n}\n```\n\nNow, to interact with our smart contract from JavaScript, we need two things - its abi and its address. The address we already know (`0x991238107f1823de55c6fb21162b059532c72496`), and the ABI you can find in [this Gist](https://gist.github.com/petarjs/7429e68fc13ab8e01a0261a4fa36e478).\n\n```js\nlet abi = [ { \"inputs\": [], \"payable\": false, \"stateMutability\": \"nonpayable\", \"type\": \"constructor\" }, { \"anonymous\": false, \"inputs\": [ { \"indexed\": false, \"name\": \"price\", \"type\": \"uint256\" } ], \"name\": \"PricePerAnswerSet\", \"type\": \"event\" }, { \"anonymous\": false, \"inputs\": [ { \"indexed\": false, \"name\": \"askedBy\", \"type\": \"address\" }, { \"indexed\": false, \"name\": \"text\", \"type\": \"string\" } ], \"name\": \"QuestionAsked\", \"type\": \"event\" }, { \"anonymous\": false, \"inputs\": [ { \"indexed\": false, \"name\": \"askedBy\", \"type\": \"address\" }, { \"indexed\": false, \"name\": \"text\", \"type\": \"string\" }, { \"indexed\": false, \"name\": \"answer\", \"type\": \"uint256\" } ], \"name\": \"QuestionAnswered\", \"type\": \"event\" }, { \"constant\": false, \"inputs\": [ { \"name\": \"price\", \"type\": \"uint256\" } ], \"name\": \"setPricePerAnswer\", \"outputs\": [], \"payable\": false, \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"constant\": true, \"inputs\": [], \"name\": \"getPricePerAnswer\", \"outputs\": [ { \"name\": \"\", \"type\": \"uint256\" } ], \"payable\": false, \"stateMutability\": \"view\", \"type\": \"function\" }, { \"constant\": false, \"inputs\": [ { \"name\": \"text\", \"type\": \"string\" }, { \"name\": \"maxAnswers\", \"type\": \"uint256\" } ], \"name\": \"askQuestion\", \"outputs\": [], \"payable\": true, \"stateMutability\": \"payable\", \"type\": \"function\" }, { \"constant\": false, \"inputs\": [ { \"name\": \"askedBy\", \"type\": \"address\" }, { \"name\": \"text\", \"type\": \"string\" }, { \"name\": \"answer\", \"type\": \"uint256\" } ], \"name\": \"answerQuestion\", \"outputs\": [], \"payable\": false, \"stateMutability\": \"nonpayable\", \"type\": \"function\" } ]\nlet address = '0x991238107f1823de55c6fb21162b059532c72496'\nlet daskContract = web3.eth.contract(abi).at(address)\n```\n\nOkay! Now we can use our daskContract to ask a question. Let's hardcode the parameters for brewity, but in real life you'd have an input field and use the value of it when calling a method.\n\n```js\nlet question = 'How are you today?'\nlet maxAnswers = 100\nlet value = 10000 * maxAnswers\ndaskContract\n .askQuestion(question, maxAnswers, { value }, (error, response) => {\n console.log(error, response)\n })\n```\n\nAfter reloading the page, Metamask will ask you to confirm the transaction. When you confirm it, it will send it to the Ethereum Ropsten network! And in the browser console, you'll see a transaction hash printed out as `response`. This means that the transaction of this method call has been sent to the network, and now it's waiting to be mined (included in a block). You can open [EtherScan](`https://ropsten.etherscan.io`) and paste the transaction hash to watch it execute.\n\nAfter some time it will be executed, which means that it is now officially included in the Ropsten network, and everybody can see it!\n\nBut, there's a problem with our code. We calculate `value` by multipling by `10000`, as we know that is the initial price per answer. What if at some point the contract creator (me) decides to change that price? Your code won't work, the transactions for askQuestion will be rejected. So we need a way to first ask the contract what is the current price per answer, and then use that price when asking the question.\n\n```js\ndaskContract\n .getPricePerAnswer((error, price) => {\n let question = 'How are you today?'\n let maxAnswers = 100\n let value = price * maxAnswers\n daskContract\n .askQuestion(question, maxAnswers, { value }, (error, response) => {\n console.log(error, response)\n })\n })\n```\n\n## Events\n\nGreat! Now, let's create an event listener to load all questions that have ever been asked!\n\n```js\ndaskContract\n .QuestionAsked(null, { fromBlock: 0, toBlock: 'latest' })\n .watch((error, event) => {\n let { askedBy, text } = event.args\n console.log(text)\n })\n```\n\nWe can see that `QuestionAsked` accepts two parameters when we want to start watching it. Both are filters - the first one (the one we set to `null`) is for filtering events based on its indexed values. Since we didn't index any parameters for events in the Dask contract, we leave this empty. The second filter argument allows us to specify `fromBlock` and `toBlock`. By setting the value 0 for `fromBlock`, we say that we want to get all `QuestionAsked` events from the beginning of the blockchain history. If we set `'latest'` as the value for `fromBlock`, we would not get any past events, but only those that happen after we first load the page. On the other hand, setting `'latest'` as the value for `toBlock` allows us to keep listening for events as new blocks are added to the blockchain. Conversly, if we set a fixed value for `toBlock`, we would only get `QuestionAsked` events that happend up to that block number.\n\n## Next steps\n\nWhoah! We took a look at interacting with our contract by calling methods that modify the state and those that just read from it. We saw how we can use events to keep track of what's happening on the blockchain in real time. Now, you can try to implement the `answerQuestion` functinality on your own!\n\nIf you get stuck, or have any questions, feel free to ask them in the comments below. I'd love to help!\n\nCheers! 🎉🎉🎉",
"json_metadata": "{\"tags\":[\"ethereum\",\"software\",\"solidity\",\"javascript\",\"programming\"],\"image\":[\"https://cdn.steemitimages.com/DQmYJSzUVK9P6h9KbedPV1ijL66FiPZFU7PgDtu2ww7WABP/IMG_9676.JPG\"],\"links\":[\"https://steemit.com/ethereum/@petarjs/solidity-workshop-guide-pocked-edition\",\"https://ropsten.etherscan.io/address/0x991238107f1823de55c6fb21162b059532c72496\",\"https://www.cryptocompare.com/wallets/guides/how-to-use-metamask/\",\"https://gist.github.com/petarjs/7429e68fc13ab8e01a0261a4fa36e478\",\"`https://ropsten.etherscan.io`\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}petarjsreceived 0.107 STEEM, 2.743 SBD, 1.601 SP author reward for @petarjs / solidity-workshop-guide-pocked-edition2018/05/31 21:34:54
petarjsreceived 0.107 STEEM, 2.743 SBD, 1.601 SP author reward for @petarjs / solidity-workshop-guide-pocked-edition
2018/05/31 21:34:54
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| sbd payout | 2.743 SBD |
| steem payout | 0.107 STEEM |
| vesting payout | 2606.639725 VESTS |
| Transaction Info | Block #22922957/Virtual Operation #29 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 22922957,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 29,
"timestamp": "2018-05-31T21:34:54",
"op": [
"author_reward",
{
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"sbd_payout": "2.743 SBD",
"steem_payout": "0.107 STEEM",
"vesting_payout": "2606.639725 VESTS"
}
]
}petarjsreceived 0.001 SP curation reward for @eosargentina / developing-typescript-javascript-on-eos2018/05/30 13:23:39
petarjsreceived 0.001 SP curation reward for @eosargentina / developing-typescript-javascript-on-eos
2018/05/30 13:23:39
| curator | petarjs |
| reward | 2.033402 VESTS |
| comment author | eosargentina |
| comment permlink | developing-typescript-javascript-on-eos |
| Transaction Info | Block #22884338/Virtual Operation #45 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 22884338,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 45,
"timestamp": "2018-05-30T13:23:39",
"op": [
"curation_reward",
{
"curator": "petarjs",
"reward": "2.033402 VESTS",
"comment_author": "eosargentina",
"comment_permlink": "developing-typescript-javascript-on-eos"
}
]
}stojkexupvoted (100.00%) @petarjs / map-filter-reduce-tame-your-loop-monsters2018/05/28 14:00:15
stojkexupvoted (100.00%) @petarjs / map-filter-reduce-tame-your-loop-monsters
2018/05/28 14:00:15
| voter | stojkex |
| author | petarjs |
| permlink | map-filter-reduce-tame-your-loop-monsters |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22827476/Trx 63d1cb762be2f2b64b5918107247c9e7f1badbf5 |
View Raw JSON Data
{
"trx_id": "63d1cb762be2f2b64b5918107247c9e7f1badbf5",
"block": 22827476,
"trx_in_block": 47,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-28T14:00:15",
"op": [
"vote",
{
"voter": "stojkex",
"author": "petarjs",
"permlink": "map-filter-reduce-tame-your-loop-monsters",
"weight": 10000
}
]
}2018/05/28 04:31:48
2018/05/28 04:31:48
| parent author | petarjs |
| parent permlink | re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z |
| author | amirl |
| permlink | re-petarjs-re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180528t043146868z |
| title | |
| body | That says a lot ;) |
| json metadata | {"tags":["aws"],"app":"steemit/0.1"} |
| Transaction Info | Block #22816109/Trx 673a8055eb1b9dc4962d7a536d8f13df19ac2162 |
View Raw JSON Data
{
"trx_id": "673a8055eb1b9dc4962d7a536d8f13df19ac2162",
"block": 22816109,
"trx_in_block": 40,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-28T04:31:48",
"op": [
"comment",
{
"parent_author": "petarjs",
"parent_permlink": "re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z",
"author": "amirl",
"permlink": "re-petarjs-re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180528t043146868z",
"title": "",
"body": "That says a lot ;)",
"json_metadata": "{\"tags\":[\"aws\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/05/28 04:31:27
2018/05/28 04:31:27
| voter | amirl |
| author | petarjs |
| permlink | re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22816102/Trx bcb3494f88be01f3e5085c556334562b5526519c |
View Raw JSON Data
{
"trx_id": "bcb3494f88be01f3e5085c556334562b5526519c",
"block": 22816102,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-28T04:31:27",
"op": [
"vote",
{
"voter": "amirl",
"author": "petarjs",
"permlink": "re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z",
"weight": 10000
}
]
}petarjsfollowed @eosargentina2018/05/27 23:03:48
petarjsfollowed @eosargentina
2018/05/27 23:03:48
| required auths | [] |
| required posting auths | ["petarjs"] |
| id | follow |
| json | ["follow",{"follower":"petarjs","following":"eosargentina","what":["blog"]}] |
| Transaction Info | Block #22809549/Trx 1470451b7a005012ea4e7da0ae277690c33ac442 |
View Raw JSON Data
{
"trx_id": "1470451b7a005012ea4e7da0ae277690c33ac442",
"block": 22809549,
"trx_in_block": 65,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-27T23:03:48",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"petarjs"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"petarjs\",\"following\":\"eosargentina\",\"what\":[\"blog\"]}]"
}
]
}petarjsupvoted (100.00%) @eosargentina / developing-typescript-javascript-on-eos2018/05/27 23:03:45
petarjsupvoted (100.00%) @eosargentina / developing-typescript-javascript-on-eos
2018/05/27 23:03:45
| voter | petarjs |
| author | eosargentina |
| permlink | developing-typescript-javascript-on-eos |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22809548/Trx efbf51cd8fe8d9b6efd92394430b352e853486d4 |
View Raw JSON Data
{
"trx_id": "efbf51cd8fe8d9b6efd92394430b352e853486d4",
"block": 22809548,
"trx_in_block": 52,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-27T23:03:45",
"op": [
"vote",
{
"voter": "petarjs",
"author": "eosargentina",
"permlink": "developing-typescript-javascript-on-eos",
"weight": 10000
}
]
}2018/05/27 23:01:18
2018/05/27 23:01:18
| voter | petarjs |
| author | amirl |
| permlink | re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180222t055439066z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22809499/Trx bb33d759e5bd7200e3dc7eccdd3e746daea00b7d |
View Raw JSON Data
{
"trx_id": "bb33d759e5bd7200e3dc7eccdd3e746daea00b7d",
"block": 22809499,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-27T23:01:18",
"op": [
"vote",
{
"voter": "petarjs",
"author": "amirl",
"permlink": "re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180222t055439066z",
"weight": 10000
}
]
}2018/05/27 23:01:12
2018/05/27 23:01:12
| parent author | amirl |
| parent permlink | re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180222t055439066z |
| author | petarjs |
| permlink | re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z |
| title | |
| body | Hey Amirl! I stopped working on this project a long time ago, so I'm not sure :) I think there were a lot of changes in AWS Lambda since then. |
| json metadata | {"tags":["aws"],"app":"steemit/0.1"} |
| Transaction Info | Block #22809497/Trx ffac39128aa164fb5efa6d788ac0cdd11abd1634 |
View Raw JSON Data
{
"trx_id": "ffac39128aa164fb5efa6d788ac0cdd11abd1634",
"block": 22809497,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-27T23:01:12",
"op": [
"comment",
{
"parent_author": "amirl",
"parent_permlink": "re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180222t055439066z",
"author": "petarjs",
"permlink": "re-amirl-re-petarjs-ultra-fast-image-resizing-with-aws-lambda-20180527t230111820z",
"title": "",
"body": "Hey Amirl! I stopped working on this project a long time ago, so I'm not sure :) I think there were a lot of changes in AWS Lambda since then.",
"json_metadata": "{\"tags\":[\"aws\"],\"app\":\"steemit/0.1\"}"
}
]
}pynchonupvoted (100.00%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/26 17:06:18
pynchonupvoted (100.00%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/26 17:06:18
| voter | pynchon |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22773606/Trx 725ccb8a3cd8935ce19bbad1119c18a0474ed6a9 |
View Raw JSON Data
{
"trx_id": "725ccb8a3cd8935ce19bbad1119c18a0474ed6a9",
"block": 22773606,
"trx_in_block": 50,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-26T17:06:18",
"op": [
"vote",
{
"voter": "pynchon",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 10000
}
]
}fidelpoetupvoted (3.00%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/25 23:10:57
fidelpoetupvoted (3.00%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/25 23:10:57
| voter | fidelpoet |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 300 (3.00%) |
| Transaction Info | Block #22752101/Trx 1e0db4f5eb5bb4a5dbbf03bd027b94be1180104a |
View Raw JSON Data
{
"trx_id": "1e0db4f5eb5bb4a5dbbf03bd027b94be1180104a",
"block": 22752101,
"trx_in_block": 72,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-25T23:10:57",
"op": [
"vote",
{
"voter": "fidelpoet",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 300
}
]
}jaynaupvoted (0.45%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/25 23:10:57
jaynaupvoted (0.45%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/25 23:10:57
| voter | jayna |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 45 (0.45%) |
| Transaction Info | Block #22752101/Trx 1527994cd293bbebec2be3e321e255348df9b637 |
View Raw JSON Data
{
"trx_id": "1527994cd293bbebec2be3e321e255348df9b637",
"block": 22752101,
"trx_in_block": 71,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-25T23:10:57",
"op": [
"vote",
{
"voter": "jayna",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 45
}
]
}thatterrioguyupvoted (2.25%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/25 23:10:57
thatterrioguyupvoted (2.25%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/25 23:10:57
| voter | thatterrioguy |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 225 (2.25%) |
| Transaction Info | Block #22752101/Trx 607b39105d431f57dc5a8ca5b21f744e84e700ef |
View Raw JSON Data
{
"trx_id": "607b39105d431f57dc5a8ca5b21f744e84e700ef",
"block": 22752101,
"trx_in_block": 70,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-25T23:10:57",
"op": [
"vote",
{
"voter": "thatterrioguy",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 225
}
]
}mcyusufupvoted (1.50%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/25 23:10:57
mcyusufupvoted (1.50%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/25 23:10:57
| voter | mcyusuf |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 150 (1.50%) |
| Transaction Info | Block #22752101/Trx c1df3f4479c01671a8a11a168d2d4d2e69b00cfb |
View Raw JSON Data
{
"trx_id": "c1df3f4479c01671a8a11a168d2d4d2e69b00cfb",
"block": 22752101,
"trx_in_block": 68,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-25T23:10:57",
"op": [
"vote",
{
"voter": "mcyusuf",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 150
}
]
}vignaupvoted (0.15%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/25 23:09:57
vignaupvoted (0.15%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/25 23:09:57
| voter | vigna |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 15 (0.15%) |
| Transaction Info | Block #22752081/Trx 9a4efe3c057b241a32c9d7a4c084fc053c637613 |
View Raw JSON Data
{
"trx_id": "9a4efe3c057b241a32c9d7a4c084fc053c637613",
"block": 22752081,
"trx_in_block": 40,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-25T23:09:57",
"op": [
"vote",
{
"voter": "vigna",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 15
}
]
}bennettitaliaupvoted (0.15%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/25 23:06:00
bennettitaliaupvoted (0.15%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/25 23:06:00
| voter | bennettitalia |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 15 (0.15%) |
| Transaction Info | Block #22752002/Trx 10d74e6fb6f7489330112bd5a8f9cefe1e59e200 |
View Raw JSON Data
{
"trx_id": "10d74e6fb6f7489330112bd5a8f9cefe1e59e200",
"block": 22752002,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-25T23:06:00",
"op": [
"vote",
{
"voter": "bennettitalia",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 15
}
]
}shaff.affupvoted (10.00%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/25 23:06:00
shaff.affupvoted (10.00%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/25 23:06:00
| voter | shaff.aff |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 1000 (10.00%) |
| Transaction Info | Block #22752002/Trx abb95dc5df293d2f166b6e509ac75de469e447cf |
View Raw JSON Data
{
"trx_id": "abb95dc5df293d2f166b6e509ac75de469e447cf",
"block": 22752002,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-25T23:06:00",
"op": [
"vote",
{
"voter": "shaff.aff",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 1000
}
]
}benleemusicupvoted (0.30%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/25 23:01:00
benleemusicupvoted (0.30%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/25 23:01:00
| voter | benleemusic |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 30 (0.30%) |
| Transaction Info | Block #22751902/Trx ed87b5802c88d7af4fb7637e79a01aaecd3e5984 |
View Raw JSON Data
{
"trx_id": "ed87b5802c88d7af4fb7637e79a01aaecd3e5984",
"block": 22751902,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-25T23:01:00",
"op": [
"vote",
{
"voter": "benleemusic",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 30
}
]
}happychildupvoted (1.50%) @petarjs / solidity-workshop-guide-pocked-edition2018/05/25 23:00:57
happychildupvoted (1.50%) @petarjs / solidity-workshop-guide-pocked-edition
2018/05/25 23:00:57
| voter | happychild |
| author | petarjs |
| permlink | solidity-workshop-guide-pocked-edition |
| weight | 150 (1.50%) |
| Transaction Info | Block #22751901/Trx 72df2ddcee65036faf823371626a65dbb7b1ded9 |
View Raw JSON Data
{
"trx_id": "72df2ddcee65036faf823371626a65dbb7b1ded9",
"block": 22751901,
"trx_in_block": 73,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-25T23:00:57",
"op": [
"vote",
{
"voter": "happychild",
"author": "petarjs",
"permlink": "solidity-workshop-guide-pocked-edition",
"weight": 150
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress9.70%
{
"voting_manabar": {
"current_mana": "419016598143",
"last_update_time": 1539798138
},
"downvote_manabar": {
"current_mana": 0,
"last_update_time": 1503327345
},
"rc_account": {
"account": "petarjs",
"rc_manabar": {
"current_mana": "418779747258",
"last_update_time": 1544912280
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "418779747258"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://scontent.fbeg5-1.fna.fbcdn.net/v/t1.0-1/p160x160/10353542_10204994411241194_8622727079869454566_n.jpg?oh=2995b890fd7882e4f74ae53d20513cb0&oe=5A1DADCA","name":"petarjs","location":"Belgrade","website":"https://petar.io","about":"COO @Review.Network. Hungry for Code, Hungry for Ideas. Passionate about engineering Web applications, sharing knowledge and building communities."} |
| JSON METADATA | |
| profile | {"profile_image":"https://scontent.fbeg5-1.fna.fbcdn.net/v/t1.0-1/p160x160/10353542_10204994411241194_8622727079869454566_n.jpg?oh=2995b890fd7882e4f74ae53d20513cb0&oe=5A1DADCA","name":"petarjs","location":"Belgrade","website":"https://petar.io","about":"COO @Review.Network. Hungry for Code, Hungry for Ideas. Passionate about engineering Web applications, sharing knowledge and building communities."} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://scontent.fbeg5-1.fna.fbcdn.net/v/t1.0-1/p160x160/10353542_10204994411241194_8622727079869454566_n.jpg?oh=2995b890fd7882e4f74ae53d20513cb0&oe=5A1DADCA",
"name": "petarjs",
"location": "Belgrade",
"website": "https://petar.io",
"about": "COO @Review.Network. Hungry for Code, Hungry for Ideas. Passionate about engineering Web applications, sharing knowledge and building communities."
}
},
"json_metadata": {
"profile": {
"profile_image": "https://scontent.fbeg5-1.fna.fbcdn.net/v/t1.0-1/p160x160/10353542_10204994411241194_8622727079869454566_n.jpg?oh=2995b890fd7882e4f74ae53d20513cb0&oe=5A1DADCA",
"name": "petarjs",
"location": "Belgrade",
"website": "https://petar.io",
"about": "COO @Review.Network. Hungry for Code, Hungry for Ideas. Passionate about engineering Web applications, sharing knowledge and building communities."
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM6FiN3bvFHNG13apbZHA31sqF6nkizvcatBN4kcFTPvPpvpZNFH1/1
Active
Single Signature
Public Keys
STM6qEXT7WbAuwuRU9WM7s28wk2EuXkf7yZ4P8cvMQdP6DtUcvDPV1/1
Posting
Single Signature
Public Keys
STM88Hunh9K7LHdFkCHsrsQ8XTDa49VQCFaDaSMe5k2NjQaeLPcd81/1
App Permissions
@busy.app1/1
Memo
STM6CveEmoEKcb5HhX6uCeh2E1TAUsVbuH5Cbr5t4nfPZF1mzvTuT
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6FiN3bvFHNG13apbZHA31sqF6nkizvcatBN4kcFTPvPpvpZNFH",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6qEXT7WbAuwuRU9WM7s28wk2EuXkf7yZ4P8cvMQdP6DtUcvDPV",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [
[
"busy.app",
1
]
],
"key_auths": [
[
"STM88Hunh9K7LHdFkCHsrsQ8XTDa49VQCFaDaSMe5k2NjQaeLPcd8",
1
]
]
},
"memo": "STM6CveEmoEKcb5HhX6uCeh2E1TAUsVbuH5Cbr5t4nfPZF1mzvTuT"
}Witness Votes
0 / 30
No active witness votes.
[]