VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.115USD
STEEM
0.000STEEM
SBD
0.163SBD
Effective Power
5.007SP
├── Own SP
0.630SP
└── Incoming DelegationsDeleg
+4.377SP
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.630SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.377SP | SP |
| Effective Power | 5.007SP | SP |
| Reward SP (pending) | 0.033SP | 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.163SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "1024.872728 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7118.787078 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.163 SBD",
"conversions": []
}Account Info
| name | kass |
| id | 529921 |
| rank | 280,186 |
| reputation | 634563324 |
| created | 2017-12-26T10:44:03 |
| recovery_account | steem |
| proxy | None |
| post_count | 5 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-02-06T22:23:06 |
| last_root_post | 2018-02-06T22:23:06 |
| last_vote_time | 2018-02-06T22:23:06 |
| 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 | 1024.872728 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7118.787078 VESTS |
| reward_vesting_balance | 67.519133 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-01-22T17:11:39 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"active": {
"account_auths": [],
"key_auths": [
[
"STM5YJ4nhECkAG2NzbCMa6EJEH5nMviTMFdjJnGSic84v2E9gqSD9",
1
]
],
"weight_threshold": 1
},
"balance": "0.000 STEEM",
"can_vote": true,
"comment_count": 0,
"created": "2017-12-26T10:44:03",
"curation_rewards": 0,
"delegated_vesting_shares": "0.000000 VESTS",
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779070815
},
"guest_bloggers": [],
"id": 529921,
"json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/NMRMzs9.png\",\"name\":\"CryptoKass\",\"location\":\"London, England\",\"cover_image\":\"https://i.imgur.com/zaiBfnQ.gif\"}}",
"last_account_recovery": "1970-01-01T00:00:00",
"last_account_update": "2018-01-22T17:11:39",
"last_owner_update": "1970-01-01T00:00:00",
"last_post": "2018-02-06T22:23:06",
"last_root_post": "2018-02-06T22:23:06",
"last_vote_time": "2018-02-06T22:23:06",
"lifetime_vote_count": 0,
"market_history": [],
"memo_key": "STM5H58nHx2sPSrEh9NptzjD5FTqYMTeoTDzeaDiFpjfRTye2r5q9",
"mined": false,
"name": "kass",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"other_history": [],
"owner": {
"account_auths": [],
"key_auths": [
[
"STM8AiDZ4ER26caDRtUcSjGqQJDw2CYH5omN1Bcg2XadVNr1N6XT4",
1
]
],
"weight_threshold": 1
},
"pending_claimed_accounts": 0,
"post_bandwidth": 0,
"post_count": 5,
"post_history": [],
"posting": {
"account_auths": [],
"key_auths": [
[
"STM6gUWpVkYYc6MzM17p2UqDfJCFmwBSf4stV1qbX3DqUngX42xXf",
1
]
],
"weight_threshold": 1
},
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/NMRMzs9.png\",\"name\":\"CryptoKass\",\"location\":\"London, England\",\"cover_image\":\"https://i.imgur.com/zaiBfnQ.gif\"}}",
"posting_rewards": 64,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"proxy": "",
"received_vesting_shares": "7118.787078 VESTS",
"recovery_account": "steem",
"reputation": 634563324,
"reset_account": "null",
"reward_sbd_balance": "0.163 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "67.519133 VESTS",
"reward_vesting_steem": "0.033 STEEM",
"savings_balance": "0.000 STEEM",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"sbd_balance": "0.000 SBD",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"sbd_seconds": "0",
"sbd_seconds_last_update": "1970-01-01T00:00:00",
"tags_usage": [],
"to_withdraw": 0,
"transfer_history": [],
"vesting_balance": "0.000 STEEM",
"vesting_shares": "1024.872728 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"vote_history": [],
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779070815
},
"voting_power": 0,
"withdraw_routes": 0,
"withdrawn": 0,
"witness_votes": [],
"witnesses_voted_for": 0,
"rank": 280186
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2026/05/18 02:20:15
2026/05/18 02:20:15
| delegatee | kass |
| delegator | steem |
| vesting shares | 7118.787078 VESTS |
| Transaction Info | Block #106145937/Trx 13b8a045d603d4c5ea94c469def1d9ee7f970805 |
View Raw JSON Data
{
"block": 106145937,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "7118.787078 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-05-18T02:20:15",
"trx_id": "13b8a045d603d4c5ea94c469def1d9ee7f970805",
"trx_in_block": 0,
"virtual_op": 0
}2026/05/12 12:16:06
2026/05/12 12:16:06
| delegatee | kass |
| delegator | steem |
| vesting shares | 4406.576673 VESTS |
| Transaction Info | Block #105985805/Trx fc63cec18ba4305b1d800cd73a28aa6c0d62a2fd |
View Raw JSON Data
{
"block": 105985805,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "4406.576673 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-05-12T12:16:06",
"trx_id": "fc63cec18ba4305b1d800cd73a28aa6c0d62a2fd",
"trx_in_block": 1,
"virtual_op": 0
}2026/04/26 01:37:42
2026/04/26 01:37:42
| delegatee | kass |
| delegator | steem |
| vesting shares | 7131.302834 VESTS |
| Transaction Info | Block #105513525/Trx b4888334314c44e133ed0a2f31ff4699916c052c |
View Raw JSON Data
{
"block": 105513525,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "7131.302834 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-04-26T01:37:42",
"trx_id": "b4888334314c44e133ed0a2f31ff4699916c052c",
"trx_in_block": 1,
"virtual_op": 0
}2026/01/23 13:23:00
2026/01/23 13:23:00
| delegatee | kass |
| delegator | steem |
| vesting shares | 4448.123492 VESTS |
| Transaction Info | Block #102858501/Trx ecaccf8a272b076072addc4e6232e59126a7f58d |
View Raw JSON Data
{
"block": 102858501,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "4448.123492 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2026-01-23T13:23:00",
"trx_id": "ecaccf8a272b076072addc4e6232e59126a7f58d",
"trx_in_block": 1,
"virtual_op": 0
}2024/12/17 08:38:45
2024/12/17 08:38:45
| delegatee | kass |
| delegator | steem |
| vesting shares | 4612.342689 VESTS |
| Transaction Info | Block #91304828/Trx 46b93314061cb825ed4687df439f59a4309a4788 |
View Raw JSON Data
{
"block": 91304828,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "4612.342689 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2024-12-17T08:38:45",
"trx_id": "46b93314061cb825ed4687df439f59a4309a4788",
"trx_in_block": 7,
"virtual_op": 0
}2023/11/14 00:20:33
2023/11/14 00:20:33
| delegatee | kass |
| delegator | steem |
| vesting shares | 4781.476221 VESTS |
| Transaction Info | Block #79859007/Trx eb827065ad8a7a282b07712dda6b5e34618a733d |
View Raw JSON Data
{
"block": 79859007,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "4781.476221 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2023-11-14T00:20:33",
"trx_id": "eb827065ad8a7a282b07712dda6b5e34618a733d",
"trx_in_block": 0,
"virtual_op": 0
}2023/09/22 00:16:51
2023/09/22 00:16:51
| delegatee | kass |
| delegator | steem |
| vesting shares | 7718.755007 VESTS |
| Transaction Info | Block #78350763/Trx d777703864d52549eea0375f362007f03a452278 |
View Raw JSON Data
{
"block": 78350763,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "7718.755007 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2023-09-22T00:16:51",
"trx_id": "d777703864d52549eea0375f362007f03a452278",
"trx_in_block": 0,
"virtual_op": 0
}2022/11/03 13:45:57
2022/11/03 13:45:57
| delegatee | kass |
| delegator | steem |
| vesting shares | 7940.436445 VESTS |
| Transaction Info | Block #69115721/Trx 17863f0beab44b37360f43961cd9f3a406aa1ab5 |
View Raw JSON Data
{
"block": 69115721,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "7940.436445 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2022-11-03T13:45:57",
"trx_id": "17863f0beab44b37360f43961cd9f3a406aa1ab5",
"trx_in_block": 3,
"virtual_op": 0
}2022/01/17 17:07:21
2022/01/17 17:07:21
| delegatee | kass |
| delegator | steem |
| vesting shares | 8160.671581 VESTS |
| Transaction Info | Block #60816775/Trx be064e72ac7c5816580a10e4a0e57d89f751fa40 |
View Raw JSON Data
{
"block": 60816775,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "8160.671581 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2022-01-17T17:07:21",
"trx_id": "be064e72ac7c5816580a10e4a0e57d89f751fa40",
"trx_in_block": 2,
"virtual_op": 0
}2021/06/14 02:41:39
2021/06/14 02:41:39
| delegatee | kass |
| delegator | steem |
| vesting shares | 8344.738334 VESTS |
| Transaction Info | Block #54609966/Trx 06bf5dbab27f6ac26fef9423f93267e9bcaeb34f |
View Raw JSON Data
{
"block": 54609966,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "8344.738334 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2021-06-14T02:41:39",
"trx_id": "06bf5dbab27f6ac26fef9423f93267e9bcaeb34f",
"trx_in_block": 3,
"virtual_op": 0
}2020/12/11 12:57:57
2020/12/11 12:57:57
| delegatee | kass |
| delegator | steem |
| vesting shares | 8532.160308 VESTS |
| Transaction Info | Block #49357350/Trx cad1e10088c4f4822035dfcabe2c208ae0e3481f |
View Raw JSON Data
{
"block": 49357350,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "8532.160308 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-12-11T12:57:57",
"trx_id": "cad1e10088c4f4822035dfcabe2c208ae0e3481f",
"trx_in_block": 12,
"virtual_op": 0
}2020/12/06 06:34:39
2020/12/06 06:34:39
| delegatee | kass |
| delegator | steem |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49208903/Trx 240ceed6cf7b4e4db33040c0fe50a235ee1150b7 |
View Raw JSON Data
{
"block": 49208903,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "1912.543513 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-12-06T06:34:39",
"trx_id": "240ceed6cf7b4e4db33040c0fe50a235ee1150b7",
"trx_in_block": 0,
"virtual_op": 0
}2020/12/05 16:36:06
2020/12/05 16:36:06
| delegatee | kass |
| delegator | steem |
| vesting shares | 8538.368162 VESTS |
| Transaction Info | Block #49192447/Trx 5a064d34bc7d1db8c5764c1665fb385789972cd9 |
View Raw JSON Data
{
"block": 49192447,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "8538.368162 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-12-05T16:36:06",
"trx_id": "5a064d34bc7d1db8c5764c1665fb385789972cd9",
"trx_in_block": 6,
"virtual_op": 0
}2020/11/02 19:25:42
2020/11/02 19:25:42
| delegatee | kass |
| delegator | steem |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48262265/Trx d09c8b4b51c6bf7a897400fe177c1752388591af |
View Raw JSON Data
{
"block": 48262265,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "1920.017158 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-11-02T19:25:42",
"trx_id": "d09c8b4b51c6bf7a897400fe177c1752388591af",
"trx_in_block": 0,
"virtual_op": 0
}2020/05/09 07:34:06
2020/05/09 07:34:06
| delegatee | kass |
| delegator | steem |
| vesting shares | 8741.173521 VESTS |
| Transaction Info | Block #43219179/Trx f69bfe464f28a953b1fdb728d524858be251671c |
View Raw JSON Data
{
"block": 43219179,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "8741.173521 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-05-09T07:34:06",
"trx_id": "f69bfe464f28a953b1fdb728d524858be251671c",
"trx_in_block": 8,
"virtual_op": 0
}2020/05/08 11:26:51
2020/05/08 11:26:51
| delegatee | kass |
| delegator | steem |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43195599/Trx 50ef1296d969880cd2c6e29070f64161ba920219 |
View Raw JSON Data
{
"block": 43195599,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "1953.311140 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-05-08T11:26:51",
"trx_id": "50ef1296d969880cd2c6e29070f64161ba920219",
"trx_in_block": 8,
"virtual_op": 0
}2020/04/16 01:04:27
2020/04/16 01:04:27
| delegatee | kass |
| delegator | steem |
| vesting shares | 8754.060969 VESTS |
| Transaction Info | Block #42566579/Trx 920c26e8f06ff49293345fbebd81aed18ebc4570 |
View Raw JSON Data
{
"block": 42566579,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "8754.060969 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2020-04-16T01:04:27",
"trx_id": "920c26e8f06ff49293345fbebd81aed18ebc4570",
"trx_in_block": 1,
"virtual_op": 0
}2019/12/26 11:54:45
2019/12/26 11:54:45
| author | steemitboard |
| body | Congratulations @kass! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@kass/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/@kass) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=kass)_</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"]} |
| parent author | kass |
| parent permlink | learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub |
| permlink | steemitboard-notify-kass-20191226t115444000z |
| title | |
| Transaction Info | Block #39374104/Trx 395770f9f79d8fafdcbb2231bf541aacfb80ea7e |
View Raw JSON Data
{
"block": 39374104,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @kass! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@kass/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/@kass) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=kass)_</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\"]}",
"parent_author": "kass",
"parent_permlink": "learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub",
"permlink": "steemitboard-notify-kass-20191226t115444000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2019-12-26T11:54:45",
"trx_id": "395770f9f79d8fafdcbb2231bf541aacfb80ea7e",
"trx_in_block": 7,
"virtual_op": 0
}2019/05/12 18:10:12
2019/05/12 18:10:12
| delegatee | kass |
| delegator | steem |
| vesting shares | 8949.677782 VESTS |
| Transaction Info | Block #32849407/Trx 0ccd34325562e6298a99f525a83b30f83f472a77 |
View Raw JSON Data
{
"block": 32849407,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "8949.677782 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2019-05-12T18:10:12",
"trx_id": "0ccd34325562e6298a99f525a83b30f83f472a77",
"trx_in_block": 24,
"virtual_op": 0
}2018/12/26 11:44:45
2018/12/26 11:44:45
| author | steemitboard |
| body | Congratulations @kass! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@kass/birthday1.png</td><td>1 Year on Steemit</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@kass)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png"></a></td><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues">Christmas Challenge - The party continues</a></td></tr><tr><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png"></a></td><td><a href="https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends">Christmas Challenge - Send a gift to to your friends</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"]} |
| parent author | kass |
| parent permlink | learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub |
| permlink | steemitboard-notify-kass-20181226t114445000z |
| title | |
| Transaction Info | Block #28900567/Trx 5318b4ddb141770b411eb3892a8437b8d4198651 |
View Raw JSON Data
{
"block": 28900567,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @kass! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@kass/birthday1.png</td><td>1 Year on Steemit</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@kass)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues\"><img src=\"https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png\"></a></td><td><a href=\"https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends-the-party-continues\">Christmas Challenge - The party continues</a></td></tr><tr><td><a href=\"https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends\"><img src=\"https://steemitimages.com/64x128/http://i.cubeupload.com/kf4SJb.png\"></a></td><td><a href=\"https://steemit.com/christmas/@steemitboard/christmas-challenge-send-a-gift-to-to-your-friends\">Christmas Challenge - Send a gift to to your friends</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\"]}",
"parent_author": "kass",
"parent_permlink": "learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub",
"permlink": "steemitboard-notify-kass-20181226t114445000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-12-26T11:44:45",
"trx_id": "5318b4ddb141770b411eb3892a8437b8d4198651",
"trx_in_block": 12,
"virtual_op": 0
}josema.saboridoupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/11/18 12:54:57
josema.saboridoupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/11/18 12:54:57
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | josema.saborido |
| weight | 10000 (100.00%) |
| Transaction Info | Block #27808154/Trx 3cc136641d4aa5fc27d8e833600ec8b3628c197c |
View Raw JSON Data
{
"block": 27808154,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "josema.saborido",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-11-18T12:54:57",
"trx_id": "3cc136641d4aa5fc27d8e833600ec8b3628c197c",
"trx_in_block": 21,
"virtual_op": 0
}annienguyenupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/07/13 20:33:30
annienguyenupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/07/13 20:33:30
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | annienguyen |
| weight | 10000 (100.00%) |
| Transaction Info | Block #24149306/Trx 66fce52fc9810a3d90ca3724b7fafc497c132308 |
View Raw JSON Data
{
"block": 24149306,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "annienguyen",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-07-13T20:33:30",
"trx_id": "66fce52fc9810a3d90ca3724b7fafc497c132308",
"trx_in_block": 15,
"virtual_op": 0
}pynchonupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/06/15 15:29:36
pynchonupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/06/15 15:29:36
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | pynchon |
| weight | 10000 (100.00%) |
| Transaction Info | Block #23346952/Trx 522969a7abeb277d4e679cc45925ec3665ebd644 |
View Raw JSON Data
{
"block": 23346952,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "pynchon",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-06-15T15:29:36",
"trx_id": "522969a7abeb277d4e679cc45925ec3665ebd644",
"trx_in_block": 34,
"virtual_op": 0
}2018/05/16 22:13:33
2018/05/16 22:13:33
| delegatee | kass |
| delegator | steem |
| vesting shares | 9149.288650 VESTS |
| Transaction Info | Block #22492172/Trx afe662f8ce4bbb45730a540e93bdc93ae67eae08 |
View Raw JSON Data
{
"block": 22492172,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "9149.288650 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-16T22:13:33",
"trx_id": "afe662f8ce4bbb45730a540e93bdc93ae67eae08",
"trx_in_block": 6,
"virtual_op": 0
}2018/05/16 09:57:57
2018/05/16 09:57:57
| author | mikelo |
| body | Thanks for the tutorial. As a java developer this helps a lot!!! |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| parent author | kass |
| parent permlink | creating-your-first-blockchain-with-java-part-1 |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180516t095755965z |
| title | |
| Transaction Info | Block #22477463/Trx a4d397426f45c617da0c6ae17de9c1631c10f802 |
View Raw JSON Data
{
"block": 22477463,
"op": [
"comment",
{
"author": "mikelo",
"body": "Thanks for the tutorial. As a java developer this helps a lot!!!",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}",
"parent_author": "kass",
"parent_permlink": "creating-your-first-blockchain-with-java-part-1",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180516t095755965z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-05-16T09:57:57",
"trx_id": "a4d397426f45c617da0c6ae17de9c1631c10f802",
"trx_in_block": 12,
"virtual_op": 0
}mikeloupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/05/16 09:57:12
mikeloupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/05/16 09:57:12
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | mikelo |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22477448/Trx 9bba22278d0f6a35e8dc6962922e2191c6961134 |
View Raw JSON Data
{
"block": 22477448,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "mikelo",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-05-16T09:57:12",
"trx_id": "9bba22278d0f6a35e8dc6962922e2191c6961134",
"trx_in_block": 19,
"virtual_op": 0
}2018/05/06 06:26:09
2018/05/06 06:26:09
| delegatee | kass |
| delegator | steem |
| vesting shares | 29514.491701 VESTS |
| Transaction Info | Block #22185272/Trx b4a83f40ae1a793cde117e7046d511eb2e07dc86 |
View Raw JSON Data
{
"block": 22185272,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "29514.491701 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-05-06T06:26:09",
"trx_id": "b4a83f40ae1a793cde117e7046d511eb2e07dc86",
"trx_in_block": 6,
"virtual_op": 0
}schweigerupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/04/11 18:02:39
schweigerupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/04/11 18:02:39
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | schweiger |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21479992/Trx d7f683fe5f2129ebdab46e97e2704eff2755c207 |
View Raw JSON Data
{
"block": 21479992,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "schweiger",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-04-11T18:02:39",
"trx_id": "d7f683fe5f2129ebdab46e97e2704eff2755c207",
"trx_in_block": 16,
"virtual_op": 0
}deanbrownupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/03/26 17:52:57
deanbrownupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/03/26 17:52:57
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | deanbrown |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21019084/Trx a0fb9654bc3ceb472fb56497f79c5341886122db |
View Raw JSON Data
{
"block": 21019084,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "deanbrown",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-26T17:52:57",
"trx_id": "a0fb9654bc3ceb472fb56497f79c5341886122db",
"trx_in_block": 1,
"virtual_op": 0
}2018/03/26 17:52:54
2018/03/26 17:52:54
| author | deanbrown |
| body | I don't mind if you tweet it out in sections! I've been following along with this on medium. Really looking forward to part 3. Thanks for posting this! |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| parent author | kass |
| parent permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z |
| permlink | re-kass-re-kass-creating-your-first-blockchain-with-java-part-1-20180326t175251354z |
| title | |
| Transaction Info | Block #21019083/Trx 251d21a11917baedb0e8d39f3a52570a201adae3 |
View Raw JSON Data
{
"block": 21019083,
"op": [
"comment",
{
"author": "deanbrown",
"body": "I don't mind if you tweet it out in sections! I've been following along with this on medium. Really looking forward to part 3. Thanks for posting this!",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}",
"parent_author": "kass",
"parent_permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z",
"permlink": "re-kass-re-kass-creating-your-first-blockchain-with-java-part-1-20180326t175251354z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-03-26T17:52:54",
"trx_id": "251d21a11917baedb0e8d39f3a52570a201adae3",
"trx_in_block": 10,
"virtual_op": 0
}2018/03/26 17:50:27
2018/03/26 17:50:27
| author | kass |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z |
| voter | deanbrown |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21019034/Trx d8f54458370668acb34c4083222de9f471bf7c27 |
View Raw JSON Data
{
"block": 21019034,
"op": [
"vote",
{
"author": "kass",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z",
"voter": "deanbrown",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-26T17:50:27",
"trx_id": "d8f54458370668acb34c4083222de9f471bf7c27",
"trx_in_block": 45,
"virtual_op": 0
}daxeneupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/03/13 21:37:39
daxeneupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/03/13 21:37:39
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | daxene |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20650175/Trx 74210806d5d8bbe374fd39f600c079a932163f36 |
View Raw JSON Data
{
"block": 20650175,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "daxene",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-13T21:37:39",
"trx_id": "74210806d5d8bbe374fd39f600c079a932163f36",
"trx_in_block": 51,
"virtual_op": 0
}2018/03/13 21:37:30
2018/03/13 21:37:30
| author | kass |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z |
| voter | daxene |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20650172/Trx e3792b7c016d91b86dccb5f16be4bf61deebced4 |
View Raw JSON Data
{
"block": 20650172,
"op": [
"vote",
{
"author": "kass",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z",
"voter": "daxene",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-13T21:37:30",
"trx_id": "e3792b7c016d91b86dccb5f16be4bf61deebced4",
"trx_in_block": 29,
"virtual_op": 0
}2018/03/08 16:14:39
2018/03/08 16:14:39
| author | derelias |
| body | Thank You! |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| parent author | kass |
| parent permlink | creating-your-first-blockchain-with-java-part-1 |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180308t161439907z |
| title | |
| Transaction Info | Block #20499913/Trx 2e8d994f5c81d9f469e2ad2f54bd690da37459fa |
View Raw JSON Data
{
"block": 20499913,
"op": [
"comment",
{
"author": "derelias",
"body": "Thank You!",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}",
"parent_author": "kass",
"parent_permlink": "creating-your-first-blockchain-with-java-part-1",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180308t161439907z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-03-08T16:14:39",
"trx_id": "2e8d994f5c81d9f469e2ad2f54bd690da37459fa",
"trx_in_block": 38,
"virtual_op": 0
}dereliasupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/03/08 16:13:27
dereliasupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/03/08 16:13:27
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | derelias |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20499889/Trx 3a63c509f1d626d929eaf70f746d3d7d53bde42e |
View Raw JSON Data
{
"block": 20499889,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "derelias",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-03-08T16:13:27",
"trx_id": "3a63c509f1d626d929eaf70f746d3d7d53bde42e",
"trx_in_block": 36,
"virtual_op": 0
}kassupvoted (100.00%) @kass / learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub2018/02/06 22:23:06
kassupvoted (100.00%) @kass / learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub
2018/02/06 22:23:06
| author | kass |
| permlink | learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19644194/Trx b878ff24ccd5b521f4f29b2f20ae9cb17c87706d |
View Raw JSON Data
{
"block": 19644194,
"op": [
"vote",
{
"author": "kass",
"permlink": "learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-02-06T22:23:06",
"trx_id": "b878ff24ccd5b521f4f29b2f20ae9cb17c87706d",
"trx_in_block": 28,
"virtual_op": 0
}kasspublished a new post: learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub2018/02/06 22:23:06
kasspublished a new post: learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub
2018/02/06 22:23:06
| author | kass |
| body | Hey, I previously made a tutorial on how to [build a blockchain from scratch](https://steemit.com/cryptocurrency/@kass/creating-your-first-blockchain-with-java-part-1)... A lot of people seem to be interested in learning and creating blockchain tech, so I created a discord server : [Blockchain Developers Club](https://discord.gg/ZsyQqyk) - *A Community for blockchain developers to learn, discuss and collaborate on projects. Developers of all abilities are welcome here.* - *There are a bunch of cool links to tools and tutorials in the #resources channel and I'm helping to answer questions too.* https://discord.gg/ZsyQqyk If you have ever wanted to create your own crypto-currency :) <center></center> ( ͡° ͜ʖ ͡°) *request: can we get support for embedded github gists on here, that would help to allow me to better create blockchain programming tutorials :)* Happy Programming, |
| json metadata | {"tags":["cryptocurrency","blockchain","programming","development","discord"],"image":["https://steemitimages.com/DQmWLUH8pQzh5BYULa5KKGhEaruiT8uDjqXeV63FGfstSBv/BDCBanner.png"],"links":["https://steemit.com/cryptocurrency/@kass/creating-your-first-blockchain-with-java-part-1","https://discord.gg/ZsyQqyk"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | cryptocurrency |
| permlink | learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub |
| title | Learn how to create your own crypto currency. #BlockchainDevelopersClub |
| Transaction Info | Block #19644194/Trx b878ff24ccd5b521f4f29b2f20ae9cb17c87706d |
View Raw JSON Data
{
"block": 19644194,
"op": [
"comment",
{
"author": "kass",
"body": "Hey, I previously made a tutorial on how to [build a blockchain from scratch](https://steemit.com/cryptocurrency/@kass/creating-your-first-blockchain-with-java-part-1)...\n\nA lot of people seem to be interested in learning and creating blockchain tech, so I created a discord server : [Blockchain Developers Club](https://discord.gg/ZsyQqyk) \n- *A Community for blockchain developers to learn, discuss and collaborate on projects. Developers of all abilities are welcome here.*\n\n- *There are a bunch of cool links to tools and tutorials in the #resources channel and I'm helping to answer questions too.*\n\nhttps://discord.gg/ZsyQqyk If you have ever wanted to create your own crypto-currency :)\n\n<center></center>\n\n\n( ͡° ͜ʖ ͡°) *request: can we get support for embedded github gists on here, that would help to allow me to better create blockchain programming tutorials :)* \n\nHappy Programming,",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"blockchain\",\"programming\",\"development\",\"discord\"],\"image\":[\"https://steemitimages.com/DQmWLUH8pQzh5BYULa5KKGhEaruiT8uDjqXeV63FGfstSBv/BDCBanner.png\"],\"links\":[\"https://steemit.com/cryptocurrency/@kass/creating-your-first-blockchain-with-java-part-1\",\"https://discord.gg/ZsyQqyk\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "cryptocurrency",
"permlink": "learn-how-to-create-your-own-crypto-currency-blockchaindevelopersclub",
"title": "Learn how to create your own crypto currency. #BlockchainDevelopersClub"
}
],
"op_in_trx": 0,
"timestamp": "2018-02-06T22:23:06",
"trx_id": "b878ff24ccd5b521f4f29b2f20ae9cb17c87706d",
"trx_in_block": 28,
"virtual_op": 0
}kassreceived 0.026 SBD, 0.008 SP author reward for @kass / re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z2018/01/31 22:54:48
kassreceived 0.026 SBD, 0.008 SP author reward for @kass / re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z
2018/01/31 22:54:48
| author | kass |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z |
| sbd payout | 0.026 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 12.276204 VESTS |
| Transaction Info | Block #19472287/Virtual Operation #2 |
View Raw JSON Data
{
"block": 19472287,
"op": [
"author_reward",
{
"author": "kass",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z",
"sbd_payout": "0.026 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "12.276204 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-01-31T22:54:48",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": 2
}kassreceived 0.137 SBD, 0.034 SP author reward for @kass / creating-your-first-blockchain-with-java-part-12018/01/31 22:49:30
kassreceived 0.137 SBD, 0.034 SP author reward for @kass / creating-your-first-blockchain-with-java-part-1
2018/01/31 22:49:30
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| sbd payout | 0.137 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 55.242929 VESTS |
| Transaction Info | Block #19472181/Virtual Operation #17 |
View Raw JSON Data
{
"block": 19472181,
"op": [
"author_reward",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"sbd_payout": "0.137 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "55.242929 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2018-01-31T22:49:30",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": 17
}2018/01/30 10:25:09
2018/01/30 10:25:09
| author | steveblucher |
| body | A very interesting post @kass - thanks for sharing. |
| json metadata | {"tags":["cryptocurrency"],"users":["kass"],"app":"steemit/0.1"} |
| parent author | kass |
| parent permlink | creating-your-first-blockchain-with-java-part-1 |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180130t102509735z |
| title | |
| Transaction Info | Block #19428530/Trx ec151e8b760f74d9793edcae426fd04fe267bdcb |
View Raw JSON Data
{
"block": 19428530,
"op": [
"comment",
{
"author": "steveblucher",
"body": "A very interesting post @kass - thanks for sharing.",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"users\":[\"kass\"],\"app\":\"steemit/0.1\"}",
"parent_author": "kass",
"parent_permlink": "creating-your-first-blockchain-with-java-part-1",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180130t102509735z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-01-30T10:25:09",
"trx_id": "ec151e8b760f74d9793edcae426fd04fe267bdcb",
"trx_in_block": 34,
"virtual_op": 0
}steveblucherupvoted (50.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/30 10:23:57
steveblucherupvoted (50.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/30 10:23:57
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | steveblucher |
| weight | 5000 (50.00%) |
| Transaction Info | Block #19428506/Trx bc5b0ce30c09f90aa64541966a53cbcc6a9b083d |
View Raw JSON Data
{
"block": 19428506,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "steveblucher",
"weight": 5000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-30T10:23:57",
"trx_id": "bc5b0ce30c09f90aa64541966a53cbcc6a9b083d",
"trx_in_block": 4,
"virtual_op": 0
}2018/01/27 16:04:51
2018/01/27 16:04:51
| author | branbello |
| body | Didn't realize you were on the site. Make sure you look at the link so cheetah doesn't get you flagged and blacklisted by other members. https://steemit.com/steemit/@anyx/cheetah-bot-the-fight-against-spam-and-plagiarism-continues |
| json metadata | {"tags":["cryptocurrency"],"links":["https://steemit.com/steemit/@anyx/cheetah-bot-the-fight-against-spam-and-plagiarism-continues"],"app":"steemit/0.1"} |
| parent author | kass |
| parent permlink | creating-your-first-blockchain-with-java-part-1 |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180127t160453342z |
| title | |
| Transaction Info | Block #19348969/Trx 5c277ffe0717b9c8575fd5f39651d5da2e93b664 |
View Raw JSON Data
{
"block": 19348969,
"op": [
"comment",
{
"author": "branbello",
"body": "Didn't realize you were on the site. Make sure you look at the link so cheetah doesn't get you flagged and blacklisted by other members.\n\nhttps://steemit.com/steemit/@anyx/cheetah-bot-the-fight-against-spam-and-plagiarism-continues",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"links\":[\"https://steemit.com/steemit/@anyx/cheetah-bot-the-fight-against-spam-and-plagiarism-continues\"],\"app\":\"steemit/0.1\"}",
"parent_author": "kass",
"parent_permlink": "creating-your-first-blockchain-with-java-part-1",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180127t160453342z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-01-27T16:04:51",
"trx_id": "5c277ffe0717b9c8575fd5f39651d5da2e93b664",
"trx_in_block": 41,
"virtual_op": 0
}branbelloupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/27 16:02:03
branbelloupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/27 16:02:03
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | branbello |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19348913/Trx 7746ecb6c623c65b4fa0359bfadbf6bd80331d52 |
View Raw JSON Data
{
"block": 19348913,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "branbello",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-27T16:02:03",
"trx_id": "7746ecb6c623c65b4fa0359bfadbf6bd80331d52",
"trx_in_block": 32,
"virtual_op": 0
}kassupvoted (100.00%) @steemitboard / steemitboard-notify-kass-20180125t203314000z2018/01/25 23:49:42
kassupvoted (100.00%) @steemitboard / steemitboard-notify-kass-20180125t203314000z
2018/01/25 23:49:42
| author | steemitboard |
| permlink | steemitboard-notify-kass-20180125t203314000z |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19300708/Trx 5a0a908b663ca691f7eccdacd61b268bdd357d00 |
View Raw JSON Data
{
"block": 19300708,
"op": [
"vote",
{
"author": "steemitboard",
"permlink": "steemitboard-notify-kass-20180125t203314000z",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-25T23:49:42",
"trx_id": "5a0a908b663ca691f7eccdacd61b268bdd357d00",
"trx_in_block": 7,
"virtual_op": 0
}2018/01/25 20:33:12
2018/01/25 20:33:12
| author | steemitboard |
| body | Congratulations @kass! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [](http://steemitboard.com/@kass) You published your First Post [](http://steemitboard.com/@kass) Award for the number of upvotes received Click on any badge to view your own Board of Honor on SteemitBoard. For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` > By upvoting this notification, you can help all Steemit users. Learn how [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)! |
| json metadata | {"image":["https://steemitboard.com/img/notifications.png"]} |
| parent author | kass |
| parent permlink | creating-your-first-blockchain-with-java-part-1 |
| permlink | steemitboard-notify-kass-20180125t203314000z |
| title | |
| Transaction Info | Block #19296779/Trx a517d9882efc890ffdc4b0502bff327170faa576 |
View Raw JSON Data
{
"block": 19296779,
"op": [
"comment",
{
"author": "steemitboard",
"body": "Congratulations @kass! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[](http://steemitboard.com/@kass) You published your First Post\n[](http://steemitboard.com/@kass) Award for the number of upvotes received\n\nClick on any badge to view your own Board of Honor on SteemitBoard.\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n> By upvoting this notification, you can help all Steemit users. Learn how [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notifications.png\"]}",
"parent_author": "kass",
"parent_permlink": "creating-your-first-blockchain-with-java-part-1",
"permlink": "steemitboard-notify-kass-20180125t203314000z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-01-25T20:33:12",
"trx_id": "a517d9882efc890ffdc4b0502bff327170faa576",
"trx_in_block": 44,
"virtual_op": 0
}dlwagnerupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/25 09:58:06
dlwagnerupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/25 09:58:06
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | dlwagner |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19284081/Trx accc974714914e9b54298f943b7e556537e6b5d8 |
View Raw JSON Data
{
"block": 19284081,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "dlwagner",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-25T09:58:06",
"trx_id": "accc974714914e9b54298f943b7e556537e6b5d8",
"trx_in_block": 3,
"virtual_op": 0
}geggletoupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/25 01:24:57
geggletoupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/25 01:24:57
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | geggleto |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19273824/Trx e7b742af4a3ec3eb283404ba20bdebf2c5b938f1 |
View Raw JSON Data
{
"block": 19273824,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "geggleto",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-25T01:24:57",
"trx_id": "e7b742af4a3ec3eb283404ba20bdebf2c5b938f1",
"trx_in_block": 8,
"virtual_op": 0
}simonjayupvoted (2.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/25 00:58:33
simonjayupvoted (2.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/25 00:58:33
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | simonjay |
| weight | 200 (2.00%) |
| Transaction Info | Block #19273296/Trx 9af2589adc7705722c713ef14e0413a9bd73c6f3 |
View Raw JSON Data
{
"block": 19273296,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "simonjay",
"weight": 200
}
],
"op_in_trx": 0,
"timestamp": "2018-01-25T00:58:33",
"trx_id": "9af2589adc7705722c713ef14e0413a9bd73c6f3",
"trx_in_block": 7,
"virtual_op": 0
}melsyupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/24 23:21:51
melsyupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/24 23:21:51
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | melsy |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19271362/Trx 02eccec2bc5dc5cf20efdf9639a5a870de2747dc |
View Raw JSON Data
{
"block": 19271362,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "melsy",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T23:21:51",
"trx_id": "02eccec2bc5dc5cf20efdf9639a5a870de2747dc",
"trx_in_block": 28,
"virtual_op": 0
}2018/01/24 23:19:39
2018/01/24 23:19:39
| author | selfhelp |
| body | The blockchain is really a revolutionary thing. It could be the Internet 2.0 |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| parent author | kass |
| parent permlink | creating-your-first-blockchain-with-java-part-1 |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180124t231935951z |
| title | |
| Transaction Info | Block #19271318/Trx 3fe3b0ba0a80613517dfb4828ee9cccfbb019c0a |
View Raw JSON Data
{
"block": 19271318,
"op": [
"comment",
{
"author": "selfhelp",
"body": "The blockchain is really a revolutionary thing. It could be the Internet 2.0",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}",
"parent_author": "kass",
"parent_permlink": "creating-your-first-blockchain-with-java-part-1",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180124t231935951z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T23:19:39",
"trx_id": "3fe3b0ba0a80613517dfb4828ee9cccfbb019c0a",
"trx_in_block": 20,
"virtual_op": 0
}zshupvoted (98.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/24 23:10:09
zshupvoted (98.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/24 23:10:09
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | zsh |
| weight | 9800 (98.00%) |
| Transaction Info | Block #19271128/Trx 570c91ed359fae2bfef761da1e2e5b021eaf34e5 |
View Raw JSON Data
{
"block": 19271128,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "zsh",
"weight": 9800
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T23:10:09",
"trx_id": "570c91ed359fae2bfef761da1e2e5b021eaf34e5",
"trx_in_block": 0,
"virtual_op": 0
}mhiupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/24 23:06:42
mhiupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/24 23:06:42
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | mhi |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19271059/Trx 76298197bab23c72f9fe6d83b559e7d12f5fbe81 |
View Raw JSON Data
{
"block": 19271059,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "mhi",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T23:06:42",
"trx_id": "76298197bab23c72f9fe6d83b559e7d12f5fbe81",
"trx_in_block": 26,
"virtual_op": 0
}2018/01/24 22:56:57
2018/01/24 22:56:57
| author | kass |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z |
| voter | wizarty |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19270864/Trx d311d1e035f10505438193707d0b9b91f13a0e8b |
View Raw JSON Data
{
"block": 19270864,
"op": [
"vote",
{
"author": "kass",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z",
"voter": "wizarty",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:56:57",
"trx_id": "d311d1e035f10505438193707d0b9b91f13a0e8b",
"trx_in_block": 31,
"virtual_op": 0
}kasspublished a new post: creating-your-first-blockchain-with-java-part-12018/01/24 22:56:45
kasspublished a new post: creating-your-first-blockchain-with-java-part-1
2018/01/24 22:56:45
| author | kass |
| body | @@ -15108,18 +15108,16 @@ d chain. - * **%0A%0A*unl |
| json metadata | {"tags":["cryptocurrency","blockchain","bitcoin","development","java"],"image":["https://cdn-images-1.medium.com/max/800/1*3rE0ahnLzfQ7JHyxNJAH7Q.gif","https://cdn-images-1.medium.com/max/800/1*VPKiJWgOiZszGvLgPNiqLA.png","https://cdn-images-1.medium.com/max/800/1*627BG-7qMtaXNsX0n41C6Q.png","https://steemitimages.com/DQmc8rsfW3KnnYq8Wq2kHnBrpSfihnuxc2tDSsSEU227Ajw/CalculatingHash.gif","https://steemitimages.com/DQmbgiQDj2UAE34gBMwdpjtdTpKK9aQmnRkj5D8z7kLvQS4/outputHashTesting.png","https://steemitimages.com/DQmUNBjqxHcjz2dD83N6AwzCy6Z2n8eq8MoJGZaLXs7mp2i/BlockMining.gif","https://steemitimages.com/DQmSfShzpYPYeRyMvMghHAJGfDfGjSjWyQAtTxoc9TeJdZp/miningResults.png","https://steemitimages.com/DQmWQBNZHWPjwNibkgr3h1kcVJGBbZ246Cr6JH2q9PgpVpj/giphy.gif","https://steemitimages.com/DQmSnifojy2EzCgg4w2sTXsvCNC2MfxN4f2dGKmhVVvFAnd/more%20to%20go.gif"],"links":["https://docs.oracle.com/javase/tutorial/java/concepts/","https://en.wikipedia.org/wiki/Object-oriented_programming","https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar","http://www.baeldung.com/sha-256-hashing-java","https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52","https://github.com/CryptoKass/NoobChain-Tutorial-Part-1","https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | cryptocurrency |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| title | Creating Your First Blockchain with Java. Part 1. |
| Transaction Info | Block #19270860/Trx c9602d3dbb79970c513f9dc3d492c748be936c4c |
View Raw JSON Data
{
"block": 19270860,
"op": [
"comment",
{
"author": "kass",
"body": "@@ -15108,18 +15108,16 @@\n d chain.\n- *\n **%0A%0A*unl\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"blockchain\",\"bitcoin\",\"development\",\"java\"],\"image\":[\"https://cdn-images-1.medium.com/max/800/1*3rE0ahnLzfQ7JHyxNJAH7Q.gif\",\"https://cdn-images-1.medium.com/max/800/1*VPKiJWgOiZszGvLgPNiqLA.png\",\"https://cdn-images-1.medium.com/max/800/1*627BG-7qMtaXNsX0n41C6Q.png\",\"https://steemitimages.com/DQmc8rsfW3KnnYq8Wq2kHnBrpSfihnuxc2tDSsSEU227Ajw/CalculatingHash.gif\",\"https://steemitimages.com/DQmbgiQDj2UAE34gBMwdpjtdTpKK9aQmnRkj5D8z7kLvQS4/outputHashTesting.png\",\"https://steemitimages.com/DQmUNBjqxHcjz2dD83N6AwzCy6Z2n8eq8MoJGZaLXs7mp2i/BlockMining.gif\",\"https://steemitimages.com/DQmSfShzpYPYeRyMvMghHAJGfDfGjSjWyQAtTxoc9TeJdZp/miningResults.png\",\"https://steemitimages.com/DQmWQBNZHWPjwNibkgr3h1kcVJGBbZ246Cr6JH2q9PgpVpj/giphy.gif\",\"https://steemitimages.com/DQmSnifojy2EzCgg4w2sTXsvCNC2MfxN4f2dGKmhVVvFAnd/more%20to%20go.gif\"],\"links\":[\"https://docs.oracle.com/javase/tutorial/java/concepts/\",\"https://en.wikipedia.org/wiki/Object-oriented_programming\",\"https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar\",\"http://www.baeldung.com/sha-256-hashing-java\",\"https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52\",\"https://github.com/CryptoKass/NoobChain-Tutorial-Part-1\",\"https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "cryptocurrency",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"title": "Creating Your First Blockchain with Java. Part 1."
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:56:45",
"trx_id": "c9602d3dbb79970c513f9dc3d492c748be936c4c",
"trx_in_block": 34,
"virtual_op": 0
}wizartyupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/24 22:55:48
wizartyupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/24 22:55:48
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | wizarty |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19270841/Trx 7610db4c07b1695702378eb96fdfafc66a5ba0a2 |
View Raw JSON Data
{
"block": 19270841,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "wizarty",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:55:48",
"trx_id": "7610db4c07b1695702378eb96fdfafc66a5ba0a2",
"trx_in_block": 41,
"virtual_op": 0
}kasspublished a new post: creating-your-first-blockchain-with-java-part-12018/01/24 22:55:24
kasspublished a new post: creating-your-first-blockchain-with-java-part-1
2018/01/24 22:55:24
| author | kass |
| body | @@ -16401,19 +16401,19 @@ gnatures - ** + and **Wa |
| json metadata | {"tags":["cryptocurrency","blockchain","bitcoin","development","java"],"image":["https://cdn-images-1.medium.com/max/800/1*3rE0ahnLzfQ7JHyxNJAH7Q.gif","https://cdn-images-1.medium.com/max/800/1*VPKiJWgOiZszGvLgPNiqLA.png","https://cdn-images-1.medium.com/max/800/1*627BG-7qMtaXNsX0n41C6Q.png","https://steemitimages.com/DQmc8rsfW3KnnYq8Wq2kHnBrpSfihnuxc2tDSsSEU227Ajw/CalculatingHash.gif","https://steemitimages.com/DQmbgiQDj2UAE34gBMwdpjtdTpKK9aQmnRkj5D8z7kLvQS4/outputHashTesting.png","https://steemitimages.com/DQmUNBjqxHcjz2dD83N6AwzCy6Z2n8eq8MoJGZaLXs7mp2i/BlockMining.gif","https://steemitimages.com/DQmSfShzpYPYeRyMvMghHAJGfDfGjSjWyQAtTxoc9TeJdZp/miningResults.png","https://steemitimages.com/DQmWQBNZHWPjwNibkgr3h1kcVJGBbZ246Cr6JH2q9PgpVpj/giphy.gif","https://steemitimages.com/DQmSnifojy2EzCgg4w2sTXsvCNC2MfxN4f2dGKmhVVvFAnd/more%20to%20go.gif"],"links":["https://docs.oracle.com/javase/tutorial/java/concepts/","https://en.wikipedia.org/wiki/Object-oriented_programming","https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar","http://www.baeldung.com/sha-256-hashing-java","https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52","https://github.com/CryptoKass/NoobChain-Tutorial-Part-1","https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | cryptocurrency |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| title | Creating Your First Blockchain with Java. Part 1. |
| Transaction Info | Block #19270833/Trx 9317a64a914b38d3655e4896bbb6c7134c48334d |
View Raw JSON Data
{
"block": 19270833,
"op": [
"comment",
{
"author": "kass",
"body": "@@ -16401,19 +16401,19 @@\n gnatures\n- \n **\n+ \n and **Wa\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"blockchain\",\"bitcoin\",\"development\",\"java\"],\"image\":[\"https://cdn-images-1.medium.com/max/800/1*3rE0ahnLzfQ7JHyxNJAH7Q.gif\",\"https://cdn-images-1.medium.com/max/800/1*VPKiJWgOiZszGvLgPNiqLA.png\",\"https://cdn-images-1.medium.com/max/800/1*627BG-7qMtaXNsX0n41C6Q.png\",\"https://steemitimages.com/DQmc8rsfW3KnnYq8Wq2kHnBrpSfihnuxc2tDSsSEU227Ajw/CalculatingHash.gif\",\"https://steemitimages.com/DQmbgiQDj2UAE34gBMwdpjtdTpKK9aQmnRkj5D8z7kLvQS4/outputHashTesting.png\",\"https://steemitimages.com/DQmUNBjqxHcjz2dD83N6AwzCy6Z2n8eq8MoJGZaLXs7mp2i/BlockMining.gif\",\"https://steemitimages.com/DQmSfShzpYPYeRyMvMghHAJGfDfGjSjWyQAtTxoc9TeJdZp/miningResults.png\",\"https://steemitimages.com/DQmWQBNZHWPjwNibkgr3h1kcVJGBbZ246Cr6JH2q9PgpVpj/giphy.gif\",\"https://steemitimages.com/DQmSnifojy2EzCgg4w2sTXsvCNC2MfxN4f2dGKmhVVvFAnd/more%20to%20go.gif\"],\"links\":[\"https://docs.oracle.com/javase/tutorial/java/concepts/\",\"https://en.wikipedia.org/wiki/Object-oriented_programming\",\"https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar\",\"http://www.baeldung.com/sha-256-hashing-java\",\"https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52\",\"https://github.com/CryptoKass/NoobChain-Tutorial-Part-1\",\"https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "cryptocurrency",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"title": "Creating Your First Blockchain with Java. Part 1."
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:55:24",
"trx_id": "9317a64a914b38d3655e4896bbb6c7134c48334d",
"trx_in_block": 2,
"virtual_op": 0
}2018/01/24 22:54:48
2018/01/24 22:54:48
| author | kass |
| body | hmm, I'm considering posting part 3 on steemit first, but It's really awkward to read the code with out syntax highlighting. **Hopefully we can get the ability to embed Gist soon.** |
| json metadata | {"tags":["cryptocurrency"],"app":"steemit/0.1"} |
| parent author | kass |
| parent permlink | creating-your-first-blockchain-with-java-part-1 |
| permlink | re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z |
| title | |
| Transaction Info | Block #19270821/Trx 063fd1f85ade7bb52ca16ad6bfdc166c0ec981f3 |
View Raw JSON Data
{
"block": 19270821,
"op": [
"comment",
{
"author": "kass",
"body": "hmm, I'm considering posting part 3 on steemit first, but It's really awkward to read the code with out syntax highlighting. \n\n**Hopefully we can get the ability to embed Gist soon.**",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"app\":\"steemit/0.1\"}",
"parent_author": "kass",
"parent_permlink": "creating-your-first-blockchain-with-java-part-1",
"permlink": "re-kass-creating-your-first-blockchain-with-java-part-1-20180124t225448266z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:54:48",
"trx_id": "063fd1f85ade7bb52ca16ad6bfdc166c0ec981f3",
"trx_in_block": 2,
"virtual_op": 0
}luu78upvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/24 22:53:09
luu78upvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/24 22:53:09
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | luu78 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19270788/Trx 9ddb3bf39f075581e0e1e920428aa3a471f20232 |
View Raw JSON Data
{
"block": 19270788,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "luu78",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:53:09",
"trx_id": "9ddb3bf39f075581e0e1e920428aa3a471f20232",
"trx_in_block": 47,
"virtual_op": 0
}luu78replied to @kass / re-kass-2018124t185255240z2018/01/24 22:52:57
luu78replied to @kass / re-kass-2018124t185255240z
2018/01/24 22:52:57
| author | luu78 |
| body | I always wanted to learn more avour creating a blockchain. Im giving you an upvote and follow. Keep them coming! |
| json metadata | {"tags":["cryptocurrency","blockchain","bitcoin","development","java"],"app":"esteem/1.5.0","format":"markdown+html","community":"esteem"} |
| parent author | kass |
| parent permlink | creating-your-first-blockchain-with-java-part-1 |
| permlink | re-kass-2018124t185255240z |
| title | |
| Transaction Info | Block #19270784/Trx dc9ae1f0c81cfa168016f58c561b960ffa9484e6 |
View Raw JSON Data
{
"block": 19270784,
"op": [
"comment",
{
"author": "luu78",
"body": "I always wanted to learn more avour creating a blockchain. Im giving you an upvote and follow. Keep them coming!",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"blockchain\",\"bitcoin\",\"development\",\"java\"],\"app\":\"esteem/1.5.0\",\"format\":\"markdown+html\",\"community\":\"esteem\"}",
"parent_author": "kass",
"parent_permlink": "creating-your-first-blockchain-with-java-part-1",
"permlink": "re-kass-2018124t185255240z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:52:57",
"trx_id": "dc9ae1f0c81cfa168016f58c561b960ffa9484e6",
"trx_in_block": 5,
"virtual_op": 0
}kasspublished a new post: creating-your-first-blockchain-with-java-part-12018/01/24 22:50:51
kasspublished a new post: creating-your-first-blockchain-with-java-part-1
2018/01/24 22:50:51
| author | kass |
| body | @@ -16287,17 +16287,17 @@ 335e0ce) - +%0A (I will @@ -16365,17 +16365,17 @@ ere :D ) -%0A + We cover @@ -16426,16 +16426,17 @@ *.%0A%0A -* +_ contact +_ : *k |
| json metadata | {"tags":["cryptocurrency","blockchain","bitcoin","development","java"],"image":["https://cdn-images-1.medium.com/max/800/1*3rE0ahnLzfQ7JHyxNJAH7Q.gif","https://cdn-images-1.medium.com/max/800/1*VPKiJWgOiZszGvLgPNiqLA.png","https://cdn-images-1.medium.com/max/800/1*627BG-7qMtaXNsX0n41C6Q.png","https://steemitimages.com/DQmc8rsfW3KnnYq8Wq2kHnBrpSfihnuxc2tDSsSEU227Ajw/CalculatingHash.gif","https://steemitimages.com/DQmbgiQDj2UAE34gBMwdpjtdTpKK9aQmnRkj5D8z7kLvQS4/outputHashTesting.png","https://steemitimages.com/DQmUNBjqxHcjz2dD83N6AwzCy6Z2n8eq8MoJGZaLXs7mp2i/BlockMining.gif","https://steemitimages.com/DQmSfShzpYPYeRyMvMghHAJGfDfGjSjWyQAtTxoc9TeJdZp/miningResults.png","https://steemitimages.com/DQmWQBNZHWPjwNibkgr3h1kcVJGBbZ246Cr6JH2q9PgpVpj/giphy.gif","https://steemitimages.com/DQmSnifojy2EzCgg4w2sTXsvCNC2MfxN4f2dGKmhVVvFAnd/more%20to%20go.gif"],"links":["https://docs.oracle.com/javase/tutorial/java/concepts/","https://en.wikipedia.org/wiki/Object-oriented_programming","https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar","http://www.baeldung.com/sha-256-hashing-java","https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52","https://github.com/CryptoKass/NoobChain-Tutorial-Part-1","https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | cryptocurrency |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| title | Creating Your First Blockchain with Java. Part 1. |
| Transaction Info | Block #19270742/Trx dae0655fd7a275b9288501bfaea16e6afc4f786f |
View Raw JSON Data
{
"block": 19270742,
"op": [
"comment",
{
"author": "kass",
"body": "@@ -16287,17 +16287,17 @@\n 335e0ce)\n- \n+%0A\n (I will \n@@ -16365,17 +16365,17 @@\n ere :D )\n-%0A\n+ \n We cover\n@@ -16426,16 +16426,17 @@\n *.%0A%0A\n-*\n+_\n contact\n+_\n : *k\n",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"blockchain\",\"bitcoin\",\"development\",\"java\"],\"image\":[\"https://cdn-images-1.medium.com/max/800/1*3rE0ahnLzfQ7JHyxNJAH7Q.gif\",\"https://cdn-images-1.medium.com/max/800/1*VPKiJWgOiZszGvLgPNiqLA.png\",\"https://cdn-images-1.medium.com/max/800/1*627BG-7qMtaXNsX0n41C6Q.png\",\"https://steemitimages.com/DQmc8rsfW3KnnYq8Wq2kHnBrpSfihnuxc2tDSsSEU227Ajw/CalculatingHash.gif\",\"https://steemitimages.com/DQmbgiQDj2UAE34gBMwdpjtdTpKK9aQmnRkj5D8z7kLvQS4/outputHashTesting.png\",\"https://steemitimages.com/DQmUNBjqxHcjz2dD83N6AwzCy6Z2n8eq8MoJGZaLXs7mp2i/BlockMining.gif\",\"https://steemitimages.com/DQmSfShzpYPYeRyMvMghHAJGfDfGjSjWyQAtTxoc9TeJdZp/miningResults.png\",\"https://steemitimages.com/DQmWQBNZHWPjwNibkgr3h1kcVJGBbZ246Cr6JH2q9PgpVpj/giphy.gif\",\"https://steemitimages.com/DQmSnifojy2EzCgg4w2sTXsvCNC2MfxN4f2dGKmhVVvFAnd/more%20to%20go.gif\"],\"links\":[\"https://docs.oracle.com/javase/tutorial/java/concepts/\",\"https://en.wikipedia.org/wiki/Object-oriented_programming\",\"https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar\",\"http://www.baeldung.com/sha-256-hashing-java\",\"https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52\",\"https://github.com/CryptoKass/NoobChain-Tutorial-Part-1\",\"https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "cryptocurrency",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"title": "Creating Your First Blockchain with Java. Part 1."
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:50:51",
"trx_id": "dae0655fd7a275b9288501bfaea16e6afc4f786f",
"trx_in_block": 9,
"virtual_op": 0
}2018/01/24 22:50:00
2018/01/24 22:50:00
| author | cheetah |
| body | Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in: https://medium.com/programmers-blockchain/create-simple-blockchain-java-tutorial-from-scratch-6eeed3cb03fa |
| json metadata | |
| parent author | kass |
| parent permlink | creating-your-first-blockchain-with-java-part-1 |
| permlink | cheetah-re-kasscreating-your-first-blockchain-with-java-part-1 |
| title | |
| Transaction Info | Block #19270725/Trx adc6817e550db3ba7dfc987a8a4eee585a1301eb |
View Raw JSON Data
{
"block": 19270725,
"op": [
"comment",
{
"author": "cheetah",
"body": "Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:\nhttps://medium.com/programmers-blockchain/create-simple-blockchain-java-tutorial-from-scratch-6eeed3cb03fa",
"json_metadata": "",
"parent_author": "kass",
"parent_permlink": "creating-your-first-blockchain-with-java-part-1",
"permlink": "cheetah-re-kasscreating-your-first-blockchain-with-java-part-1",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:50:00",
"trx_id": "adc6817e550db3ba7dfc987a8a4eee585a1301eb",
"trx_in_block": 18,
"virtual_op": 0
}cheetahupvoted (0.08%) @kass / creating-your-first-blockchain-with-java-part-12018/01/24 22:49:57
cheetahupvoted (0.08%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/24 22:49:57
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | cheetah |
| weight | 8 (0.08%) |
| Transaction Info | Block #19270724/Trx e8063e1b72bb3d56d22410fd15431e2fba757c6d |
View Raw JSON Data
{
"block": 19270724,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "cheetah",
"weight": 8
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:49:57",
"trx_id": "e8063e1b72bb3d56d22410fd15431e2fba757c6d",
"trx_in_block": 2,
"virtual_op": 0
}wartzahupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-12018/01/24 22:49:45
wartzahupvoted (100.00%) @kass / creating-your-first-blockchain-with-java-part-1
2018/01/24 22:49:45
| author | kass |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| voter | wartzah |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19270720/Trx f3b5e69c61ffda07e8b3e2d8a09f9e25e4426b8a |
View Raw JSON Data
{
"block": 19270720,
"op": [
"vote",
{
"author": "kass",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"voter": "wartzah",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:49:45",
"trx_id": "f3b5e69c61ffda07e8b3e2d8a09f9e25e4426b8a",
"trx_in_block": 48,
"virtual_op": 0
}kasspublished a new post: creating-your-first-blockchain-with-java-part-12018/01/24 22:49:30
kasspublished a new post: creating-your-first-blockchain-with-java-part-1
2018/01/24 22:49:30
| author | kass |
| body | # Creating Your First Blockchain with Java. Part 1. *Note: I initially posted this tutorial on Medium, but thought It might interest some people on here :)* In this tutorial we will : * Create your first (very) **basic ‘blockchain’**. * Implement a simple **proof of work** ( mining ) system. * **Marvel at the possibilities**. <br></br> ( I will assume you have a basic understanding of [Object Oriented Programming](https://docs.oracle.com/javase/tutorial/java/concepts/) ) <br></br> *It’s worth noting that this wont be a fully functioning, ready for production block chain. Instead this is a proof of concept implementation to help you understand what a blockchain is for future tutorials.* <br></br> ***** # Setting Up. We will be using Java but you should be able to follow along in any [OOP](https://en.wikipedia.org/wiki/Object-oriented_programming) language. I’ll be using Eclipse but you can use any new fancy text editor ( though you’ll miss out on a lot of good bloat ). You will need: * Java and JDK installed. ( duh ). * Eclipse ( or another IDE/Text Editor ). <center>  Don’t worry if your eclipse looks different to mine. I’ll be using a dark theme in eclipse because ^ </center> Optionally, you can grab[ GSON library by google](https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar) (*who are they ???*). This will allow us to turn an object into Json \o/. It’s a super useful library that we will also be using further down the line for peer2peer stuff, but feel free to use an alternate method. In Eclipse create a (file > new > ) Java project. I’ll call my Project “**noobchain**” and create a new *Class* by the same name (**NoobChain**). <center>  Don’t be copying my project name now ( ͠° ͟ ͜ʖ ͡°) </center> Now you’re good to go :) ***** # Making the Blockchain. A blockchain is just a chain/list of blocks. Each block in the blockchain will have its own digital signature, contain digital signature of the previous block, and have some data ( this data could be transactions for example ). <center>  I sure hope Nakamoto never sees this. </center> > **Hash = Digital Signature.** **Each block doesn’t just contain the hash of the block before it, but its own hash is in part, calculated from the previous hash**. If the previous block’s data is changed then the previous block’s hash will change ( since it is calculated in part, by the data) in turn affecting all the hashes of the blocks there after. **Calculating and comparing the hashes allow us to see if a blockchain is invalid.** What does this mean ? …Changing any data in this list, will change the signature and **break the chain**. # So Firsts lets create class **Block** that make up the blockchain: <br><br> ``` import java.util.Date; public class Block { public String hash; public String previousHash; private String data; //our data will be a simple message. private long timeStamp; //as number of milliseconds since 1/1/1970. //Block Constructor. public Block(String data,String previousHash ) { this.data = data; this.previousHash = previousHash; this.timeStamp = new Date().getTime(); } } ``` <br><br> As you can see our basic **Block** contains a `String hash` that will hold our digital signature. The variable `previousHash` to hold the previous block’s hash and`String data` to hold our block data. # **Next we will need a way to generate a digital signature**, there are many cryptographic algorithms you can choose from, however SHA256 fits just fine for this example. We can `import java.security.MessageDigest;` to get access to the SHA256 algorithm. We need to use SHA256 later down the line so lets create a handy helper method in a new **StringUtil** ‘utility’ *class* : <br><br> ``` import java.security.MessageDigest; public class StringUtil { //Applies Sha256 to a string and returns the result. public static String applySha256(String input){ try { MessageDigest digest = MessageDigest.getInstance("SHA-256"); //Applies sha256 to our input, byte[] hash = digest.digest(input.getBytes("UTF-8")); StringBuffer hexString = new StringBuffer(); // This will contain hash as hexidecimal for (int i = 0; i < hash.length; i++) { String hex = Integer.toHexString(0xff & hash[i]); if(hex.length() == 1) hexString.append('0'); hexString.append(hex); } return hexString.toString(); } catch(Exception e) { throw new RuntimeException(e); } } } ``` <center>This is mostly a carbon copy of the [http://www.baeldung.com/sha-256-hashing-java](http://www.baeldung.com/sha-256-hashing-java)</center> <br><br> **Don’t worry too much if you don’t understand the contents of this helper method**, *all you need to know is that it takes a string and applies SHA256 algorithm to it, and returns the generated signature as a string.* Now lets use our **applySha256** helper, in a new method in the **Block** *class*, to calculate the hash. We must calculate the hash from all parts of the block we don’t want to be tampered with. So for our block we will include the `previousHash`, the `data` and `timeStamp`. <br><br> ``` public String calculateHash() { String calculatedhash = StringUtil.applySha256( previousHash + Long.toString(timeStamp) + data ); return calculatedhash; } ``` <br><br> and lets add this method to the **Block** *constructor*… <br><br> ``` public Block(String data,String previousHash ) { this.data = data; this.previousHash = previousHash; this.timeStamp = new Date().getTime(); this.hash = calculateHash(); //Making sure we do this after we set the other values. } ``` <br><br> # **Time for some testing…** In our main **NoobChain** class lets create some blocks and print the hashes to the screen to see that everything is in working order. <center>  Lets test this… </center> The first block is called the genesis block, and because there is no previous block we will just enter “0” as the previous hash. <br><br> ``` public class NoobChain { public static void main(String[] args) { Block genesisBlock = new Block("Hi im the first block", "0"); System.out.println("Hash for block 1 : " + genesisBlock.hash); Block secondBlock = new Block("Yo im the second block",genesisBlock.hash); System.out.println("Hash for block 2 : " + secondBlock.hash); Block thirdBlock = new Block("Hey im the third block",secondBlock.hash); System.out.println("Hash for block 3 : " + thirdBlock.hash); } } ``` <br><br> The output should look similar to this: <center>  Your values will be different because your timestamp will be different. </center> Each block now has its own digital signature based on its information and the signature of the previous block. Currently it’s not much of a block**chain**, so lets store our blocks in an *ArrayList* and also import gson to view it as Json. *(*[click here to find out how to import the gson library](https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52)*)* <br><br> ``` import java.util.ArrayList; import com.google.gson.GsonBuilder; public class NoobChain { public static ArrayList<Block> blockchain = new ArrayList<Block>(); public static void main(String[] args) { //add our blocks to the blockchain ArrayList: blockchain.add(new Block("Hi im the first block", "0")); blockchain.add(new Block("Yo im the second block",blockchain.get(blockchain.size()-1).hash)); blockchain.add(new Block("Hey im the third block",blockchain.get(blockchain.size()-1).hash)); String blockchainJson = new GsonBuilder().setPrettyPrinting().create().toJson(blockchain); System.out.println(blockchainJson); } } ``` <br><br> Now our output should look something closer to what we expect a blockchain to look like. #### Now we need a way to check the integrity of our blockchain. Lets create an **isChainValid()** *Boolean* method in the **NoobChain** *class*, that will loop through all blocks in the chain and compare the hashes. This method will need to check the hash variable is actually equal to the calculated hash, and the previous block’s hash is equal to the **previousHash** variable. <br><br> ```public static Boolean isChainValid() { Block currentBlock; Block previousBlock; //loop through blockchain to check hashes: for(int i=1; i < blockchain.size(); i++) { currentBlock = blockchain.get(i); previousBlock = blockchain.get(i-1); //compare registered hash and calculated hash: if(!currentBlock.hash.equals(currentBlock.calculateHash()) ){ System.out.println("Current Hashes not equal"); return false; } //compare previous hash and registered previous hash if(!previousBlock.hash.equals(currentBlock.previousHash) ) { System.out.println("Previous Hashes not equal"); return false; } } return true; } ``` <br><br> Any change to the blockchain’s blocks will cause this method to return false. On the bitcoin network nodes share their blockchains and the **longest valid chain is accepted** by the network. What’s to stop someone tampering with data in an old block then creating a whole new longer blockchain and presenting that to the network ? **Proof of work**. The *hashcash* proof of work system means it takes considerable time and computational power to create new blocks. Hence the attacker would need more computational power than the rest of the peers combined. <center>  hashcash, much wow.</center> ### Lets start mining blocks !!! We will require *miners* to do proof-of-work by **trying different variable values in the block until its hash starts with a certain number of 0’s.** Lets add an *int* called **nonce** to be included in our **calculateHash()** method, and the much needed **mineBlock()** method : <br><br> ``` import java.util.Date; public class Block { public String hash; public String previousHash; private String data; //our data will be a simple message. private long timeStamp; //as number of milliseconds since 1/1/1970. private int nonce; //Block Constructor. public Block(String data,String previousHash ) { this.data = data; this.previousHash = previousHash; this.timeStamp = new Date().getTime(); this.hash = calculateHash(); //Making sure we do this after we set the other values. } //Calculate new hash based on blocks contents public String calculateHash() { String calculatedhash = StringUtil.applySha256( previousHash + Long.toString(timeStamp) + Integer.toString(nonce) + data ); return calculatedhash; } public void mineBlock(int difficulty) { String target = new String(new char[difficulty]).replace('\0', '0'); //Create a string with difficulty * "0" while(!hash.substring( 0, difficulty).equals(target)) { nonce ++; hash = calculateHash(); } System.out.println("Block Mined!!! : " + hash); } } ``` <center>In reality each miner will start iterating from a random point. Some miners may even try random numbers for nonce. Also it’s worth noting that at the harder difficulties solutions may require more than integer.MAX_VALUE, miners can then try changing the timestamp.</center> <br><br> The **mineBlock()** method takes in an int called difficulty, this is the number of 0’s they must solve for. Low difficulty like 1 or 2 can be solved nearly instantly on most computers, i’d suggest something around 4–6 for testing. At the time of writing Litecoin’s difficulty is around 442,592. Lets add the difficulty as a static variable to the NoobChain class : ` public static int difficulty = 5;` We should update the **NoobChain** *class* to trigger the **mineBlock()** *method* for each new block. The **isChainValid**() *Boolean* should also check if each block has a solved ( by mining ) hash. <br><br> ``` import java.util.ArrayList; import com.google.gson.GsonBuilder; public class NoobChain { public static ArrayList<Block> blockchain = new ArrayList<Block>(); public static int difficulty = 5; public static void main(String[] args) { //add our blocks to the blockchain ArrayList: blockchain.add(new Block("Hi im the first block", "0")); System.out.println("Trying to Mine block 1... "); blockchain.get(0).mineBlock(difficulty); blockchain.add(new Block("Yo im the second block",blockchain.get(blockchain.size()-1).hash)); System.out.println("Trying to Mine block 2... "); blockchain.get(1).mineBlock(difficulty); blockchain.add(new Block("Hey im the third block",blockchain.get(blockchain.size()-1).hash)); System.out.println("Trying to Mine block 3... "); blockchain.get(2).mineBlock(difficulty); System.out.println("\nBlockchain is Valid: " + isChainValid()); String blockchainJson = new GsonBuilder().setPrettyPrinting().create().toJson(blockchain); System.out.println("\nThe block chain: "); System.out.println(blockchainJson); } public static Boolean isChainValid() { Block currentBlock; Block previousBlock; String hashTarget = new String(new char[difficulty]).replace('\0', '0'); //loop through blockchain to check hashes: for(int i=1; i < blockchain.size(); i++) { currentBlock = blockchain.get(i); previousBlock = blockchain.get(i-1); //compare registered hash and calculated hash: if(!currentBlock.hash.equals(currentBlock.calculateHash()) ){ System.out.println("Current Hashes not equal"); return false; } //compare previous hash and registered previous hash if(!previousBlock.hash.equals(currentBlock.previousHash) ) { System.out.println("Previous Hashes not equal"); return false; } //check if hash is solved if(!currentBlock.hash.substring( 0, difficulty).equals(hashTarget)) { System.out.println("This block hasn't been mined"); return false; } } return true; } } ``` <center>Notice we also check and print *isChainValid*.</center> <br><br> Running this your results should look like : <center>  </center> Mining each block took some time! ( around 3 seconds ) You should mess around with the difficulty value to see how that effects the time it takes to mine each block ;) If someone were to **tamper**😒 with the data in your blockchain system: * Their blockchain would be invalid. * They would not be able to create a longer blockchain. * Honest blockchains in your network will have a time advantage on the longest chain. **A tampered blockchain will not be able to catch up with a longer & valid chain. *** *unless they have vastly more computation speed than all other nodes in your network combined. A future quantum computer or something. # You’re all done with your basic blockchain! <center> Go on pat yourself on the back. </center> Your blockchain: - **Is made up of blocks that store data.** - **Has a digital signature that chains your blocks together.** - **Requires proof of work mining to validate new blocks.** - **Can be check to see if data in it is valid and unchanged.** <center> **You can download these project files on** [Github](https://github.com/CryptoKass/NoobChain-Tutorial-Part-1). </center> <center>  You can **follow to be notified** when next tutorials and other blockchain development articles are posted. Any feedback is also greatly appreciated. Thanks.</center> # [Creating Your First Blockchain with Java. Part 2:](https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce) (I will update this with a steemit link once I post the second part here :D ) We cover **Transactions, Signatures **and **Wallets**. *contact: *[email protected]* |
| json metadata | {"tags":["cryptocurrency","blockchain","bitcoin","development","java"],"image":["https://cdn-images-1.medium.com/max/800/1*3rE0ahnLzfQ7JHyxNJAH7Q.gif","https://cdn-images-1.medium.com/max/800/1*VPKiJWgOiZszGvLgPNiqLA.png","https://cdn-images-1.medium.com/max/800/1*627BG-7qMtaXNsX0n41C6Q.png","https://steemitimages.com/DQmc8rsfW3KnnYq8Wq2kHnBrpSfihnuxc2tDSsSEU227Ajw/CalculatingHash.gif","https://steemitimages.com/DQmbgiQDj2UAE34gBMwdpjtdTpKK9aQmnRkj5D8z7kLvQS4/outputHashTesting.png","https://steemitimages.com/DQmUNBjqxHcjz2dD83N6AwzCy6Z2n8eq8MoJGZaLXs7mp2i/BlockMining.gif","https://steemitimages.com/DQmSfShzpYPYeRyMvMghHAJGfDfGjSjWyQAtTxoc9TeJdZp/miningResults.png","https://steemitimages.com/DQmWQBNZHWPjwNibkgr3h1kcVJGBbZ246Cr6JH2q9PgpVpj/giphy.gif","https://steemitimages.com/DQmSnifojy2EzCgg4w2sTXsvCNC2MfxN4f2dGKmhVVvFAnd/more%20to%20go.gif"],"links":["https://docs.oracle.com/javase/tutorial/java/concepts/","https://en.wikipedia.org/wiki/Object-oriented_programming","https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar","http://www.baeldung.com/sha-256-hashing-java","https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52","https://github.com/CryptoKass/NoobChain-Tutorial-Part-1","https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce"],"app":"steemit/0.1","format":"markdown"} |
| parent author | |
| parent permlink | cryptocurrency |
| permlink | creating-your-first-blockchain-with-java-part-1 |
| title | Creating Your First Blockchain with Java. Part 1. |
| Transaction Info | Block #19270715/Trx f0e10692b9da30e177ab2e905225f8eb9739f61a |
View Raw JSON Data
{
"block": 19270715,
"op": [
"comment",
{
"author": "kass",
"body": "# Creating Your First Blockchain with Java. Part 1.\n*Note: I initially posted this tutorial on Medium, but thought It might interest some people on here :)*\n\nIn this tutorial we will :\n\n* Create your first (very) **basic ‘blockchain’**.\n* Implement a simple **proof of work** ( mining ) system.\n* **Marvel at the possibilities**.\n\n<br></br>\n( I will assume you have a basic understanding of [Object Oriented Programming](https://docs.oracle.com/javase/tutorial/java/concepts/) )\n<br></br>\n*It’s worth noting that this wont be a fully functioning, ready for production block chain. Instead this is a proof of concept implementation to help you understand what a blockchain is for future tutorials.*\n<br></br>\n*****\n\n# Setting Up.\n\nWe will be using Java but you should be able to follow along in any [OOP](https://en.wikipedia.org/wiki/Object-oriented_programming) language. I’ll be using Eclipse but you can use any new fancy text editor ( though you’ll miss out on a lot of good bloat ).\n\nYou will need:\n\n* Java and JDK installed. ( duh ).\n* Eclipse ( or another IDE/Text Editor ).\n\n<center>\n\nDon’t worry if your eclipse looks different to mine. I’ll be using a dark theme in eclipse because ^\n</center>\n\nOptionally, you can grab[ GSON library by google](https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar) (*who are they ???*). This will allow us to turn an object into Json \\o/. It’s a super useful library that we will also be using further down the line for peer2peer stuff, but feel free to use an alternate method.\n\n\nIn Eclipse create a (file > new > ) Java project. I’ll call my Project “**noobchain**” and create a new *Class* by the same name (**NoobChain**).\n<center>\n\nDon’t be copying my project name now ( ͠° ͟ ͜ʖ ͡°)\n</center>\n\n\nNow you’re good to go :)\n\n*****\n\n# Making the Blockchain.\n\nA blockchain is just a chain/list of blocks. Each block in the blockchain will have its own digital signature, contain digital signature of the previous block, and have some data ( this data could be transactions for example ).\n\n<center>\n\nI sure hope Nakamoto never sees this. \n</center>\n\n> **Hash = Digital Signature.**\n\n**Each block doesn’t just contain the hash of the block before it, but its own hash is in part, calculated from the previous hash**. If the previous block’s data is changed then the previous block’s hash will change ( since it is calculated in part, by the data) in turn affecting all the hashes of the blocks there after. **Calculating and comparing the hashes allow us to see if a blockchain is invalid.**\n\nWhat does this mean ? …Changing any data in this list, will change the signature and **break the chain**.\n\n# So Firsts lets create class **Block** that make up the blockchain:\n<br><br>\n\n```\nimport java.util.Date;\n\npublic class Block {\n\n\tpublic String hash;\n\tpublic String previousHash;\n\tprivate String data; //our data will be a simple message.\n\tprivate long timeStamp; //as number of milliseconds since 1/1/1970.\n\n\t//Block Constructor.\n\tpublic Block(String data,String previousHash ) {\n\t\tthis.data = data;\n\t\tthis.previousHash = previousHash;\n\t\tthis.timeStamp = new Date().getTime();\n\t}\n}\n```\n<br><br>\n\nAs you can see our basic **Block** contains a `String hash` that will hold our digital signature. The variable `previousHash` to hold the previous block’s hash and`String data` to hold our block data.\n\n# **Next we will need a way to generate a digital signature**,\n\nthere are many cryptographic algorithms you can choose from, however SHA256 fits just fine for this example. We can `import java.security.MessageDigest;` to get access to the SHA256 algorithm.\n\nWe need to use SHA256 later down the line so lets create a handy helper method in a new **StringUtil** ‘utility’ *class* :\n<br><br>\n\n```\nimport java.security.MessageDigest;\n\npublic class StringUtil {\n\t//Applies Sha256 to a string and returns the result. \n\tpublic static String applySha256(String input){\t\t\n\t\ttry {\n\t\t\tMessageDigest digest = MessageDigest.getInstance(\"SHA-256\");\t \n\t\t\t//Applies sha256 to our input, \n\t\t\tbyte[] hash = digest.digest(input.getBytes(\"UTF-8\"));\t \n\t\t\tStringBuffer hexString = new StringBuffer(); // This will contain hash as hexidecimal\n\t\t\tfor (int i = 0; i < hash.length; i++) {\n\t\t\t\tString hex = Integer.toHexString(0xff & hash[i]);\n\t\t\t\tif(hex.length() == 1) hexString.append('0');\n\t\t\t\thexString.append(hex);\n\t\t\t}\n\t\t\treturn hexString.toString();\n\t\t}\n\t\tcatch(Exception e) {\n\t\t\tthrow new RuntimeException(e);\n\t\t}\n\t}\t\n}\n```\n<center>This is mostly a carbon copy of the\n[http://www.baeldung.com/sha-256-hashing-java](http://www.baeldung.com/sha-256-hashing-java)</center>\n<br><br>\n\n\n**Don’t worry too much if you don’t understand the contents of this helper method**, *all you need to know is that it takes a string and applies SHA256 algorithm to it, and returns the generated signature as a string.*\n\nNow lets use our **applySha256** helper, in a new method in the **Block** *class*, to calculate the hash. We must calculate the hash from all parts of the block we don’t want to be tampered with. So for our block we will include the `previousHash`, the `data` and `timeStamp`.\n<br><br>\n\n```\npublic String calculateHash() {\n\tString calculatedhash = StringUtil.applySha256( \n\t\t\tpreviousHash +\n\t\t\tLong.toString(timeStamp) +\n\t\t\tdata \n\t\t\t);\n\treturn calculatedhash;\n}\n```\n<br><br>\nand lets add this method to the **Block** *constructor*…\n<br><br>\n\n```\npublic Block(String data,String previousHash ) {\n\t\tthis.data = data;\n\t\tthis.previousHash = previousHash;\n\t\tthis.timeStamp = new Date().getTime();\n\t\tthis.hash = calculateHash(); //Making sure we do this after we set the other values.\n\t}\n ```\n<br><br>\n# **Time for some testing…**\n\nIn our main **NoobChain** class lets create some blocks and print the hashes to the screen to see that everything is in working order.\n\n<center>\n\nLets test this…\n</center>\n\nThe first block is called the genesis block, and because there is no previous block we will just enter “0” as the previous hash.\n<br><br>\n\n```\npublic class NoobChain {\n\n\tpublic static void main(String[] args) {\n\t\t\n\t\tBlock genesisBlock = new Block(\"Hi im the first block\", \"0\");\n\t\tSystem.out.println(\"Hash for block 1 : \" + genesisBlock.hash);\n\t\t\n\t\tBlock secondBlock = new Block(\"Yo im the second block\",genesisBlock.hash);\n\t\tSystem.out.println(\"Hash for block 2 : \" + secondBlock.hash);\n\t\t\n\t\tBlock thirdBlock = new Block(\"Hey im the third block\",secondBlock.hash);\n\t\tSystem.out.println(\"Hash for block 3 : \" + thirdBlock.hash);\n\t\t\n\t}\n}\n```\n<br><br>\nThe output should look similar to this:\n\n<center>\n\nYour values will be different because your timestamp will be different.\n</center>\n\nEach block now has its own digital signature based on its information and the signature of the previous block.\n\nCurrently it’s not much of a block**chain**, so lets store our blocks in an *ArrayList* and also import gson to view it as Json. *(*[click here to find out how to import the gson library](https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52)*)*\n<br><br>\n\n```\nimport java.util.ArrayList;\nimport com.google.gson.GsonBuilder;\n\npublic class NoobChain {\n\t\n\tpublic static ArrayList<Block> blockchain = new ArrayList<Block>(); \n\n\tpublic static void main(String[] args) {\t\n\t\t//add our blocks to the blockchain ArrayList:\n\t\tblockchain.add(new Block(\"Hi im the first block\", \"0\"));\t\t\n\t\tblockchain.add(new Block(\"Yo im the second block\",blockchain.get(blockchain.size()-1).hash)); \n\t\tblockchain.add(new Block(\"Hey im the third block\",blockchain.get(blockchain.size()-1).hash));\n\t\t\n\t\tString blockchainJson = new GsonBuilder().setPrettyPrinting().create().toJson(blockchain);\t\t\n\t\tSystem.out.println(blockchainJson);\n\t}\n\n}\n```\n<br><br>\nNow our output should look something closer to what we expect a blockchain to look like.\n\n#### Now we need a way to check the integrity of our blockchain.\n\nLets create an **isChainValid()** *Boolean* method in the **NoobChain** *class*, that will loop through all blocks in the chain and compare the hashes. This method will need to check the hash variable is actually equal to the calculated hash, and the previous block’s hash is equal to the **previousHash** variable.\n<br><br>\n\n```public static Boolean isChainValid() {\n\tBlock currentBlock; \n\tBlock previousBlock;\n\t\n\t//loop through blockchain to check hashes:\n\tfor(int i=1; i < blockchain.size(); i++) {\n\t\tcurrentBlock = blockchain.get(i);\n\t\tpreviousBlock = blockchain.get(i-1);\n\t\t//compare registered hash and calculated hash:\n\t\tif(!currentBlock.hash.equals(currentBlock.calculateHash()) ){\n\t\t\tSystem.out.println(\"Current Hashes not equal\");\t\t\t\n\t\t\treturn false;\n\t\t}\n\t\t//compare previous hash and registered previous hash\n\t\tif(!previousBlock.hash.equals(currentBlock.previousHash) ) {\n\t\t\tSystem.out.println(\"Previous Hashes not equal\");\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n```\n<br><br>\nAny change to the blockchain’s blocks will cause this method to return false.\n\nOn the bitcoin network nodes share their blockchains and the **longest valid chain is accepted** by the network. What’s to stop someone tampering with data in an old block then creating a whole new longer blockchain and presenting that to the network ? **Proof of work**. The *hashcash* proof of work system means it takes considerable time and \n computational power to create new blocks. Hence the attacker would need more computational power than the rest of the peers combined.\n\n<center>\n\nhashcash, much wow.</center>\n\n### Lets start mining blocks !!!\n\nWe will require *miners* to do proof-of-work by **trying different variable values in the block until its hash starts with a certain number of 0’s.**\n\nLets add an *int* called **nonce** to be included in our **calculateHash()** method, and the much needed **mineBlock()** method :\n<br><br>\n```\nimport java.util.Date;\n\npublic class Block {\n\t\n\tpublic String hash;\n\tpublic String previousHash; \n\tprivate String data; //our data will be a simple message.\n\tprivate long timeStamp; //as number of milliseconds since 1/1/1970.\n\tprivate int nonce;\n\t\n\t//Block Constructor. \n\tpublic Block(String data,String previousHash ) {\n\t\tthis.data = data;\n\t\tthis.previousHash = previousHash;\n\t\tthis.timeStamp = new Date().getTime();\n\t\t\n\t\tthis.hash = calculateHash(); //Making sure we do this after we set the other values.\n\t}\n\t\n\t//Calculate new hash based on blocks contents\n\tpublic String calculateHash() {\n\t\tString calculatedhash = StringUtil.applySha256( \n\t\t\t\tpreviousHash +\n\t\t\t\tLong.toString(timeStamp) +\n\t\t\t\tInteger.toString(nonce) + \n\t\t\t\tdata \n\t\t\t\t);\n\t\treturn calculatedhash;\n\t}\n\t\n\tpublic void mineBlock(int difficulty) {\n\t\tString target = new String(new char[difficulty]).replace('\\0', '0'); //Create a string with difficulty * \"0\" \n\t\twhile(!hash.substring( 0, difficulty).equals(target)) {\n\t\t\tnonce ++;\n\t\t\thash = calculateHash();\n\t\t}\n\t\tSystem.out.println(\"Block Mined!!! : \" + hash);\n\t}\n}\n```\n<center>In reality each miner will start iterating from a random point. Some miners may even try random numbers for nonce. Also it’s worth noting that at the harder difficulties solutions may require more than integer.MAX_VALUE, miners can then try changing the timestamp.</center>\n<br><br>\n\n\nThe **mineBlock()** method takes in an int called difficulty, this is the number of 0’s they must solve for. Low difficulty like 1 or 2 can be solved nearly instantly on most computers, i’d suggest something around 4–6 for testing. At the time of writing Litecoin’s difficulty is around 442,592.\n\nLets add the difficulty as a static variable to the NoobChain class :\n\n ` public static int difficulty = 5;`\n\nWe should update the **NoobChain** *class* to trigger the **mineBlock()** *method* for each new block. The **isChainValid**() *Boolean* should also check if each block has a solved ( by mining ) hash.\n<br><br>\n\n```\nimport java.util.ArrayList;\nimport com.google.gson.GsonBuilder;\n\npublic class NoobChain {\n\t\n\tpublic static ArrayList<Block> blockchain = new ArrayList<Block>();\n\tpublic static int difficulty = 5;\n\n\tpublic static void main(String[] args) {\t\n\t\t//add our blocks to the blockchain ArrayList:\n\t\t\n\t\tblockchain.add(new Block(\"Hi im the first block\", \"0\"));\n\t\tSystem.out.println(\"Trying to Mine block 1... \");\n\t\tblockchain.get(0).mineBlock(difficulty);\n\t\t\n\t\tblockchain.add(new Block(\"Yo im the second block\",blockchain.get(blockchain.size()-1).hash));\n\t\tSystem.out.println(\"Trying to Mine block 2... \");\n\t\tblockchain.get(1).mineBlock(difficulty);\n\t\t\n\t\tblockchain.add(new Block(\"Hey im the third block\",blockchain.get(blockchain.size()-1).hash));\n\t\tSystem.out.println(\"Trying to Mine block 3... \");\n\t\tblockchain.get(2).mineBlock(difficulty);\t\n\t\t\n\t\tSystem.out.println(\"\\nBlockchain is Valid: \" + isChainValid());\n\t\t\n\t\tString blockchainJson = new GsonBuilder().setPrettyPrinting().create().toJson(blockchain);\n\t\tSystem.out.println(\"\\nThe block chain: \");\n\t\tSystem.out.println(blockchainJson);\n\t}\n\t\n\tpublic static Boolean isChainValid() {\n\t\tBlock currentBlock; \n\t\tBlock previousBlock;\n\t\tString hashTarget = new String(new char[difficulty]).replace('\\0', '0');\n\t\t\n\t\t//loop through blockchain to check hashes:\n\t\tfor(int i=1; i < blockchain.size(); i++) {\n\t\t\tcurrentBlock = blockchain.get(i);\n\t\t\tpreviousBlock = blockchain.get(i-1);\n\t\t\t//compare registered hash and calculated hash:\n\t\t\tif(!currentBlock.hash.equals(currentBlock.calculateHash()) ){\n\t\t\t\tSystem.out.println(\"Current Hashes not equal\");\t\t\t\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t//compare previous hash and registered previous hash\n\t\t\tif(!previousBlock.hash.equals(currentBlock.previousHash) ) {\n\t\t\t\tSystem.out.println(\"Previous Hashes not equal\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t//check if hash is solved\n\t\t\tif(!currentBlock.hash.substring( 0, difficulty).equals(hashTarget)) {\n\t\t\t\tSystem.out.println(\"This block hasn't been mined\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n}\n```\n<center>Notice we also check and print *isChainValid*.</center>\n<br><br>\n\n\nRunning this your results should look like :\n\n<center>\n\n</center>\n\nMining each block took some time! ( around 3 seconds ) You should mess around with the difficulty value to see how that effects the time it takes to mine each block ;)\n\nIf someone were to **tamper**😒 with the data in your blockchain system:\n\n* Their blockchain would be invalid.\n* They would not be able to create a longer blockchain.\n* Honest blockchains in your network will have a time advantage on the longest\nchain.\n\n**A tampered blockchain will not be able to catch up with a longer & valid chain. ***\n\n*unless they have vastly more computation speed than all other nodes in your network combined. A future quantum computer or something.\n\n# You’re all done with your basic blockchain!\n\n<center>\nGo on pat yourself on the back.\n</center>\n\nYour blockchain:\n\n- **Is made up of blocks that store data.**\n- **Has a digital signature that chains your blocks together.**\n- **Requires proof of work mining to validate new blocks.**\n- **Can be check to see if data in it is valid and unchanged.**\n\n<center>\n**You can download these project files on**\n[Github](https://github.com/CryptoKass/NoobChain-Tutorial-Part-1).\n</center>\n\n<center>\n\nYou can **follow to be notified** when next tutorials and other blockchain development articles are posted. Any feedback is also greatly appreciated.\nThanks.</center>\n\n# [Creating Your First Blockchain with Java. Part 2:](https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce) (I will update this with a steemit link once I post the second part here :D )\nWe cover **Transactions, Signatures **and **Wallets**.\n\n*contact: *[email protected]*",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"blockchain\",\"bitcoin\",\"development\",\"java\"],\"image\":[\"https://cdn-images-1.medium.com/max/800/1*3rE0ahnLzfQ7JHyxNJAH7Q.gif\",\"https://cdn-images-1.medium.com/max/800/1*VPKiJWgOiZszGvLgPNiqLA.png\",\"https://cdn-images-1.medium.com/max/800/1*627BG-7qMtaXNsX0n41C6Q.png\",\"https://steemitimages.com/DQmc8rsfW3KnnYq8Wq2kHnBrpSfihnuxc2tDSsSEU227Ajw/CalculatingHash.gif\",\"https://steemitimages.com/DQmbgiQDj2UAE34gBMwdpjtdTpKK9aQmnRkj5D8z7kLvQS4/outputHashTesting.png\",\"https://steemitimages.com/DQmUNBjqxHcjz2dD83N6AwzCy6Z2n8eq8MoJGZaLXs7mp2i/BlockMining.gif\",\"https://steemitimages.com/DQmSfShzpYPYeRyMvMghHAJGfDfGjSjWyQAtTxoc9TeJdZp/miningResults.png\",\"https://steemitimages.com/DQmWQBNZHWPjwNibkgr3h1kcVJGBbZ246Cr6JH2q9PgpVpj/giphy.gif\",\"https://steemitimages.com/DQmSnifojy2EzCgg4w2sTXsvCNC2MfxN4f2dGKmhVVvFAnd/more%20to%20go.gif\"],\"links\":[\"https://docs.oracle.com/javase/tutorial/java/concepts/\",\"https://en.wikipedia.org/wiki/Object-oriented_programming\",\"https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/gson-2.6.2.jar\",\"http://www.baeldung.com/sha-256-hashing-java\",\"https://medium.com/@cryptokass/importing-gson-into-eclipse-ec8cf678ad52\",\"https://github.com/CryptoKass/NoobChain-Tutorial-Part-1\",\"https://medium.com/programmers-blockchain/creating-your-first-blockchain-with-java-part-2-transactions-2cdac335e0ce\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "cryptocurrency",
"permlink": "creating-your-first-blockchain-with-java-part-1",
"title": "Creating Your First Blockchain with Java. Part 1."
}
],
"op_in_trx": 0,
"timestamp": "2018-01-24T22:49:30",
"trx_id": "f0e10692b9da30e177ab2e905225f8eb9739f61a",
"trx_in_block": 66,
"virtual_op": 0
}kassupdated their account properties2018/01/22 17:11:39
kassupdated their account properties
2018/01/22 17:11:39
| account | kass |
| json metadata | {"profile":{"profile_image":"https://i.imgur.com/NMRMzs9.png","name":"CryptoKass","location":"London, England","cover_image":"https://i.imgur.com/zaiBfnQ.gif"}} |
| memo key | STM5H58nHx2sPSrEh9NptzjD5FTqYMTeoTDzeaDiFpjfRTye2r5q9 |
| Transaction Info | Block #19206384/Trx c7c8857cf1a05d46796756b22711668cdccf0359 |
View Raw JSON Data
{
"block": 19206384,
"op": [
"account_update",
{
"account": "kass",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/NMRMzs9.png\",\"name\":\"CryptoKass\",\"location\":\"London, England\",\"cover_image\":\"https://i.imgur.com/zaiBfnQ.gif\"}}",
"memo_key": "STM5H58nHx2sPSrEh9NptzjD5FTqYMTeoTDzeaDiFpjfRTye2r5q9"
}
],
"op_in_trx": 0,
"timestamp": "2018-01-22T17:11:39",
"trx_id": "c7c8857cf1a05d46796756b22711668cdccf0359",
"trx_in_block": 38,
"virtual_op": 0
}kassupdated their account properties2018/01/22 17:09:12
kassupdated their account properties
2018/01/22 17:09:12
| account | kass |
| json metadata | {"profile":{"profile_image":"https://i.imgur.com/NMRMzs9.png","name":"CryptoKass","location":"London, England"}} |
| memo key | STM5H58nHx2sPSrEh9NptzjD5FTqYMTeoTDzeaDiFpjfRTye2r5q9 |
| Transaction Info | Block #19206335/Trx f5121823b7ecc22bcab38c8b604d88e3e43dd936 |
View Raw JSON Data
{
"block": 19206335,
"op": [
"account_update",
{
"account": "kass",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://i.imgur.com/NMRMzs9.png\",\"name\":\"CryptoKass\",\"location\":\"London, England\"}}",
"memo_key": "STM5H58nHx2sPSrEh9NptzjD5FTqYMTeoTDzeaDiFpjfRTye2r5q9"
}
],
"op_in_trx": 0,
"timestamp": "2018-01-22T17:09:12",
"trx_id": "f5121823b7ecc22bcab38c8b604d88e3e43dd936",
"trx_in_block": 1,
"virtual_op": 0
}2017/12/27 21:13:24
2017/12/27 21:13:24
| delegatee | kass |
| delegator | steem |
| vesting shares | 29718.127272 VESTS |
| Transaction Info | Block #18463081/Trx 17ccc8ada6f26c95fd80baaa45c835a93a16e2c9 |
View Raw JSON Data
{
"block": 18463081,
"op": [
"delegate_vesting_shares",
{
"delegatee": "kass",
"delegator": "steem",
"vesting_shares": "29718.127272 VESTS"
}
],
"op_in_trx": 0,
"timestamp": "2017-12-27T21:13:24",
"trx_id": "17ccc8ada6f26c95fd80baaa45c835a93a16e2c9",
"trx_in_block": 16,
"virtual_op": 0
}2017/12/27 11:23:57
2017/12/27 11:23:57
| author | livelikeelli |
| permlink | re-jrcornel-this-is-hilarious-because-it-is-true-20171226t175323572z |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18451295/Trx 4870ac1d0ad723d04da210f54148ea235d49a6aa |
View Raw JSON Data
{
"block": 18451295,
"op": [
"vote",
{
"author": "livelikeelli",
"permlink": "re-jrcornel-this-is-hilarious-because-it-is-true-20171226t175323572z",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2017-12-27T11:23:57",
"trx_id": "4870ac1d0ad723d04da210f54148ea235d49a6aa",
"trx_in_block": 21,
"virtual_op": 0
}kassupvoted (100.00%) @hiroyamagishi / the-mcafee-effect2017/12/27 11:19:21
kassupvoted (100.00%) @hiroyamagishi / the-mcafee-effect
2017/12/27 11:19:21
| author | hiroyamagishi |
| permlink | the-mcafee-effect |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18451203/Trx 685527b854a1fb0dc0e589a4fb4c46c0131ee6a3 |
View Raw JSON Data
{
"block": 18451203,
"op": [
"vote",
{
"author": "hiroyamagishi",
"permlink": "the-mcafee-effect",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2017-12-27T11:19:21",
"trx_id": "685527b854a1fb0dc0e589a4fb4c46c0131ee6a3",
"trx_in_block": 32,
"virtual_op": 0
}kassupvoted (100.00%) @aggroed / what-gives-crypto-value-a-letter-to-potential-investors2017/12/27 11:13:45
kassupvoted (100.00%) @aggroed / what-gives-crypto-value-a-letter-to-potential-investors
2017/12/27 11:13:45
| author | aggroed |
| permlink | what-gives-crypto-value-a-letter-to-potential-investors |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18451091/Trx a8c96db83b72f79b51a4cef4a867b3db88ac5e20 |
View Raw JSON Data
{
"block": 18451091,
"op": [
"vote",
{
"author": "aggroed",
"permlink": "what-gives-crypto-value-a-letter-to-potential-investors",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2017-12-27T11:13:45",
"trx_id": "a8c96db83b72f79b51a4cef4a867b3db88ac5e20",
"trx_in_block": 4,
"virtual_op": 0
}2017/12/27 10:36:30
2017/12/27 10:36:30
| author | cryptobobby |
| permlink | btc-testing-usd16-000-bitcoin-crypto-market-losing-dominance-not-a-bad-thing |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18450346/Trx cc4b22dd741e968fd646002651909e517fd160d1 |
View Raw JSON Data
{
"block": 18450346,
"op": [
"vote",
{
"author": "cryptobobby",
"permlink": "btc-testing-usd16-000-bitcoin-crypto-market-losing-dominance-not-a-bad-thing",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2017-12-27T10:36:30",
"trx_id": "cc4b22dd741e968fd646002651909e517fd160d1",
"trx_in_block": 16,
"virtual_op": 0
}kassupvoted (100.00%) @hansikhouse / when-will-video-games-be-treated-as-an-art2017/12/27 10:27:21
kassupvoted (100.00%) @hansikhouse / when-will-video-games-be-treated-as-an-art
2017/12/27 10:27:21
| author | hansikhouse |
| permlink | when-will-video-games-be-treated-as-an-art |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18450163/Trx 338657482efd35bd4dbd8adf040ffc5356e72d08 |
View Raw JSON Data
{
"block": 18450163,
"op": [
"vote",
{
"author": "hansikhouse",
"permlink": "when-will-video-games-be-treated-as-an-art",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2017-12-27T10:27:21",
"trx_id": "338657482efd35bd4dbd8adf040ffc5356e72d08",
"trx_in_block": 9,
"virtual_op": 0
}kassupvoted (100.00%) @adsactly / adsactly-game-review-5-mass-effect-andromeda2017/12/27 10:26:39
kassupvoted (100.00%) @adsactly / adsactly-game-review-5-mass-effect-andromeda
2017/12/27 10:26:39
| author | adsactly |
| permlink | adsactly-game-review-5-mass-effect-andromeda |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18450149/Trx 11d3fd86b5588f56fc1cf0f9e2f3de70df1745bf |
View Raw JSON Data
{
"block": 18450149,
"op": [
"vote",
{
"author": "adsactly",
"permlink": "adsactly-game-review-5-mass-effect-andromeda",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2017-12-27T10:26:39",
"trx_id": "11d3fd86b5588f56fc1cf0f9e2f3de70df1745bf",
"trx_in_block": 19,
"virtual_op": 0
}kassupvoted (100.00%) @kass / re-ew-and-patterns-btc-emergency-update-26-12-17-20171226t111925437z2017/12/26 17:08:21
kassupvoted (100.00%) @kass / re-ew-and-patterns-btc-emergency-update-26-12-17-20171226t111925437z
2017/12/26 17:08:21
| author | kass |
| permlink | re-ew-and-patterns-btc-emergency-update-26-12-17-20171226t111925437z |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18429388/Trx 2e47c0fada5273d4fdd6829de341f4dfd9391d6a |
View Raw JSON Data
{
"block": 18429388,
"op": [
"vote",
{
"author": "kass",
"permlink": "re-ew-and-patterns-btc-emergency-update-26-12-17-20171226t111925437z",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2017-12-26T17:08:21",
"trx_id": "2e47c0fada5273d4fdd6829de341f4dfd9391d6a",
"trx_in_block": 21,
"virtual_op": 0
}2017/12/26 13:56:42
2017/12/26 13:56:42
| author | kass |
| permlink | re-ew-and-patterns-re-kass-re-ew-and-patterns-btc-emergency-update-26-12-17-20171226t121830850z |
| voter | kass |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18425557/Trx 78aaa028e9862b044a077b1b763b2d0e4e25f302 |
View Raw JSON Data
{
"block": 18425557,
"op": [
"vote",
{
"author": "kass",
"permlink": "re-ew-and-patterns-re-kass-re-ew-and-patterns-btc-emergency-update-26-12-17-20171226t121830850z",
"voter": "kass",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2017-12-26T13:56:42",
"trx_id": "78aaa028e9862b044a077b1b763b2d0e4e25f302",
"trx_in_block": 46,
"virtual_op": 0
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779070815
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779070815
},
"rc_account": {
"account": "kass",
"max_rc": "10164408779",
"max_rc_creation_adjustment": {
"amount": "2020748973",
"nai": "@@000000037",
"precision": 6
},
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779070815
}
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://i.imgur.com/NMRMzs9.png","name":"CryptoKass","location":"London, England","cover_image":"https://i.imgur.com/zaiBfnQ.gif"} |
| JSON METADATA | |
| profile | {"profile_image":"https://i.imgur.com/NMRMzs9.png","name":"CryptoKass","location":"London, England","cover_image":"https://i.imgur.com/zaiBfnQ.gif"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://i.imgur.com/NMRMzs9.png",
"name": "CryptoKass",
"location": "London, England",
"cover_image": "https://i.imgur.com/zaiBfnQ.gif"
}
},
"json_metadata": {
"profile": {
"profile_image": "https://i.imgur.com/NMRMzs9.png",
"name": "CryptoKass",
"location": "London, England",
"cover_image": "https://i.imgur.com/zaiBfnQ.gif"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM8AiDZ4ER26caDRtUcSjGqQJDw2CYH5omN1Bcg2XadVNr1N6XT41/1
Active
Single Signature
Public Keys
STM5YJ4nhECkAG2NzbCMa6EJEH5nMviTMFdjJnGSic84v2E9gqSD91/1
Posting
Single Signature
Public Keys
STM6gUWpVkYYc6MzM17p2UqDfJCFmwBSf4stV1qbX3DqUngX42xXf1/1
Memo
STM5H58nHx2sPSrEh9NptzjD5FTqYMTeoTDzeaDiFpjfRTye2r5q9
{
"owner": {
"account_auths": [],
"key_auths": [
[
"STM8AiDZ4ER26caDRtUcSjGqQJDw2CYH5omN1Bcg2XadVNr1N6XT4",
1
]
],
"weight_threshold": 1
},
"active": {
"account_auths": [],
"key_auths": [
[
"STM5YJ4nhECkAG2NzbCMa6EJEH5nMviTMFdjJnGSic84v2E9gqSD9",
1
]
],
"weight_threshold": 1
},
"posting": {
"account_auths": [],
"key_auths": [
[
"STM6gUWpVkYYc6MzM17p2UqDfJCFmwBSf4stV1qbX3DqUngX42xXf",
1
]
],
"weight_threshold": 1
},
"memo": "STM5H58nHx2sPSrEh9NptzjD5FTqYMTeoTDzeaDiFpjfRTye2r5q9"
}Witness Votes
0 / 30
No active witness votes.
[]