@xourse
25A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica
steemit.com/@xourseVOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.007USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.001SP
├── Own SP
0.125SP
└── Incoming DelegationsDeleg
+4.876SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.125SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.876SP | SP |
| Effective Power | 5.001SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "204.132496 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7939.527310 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | xourse |
| id | 865923 |
| rank | 445,778 |
| reputation | 22973513 |
| created | 2018-03-16T23:11:45 |
| recovery_account | steem |
| proxy | None |
| post_count | 2 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-03-17T23:58:39 |
| last_root_post | 2018-03-17T23:58:39 |
| last_vote_time | 2018-03-18T00:01:39 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 204.132496 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7939.527310 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-03-17T02:44:12 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 865923,
"name": "xourse",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM4zzED8gPFA47Lfc6Y6Ba8RnB56NcFRpc9v2M21pDGM5b48Ax1Y",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8biHrG6gToM1PiYDA1v35hL9DyLFMBzyuyzLGpxYpHBJPiLw4w",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8Z1ff59LsxiA4wDtPUQTwz1D56ZKSbLuvhCexUjry9Z6S8aWqU",
1
]
]
},
"memo_key": "STM5yL64sdn25XDWkwDH8iffPNjUFtEqsnFEk7srBqHQXsZweCBWK",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://pbs.twimg.com/profile_images/823666067318960130/B--JR2Ym_400x400.jpg\",\"name\":\"Xourse\",\"about\":\"A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica\",\"location\":\"Costa Rica\",\"website\":\"http://www.xourse.com/\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://pbs.twimg.com/profile_images/823666067318960130/B--JR2Ym_400x400.jpg\",\"name\":\"Xourse\",\"about\":\"A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica\",\"location\":\"Costa Rica\",\"website\":\"http://www.xourse.com/\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2018-03-17T02:44:12",
"created": "2018-03-16T23:11: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": 2,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779092541
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779092541
},
"voting_power": 0,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "1970-01-01T00:00:00",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "204.132496 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7939.527310 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 0,
"posting_rewards": 0,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2018-03-17T23:58:39",
"last_root_post": "2018-03-17T23:58:39",
"last_vote_time": "2018-03-18T00:01:39",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": 22973513,
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 445778
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2026/05/18 08:22:21
2026/05/18 08:22:21
| delegator | steem |
| delegatee | xourse |
| vesting shares | 7939.527310 VESTS |
| Transaction Info | Block #106153152/Trx dbb97310be03512fd5d7733d84dc8e88ae32aab0 |
View Raw JSON Data
{
"trx_id": "dbb97310be03512fd5d7733d84dc8e88ae32aab0",
"block": 106153152,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-18T08:22:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "7939.527310 VESTS"
}
]
}2026/05/13 12:49:51
2026/05/13 12:49:51
| delegator | steem |
| delegatee | xourse |
| vesting shares | 5227.316905 VESTS |
| Transaction Info | Block #106015210/Trx beadcb7ac1fd8f7e48abbb8eb65191f612e3b436 |
View Raw JSON Data
{
"trx_id": "beadcb7ac1fd8f7e48abbb8eb65191f612e3b436",
"block": 106015210,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-13T12:49:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "5227.316905 VESTS"
}
]
}2026/04/26 07:31:03
2026/04/26 07:31:03
| delegator | steem |
| delegatee | xourse |
| vesting shares | 7952.043066 VESTS |
| Transaction Info | Block #105520576/Trx 27fc0fc17c783d57a1f758c7bbc844b470a3c120 |
View Raw JSON Data
{
"trx_id": "27fc0fc17c783d57a1f758c7bbc844b470a3c120",
"block": 105520576,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-26T07:31:03",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "7952.043066 VESTS"
}
]
}2026/01/24 05:37:42
2026/01/24 05:37:42
| delegator | steem |
| delegatee | xourse |
| vesting shares | 5268.863724 VESTS |
| Transaction Info | Block #102877948/Trx 79c0042dde1276c7958877cb39d0826c74d13b6b |
View Raw JSON Data
{
"trx_id": "79c0042dde1276c7958877cb39d0826c74d13b6b",
"block": 102877948,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-24T05:37:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "5268.863724 VESTS"
}
]
}2024/12/18 00:46:48
2024/12/18 00:46:48
| delegator | steem |
| delegatee | xourse |
| vesting shares | 5433.082921 VESTS |
| Transaction Info | Block #91324149/Trx ddfa1ed8ba016120f95d6629696d2d2838f64556 |
View Raw JSON Data
{
"trx_id": "ddfa1ed8ba016120f95d6629696d2d2838f64556",
"block": 91324149,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-18T00:46:48",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "5433.082921 VESTS"
}
]
}markcollinsimreplied to @xourse / s9mawi2024/02/29 12:33:57
markcollinsimreplied to @xourse / s9mawi
2024/02/29 12:33:57
| parent author | xourse |
| parent permlink | dao |
| author | markcollinsim |
| permlink | s9mawi |
| title | |
| body | Its Really a Great Article!! Thanks for sharing your knowledge with us and we are expecting more from your side keep posting.Here our team wrote some crypto exchange development blog just check out the site in your free time-https://imetatech.io/cryptocurrency-exchange-script |
| json metadata | {"links":["https://imetatech.io/cryptocurrency-exchange-script"],"app":"steemit/0.2"} |
| Transaction Info | Block #82936531/Trx 322794d1d63757e4e57101fe663da5e6c7c167e3 |
View Raw JSON Data
{
"trx_id": "322794d1d63757e4e57101fe663da5e6c7c167e3",
"block": 82936531,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-02-29T12:33:57",
"op": [
"comment",
{
"parent_author": "xourse",
"parent_permlink": "dao",
"author": "markcollinsim",
"permlink": "s9mawi",
"title": "",
"body": "Its Really a Great Article!! Thanks for sharing your knowledge with us and we are expecting more from your side keep posting.Here our team wrote some crypto exchange development blog just check out the site in your free time-https://imetatech.io/cryptocurrency-exchange-script",
"json_metadata": "{\"links\":[\"https://imetatech.io/cryptocurrency-exchange-script\"],\"app\":\"steemit/0.2\"}"
}
]
}2023/11/14 16:25:45
2023/11/14 16:25:45
| delegator | steem |
| delegatee | xourse |
| vesting shares | 5602.216453 VESTS |
| Transaction Info | Block #79878243/Trx 2b0791a21b8ec537466e48e2cc9e47a43e2a938a |
View Raw JSON Data
{
"trx_id": "2b0791a21b8ec537466e48e2cc9e47a43e2a938a",
"block": 79878243,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-14T16:25:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "5602.216453 VESTS"
}
]
}2023/09/22 12:51:36
2023/09/22 12:51:36
| delegator | steem |
| delegatee | xourse |
| vesting shares | 8539.125239 VESTS |
| Transaction Info | Block #78365818/Trx 8aa8f66041c9c4c0ce13d558ba69b9a767e64943 |
View Raw JSON Data
{
"trx_id": "8aa8f66041c9c4c0ce13d558ba69b9a767e64943",
"block": 78365818,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-22T12:51:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "8539.125239 VESTS"
}
]
}2022/11/03 20:00:09
2022/11/03 20:00:09
| delegator | steem |
| delegatee | xourse |
| vesting shares | 8761.176677 VESTS |
| Transaction Info | Block #69123176/Trx 00356aa3a3a0f1cf8db6a35c98534345bbb3b834 |
View Raw JSON Data
{
"trx_id": "00356aa3a3a0f1cf8db6a35c98534345bbb3b834",
"block": 69123176,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T20:00:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "8761.176677 VESTS"
}
]
}2022/01/18 00:59:57
2022/01/18 00:59:57
| delegator | steem |
| delegatee | xourse |
| vesting shares | 8981.284278 VESTS |
| Transaction Info | Block #60826182/Trx 6253afee0965027b8793576f1cc9fcdb79ab4093 |
View Raw JSON Data
{
"trx_id": "6253afee0965027b8793576f1cc9fcdb79ab4093",
"block": 60826182,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-18T00:59:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "8981.284278 VESTS"
}
]
}2021/06/14 08:05:45
2021/06/14 08:05:45
| delegator | steem |
| delegatee | xourse |
| vesting shares | 9165.478566 VESTS |
| Transaction Info | Block #54616396/Trx 484ae9a9b11f738bf6324925a140d8dd6ac5c08a |
View Raw JSON Data
{
"trx_id": "484ae9a9b11f738bf6324925a140d8dd6ac5c08a",
"block": 54616396,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-14T08:05:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "9165.478566 VESTS"
}
]
}2020/12/11 18:15:57
2020/12/11 18:15:57
| delegator | steem |
| delegatee | xourse |
| vesting shares | 9352.900540 VESTS |
| Transaction Info | Block #49363592/Trx 9162b3a0f36469d0f025fdb21c70632a1ef0e702 |
View Raw JSON Data
{
"trx_id": "9162b3a0f36469d0f025fdb21c70632a1ef0e702",
"block": 49363592,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T18:15:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "9352.900540 VESTS"
}
]
}2020/12/06 11:50:57
2020/12/06 11:50:57
| delegator | steem |
| delegatee | xourse |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49215105/Trx 661261291009cb00510fbc7993a8db6f187e1330 |
View Raw JSON Data
{
"trx_id": "661261291009cb00510fbc7993a8db6f187e1330",
"block": 49215105,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T11:50:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "1912.543513 VESTS"
}
]
}2020/12/05 21:53:42
2020/12/05 21:53:42
| delegator | steem |
| delegatee | xourse |
| vesting shares | 9359.108394 VESTS |
| Transaction Info | Block #49198675/Trx dbe5172ab07c77fc0112ee7a9766333bd9cb2514 |
View Raw JSON Data
{
"trx_id": "dbe5172ab07c77fc0112ee7a9766333bd9cb2514",
"block": 49198675,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-05T21:53:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "9359.108394 VESTS"
}
]
}2020/11/03 06:26:42
2020/11/03 06:26:42
| delegator | steem |
| delegatee | xourse |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48275236/Trx b8100258deb3ed97ba8edd2bdc54df5cbda51367 |
View Raw JSON Data
{
"trx_id": "b8100258deb3ed97ba8edd2bdc54df5cbda51367",
"block": 48275236,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-03T06:26:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "1920.017158 VESTS"
}
]
}2020/05/26 09:10:48
2020/05/26 09:10:48
| parent author | xourse |
| parent permlink | solidity-for-beginners |
| author | steemitboard |
| permlink | steemitboard-notify-xourse-20200317t002654000z |
| title | |
| body |  |
| json metadata | {"image":["https://i.imgur.com/1IisxxB.png"]} |
| Transaction Info | Block #43700121/Trx e6820edf5888b1b34302ad83d48c50dd3e81bbc9 |
View Raw JSON Data
{
"trx_id": "e6820edf5888b1b34302ad83d48c50dd3e81bbc9",
"block": 43700121,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-26T09:10:48",
"op": [
"comment",
{
"parent_author": "xourse",
"parent_permlink": "solidity-for-beginners",
"author": "steemitboard",
"permlink": "steemitboard-notify-xourse-20200317t002654000z",
"title": "",
"body": "",
"json_metadata": "{\"image\":[\"https://i.imgur.com/1IisxxB.png\"]}"
}
]
}2020/05/09 12:55:57
2020/05/09 12:55:57
| delegator | steem |
| delegatee | xourse |
| vesting shares | 9561.913753 VESTS |
| Transaction Info | Block #43225465/Trx f44eeef84b41b3118367b49dc2dd70e9f692fef5 |
View Raw JSON Data
{
"trx_id": "f44eeef84b41b3118367b49dc2dd70e9f692fef5",
"block": 43225465,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T12:55:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "9561.913753 VESTS"
}
]
}2020/05/08 17:37:00
2020/05/08 17:37:00
| delegator | steem |
| delegatee | xourse |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43202825/Trx fd66f449b62704fe79c5c5ec3053dd419d4fdb8f |
View Raw JSON Data
{
"trx_id": "fd66f449b62704fe79c5c5ec3053dd419d4fdb8f",
"block": 43202825,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T17:37:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "1953.311140 VESTS"
}
]
}2020/03/17 00:26:54
2020/03/17 00:26:54
| parent author | xourse |
| parent permlink | solidity-for-beginners |
| author | steemitboard |
| permlink | steemitboard-notify-xourse-20200317t002654000z |
| title | |
| body | Congratulations @xourse! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@xourse/birthday2.png</td><td>Happy Steem 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/@xourse) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=xourse)_</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 #41716248/Trx 34b8a0bbbe414b6595b6be94ae4912030fde9f74 |
View Raw JSON Data
{
"trx_id": "34b8a0bbbe414b6595b6be94ae4912030fde9f74",
"block": 41716248,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-03-17T00:26:54",
"op": [
"comment",
{
"parent_author": "xourse",
"parent_permlink": "solidity-for-beginners",
"author": "steemitboard",
"permlink": "steemitboard-notify-xourse-20200317t002654000z",
"title": "",
"body": "Congratulations @xourse! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@xourse/birthday2.png</td><td>Happy Steem 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/@xourse) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=xourse)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}2019/11/01 10:06:03
2019/11/01 10:06:03
| delegator | steem |
| delegatee | xourse |
| vesting shares | 9668.312836 VESTS |
| Transaction Info | Block #37790898/Trx 032e6e33ca960bd69edfbf26fa6bd218f8a41329 |
View Raw JSON Data
{
"trx_id": "032e6e33ca960bd69edfbf26fa6bd218f8a41329",
"block": 37790898,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-11-01T10:06:03",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "9668.312836 VESTS"
}
]
}2019/03/17 01:48:30
2019/03/17 01:48:30
| parent author | xourse |
| parent permlink | solidity-for-beginners |
| author | steemitboard |
| permlink | steemitboard-notify-xourse-20190317t014829000z |
| title | |
| body | Congratulations @xourse! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@xourse/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@xourse) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=xourse)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png"></a></td><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter">Are you a DrugWars early adopter? Benvenuto in famiglia!</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #31219486/Trx 238b32d836e0f8ca0f970c03b3781ca45ec0311e |
View Raw JSON Data
{
"trx_id": "238b32d836e0f8ca0f970c03b3781ca45ec0311e",
"block": 31219486,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-03-17T01:48:30",
"op": [
"comment",
{
"parent_author": "xourse",
"parent_permlink": "solidity-for-beginners",
"author": "steemitboard",
"permlink": "steemitboard-notify-xourse-20190317t014829000z",
"title": "",
"body": "Congratulations @xourse! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@xourse/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@xourse) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=xourse)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png\"></a></td><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\">Are you a DrugWars early adopter? Benvenuto in famiglia!</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}2018/11/26 20:03:54
2018/11/26 20:03:54
| delegator | steem |
| delegatee | xourse |
| vesting shares | 9865.788213 VESTS |
| Transaction Info | Block #28047018/Trx 26eceb884b0afc9387db6fa45b4d2a44d2171239 |
View Raw JSON Data
{
"trx_id": "26eceb884b0afc9387db6fa45b4d2a44d2171239",
"block": 28047018,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-11-26T20:03:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "9865.788213 VESTS"
}
]
}2018/07/27 23:42:06
2018/07/27 23:42:06
| required auths | [] |
| required posting auths | ["xourse"] |
| id | follow |
| json | ["follow",{"follower":"xourse","following":"geneosio","what":["blog"]}] |
| Transaction Info | Block #24555984/Trx 3f9f614efab33121e5a844905d5140416cec588a |
View Raw JSON Data
{
"trx_id": "3f9f614efab33121e5a844905d5140416cec588a",
"block": 24555984,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-27T23:42:06",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"xourse"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"xourse\",\"following\":\"geneosio\",\"what\":[\"blog\"]}]"
}
]
}2018/07/22 03:39:15
2018/07/22 03:39:15
| delegator | steem |
| delegatee | xourse |
| vesting shares | 30212.801628 VESTS |
| Transaction Info | Block #24388073/Trx 7d6b02824bcb9fd13440131aa67433afe7bd0584 |
View Raw JSON Data
{
"trx_id": "7d6b02824bcb9fd13440131aa67433afe7bd0584",
"block": 24388073,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-22T03:39:15",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "30212.801628 VESTS"
}
]
}2018/06/18 00:33:06
2018/06/18 00:33:06
| required auths | [] |
| required posting auths | ["xourse"] |
| id | follow |
| json | ["follow",{"follower":"xourse","following":"karov","what":["blog"]}] |
| Transaction Info | Block #23415413/Trx 41626201db1ab4fc85f935f188b4d2c00524edc7 |
View Raw JSON Data
{
"trx_id": "41626201db1ab4fc85f935f188b4d2c00524edc7",
"block": 23415413,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-06-18T00:33:06",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"xourse"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"xourse\",\"following\":\"karov\",\"what\":[\"blog\"]}]"
}
]
}2018/05/30 05:48:21
2018/05/30 05:48:21
| voter | xourse |
| author | cryptoctopus |
| permlink | re-anthonyclarke-re-dan-why-lisk-is-inferior-to-ethereum-20160531t221906622z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22875235/Trx f6905d065243f202ba38f015d998e4fd76193fa4 |
View Raw JSON Data
{
"trx_id": "f6905d065243f202ba38f015d998e4fd76193fa4",
"block": 22875235,
"trx_in_block": 34,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-30T05:48:21",
"op": [
"vote",
{
"voter": "xourse",
"author": "cryptoctopus",
"permlink": "re-anthonyclarke-re-dan-why-lisk-is-inferior-to-ethereum-20160531t221906622z",
"weight": 10000
}
]
}sensationupvoted (100.00%) @xourse / solidity-for-beginners2018/03/18 00:53:09
sensationupvoted (100.00%) @xourse / solidity-for-beginners
2018/03/18 00:53:09
| voter | sensation |
| author | xourse |
| permlink | solidity-for-beginners |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20769156/Trx edf768ad1059df1c9cc1dea09d152ecebcdcd2f4 |
View Raw JSON Data
{
"trx_id": "edf768ad1059df1c9cc1dea09d152ecebcdcd2f4",
"block": 20769156,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T00:53:09",
"op": [
"vote",
{
"voter": "sensation",
"author": "xourse",
"permlink": "solidity-for-beginners",
"weight": 10000
}
]
}moby-dickupvoted (100.00%) @xourse / solidity-for-beginners2018/03/18 00:44:33
moby-dickupvoted (100.00%) @xourse / solidity-for-beginners
2018/03/18 00:44:33
| voter | moby-dick |
| author | xourse |
| permlink | solidity-for-beginners |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20768984/Trx b227ee231b384b878443d4789dba40f4d5be490e |
View Raw JSON Data
{
"trx_id": "b227ee231b384b878443d4789dba40f4d5be490e",
"block": 20768984,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T00:44:33",
"op": [
"vote",
{
"voter": "moby-dick",
"author": "xourse",
"permlink": "solidity-for-beginners",
"weight": 10000
}
]
}xoursepublished a new post: solidity-for-beginners2018/03/18 00:11:09
xoursepublished a new post: solidity-for-beginners
2018/03/18 00:11:09
| parent author | |
| parent permlink | solidity |
| author | xourse |
| permlink | solidity-for-beginners |
| title | Solidity for Beginners |
| body | @@ -1,12 +1,181 @@ +*If you liked this post you might also be interested in seeing our post of on Decentralized Autonomous Organizations AKA DAO here: https://steemit.com/dao/@xourse/dao*%0A%0A For most dev @@ -688,16 +688,17 @@ f public +. %0A%0AWith t |
| json metadata | {"tags":["solidity","ethereum","programming","blockchain","evm"],"app":"steemit/0.1","format":"markdown","links":["https://steemit.com/dao/@xourse/dao"]} |
| Transaction Info | Block #20768317/Trx e6c7a8cbc5abcfc24930ecddaed2452ec461f49c |
View Raw JSON Data
{
"trx_id": "e6c7a8cbc5abcfc24930ecddaed2452ec461f49c",
"block": 20768317,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T00:11:09",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "solidity",
"author": "xourse",
"permlink": "solidity-for-beginners",
"title": "Solidity for Beginners",
"body": "@@ -1,12 +1,181 @@\n+*If you liked this post you might also be interested in seeing our post of on Decentralized Autonomous Organizations AKA DAO here: https://steemit.com/dao/@xourse/dao*%0A%0A\n For most dev\n@@ -688,16 +688,17 @@\n f public\n+.\n %0A%0AWith t\n",
"json_metadata": "{\"tags\":[\"solidity\",\"ethereum\",\"programming\",\"blockchain\",\"evm\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"links\":[\"https://steemit.com/dao/@xourse/dao\"]}"
}
]
}2018/03/18 00:09:18
2018/03/18 00:09:18
| parent author | |
| parent permlink | dao |
| author | xourse |
| permlink | dao |
| title | Decentralized Autonomous Organization - DAO |
| body | @@ -485,16 +485,151 @@ ourse*%0A%0A +*For an introduction to Solidity look at our original introductory post: https://steemit.com/solidity/@xourse/solidity-for-beginners*%0A%0A A DAO is |
| json metadata | {"tags":["dao","solidity","ethereum","xourse","blockchain"],"image":["https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png"],"links":["https://medium.com/@Xourse","https://steemit.com/solidity/@xourse/solidity-for-beginners","https://github.com/Xourse/Dao"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20768280/Trx 46e749968d2044f762684559925eef391e14667b |
View Raw JSON Data
{
"trx_id": "46e749968d2044f762684559925eef391e14667b",
"block": 20768280,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T00:09:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "dao",
"author": "xourse",
"permlink": "dao",
"title": "Decentralized Autonomous Organization - DAO",
"body": "@@ -485,16 +485,151 @@\n ourse*%0A%0A\n+*For an introduction to Solidity look at our original introductory post: https://steemit.com/solidity/@xourse/solidity-for-beginners*%0A%0A\n A DAO is\n",
"json_metadata": "{\"tags\":[\"dao\",\"solidity\",\"ethereum\",\"xourse\",\"blockchain\"],\"image\":[\"https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png\"],\"links\":[\"https://medium.com/@Xourse\",\"https://steemit.com/solidity/@xourse/solidity-for-beginners\",\"https://github.com/Xourse/Dao\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/03/18 00:01:39
2018/03/18 00:01:39
| voter | xourse |
| author | xourse |
| permlink | dao |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20768127/Trx 491d13879d20e382d58af6d98d317ec04198baac |
View Raw JSON Data
{
"trx_id": "491d13879d20e382d58af6d98d317ec04198baac",
"block": 20768127,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-18T00:01:39",
"op": [
"vote",
{
"voter": "xourse",
"author": "xourse",
"permlink": "dao",
"weight": 10000
}
]
}xoursepublished a new post: solidity-for-beginners2018/03/17 23:58:39
xoursepublished a new post: solidity-for-beginners
2018/03/17 23:58:39
| parent author | |
| parent permlink | solidity |
| author | xourse |
| permlink | solidity-for-beginners |
| title | Solidity for Beginners |
| body | For most developers, learning how to use a new platform, language or framework will be a familiar task repeated dozens of times during their career. In total, more novel is to learn to develop a completely different paradigm. The decentralized network, the blockchain, and its more well-known application ‘bitcoin’ are not well known even among the technological community and the subtleties of how this technology is fundamentally different from what we have used before, it is certainly something new for all kinds of public With this in mind, we will review the basics of solidity with some examples that will help us better understand this language Solidity is a high-level language oriented to contracts. Its syntax is similar to that of JavaScript and is specifically focused on the Etehreum Virtual Machine (EVM). Solidity is typed in a static way and accepts, among other things, inheritances, libraries and complex types defined by the user. We will start with a very simple structure where we will give a brief explanation of how to create a contract, pass a data through a function and receive them. ```solidity pragma solidity^0.4.0; contract SimpleStorage { uint storedData; function set(uint x) { storedData= x; } function get() constant returns (uint) { return storedData; } } ``` The first line simply says that the source code has been written in version 0.4.0 of Solidity or in another fully compatible superior. This is to ensure that the contract is not going to behave differently with a newer version of the compiler. The reserved word pragma is called that way because, in general, the “pragmas” are instructions for the compiler that indicate how it should operate with the source code A contract for Solidity is a collection of code (its functions) and data (its state) that lives in a specific address on the Ethereum blockchain. In the case of Ethereum, this is always the owner contract. And in this case, the set and get functions can be used to modify or query the value of the variable. It simply allows anyone to store a number accessible to everyone without a (feasible) way to prevent the possibility of publishing this number. Of course, anyone could simply make a set call again with a different value and overwrite the initial number, but this number would always remain stored in the history of the blockchain. Later, we will see how to impose access restrictions so that only you can change the number. ## Smart Contracts Contracts in Solidity are similar to the classes of object-oriented languages. Any contract can contain declarations of the type variables of state, functions, modifiers of function, events, structs and enums, although it is designed around the syntax of ECMAScript so that it is familiar to the existing web developers; unlike ECMAScript it has static typing and varied return types. In comparison with other EVM orientation languages of the time such as Serpent and Mutan, Solidity contained a number of important differences. Complex member variables were supported for contracts that include mappings and arbitrary-hierarchical structures. Contracts admit inheritance, including multiple inheritance, some examples will be detailed below for better understanding ```solidity pragma solidity^0.4.0; contract SimpleStorage { uint storedData; // State variable // ... Function var(uint _storeData) constant returns(uint){ storeData = _x // where _x is a local variable } } ``` In this simple example we see two variables with the same name are declared unlike “_” this means that the variables are not state variables and can not be accessed from any part of the contract. There are other types of variables that you can access from any part of the contract. These are: ```solidity block.coinbase (address): current block miner’s address block.difficulty (uint): current block difficulty block.gaslimit (uint): current block gaslimit block.number (uint): current block number block.timestamp (uint): current block timestamp as seconds since unix epoch msg.data (bytes): complete calldata msg.gas (uint): remaining gas msg.sender (address): sender of the message (current call) msg.sig (bytes4): first four bytes of the calldata (i.e. function identifier) msg.value (uint): number of wei sent with the message now (uint): current block timestamp (alias for block.timestamp) tx.gasprice (uint): gas price of the transaction tx.origin (address): sender of the transaction (full call chain) ``` Solidity is a static typing language, which means that each type of variable (state and local) has to be specified at compile time. Solidity provides several elementary types that can be combined to create more complex types. In addition, the types can interact with each other in expressions containing operators. For a quick reference list of operators, see Operator preference order. ## Booleans ``` bool: The possible values are constants true and false. ``` ## Operators ``` ! (logicalnegation) && (logicalconjunction, “and”) || (logicaldisjunction, “or”) == (equality) != (inequality) ``` ## Integers int / uint: Signed and unsigned integers of various sizes. Keywords uint8 to uint256 in steps of 8 (unsigned of 8 up to 256 bits) and int8 to int256. uint and int are aliases for uint256 and int256, respectively. ## Operators ``` Comparisons: <=, <, ==, !=, >=, > (evaluate to bool) Bit operators: &, |, ^ (bitwise exclusive or), ~ (bitwisenegation) Arithmeticoperators: +, -, unary -, unary +, *, /, % (remainder), ** (exponentiation), << (leftshift), >> (rightshift) ``` ## Address Address: Holds a 20 byte value (size of anEthereumaddress). Address types also have members and serve as a base for all contracts. ## String Literals String literals are written with either double or single-quotes (“foo” or ‘bar’). They do not imply trailing zeros as in C; “foo” represents three bytes not four. As with integer literals, their type can vary, but they are implicitly convertible to bytes1, …, bytes32, if they fit, to bytes and to string. ## Modifier Modifiers are typically used in smart contracts to make sure that certain conditions are met before proceeding to executing the rest of the body of code in the method. For example, modifier only Owner is often used to make sure that the caller of the method is the owner of the contract: ``` contract HelloWorldContract { string word = 'HelloWorld'; address owner; function HelloWorldContract() { owner = msg.sender; } modifieronly Owner { if(owner != msg.sender) { revert(); } else { _; } } function getWord() constant returns(string) { return word; } function setWord(stringnewWord) only Owner returns(string) { word = newWord; return 'You sucessfully changed the variable word'; } } ``` In the previous example you can see how to use modifier to block any entrance of data in the “setWord” function. ## Input and Output Functions Unlike JavaScript solidity has input and output functions these return a random number of parameters as output. The input parameters are declared in the same way as the variables. As an exception, unused parameters may omit the name of the variable. For example, if we wanted our contract to accept a type of external calls with two integers, the code would look similar to this one: ``` contract Simple { function taker(uint _a, uint _b) { // do something with _a y _b. } } ``` The output parameters can be declared with the same syntax after the reserved word returns. For example, suppose we want a function to have multiple output parameters, return (v0, v1, …, vn), it can be done in a single function. The number of components must be the same as the number of output parameters. Return two results: the sum and the product of two given values. Then, we would write a code like this: ``` contract Simple{ function arithmetics(uint_a,uint_b)returns(uint o_sum,uint o_product) { o_sum=_a+_b; o_product=_a*_b; return( o_sum, o_product, ); } } ``` ## Control Structures Most of the control structures available in JavaScript are also in Solidity except switch and goto. This means that we have: if, else, while, do, for, break, continue, return,? :, with the usual semantics known from JavaScript. Parentheses can not be omitted for conditionals, but the keys around the bodies of simple statements can be omitted. Keep in mind that there is no conversion of types from non-boolean to boolean as there is in C and JavaScript, so if (1) {…} is not valid in Solidity. ## Mappings Mappings can be seen as hash tables that are virtually initialized since every possible class exists and is mapped to a value whose byte representation is all zeros: the default value of a type. Although the similarity ends here, the key data is not really stored in the mapping, only its keccak256 hash used to look up the value. Mappings are only allowed for state variables In my experience the mapping was the most difficult when it comes to understanding solidity, so we are going to have a little more emphasis on them. In some cases when we see a mapping for the first time, many of us ask ourselves why we use them, how does it help us, to understand how it works, we will have the following example: ``` contract Crowdfunding { struct CampaignData { address recipient; uint contributed; uint goal; uint deadline; uint num_contributions; mapping(uint => Contribution) contributions; } struct Contribution { address contributor; uint amount; } uint nextCampaignId; mapping(uint256 => CampaignData) campaigns; // Start a new campaign. function start(address recipient, uint256 goal, uint256 deadline) returns (uint id) { var campaign = campaigns[nextCampaignId]; campaign.recipient = recipient; campaign.goal = goal; campaign.deadline = deadline; nextCampaignId ++; id = nextCampaignId; } } ``` A mapping is used to structure value types, such as booleans, integers, addresses, and structs. It consists of two main parts: a _KeyType and a _ValueType; they appear in the following syntax: ``` mapping (_KeyType => _ValueType) mapName ``` the uint256 is the _KeyType and the CampaignData is the _ValueType. Think of the _KeyType as the key you'll pass through a function to be returned a desired value, or _ValueType. By default, a mapping is initially empty, so a new _KeyType will first need to be mapped to a _ValueType. The example contract’s start function handles 3 basic processes: (1) giving a _KeyType to a new _ValueType CampaignData struct; (2) populating the new CampaignData struct with variable values; and (3) procuring a new _KeyType nextCampaignID to be ready on deck for the next time the example contract's start function is called. This segments of the function can be dissected like so: giving a _KeyType to a new _ValueType CampaignData struct: ``` var campaign = campaigns[nextCampaignId]; ``` In this line, nextCampaignId is mapped as the _KeyType, and the new campaign struct is the _ValueType. populating the new CampaignData struct with variable values. ``` campaign.recipient = recipient; campaign.goal = goal; campaign.deadline = deadline ``` procuring a new _KeyType nextCampaignID for the next time the function is called: ``` nextCampaignId ++; ``` Using a mapping here is helpful because a mapping can store many _KeyTypes to _ValueTypes - in this case if there are many campaigns occurring at once they can each have their own campaignID. Each campaign having its own ID is powerful when calling for CampaignData in future functions. ## Modifier Payable payable is a modifier that can be added to a function. It's impossible to have payable() as a function name as it is a reserved keyword. You may use payable only in addition to existing functions like: ``` function deposit() payable {}; function register(address sender) payable {}; function () payable {} ``` When someone transfers funds to your contract, the function with payable modifier executes automatically. Here is an example of a payable function. ``` contract token { function () payable { create(msg.sender); } function create(address _beneficiary) payable{ uint256 amount = msg.value; /// your logic } } ``` **Xourse:** A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica. Contact us at **[email protected]** |
| json metadata | {"tags":["solidity","ethereum","programming","blockchain","evm"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20768067/Trx d6b6412d57c799910e38e4b739a0196de5fcade8 |
View Raw JSON Data
{
"trx_id": "d6b6412d57c799910e38e4b739a0196de5fcade8",
"block": 20768067,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T23:58:39",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "solidity",
"author": "xourse",
"permlink": "solidity-for-beginners",
"title": "Solidity for Beginners",
"body": "For most developers, learning how to use a new platform, language or framework will be a familiar task repeated dozens of times during their career. In total, more novel is to learn to develop a completely different paradigm. The decentralized network, the blockchain, and its more well-known application ‘bitcoin’ are not well known even among the technological community and the subtleties of how this technology is fundamentally different from what we have used before, it is certainly something new for all kinds of public\n\nWith this in mind, we will review the basics of solidity with some examples that will help us better understand this language\n\nSolidity is a high-level language oriented to contracts. Its syntax is similar to that of JavaScript and is specifically focused on the Etehreum Virtual Machine (EVM). Solidity is typed in a static way and accepts, among other things, inheritances, libraries and complex types defined by the user.\n\nWe will start with a very simple structure where we will give a brief explanation of how to create a contract, pass a data through a function and receive them.\n\n```solidity\npragma solidity^0.4.0;\n\ncontract SimpleStorage {\n\n uint storedData;\n\n function set(uint x) {\n\n storedData= x;\n\n }\n\n function get() constant returns (uint) {\n\n return storedData;\n\n }\n\n}\n```\n\nThe first line simply says that the source code has been written in version 0.4.0 of Solidity or in another fully compatible superior. This is to ensure that the contract is not going to behave differently with a newer version of the compiler. The reserved word pragma is called that way because, in general, the “pragmas” are instructions for the compiler that indicate how it should operate with the source code\n\nA contract for Solidity is a collection of code (its functions) and data (its state) that lives in a specific address on the Ethereum blockchain. In the case of Ethereum, this is always the owner contract. And in this case, the set and get functions can be used to modify or query the value of the variable.\n\nIt simply allows anyone to store a number accessible to everyone without a (feasible) way to prevent the possibility of publishing this number. Of course, anyone could simply make a set call again with a different value and overwrite the initial number, but this number would always remain stored in the history of the blockchain. Later, we will see how to impose access restrictions so that only you can change the number.\n\n## Smart Contracts\nContracts in Solidity are similar to the classes of object-oriented languages. Any contract can contain declarations of the type variables of state, functions, modifiers of function, events, structs and enums, although it is designed around the syntax of ECMAScript so that it is familiar to the existing web developers; unlike ECMAScript it has static typing and varied return types. In comparison with other EVM orientation languages of the time such as Serpent and Mutan, Solidity contained a number of important differences. Complex member variables were supported for contracts that include mappings and arbitrary-hierarchical structures. Contracts admit inheritance, including multiple inheritance, some examples will be detailed below for better understanding\n\n```solidity\npragma solidity^0.4.0;\n\ncontract SimpleStorage {\n\n uint storedData; // State variable\n\n // ...\n\n Function var(uint _storeData) constant returns(uint){\n\n storeData = _x // where _x is a local variable\n\n }\n}\n```\nIn this simple example we see two variables with the same name are declared unlike “_” this means that the variables are not state variables and can not be accessed from any part of the contract. There are other types of variables that you can access from any part of the contract. These are:\n```solidity\nblock.coinbase (address): current block miner’s address\n\nblock.difficulty (uint): current block difficulty\n\nblock.gaslimit (uint): current block gaslimit\n\nblock.number (uint): current block number\n\nblock.timestamp (uint): current block timestamp as seconds since unix epoch\n\nmsg.data (bytes): complete calldata\n\nmsg.gas (uint): remaining gas\n\nmsg.sender (address): sender of the message (current call)\n\nmsg.sig (bytes4): first four bytes of the calldata (i.e. function identifier)\n\nmsg.value (uint): number of wei sent with the message\n\nnow (uint): current block timestamp (alias for block.timestamp)\n\ntx.gasprice (uint): gas price of the transaction\n\ntx.origin (address): sender of the transaction (full call chain)\n```\nSolidity is a static typing language, which means that each type of variable (state and local) has to be specified at compile time. Solidity provides several elementary types that can be combined to create more complex types. In addition, the types can interact with each other in expressions containing operators. For a quick reference list of operators, see Operator preference order.\n\n## Booleans\n\n```\nbool: The possible values are constants true and false.\n```\n\n## Operators\n```\n! (logicalnegation)\n\n&& (logicalconjunction, “and”)\n\n|| (logicaldisjunction, “or”)\n\n== (equality)\n\n!= (inequality)\n```\n## Integers\nint / uint: Signed and unsigned integers of various sizes. Keywords uint8 to uint256 in steps of 8 (unsigned of 8 up to 256 bits) and int8 to int256. uint and int are aliases for uint256 and int256, respectively.\n\n## Operators\n```\nComparisons: <=, <, ==, !=, >=, > (evaluate to bool)\n\nBit operators: &, |, ^ (bitwise exclusive or), ~ (bitwisenegation)\n\nArithmeticoperators: +, -, unary -, unary +, *, /, % (remainder), ** (exponentiation), << (leftshift), >> (rightshift)\n```\n## Address\nAddress: Holds a 20 byte value (size of anEthereumaddress). Address types also have members and serve as a base for all contracts.\n## String Literals\nString literals are written with either double or single-quotes (“foo” or ‘bar’). They do not imply trailing zeros as in C; “foo” represents three bytes not four. As with integer literals, their type can vary, but they are implicitly convertible to bytes1, …, bytes32, if they fit, to bytes and to string.\n## Modifier\nModifiers are typically used in smart contracts to make sure that certain conditions are met before proceeding to executing the rest of the body of code in the method.\n\nFor example, modifier only Owner is often used to make sure that the caller of the method is the owner of the contract:\n```\ncontract HelloWorldContract {\n\n string word = 'HelloWorld';\n\n address owner;\n\n function HelloWorldContract() {\n\n owner = msg.sender;\n\n }\n\n modifieronly Owner {\n\n if(owner != msg.sender) {\n\n revert();\n\n } else {\n\n _;\n\n }\n\n }\n\n function getWord() constant returns(string) {\n\n return word;\n\n }\n\n function setWord(stringnewWord) only Owner returns(string) {\n\n word = newWord;\n\n return 'You sucessfully changed the variable word';\n\n }\n}\n```\nIn the previous example you can see how to use modifier to block any entrance of data in the “setWord” function.\n\n## Input and Output Functions\nUnlike JavaScript solidity has input and output functions these return a random number of parameters as output.\n\nThe input parameters are declared in the same way as the variables. As an exception, unused parameters may omit the name of the variable. For example, if we wanted our contract to accept a type of external calls with two integers, the code would look similar to this one:\n```\ncontract Simple {\n\n function taker(uint _a, uint _b) {\n\n // do something with _a y _b.\n\n }\n\n}\n```\nThe output parameters can be declared with the same syntax after the reserved word returns. For example, suppose we want a function to have multiple output parameters, return (v0, v1, …, vn), it can be done in a single function. The number of components must be the same as the number of output parameters. Return two results: the sum and the product of two given values. Then, we would write a code like this:\n```\ncontract Simple{\n\n function arithmetics(uint_a,uint_b)returns(uint o_sum,uint o_product) {\n\n o_sum=_a+_b;\n\n o_product=_a*_b;\n\n return(\n\n o_sum,\n\n o_product,\n\n );\n\n }\n\n}\n```\n## Control Structures\nMost of the control structures available in JavaScript are also in Solidity except switch and goto. This means that we have: if, else, while, do, for, break, continue, return,? :, with the usual semantics known from JavaScript.\n\nParentheses can not be omitted for conditionals, but the keys around the bodies of simple statements can be omitted.\n\nKeep in mind that there is no conversion of types from non-boolean to boolean as there is in C and JavaScript, so if (1) {…} is not valid in Solidity.\n\n## Mappings\nMappings can be seen as hash tables that are virtually initialized since every possible class exists and is mapped to a value whose byte representation is all zeros: the default value of a type. Although the similarity ends here, the key data is not really stored in the mapping, only its keccak256 hash used to look up the value. Mappings are only allowed for state variables\n\nIn my experience the mapping was the most difficult when it comes to understanding solidity, so we are going to have a little more emphasis on them. In some cases when we see a mapping for the first time, many of us ask ourselves why we use them, how does it help us, to understand how it works, we will have the following example:\n```\ncontract Crowdfunding {\n\n struct CampaignData {\n\n address recipient;\n\n uint contributed;\n\n uint goal;\n\n uint deadline;\n\n uint num_contributions;\n\n mapping(uint => Contribution) contributions;\n\n }\n\n struct Contribution {\n\n address contributor;\n\n uint amount;\n\n }\n\n uint nextCampaignId;\n\n mapping(uint256 => CampaignData) campaigns;\n\n // Start a new campaign.\n\n function start(address recipient, uint256 goal, uint256 deadline) returns (uint id) {\n\n var campaign = campaigns[nextCampaignId];\n\n campaign.recipient = recipient;\n\n campaign.goal = goal;\n\n campaign.deadline = deadline;\n\n nextCampaignId ++;\n\n id = nextCampaignId;\n\n }\n}\n```\nA mapping is used to structure value types, such as booleans, integers, addresses, and structs. It consists of two main parts: a _KeyType and a _ValueType; they appear in the following syntax:\n```\nmapping (_KeyType => _ValueType) mapName\n```\nthe uint256 is the _KeyType and the CampaignData is the _ValueType.\n\nThink of the _KeyType as the key you'll pass through a function to be returned a desired value, or _ValueType. By default, a mapping is initially empty, so a new _KeyType will first need to be mapped to a _ValueType.\n\nThe example contract’s start function handles 3 basic processes: (1) giving a _KeyType to a new _ValueType CampaignData struct; (2) populating the new CampaignData struct with variable values; and (3) procuring a new _KeyType nextCampaignID to be ready on deck for the next time the example contract's start function is called. This segments of the function can be dissected like so:\n\ngiving a _KeyType to a new _ValueType CampaignData struct:\n```\nvar campaign = campaigns[nextCampaignId];\n```\nIn this line, nextCampaignId is mapped as the _KeyType, and the new campaign struct is the _ValueType.\n\npopulating the new CampaignData struct with variable values.\n```\ncampaign.recipient = recipient;\n\ncampaign.goal = goal;\n\ncampaign.deadline = deadline\n```\nprocuring a new _KeyType nextCampaignID for the next time the function is called:\n```\nnextCampaignId ++;\n```\nUsing a mapping here is helpful because a mapping can store many _KeyTypes to _ValueTypes - in this case if there are many campaigns occurring at once they can each have their own campaignID. Each campaign having its own ID is powerful when calling for CampaignData in future functions.\n## Modifier Payable\npayable is a modifier that can be added to a function. It's impossible to have payable() as a function name as it is a reserved keyword. You may use payable only in addition to existing functions like:\n```\nfunction deposit() payable {};\n\nfunction register(address sender) payable {};\n\nfunction () payable {}\n```\nWhen someone transfers funds to your contract, the function with payable modifier executes automatically. Here is an example of a payable function.\n```\ncontract token {\n\n function () payable {\n\n create(msg.sender);\n\n}\n\nfunction create(address _beneficiary) payable{\n\n uint256 amount = msg.value;\n\n /// your logic\n\n }\n\n}\n```\n**Xourse:** A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica. Contact us at **[email protected]**",
"json_metadata": "{\"tags\":[\"solidity\",\"ethereum\",\"programming\",\"blockchain\",\"evm\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}xoursefollowed @vishwasbanand2018/03/17 17:07:00
xoursefollowed @vishwasbanand
2018/03/17 17:07:00
| required auths | [] |
| required posting auths | ["xourse"] |
| id | follow |
| json | ["follow",{"follower":"xourse","following":"vishwasbanand","what":["blog"]}] |
| Transaction Info | Block #20759836/Trx 676f9dd9cf270a171b045a750b93429c0ed2ca36 |
View Raw JSON Data
{
"trx_id": "676f9dd9cf270a171b045a750b93429c0ed2ca36",
"block": 20759836,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T17:07:00",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"xourse"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"xourse\",\"following\":\"vishwasbanand\",\"what\":[\"blog\"]}]"
}
]
}xourseupvoted (100.00%) @vishwasbanand / test-driven-development-tdd-in-blockchain-using-truffle2018/03/17 17:06:06
xourseupvoted (100.00%) @vishwasbanand / test-driven-development-tdd-in-blockchain-using-truffle
2018/03/17 17:06:06
| voter | xourse |
| author | vishwasbanand |
| permlink | test-driven-development-tdd-in-blockchain-using-truffle |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20759818/Trx 8611d1b4ddf501c2c7fe8ebc9eb77a6da0b97951 |
View Raw JSON Data
{
"trx_id": "8611d1b4ddf501c2c7fe8ebc9eb77a6da0b97951",
"block": 20759818,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T17:06:06",
"op": [
"vote",
{
"voter": "xourse",
"author": "vishwasbanand",
"permlink": "test-driven-development-tdd-in-blockchain-using-truffle",
"weight": 10000
}
]
}xoursefollowed @stellabelle2018/03/17 04:04:42
xoursefollowed @stellabelle
2018/03/17 04:04:42
| required auths | [] |
| required posting auths | ["xourse"] |
| id | follow |
| json | ["follow",{"follower":"xourse","following":"stellabelle","what":["blog"]}] |
| Transaction Info | Block #20744195/Trx 90caf1a41ff0159cec1608391f5f07ba9a94a06b |
View Raw JSON Data
{
"trx_id": "90caf1a41ff0159cec1608391f5f07ba9a94a06b",
"block": 20744195,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T04:04:42",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"xourse"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"xourse\",\"following\":\"stellabelle\",\"what\":[\"blog\"]}]"
}
]
}2018/03/17 03:48:06
2018/03/17 03:48:06
| voter | xourse |
| author | raikuhen |
| permlink | i-blogged-on-steemit-for-a-week-and-on-medium-for-40-days-here-are-the-results |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20743863/Trx f7e14aad241f16b731cdc3fd948da3947bad7d23 |
View Raw JSON Data
{
"trx_id": "f7e14aad241f16b731cdc3fd948da3947bad7d23",
"block": 20743863,
"trx_in_block": 54,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T03:48:06",
"op": [
"vote",
{
"voter": "xourse",
"author": "raikuhen",
"permlink": "i-blogged-on-steemit-for-a-week-and-on-medium-for-40-days-here-are-the-results",
"weight": 10000
}
]
}2018/03/17 03:26:21
2018/03/17 03:26:21
| parent author | |
| parent permlink | dao |
| author | xourse |
| permlink | dao |
| title | Decentralized Autonomous Organization - DAO |
| body | @@ -3851,8 +3851,200 @@ age.png) +%0A%0A**Xourse:** A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica. Contact us at **[email protected]** |
| json metadata | {"tags":["dao","solidity","ethereum","xourse","blockchain"],"image":["https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png"],"links":["https://medium.com/@Xourse","https://github.com/Xourse/Dao"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20743428/Trx 3a8da8b1f7ecce38a98a1e254648bc9f0c101ebe |
View Raw JSON Data
{
"trx_id": "3a8da8b1f7ecce38a98a1e254648bc9f0c101ebe",
"block": 20743428,
"trx_in_block": 58,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T03:26:21",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "dao",
"author": "xourse",
"permlink": "dao",
"title": "Decentralized Autonomous Organization - DAO",
"body": "@@ -3851,8 +3851,200 @@\n age.png)\n+%0A%0A**Xourse:** A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica. Contact us at **[email protected]**\n",
"json_metadata": "{\"tags\":[\"dao\",\"solidity\",\"ethereum\",\"xourse\",\"blockchain\"],\"image\":[\"https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png\"],\"links\":[\"https://medium.com/@Xourse\",\"https://github.com/Xourse/Dao\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/03/17 03:12:54
2018/03/17 03:12:54
| parent author | |
| parent permlink | dao |
| author | xourse |
| permlink | dao |
| title | Decentralized Autonomous Organization - DAO |
| body | @@ -283,16 +283,215 @@ scretion +.*%0A%0A*If you don%C2%B4t have a Steemit account we recommend you create one and try the platform out since you can get paid for your content and curating. Also follow us on Medium https://medium.com/@Xourse *%0A%0AA DAO |
| json metadata | {"tags":["dao","solidity","ethereum","xourse","blockchain"],"image":["https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png"],"links":["https://medium.com/@Xourse","https://github.com/Xourse/Dao"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20743159/Trx ec8f25c6b6f97f8e3667e6983f07072753fcf1f0 |
View Raw JSON Data
{
"trx_id": "ec8f25c6b6f97f8e3667e6983f07072753fcf1f0",
"block": 20743159,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T03:12:54",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "dao",
"author": "xourse",
"permlink": "dao",
"title": "Decentralized Autonomous Organization - DAO",
"body": "@@ -283,16 +283,215 @@\n scretion\n+.*%0A%0A*If you don%C2%B4t have a Steemit account we recommend you create one and try the platform out since you can get paid for your content and curating. Also follow us on Medium https://medium.com/@Xourse\n *%0A%0AA DAO\n",
"json_metadata": "{\"tags\":[\"dao\",\"solidity\",\"ethereum\",\"xourse\",\"blockchain\"],\"image\":[\"https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png\"],\"links\":[\"https://medium.com/@Xourse\",\"https://github.com/Xourse/Dao\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}xourseupdated their account properties2018/03/17 02:44:12
xourseupdated their account properties
2018/03/17 02:44:12
| account | xourse |
| memo key | STM5yL64sdn25XDWkwDH8iffPNjUFtEqsnFEk7srBqHQXsZweCBWK |
| json metadata | {"profile":{"profile_image":"https://pbs.twimg.com/profile_images/823666067318960130/B--JR2Ym_400x400.jpg","name":"Xourse","about":"A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica","location":"Costa Rica","website":"http://www.xourse.com/"}} |
| Transaction Info | Block #20742585/Trx 97b15029a0b5b4d25daff26408f9c214ba81ac83 |
View Raw JSON Data
{
"trx_id": "97b15029a0b5b4d25daff26408f9c214ba81ac83",
"block": 20742585,
"trx_in_block": 95,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T02:44:12",
"op": [
"account_update",
{
"account": "xourse",
"memo_key": "STM5yL64sdn25XDWkwDH8iffPNjUFtEqsnFEk7srBqHQXsZweCBWK",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://pbs.twimg.com/profile_images/823666067318960130/B--JR2Ym_400x400.jpg\",\"name\":\"Xourse\",\"about\":\"A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica\",\"location\":\"Costa Rica\",\"website\":\"http://www.xourse.com/\"}}"
}
]
}xourseupdated their account properties2018/03/17 02:41:30
xourseupdated their account properties
2018/03/17 02:41:30
| account | xourse |
| memo key | STM5yL64sdn25XDWkwDH8iffPNjUFtEqsnFEk7srBqHQXsZweCBWK |
| json metadata | {"profile":{"profile_image":"https://static1.squarespace.com/static/563ada2be4b0c77bebce7ab6/t/59bcb48837c58141c2c75578/1505539210335/xourse.png?format=2500w","name":"Xourse","about":"A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica","location":"Costa Rica","website":"http://www.xourse.com/"}} |
| Transaction Info | Block #20742531/Trx 9db47d811c21a8a6e7c1e48fde0ef937f3c130f8 |
View Raw JSON Data
{
"trx_id": "9db47d811c21a8a6e7c1e48fde0ef937f3c130f8",
"block": 20742531,
"trx_in_block": 51,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T02:41:30",
"op": [
"account_update",
{
"account": "xourse",
"memo_key": "STM5yL64sdn25XDWkwDH8iffPNjUFtEqsnFEk7srBqHQXsZweCBWK",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://static1.squarespace.com/static/563ada2be4b0c77bebce7ab6/t/59bcb48837c58141c2c75578/1505539210335/xourse.png?format=2500w\",\"name\":\"Xourse\",\"about\":\"A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica\",\"location\":\"Costa Rica\",\"website\":\"http://www.xourse.com/\"}}"
}
]
}2018/03/17 02:37:57
2018/03/17 02:37:57
| voter | fxtrader |
| author | xourse |
| permlink | dao |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20742460/Trx f09be44065b3af1c66553b14d5cdc11e7e426c3e |
View Raw JSON Data
{
"trx_id": "f09be44065b3af1c66553b14d5cdc11e7e426c3e",
"block": 20742460,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T02:37:57",
"op": [
"vote",
{
"voter": "fxtrader",
"author": "xourse",
"permlink": "dao",
"weight": 10000
}
]
}2018/03/17 02:37:51
2018/03/17 02:37:51
| parent author | |
| parent permlink | dao |
| author | xourse |
| permlink | dao |
| title | Decentralized Autonomous Organization - DAO |
| body | @@ -1279,16 +1279,17 @@ ens.%0A%0A## + Contract @@ -3438,17 +3438,22 @@ %0A%0A## + The DAO -F +Workf low%0A |
| json metadata | {"tags":["dao","solidity","ethereum","xourse","blockchain"],"image":["https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png"],"links":["https://github.com/Xourse/Dao"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20742458/Trx 0dc98b2ac9e8e7a8df9c78dbd63be471d13345c7 |
View Raw JSON Data
{
"trx_id": "0dc98b2ac9e8e7a8df9c78dbd63be471d13345c7",
"block": 20742458,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T02:37:51",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "dao",
"author": "xourse",
"permlink": "dao",
"title": "Decentralized Autonomous Organization - DAO",
"body": "@@ -1279,16 +1279,17 @@\n ens.%0A%0A##\n+ \n Contract\n@@ -3438,17 +3438,22 @@\n %0A%0A##\n+ \n The DAO \n-F\n+Workf\n low%0A\n",
"json_metadata": "{\"tags\":[\"dao\",\"solidity\",\"ethereum\",\"xourse\",\"blockchain\"],\"image\":[\"https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png\"],\"links\":[\"https://github.com/Xourse/Dao\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}steem-networkreplied to @xourse / re-dao-20180317t0237312018/03/17 02:37:33
steem-networkreplied to @xourse / re-dao-20180317t023731
2018/03/17 02:37:33
| parent author | xourse |
| parent permlink | dao |
| author | steem-network |
| permlink | re-dao-20180317t023731 |
| title | |
| body | <html> <p>Congratulations <a href="/@xourse" target="_blank">@xourse</a>, you have decided to take the next big step with your first post! The Steem Network Team wishes you a great time among this awesome community.</p> <hr> <div class="pull-left"><img src="https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif" alt="Thumbs up for Steem Network´s strategy" title="I suggest Steem Network´s strategy" width="320" height="222"></div> <h1>The proven road to boost your personal success in this amazing Steem Network</h1> <p>Do you already know that awesome content will get great profits by following these <a href="/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2018-03-17" target="_blank" alt="Steem Network" title="Follow Steem Network´s suggestions to boost your success">simple steps</a>, that have been worked out by experts?</p> </html> |
| json metadata | {"tags": ["steem-network"], "users": ["steem-network", "xourse"], "image": ["https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif"], "links": ["/@xourse", "/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2018-03-17"], "community": "steem-network", "app": "steem-network/1.0.1", "format": "html"} |
| Transaction Info | Block #20742452/Trx b4379dbf38785ff64796798f8540c2a27fe5f7bb |
View Raw JSON Data
{
"trx_id": "b4379dbf38785ff64796798f8540c2a27fe5f7bb",
"block": 20742452,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T02:37:33",
"op": [
"comment",
{
"parent_author": "xourse",
"parent_permlink": "dao",
"author": "steem-network",
"permlink": "re-dao-20180317t023731",
"title": "",
"body": "<html>\n<p>Congratulations <a href=\"/@xourse\" target=\"_blank\">@xourse</a>, you have decided to take the next big step with your first post! The Steem Network Team wishes you a great time among this awesome community.</p>\n<hr>\n<div class=\"pull-left\"><img src=\"https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif\" alt=\"Thumbs up for Steem Network´s strategy\" title=\"I suggest Steem Network´s strategy\" width=\"320\" height=\"222\"></div>\n<h1>The proven road to boost your personal success in this amazing Steem Network</h1>\n<p>Do you already know that awesome content will get great profits by following these <a href=\"/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2018-03-17\" target=\"_blank\" alt=\"Steem Network\" title=\"Follow Steem Network´s suggestions to boost your success\">simple steps</a>, that have been worked out by experts?</p>\n</html>",
"json_metadata": "{\"tags\": [\"steem-network\"], \"users\": [\"steem-network\", \"xourse\"], \"image\": [\"https://steemitimages.com/DQmaAdLUJ3yaSkmcmWECWyPGPWcjfbCoZ8Tu4RM6H4DbjCi/steem-network-thumbs-up.gif\"], \"links\": [\"/@xourse\", \"/steem-network/@steem-network/spread-your-posts-through-this-proven-strategy-and-get-great-profits-in-return--for-posts-created-at-2018-03-17\"], \"community\": \"steem-network\", \"app\": \"steem-network/1.0.1\", \"format\": \"html\"}"
}
]
}2018/03/17 02:36:15
2018/03/17 02:36:15
| parent author | |
| parent permlink | dao |
| author | xourse |
| permlink | dao |
| title | Decentralized Autonomous Organization - DAO |
| body | @@ -3650,182 +3650,4 @@ png) -%0A!%5B%5D(https://steemitimages.com/DQmavhcpR2jgGKbjPKN18RdJ9L9C2CguoMP9T6khq71szJ3/image.png)%0A!%5B%5D(https://steemitimages.com/DQmes7crK2LtgNGqPd4cDPbysPj6JoZ9KYhTmapA7zDYesT/image.png) |
| json metadata | {"tags":["dao","solidity","ethereum","xourse","blockchain"],"image":["https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png"],"links":["https://github.com/Xourse/Dao"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20742426/Trx 52ddbac2bf1e3098a1909f4cb4ea470f07b7775f |
View Raw JSON Data
{
"trx_id": "52ddbac2bf1e3098a1909f4cb4ea470f07b7775f",
"block": 20742426,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T02:36:15",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "dao",
"author": "xourse",
"permlink": "dao",
"title": "Decentralized Autonomous Organization - DAO",
"body": "@@ -3650,182 +3650,4 @@\n png)\n-%0A!%5B%5D(https://steemitimages.com/DQmavhcpR2jgGKbjPKN18RdJ9L9C2CguoMP9T6khq71szJ3/image.png)%0A!%5B%5D(https://steemitimages.com/DQmes7crK2LtgNGqPd4cDPbysPj6JoZ9KYhTmapA7zDYesT/image.png)\n",
"json_metadata": "{\"tags\":[\"dao\",\"solidity\",\"ethereum\",\"xourse\",\"blockchain\"],\"image\":[\"https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png\"],\"links\":[\"https://github.com/Xourse/Dao\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/03/17 02:33:30
2018/03/17 02:33:30
| parent author | |
| parent permlink | dao |
| author | xourse |
| permlink | dao |
| title | DAO |
| body | *This is the first of two articles related to the DAO. In the second one we will be presenting the steps to deploy the DAO Solidity Smart Contract. It's IMPORTANT to note that this is for LEARNING purposes only. This code is not intended to be used in production. Use at your own discretion* A DAO is an organization which main objective is to provide a new decentralized business model for organizing both commercial and non-profit enterprises, through rules encoded as computer programs called smart contracts. The code of the first DAO is open-source and it can be used by anyone but it doesn’t provide any warranty so it needs to be set up carefully. The DAO was first instantiated on the Ethereum block chain, and had no conventional management structure. Our forked code from the DAO: https://github.com/Xourse/Dao ## Roles **Owner**, this role is responsible for managing the contract, it can execute functions like add and delete members of the organization and transfer the contract ownership which means it can delegate its position to another member and set up the voting rules. **Member**, this role is for a person that is part of an organization, its main function is voting for a proposal in support or against, also it can create its own proposals and buy tokens. ##Contract Funtions **DAO function:** smart contract constructor function that contains the following parameters to set the curator and the address for the contract and can create another contract from it. _curator The Curator _daoCreator the contract able to (re)create this DAO _proposalDeposit the deposit to be paid for a regular proposal _minTokensToCreate Minimum required wei-equivalent tokens to be created for a successful DAO Token Creation _closingTime Date (in Unix time) of the end of the DAO Token Creation _parentDAO If zero the DAO Token Creation is open to public, a non-zero address represents the parentDAO that can buy tokens in the phase. _tokenName the name that the DAO's token will have _tokenSymbol the ticker symbol that this DAO token should have _decimalPlaces the number of decimal places that the token is counted from. **newProposal function:** This function is a way to send ether to a specific address and uses the following parameters: _recipient the recipient of the proposed transaction. _amount the amount of wei to be sent in the proposed transaction. _description the proposal description. _transactionData the data of the proposed transaction. _debatingPeriod how much time we will set to evaluate the proposal defined as seconds. **checkProposalCode function:** evaluate the proposal code _proposalID the proposal ID _recipient the recipient of the proposal _amount of ether involved in the transaction _transactionData Transaction data _supportsProposal Save the voting answer Yes if the member support the proposal or No if it doesn’t support it. **Vote function:** this function could be considered as the main reason of a smart contract creation, it would allow us to decide which proposal we want to support or not. _transactionData has been voted for or rejected, and executes the transaction in the case it has been voted for. _proposalID the proposal ID _transactionData the data of the proposed transaction **executeProposal:** If the proposal is supported this function will be call executed, it handles the following parameters: _proposalID the proposal ID _transactionData the transaction data ##The DAO Flow The following diagram shows the sequence of actions that can be taken once the DAO contract has been deployed.    |
| json metadata | {"tags":["dao","solidity","ethereum","xourse","blockchain"],"image":["https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png","https://steemitimages.com/DQmavhcpR2jgGKbjPKN18RdJ9L9C2CguoMP9T6khq71szJ3/image.png","https://steemitimages.com/DQmes7crK2LtgNGqPd4cDPbysPj6JoZ9KYhTmapA7zDYesT/image.png"],"links":["https://github.com/Xourse/Dao"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #20742371/Trx 82668fb584ed552b9ccc9ae85ccc63f8d9d30465 |
View Raw JSON Data
{
"trx_id": "82668fb584ed552b9ccc9ae85ccc63f8d9d30465",
"block": 20742371,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T02:33:30",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "dao",
"author": "xourse",
"permlink": "dao",
"title": "DAO",
"body": "*This is the first of two articles related to the DAO. In the second one we will be presenting the steps to deploy the DAO Solidity Smart Contract. It's IMPORTANT to note that this is for LEARNING purposes only. This code is not intended to be used in production. Use at your own discretion*\n\nA DAO is an organization which main objective is to provide a new decentralized business model for organizing both commercial and non-profit enterprises, through rules encoded as computer programs called smart contracts. The code of the first DAO is open-source and it can be used by anyone but it doesn’t provide any warranty so it needs to be set up carefully. The DAO was first instantiated on the Ethereum block chain, and had no conventional management structure.\n\nOur forked code from the DAO: https://github.com/Xourse/Dao\n\n## Roles\n**Owner**, this role is responsible for managing the contract, it can execute functions like add and delete members of the organization and transfer the contract ownership which means it can delegate its position to another member and set up the voting rules.\n**Member**, this role is for a person that is part of an organization, its main function is voting for a proposal in support or against, also it can create its own proposals and buy tokens.\n\n##Contract Funtions\n**DAO function:** smart contract constructor function that contains the following parameters to set the curator and the address for the contract and can create another contract from it.\n_curator The Curator\n_daoCreator the contract able to (re)create this DAO\n_proposalDeposit the deposit to be paid for a regular proposal\n_minTokensToCreate Minimum required wei-equivalent tokens to be created for a successful DAO Token Creation\n_closingTime Date (in Unix time) of the end of the DAO Token Creation\n_parentDAO If zero the DAO Token Creation is open to public, a non-zero address represents the parentDAO that can buy tokens in the phase.\n_tokenName the name that the DAO's token will have\n_tokenSymbol the ticker symbol that this DAO token should have\n_decimalPlaces the number of decimal places that the token is counted from.\n\n**newProposal function:** This function is a way to send ether to a specific address and uses the following parameters:\n_recipient the recipient of the proposed transaction.\n_amount the amount of wei to be sent in the proposed transaction.\n_description the proposal description.\n_transactionData the data of the proposed transaction.\n_debatingPeriod how much time we will set to evaluate the proposal defined as seconds.\n**checkProposalCode function:** evaluate the proposal code\n_proposalID the proposal ID\n_recipient the recipient of the proposal \n_amount of ether involved in the transaction \n_transactionData Transaction data\n_supportsProposal Save the voting answer Yes if the member support the proposal or No if it doesn’t support it.\n**Vote function:** this function could be considered as the main reason of a smart contract creation, it would allow us to decide which proposal we want to support or not. \n_transactionData has been voted for or rejected, and executes the transaction in the case it has been voted for.\n_proposalID the proposal ID\t\n_transactionData the data of the proposed transaction\n**executeProposal:** If the proposal is supported this function will be call executed, it handles the following parameters: \n_proposalID the proposal ID\n_transactionData the transaction data\n\n##The DAO Flow\nThe following diagram shows the sequence of actions that can be taken once the DAO contract has been deployed.\n\n\n\n",
"json_metadata": "{\"tags\":[\"dao\",\"solidity\",\"ethereum\",\"xourse\",\"blockchain\"],\"image\":[\"https://steemitimages.com/DQmZcydHg49pf96c8kX2zacAXLqhKuNnu7FTQbaaHoKKupp/image.png\",\"https://steemitimages.com/DQmavhcpR2jgGKbjPKN18RdJ9L9C2CguoMP9T6khq71szJ3/image.png\",\"https://steemitimages.com/DQmes7crK2LtgNGqPd4cDPbysPj6JoZ9KYhTmapA7zDYesT/image.png\"],\"links\":[\"https://github.com/Xourse/Dao\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2018/03/16 23:44:09
2018/03/16 23:44:09
| delegator | steem |
| delegatee | xourse |
| vesting shares | 30415.728558 VESTS |
| Transaction Info | Block #20738985/Trx fca4e1f1224bde241c3d7bcb0befd582babd6fe2 |
View Raw JSON Data
{
"trx_id": "fca4e1f1224bde241c3d7bcb0befd582babd6fe2",
"block": 20738985,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-16T23:44:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "xourse",
"vesting_shares": "30415.728558 VESTS"
}
]
}2018/03/16 23:11:45
2018/03/16 23:11:45
| fee | 0.100 STEEM |
| delegation | 30690.000000 VESTS |
| creator | steem |
| new account name | xourse |
| owner | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM4zzED8gPFA47Lfc6Y6Ba8RnB56NcFRpc9v2M21pDGM5b48Ax1Y",1]]} |
| active | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM8biHrG6gToM1PiYDA1v35hL9DyLFMBzyuyzLGpxYpHBJPiLw4w",1]]} |
| posting | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM8Z1ff59LsxiA4wDtPUQTwz1D56ZKSbLuvhCexUjry9Z6S8aWqU",1]]} |
| memo key | STM5yL64sdn25XDWkwDH8iffPNjUFtEqsnFEk7srBqHQXsZweCBWK |
| json metadata | {} |
| extensions | [] |
| Transaction Info | Block #20738338/Trx 48844eb93b48bf4be9eba4b3019b6aaccc79c3c0 |
View Raw JSON Data
{
"trx_id": "48844eb93b48bf4be9eba4b3019b6aaccc79c3c0",
"block": 20738338,
"trx_in_block": 40,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-16T23:11:45",
"op": [
"account_create_with_delegation",
{
"fee": "0.100 STEEM",
"delegation": "30690.000000 VESTS",
"creator": "steem",
"new_account_name": "xourse",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM4zzED8gPFA47Lfc6Y6Ba8RnB56NcFRpc9v2M21pDGM5b48Ax1Y",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8biHrG6gToM1PiYDA1v35hL9DyLFMBzyuyzLGpxYpHBJPiLw4w",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8Z1ff59LsxiA4wDtPUQTwz1D56ZKSbLuvhCexUjry9Z6S8aWqU",
1
]
]
},
"memo_key": "STM5yL64sdn25XDWkwDH8iffPNjUFtEqsnFEk7srBqHQXsZweCBWK",
"json_metadata": "{}",
"extensions": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779092541
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779092541
},
"rc_account": {
"account": "xourse",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779092541
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://pbs.twimg.com/profile_images/823666067318960130/B--JR2Ym_400x400.jpg","name":"Xourse","about":"A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica","location":"Costa Rica","website":"http://www.xourse.com/"} |
| JSON METADATA | |
| profile | {"profile_image":"https://pbs.twimg.com/profile_images/823666067318960130/B--JR2Ym_400x400.jpg","name":"Xourse","about":"A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica","location":"Costa Rica","website":"http://www.xourse.com/"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://pbs.twimg.com/profile_images/823666067318960130/B--JR2Ym_400x400.jpg",
"name": "Xourse",
"about": "A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica",
"location": "Costa Rica",
"website": "http://www.xourse.com/"
}
},
"json_metadata": {
"profile": {
"profile_image": "https://pbs.twimg.com/profile_images/823666067318960130/B--JR2Ym_400x400.jpg",
"name": "Xourse",
"about": "A software development studio for blockchain, machine learning and your enterprise systems. Located at the rising technology hub of Costa Rica",
"location": "Costa Rica",
"website": "http://www.xourse.com/"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM4zzED8gPFA47Lfc6Y6Ba8RnB56NcFRpc9v2M21pDGM5b48Ax1Y1/1
Active
Single Signature
Public Keys
STM8biHrG6gToM1PiYDA1v35hL9DyLFMBzyuyzLGpxYpHBJPiLw4w1/1
Posting
Single Signature
Public Keys
STM8Z1ff59LsxiA4wDtPUQTwz1D56ZKSbLuvhCexUjry9Z6S8aWqU1/1
Memo
STM5yL64sdn25XDWkwDH8iffPNjUFtEqsnFEk7srBqHQXsZweCBWK
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM4zzED8gPFA47Lfc6Y6Ba8RnB56NcFRpc9v2M21pDGM5b48Ax1Y",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8biHrG6gToM1PiYDA1v35hL9DyLFMBzyuyzLGpxYpHBJPiLw4w",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8Z1ff59LsxiA4wDtPUQTwz1D56ZKSbLuvhCexUjry9Z6S8aWqU",
1
]
]
},
"memo": "STM5yL64sdn25XDWkwDH8iffPNjUFtEqsnFEk7srBqHQXsZweCBWK"
}Witness Votes
0 / 30
No active witness votes.
[]