VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS45.30%
Net Worth
0.546USD
STEEM
0.001STEEM
SBD
0.070SBD
Own SP
9.448SP
Detailed Balance
| STEEM | ||
| balance | 0.001STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 9.448SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 0.000SP | SP |
| Effective Power | 9.448SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.070SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.001 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "15385.438166 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 VESTS",
"sbd_balance": "0.070 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | walczakit |
| id | 305903 |
| rank | 138,375 |
| reputation | 112289126459 |
| created | 2017-08-09T20:59:24 |
| recovery_account | steem |
| proxy | None |
| post_count | 91 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2019-11-14T17:48:12 |
| last_root_post | 2019-11-14T17:48:12 |
| last_vote_time | 2018-04-24T14:01:39 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.001 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.070 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 15385.438166 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 0.000000 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 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 | 2017-08-11T11:21:51 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 2018-02-17T15:17:39 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 305903,
"name": "walczakit",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5qhQWZXwa4gqundKkFJWBXeV6TpMoLesh5erqnURBzQYvHxTbG",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM67pSdAd2RXQXf3RXwE6qK8zGGkJXrA3uY5L2TpwRhZ7688tWnf",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7HzyNqhrFax9ZwTP3Un17q3uGhNx6HUqqT8ZuSFQdtUMKmVZuN",
1
]
]
},
"memo_key": "STM7TcZS7zxYwZARzKuHzPK6PznWmuZYoru6TVaBiEx3B2PEYgFiL",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://image.ibb.co/n2Z0jv/walczak_it_icon.png\",\"name\":\"WALCZAK.IT\",\"about\":\"Software development company\",\"location\":\"Poland\",\"website\":\"http://walczak.it\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://image.ibb.co/n2Z0jv/walczak_it_icon.png\",\"name\":\"WALCZAK.IT\",\"about\":\"Software development company\",\"location\":\"Poland\",\"website\":\"http://walczak.it\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2017-08-11T11:21:51",
"created": "2017-08-09T20:59:24",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 91,
"can_vote": true,
"voting_manabar": {
"current_mana": "15385438166",
"last_update_time": 1588958436
},
"downvote_manabar": {
"current_mana": 3846359541,
"last_update_time": 1588958436
},
"voting_power": 0,
"balance": "0.001 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.070 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "2018-02-17T15:17:39",
"sbd_last_interest_payment": "2018-02-17T15:17:39",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "15385.438166 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 10,
"posting_rewards": 13914,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2019-11-14T17:48:12",
"last_root_post": "2019-11-14T17:48:12",
"last_vote_time": "2018-04-24T14:01:39",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": "112289126459",
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 138375
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
steemdelegated 0.000 SP to @walczakit2020/05/08 17:20:36
steemdelegated 0.000 SP to @walczakit
2020/05/08 17:20:36
| delegator | steem |
| delegatee | walczakit |
| vesting shares | 0.000000 VESTS |
| Transaction Info | Block #43202506/Trx 978dcbcd5b161484c41b27784cd5f61771f779f6 |
View Raw JSON Data
{
"trx_id": "978dcbcd5b161484c41b27784cd5f61771f779f6",
"block": 43202506,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T17:20:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "walczakit",
"vesting_shares": "0.000000 VESTS"
}
]
}steemdelegated 1.205 SP to @walczakit2020/02/13 19:05:24
steemdelegated 1.205 SP to @walczakit
2020/02/13 19:05:24
| delegator | steem |
| delegatee | walczakit |
| vesting shares | 1962.207072 VESTS |
| Transaction Info | Block #40791103/Trx 94a29dc4acbd8b37b8a278910edee7a9a1bb12c6 |
View Raw JSON Data
{
"trx_id": "94a29dc4acbd8b37b8a278910edee7a9a1bb12c6",
"block": 40791103,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-02-13T19:05:24",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "walczakit",
"vesting_shares": "1962.207072 VESTS"
}
]
}steemdelegated 13.449 SP to @walczakit2019/11/14 19:29:51
steemdelegated 13.449 SP to @walczakit
2019/11/14 19:29:51
| delegator | steem |
| delegatee | walczakit |
| vesting shares | 21900.676711 VESTS |
| Transaction Info | Block #38175822/Trx 8bd99b8060ec7586dc657cd465d5033e55a9ebac |
View Raw JSON Data
{
"trx_id": "8bd99b8060ec7586dc657cd465d5033e55a9ebac",
"block": 38175822,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-11-14T19:29:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "walczakit",
"vesting_shares": "21900.676711 VESTS"
}
]
}2019/11/14 18:31:09
2019/11/14 18:31:09
| voter | filipino |
| author | walczakit |
| permlink | distributing-javafx-desktop-applications-without-requiring-a-jvm-using-jlink-and-jpackage |
| weight | 1000 (10.00%) |
| Transaction Info | Block #38174652/Trx 8772a2277b8401792eed5593da5f137c9db432bd |
View Raw JSON Data
{
"trx_id": "8772a2277b8401792eed5593da5f137c9db432bd",
"block": 38174652,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-11-14T18:31:09",
"op": [
"vote",
{
"voter": "filipino",
"author": "walczakit",
"permlink": "distributing-javafx-desktop-applications-without-requiring-a-jvm-using-jlink-and-jpackage",
"weight": 1000
}
]
}2019/11/14 18:18:45
2019/11/14 18:18:45
| parent author | |
| parent permlink | java |
| author | walczakit |
| permlink | distributing-javafx-desktop-applications-without-requiring-a-jvm-using-jlink-and-jpackage |
| title | Distributing JavaFX desktop applications without requiring a JVM (using jlink and jpackage) |
| body | @@ -1198,24 +1198,25 @@ t:%0A%0A* JAVA - +%5C _HOME - shou @@ -1426,16 +1426,17 @@ JAVA +%5C _HOME=/u @@ -1478,24 +1478,25 @@ 0-0.fc30.x86 +%5C _64%0A%0AI've al @@ -1965,16 +1965,17 @@ fc30.x86 - +%5C _64%0A @@ -3261,24 +3261,25 @@ fBoxVersion +%5C = '2.0.17'%0A @@ -3313,16 +3313,17 @@ Version +%5C = '1.64' @@ -3351,16 +3351,17 @@ Version +%5C = '2.3.1 @@ -3391,16 +3391,17 @@ Version +%5C = '4.12' @@ -3428,24 +3428,25 @@ kitoVersion +%5C = '3.1.0'%0A @@ -3474,16 +3474,17 @@ Version +%5C = '3.13. @@ -3906,32 +3906,33 @@ etCompatibility +%5C = %2211%22%0A sourc @@ -3946,16 +3946,17 @@ ibility +%5C = %2211%22%0A @@ -3980,16 +3980,17 @@ ildDate +%5C = new Da @@ -4014,16 +4014,17 @@ version +%5C = %220.3%22%0A @@ -4523,16 +4523,17 @@ version +%5C = %2211%22%0A @@ -4547,18 +4547,20 @@ modules +%5C = +%5C %5B 'javaf @@ -4586,16 +4586,17 @@ x.fxml' +%5C %5D%0A %7D%0A @@ -4614,16 +4614,17 @@ assName +%5C = %22pdfde @@ -4692,34 +4692,36 @@ jvmArgs +%5C = +%5C %5B'-Djdk.gtk.vers @@ -4718,32 +4718,33 @@ k.gtk.version=2' +%5C %5D // required du @@ -4864,32 +4864,33 @@ name +%5C = 'PDF Decorator @@ -4903,34 +4903,36 @@ jvmArgs +%5C = +%5C %5B'-Djdk.gtk.vers @@ -4929,32 +4929,33 @@ k.gtk.version=2' +%5C %5D // required du @@ -5704,21 +5704,23 @@ st%0A%0A +%5C --add +%5C -modules @@ -5746,37 +5746,39 @@ core,junit%0A%0A +%5C --add +%5C -reads%0A pdf @@ -5786,16 +5786,17 @@ ecorator +%5C =org.ass @@ -5816,21 +5816,23 @@ it%0A%0A +%5C --add +%5C -reads%0A @@ -5852,16 +5852,17 @@ rtj.core +%5C =java.lo @@ -8311,30 +8311,32 @@ iable BADASS +%5C _JLINK +%5C _JPACKAGE_HO @@ -8328,24 +8328,25 @@ NK%5C_JPACKAGE +%5C _HOME pointi @@ -8427,22 +8427,24 @@ BADASS +%5C _JLINK +%5C _JPACKAG @@ -8444,16 +8444,17 @@ JPACKAGE +%5C _HOME=/u @@ -11379,32 +11379,50 @@ -installer.png%5D( +https://walczak.it /application/fil @@ -11589,24 +11589,42 @@ s-menu.png%5D( +https://walczak.it /application @@ -11983,24 +11983,42 @@ taller.png%5D( - +https://walczak.it /application @@ -12658,24 +12658,42 @@ failed.png%5D( - +https://walczak.it /application @@ -13192,16 +13192,17 @@ st be a +%5C *.direct @@ -13208,16 +13208,17 @@ tory or +%5C *.deskto @@ -13487,16 +13487,34 @@ ll.png%5D( - +https://walczak.it /applica @@ -14819,136 +14819,8 @@ ved. -%0A%0A* * *%0A%0ASource: https://walczak.it/blog/distributing-javafx-desktop-applications-without-requiring-jvm-using-jlink-and-jpackage + %0A%0A* |
| json metadata | {"tags":["programming","javafx"],"image":["https://walczak.it/application/files/5915/7245/6751/openjdk.jpg","https://walczak.it/application/files/5015/7165/3720/adopt-open-jdk.png","https://walczak.it/application/files/8015/7174/3229/build-image-dir.png","https://walczak.it/application/files/7515/7229/2624/pdf-decorator.png","https://walczak.it/application/files/thumbnails/small/5715/7227/8774/pdf-decorator-windows-installer.png","https://walczak.it/application/files/thumbnails/small/7415/7237/6787/pdf-decorator-windows-menu.png","https://walczak.it/application/files/thumbnails/small/4715/7324/3612/pdf-decorator-mac-os-installer.png","https://walczak.it/application/files/3015/7324/3619/pdf-decorator-mac-os-lunchpad.png","https://walczak.it/application/files/thumbnails/small/3915/7229/3589/pdf-decorator-rpm-failed.png","https://walczak.it/application/files/thumbnails/small/9215/7237/6246/pdf-decorator-ubuntu-install.png","https://walczak.it/application/files/1514/9288/8199/walczak-it-logo5.png"],"links":["https://adoptopenjdk.net","http://pdf-decorator.walczak.it/","http://walczakfloors.com","https://bitbucket.org/walczak_it/pdf-decorator/commits/b5d81e303994e969f7db7e282813e090d77d16d9","https://github.com/beryx/badass-jlink-plugin","https://issues.apache.org/jira/browse/GROOVY-9211","https://jdk.java.net/jpackage/","https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10?redirectedfrom=MSDN#ControlPanel","https://wixtoolset.org/","https://bitbucket.org/walczak_it/pdf-decorator/src/master/","https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8233449","https://walczak.it/contact","https://walczak.it/consulting-and-audits","https://walczak.it/training-courses","https://walczak.it/software-development"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #38174404/Trx 197e22af2b0b7ba7fe13501e451f26f3b72f5e05 |
View Raw JSON Data
{
"trx_id": "197e22af2b0b7ba7fe13501e451f26f3b72f5e05",
"block": 38174404,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-11-14T18:18:45",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "java",
"author": "walczakit",
"permlink": "distributing-javafx-desktop-applications-without-requiring-a-jvm-using-jlink-and-jpackage",
"title": "Distributing JavaFX desktop applications without requiring a JVM (using jlink and jpackage)",
"body": "@@ -1198,24 +1198,25 @@\n t:%0A%0A* JAVA\n-\n \n+%5C\n _HOME - shou\n@@ -1426,16 +1426,17 @@\n JAVA\n+%5C\n _HOME=/u\n@@ -1478,24 +1478,25 @@\n 0-0.fc30.x86\n+%5C\n _64%0A%0AI've al\n@@ -1965,16 +1965,17 @@\n fc30.x86\n-\n \n+%5C\n _64%0A \n@@ -3261,24 +3261,25 @@\n fBoxVersion \n+%5C\n = '2.0.17'%0A \n@@ -3313,16 +3313,17 @@\n Version \n+%5C\n = '1.64'\n@@ -3351,16 +3351,17 @@\n Version \n+%5C\n = '2.3.1\n@@ -3391,16 +3391,17 @@\n Version \n+%5C\n = '4.12'\n@@ -3428,24 +3428,25 @@\n kitoVersion \n+%5C\n = '3.1.0'%0A \n@@ -3474,16 +3474,17 @@\n Version \n+%5C\n = '3.13.\n@@ -3906,32 +3906,33 @@\n etCompatibility \n+%5C\n = %2211%22%0A sourc\n@@ -3946,16 +3946,17 @@\n ibility \n+%5C\n = %2211%22%0A \n@@ -3980,16 +3980,17 @@\n ildDate \n+%5C\n = new Da\n@@ -4014,16 +4014,17 @@\n version \n+%5C\n = %220.3%22%0A\n@@ -4523,16 +4523,17 @@\n version \n+%5C\n = %2211%22%0A \n@@ -4547,18 +4547,20 @@\n modules \n+%5C\n = \n+%5C\n %5B 'javaf\n@@ -4586,16 +4586,17 @@\n x.fxml' \n+%5C\n %5D%0A %7D%0A\n@@ -4614,16 +4614,17 @@\n assName \n+%5C\n = %22pdfde\n@@ -4692,34 +4692,36 @@\n jvmArgs \n+%5C\n = \n+%5C\n %5B'-Djdk.gtk.vers\n@@ -4718,32 +4718,33 @@\n k.gtk.version=2'\n+%5C\n %5D // required du\n@@ -4864,32 +4864,33 @@\n name \n+%5C\n = 'PDF Decorator\n@@ -4903,34 +4903,36 @@\n jvmArgs \n+%5C\n = \n+%5C\n %5B'-Djdk.gtk.vers\n@@ -4929,32 +4929,33 @@\n k.gtk.version=2'\n+%5C\n %5D // required du\n@@ -5704,21 +5704,23 @@\n st%0A%0A \n+%5C\n --add\n+%5C\n -modules\n@@ -5746,37 +5746,39 @@\n core,junit%0A%0A \n+%5C\n --add\n+%5C\n -reads%0A pdf\n@@ -5786,16 +5786,17 @@\n ecorator\n+%5C\n =org.ass\n@@ -5816,21 +5816,23 @@\n it%0A%0A \n+%5C\n --add\n+%5C\n -reads%0A \n@@ -5852,16 +5852,17 @@\n rtj.core\n+%5C\n =java.lo\n@@ -8311,30 +8311,32 @@\n iable BADASS\n+%5C\n _JLINK\n+%5C\n _JPACKAGE_HO\n@@ -8328,24 +8328,25 @@\n NK%5C_JPACKAGE\n+%5C\n _HOME pointi\n@@ -8427,22 +8427,24 @@\n BADASS\n+%5C\n _JLINK\n+%5C\n _JPACKAG\n@@ -8444,16 +8444,17 @@\n JPACKAGE\n+%5C\n _HOME=/u\n@@ -11379,32 +11379,50 @@\n -installer.png%5D(\n+https://walczak.it\n /application/fil\n@@ -11589,24 +11589,42 @@\n s-menu.png%5D(\n+https://walczak.it\n /application\n@@ -11983,24 +11983,42 @@\n taller.png%5D(\n-\n \n+https://walczak.it\n /application\n@@ -12658,24 +12658,42 @@\n failed.png%5D(\n-\n \n+https://walczak.it\n /application\n@@ -13192,16 +13192,17 @@\n st be a \n+%5C\n *.direct\n@@ -13208,16 +13208,17 @@\n tory or \n+%5C\n *.deskto\n@@ -13487,16 +13487,34 @@\n ll.png%5D(\n-\n \n+https://walczak.it\n /applica\n@@ -14819,136 +14819,8 @@\n ved.\n-%0A%0A* * *%0A%0ASource: https://walczak.it/blog/distributing-javafx-desktop-applications-without-requiring-jvm-using-jlink-and-jpackage\n \n+\n %0A%0A* \n",
"json_metadata": "{\"tags\":[\"programming\",\"javafx\"],\"image\":[\"https://walczak.it/application/files/5915/7245/6751/openjdk.jpg\",\"https://walczak.it/application/files/5015/7165/3720/adopt-open-jdk.png\",\"https://walczak.it/application/files/8015/7174/3229/build-image-dir.png\",\"https://walczak.it/application/files/7515/7229/2624/pdf-decorator.png\",\"https://walczak.it/application/files/thumbnails/small/5715/7227/8774/pdf-decorator-windows-installer.png\",\"https://walczak.it/application/files/thumbnails/small/7415/7237/6787/pdf-decorator-windows-menu.png\",\"https://walczak.it/application/files/thumbnails/small/4715/7324/3612/pdf-decorator-mac-os-installer.png\",\"https://walczak.it/application/files/3015/7324/3619/pdf-decorator-mac-os-lunchpad.png\",\"https://walczak.it/application/files/thumbnails/small/3915/7229/3589/pdf-decorator-rpm-failed.png\",\"https://walczak.it/application/files/thumbnails/small/9215/7237/6246/pdf-decorator-ubuntu-install.png\",\"https://walczak.it/application/files/1514/9288/8199/walczak-it-logo5.png\"],\"links\":[\"https://adoptopenjdk.net\",\"http://pdf-decorator.walczak.it/\",\"http://walczakfloors.com\",\"https://bitbucket.org/walczak_it/pdf-decorator/commits/b5d81e303994e969f7db7e282813e090d77d16d9\",\"https://github.com/beryx/badass-jlink-plugin\",\"https://issues.apache.org/jira/browse/GROOVY-9211\",\"https://jdk.java.net/jpackage/\",\"https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10?redirectedfrom=MSDN#ControlPanel\",\"https://wixtoolset.org/\",\"https://bitbucket.org/walczak_it/pdf-decorator/src/master/\",\"https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8233449\",\"https://walczak.it/contact\",\"https://walczak.it/consulting-and-audits\",\"https://walczak.it/training-courses\",\"https://walczak.it/software-development\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2019/11/14 18:03:00
2019/11/14 18:03:00
| parent author | |
| parent permlink | java |
| author | walczakit |
| permlink | distributing-javafx-desktop-applications-without-requiring-a-jvm-using-jlink-and-jpackage |
| title | Distributing JavaFX desktop applications without requiring a JVM (using jlink and jpackage) |
| body | @@ -1198,25 +1198,24 @@ t:%0A%0A* JAVA -%5C + _HOME - shou @@ -1425,17 +1425,16 @@ JAVA -%5C _HOME=/u @@ -1476,25 +1476,24 @@ 0-0.fc30.x86 -%5C _64%0A%0AI've al @@ -1962,17 +1962,16 @@ fc30.x86 -%5C + _64%0A @@ -3257,25 +3257,24 @@ fBoxVersion -%5C = '2.0.17'%0A @@ -3308,17 +3308,16 @@ Version -%5C = '1.64' @@ -3345,17 +3345,16 @@ Version -%5C = '2.3.1 @@ -3384,17 +3384,16 @@ Version -%5C = '4.12' @@ -3420,25 +3420,24 @@ kitoVersion -%5C = '3.1.0'%0A @@ -3465,17 +3465,16 @@ Version -%5C = '3.13. @@ -3896,33 +3896,32 @@ etCompatibility -%5C = %2211%22%0A sourc @@ -3935,17 +3935,16 @@ ibility -%5C = %2211%22%0A @@ -3968,17 +3968,16 @@ ildDate -%5C = new Da @@ -4001,17 +4001,16 @@ version -%5C = %220.3%22%0A @@ -4509,17 +4509,16 @@ version -%5C = %2211%22%0A @@ -4532,20 +4532,18 @@ modules -%5C = -%5C %5B 'javaf @@ -4569,17 +4569,16 @@ x.fxml' -%5C %5D%0A %7D%0A @@ -4596,17 +4596,16 @@ assName -%5C = %22pdfde @@ -4673,36 +4673,34 @@ jvmArgs -%5C = -%5C %5B'-Djdk.gtk.vers @@ -4697,33 +4697,32 @@ k.gtk.version=2' -%5C %5D // required du @@ -4850,17 +4850,16 @@ name -%5C = 'PDF D @@ -4892,12 +4892,10 @@ rgs -%5C = -%5C %5B'-D @@ -4912,17 +4912,16 @@ rsion=2' -%5C %5D // req @@ -5678,23 +5678,21 @@ st%0A%0A -%5C --add -%5C -modules @@ -5718,39 +5718,37 @@ core,junit%0A%0A -%5C --add -%5C -reads%0A pdf @@ -5756,17 +5756,16 @@ ecorator -%5C =org.ass @@ -5789,15 +5789,13 @@ -%5C --add -%5C -rea @@ -5819,17 +5819,16 @@ rtj.core -%5C =java.lo @@ -8277,32 +8277,30 @@ iable BADASS -%5C _JLINK -%5C _JPACKAGE%5C_H @@ -8292,25 +8292,24 @@ INK_JPACKAGE -%5C _HOME pointi @@ -8394,16 +8394,14 @@ DASS -%5C _JLINK -%5C _JPA @@ -8405,17 +8405,16 @@ JPACKAGE -%5C _HOME=/u @@ -13080,17 +13080,16 @@ st be a -%5C *.direct @@ -13099,9 +13099,8 @@ or -%5C *.de @@ -14683,16 +14683,144 @@ esolved. - +%0A%0A* * *%0A%0ASource: https://walczak.it/blog/distributing-javafx-desktop-applications-without-requiring-jvm-using-jlink-and-jpackage %0A%0A* * *%0A |
| json metadata | {"tags":["programming","javafx"],"image":["https://walczak.it/application/files/5915/7245/6751/openjdk.jpg","https://walczak.it/application/files/5015/7165/3720/adopt-open-jdk.png","https://walczak.it/application/files/8015/7174/3229/build-image-dir.png","https://walczak.it/application/files/7515/7229/2624/pdf-decorator.png","/application/files/thumbnails/small/5715/7227/8774/pdf-decorator-windows-installer.png","/application/files/thumbnails/small/7415/7237/6787/pdf-decorator-windows-menu.png","/application/files/thumbnails/small/4715/7324/3612/pdf-decorator-mac-os-installer.png","https://walczak.it/application/files/3015/7324/3619/pdf-decorator-mac-os-lunchpad.png","/application/files/thumbnails/small/3915/7229/3589/pdf-decorator-rpm-failed.png","/application/files/thumbnails/small/9215/7237/6246/pdf-decorator-ubuntu-install.png","https://walczak.it/application/files/1514/9288/8199/walczak-it-logo5.png"],"links":["https://adoptopenjdk.net","http://pdf-decorator.walczak.it/","http://walczakfloors.com","https://bitbucket.org/walczak_it/pdf-decorator/commits/b5d81e303994e969f7db7e282813e090d77d16d9","https://github.com/beryx/badass-jlink-plugin","https://issues.apache.org/jira/browse/GROOVY-9211","https://jdk.java.net/jpackage/","https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10?redirectedfrom=MSDN#ControlPanel","https://wixtoolset.org/","https://bitbucket.org/walczak_it/pdf-decorator/src/master/","https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8233449","https://walczak.it/blog/distributing-javafx-desktop-applications-without-requiring-jvm-using-jlink-and-jpackage","https://walczak.it/contact","https://walczak.it/consulting-and-audits","https://walczak.it/training-courses","https://walczak.it/software-development"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #38174089/Trx e6566c4419d30d354cece3cfc5569a73d4534f35 |
View Raw JSON Data
{
"trx_id": "e6566c4419d30d354cece3cfc5569a73d4534f35",
"block": 38174089,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-11-14T18:03:00",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "java",
"author": "walczakit",
"permlink": "distributing-javafx-desktop-applications-without-requiring-a-jvm-using-jlink-and-jpackage",
"title": "Distributing JavaFX desktop applications without requiring a JVM (using jlink and jpackage)",
"body": "@@ -1198,25 +1198,24 @@\n t:%0A%0A* JAVA\n-%5C\n \n+\n _HOME - shou\n@@ -1425,17 +1425,16 @@\n JAVA\n-%5C\n _HOME=/u\n@@ -1476,25 +1476,24 @@\n 0-0.fc30.x86\n-%5C\n _64%0A%0AI've al\n@@ -1962,17 +1962,16 @@\n fc30.x86\n-%5C\n \n+\n _64%0A \n@@ -3257,25 +3257,24 @@\n fBoxVersion \n-%5C\n = '2.0.17'%0A \n@@ -3308,17 +3308,16 @@\n Version \n-%5C\n = '1.64'\n@@ -3345,17 +3345,16 @@\n Version \n-%5C\n = '2.3.1\n@@ -3384,17 +3384,16 @@\n Version \n-%5C\n = '4.12'\n@@ -3420,25 +3420,24 @@\n kitoVersion \n-%5C\n = '3.1.0'%0A \n@@ -3465,17 +3465,16 @@\n Version \n-%5C\n = '3.13.\n@@ -3896,33 +3896,32 @@\n etCompatibility \n-%5C\n = %2211%22%0A sourc\n@@ -3935,17 +3935,16 @@\n ibility \n-%5C\n = %2211%22%0A \n@@ -3968,17 +3968,16 @@\n ildDate \n-%5C\n = new Da\n@@ -4001,17 +4001,16 @@\n version \n-%5C\n = %220.3%22%0A\n@@ -4509,17 +4509,16 @@\n version \n-%5C\n = %2211%22%0A \n@@ -4532,20 +4532,18 @@\n modules \n-%5C\n = \n-%5C\n %5B 'javaf\n@@ -4569,17 +4569,16 @@\n x.fxml' \n-%5C\n %5D%0A %7D%0A\n@@ -4596,17 +4596,16 @@\n assName \n-%5C\n = %22pdfde\n@@ -4673,36 +4673,34 @@\n jvmArgs \n-%5C\n = \n-%5C\n %5B'-Djdk.gtk.vers\n@@ -4697,33 +4697,32 @@\n k.gtk.version=2'\n-%5C\n %5D // required du\n@@ -4850,17 +4850,16 @@\n name \n-%5C\n = 'PDF D\n@@ -4892,12 +4892,10 @@\n rgs \n-%5C\n = \n-%5C\n %5B'-D\n@@ -4912,17 +4912,16 @@\n rsion=2'\n-%5C\n %5D // req\n@@ -5678,23 +5678,21 @@\n st%0A%0A \n-%5C\n --add\n-%5C\n -modules\n@@ -5718,39 +5718,37 @@\n core,junit%0A%0A \n-%5C\n --add\n-%5C\n -reads%0A pdf\n@@ -5756,17 +5756,16 @@\n ecorator\n-%5C\n =org.ass\n@@ -5789,15 +5789,13 @@\n \n-%5C\n --add\n-%5C\n -rea\n@@ -5819,17 +5819,16 @@\n rtj.core\n-%5C\n =java.lo\n@@ -8277,32 +8277,30 @@\n iable BADASS\n-%5C\n _JLINK\n-%5C\n _JPACKAGE%5C_H\n@@ -8292,25 +8292,24 @@\n INK_JPACKAGE\n-%5C\n _HOME pointi\n@@ -8394,16 +8394,14 @@\n DASS\n-%5C\n _JLINK\n-%5C\n _JPA\n@@ -8405,17 +8405,16 @@\n JPACKAGE\n-%5C\n _HOME=/u\n@@ -13080,17 +13080,16 @@\n st be a \n-%5C\n *.direct\n@@ -13099,9 +13099,8 @@\n or \n-%5C\n *.de\n@@ -14683,16 +14683,144 @@\n esolved.\n-\n \n+%0A%0A* * *%0A%0ASource: https://walczak.it/blog/distributing-javafx-desktop-applications-without-requiring-jvm-using-jlink-and-jpackage\n %0A%0A* * *%0A\n",
"json_metadata": "{\"tags\":[\"programming\",\"javafx\"],\"image\":[\"https://walczak.it/application/files/5915/7245/6751/openjdk.jpg\",\"https://walczak.it/application/files/5015/7165/3720/adopt-open-jdk.png\",\"https://walczak.it/application/files/8015/7174/3229/build-image-dir.png\",\"https://walczak.it/application/files/7515/7229/2624/pdf-decorator.png\",\"/application/files/thumbnails/small/5715/7227/8774/pdf-decorator-windows-installer.png\",\"/application/files/thumbnails/small/7415/7237/6787/pdf-decorator-windows-menu.png\",\"/application/files/thumbnails/small/4715/7324/3612/pdf-decorator-mac-os-installer.png\",\"https://walczak.it/application/files/3015/7324/3619/pdf-decorator-mac-os-lunchpad.png\",\"/application/files/thumbnails/small/3915/7229/3589/pdf-decorator-rpm-failed.png\",\"/application/files/thumbnails/small/9215/7237/6246/pdf-decorator-ubuntu-install.png\",\"https://walczak.it/application/files/1514/9288/8199/walczak-it-logo5.png\"],\"links\":[\"https://adoptopenjdk.net\",\"http://pdf-decorator.walczak.it/\",\"http://walczakfloors.com\",\"https://bitbucket.org/walczak_it/pdf-decorator/commits/b5d81e303994e969f7db7e282813e090d77d16d9\",\"https://github.com/beryx/badass-jlink-plugin\",\"https://issues.apache.org/jira/browse/GROOVY-9211\",\"https://jdk.java.net/jpackage/\",\"https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10?redirectedfrom=MSDN#ControlPanel\",\"https://wixtoolset.org/\",\"https://bitbucket.org/walczak_it/pdf-decorator/src/master/\",\"https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8233449\",\"https://walczak.it/blog/distributing-javafx-desktop-applications-without-requiring-jvm-using-jlink-and-jpackage\",\"https://walczak.it/contact\",\"https://walczak.it/consulting-and-audits\",\"https://walczak.it/training-courses\",\"https://walczak.it/software-development\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}2019/11/14 17:48:12
2019/11/14 17:48:12
| parent author | |
| parent permlink | java |
| author | walczakit |
| permlink | distributing-javafx-desktop-applications-without-requiring-a-jvm-using-jlink-and-jpackage |
| title | Distributing JavaFX desktop applications without requiring a JVM (using jlink and jpackage) |
| body | The times when Java was available on almost every desktop are long gone but you can still distribute your desktop applications written in Java in a user friendly way. Since the release of OpenJDK and OpenJFX 9 we can benefit from the JVMs modularization efforts and easily build executables with a bundled JVM trimmed to the needs of our application. In this article we will show you how we ported our small desktop app called PDF Decorator to OpenJDK 11 and used tools like jlink and jpackage to start distributing our app without requiring any third party software on our clients machines.  Install OpenJDK 11 ------------------ First of all we must set up our development environment and make sure that we have OpenJDK 11 installed. The best place to get any version of OpenJDK is the [AdoptOpenJDK](https://adoptopenjdk.net) project. Select the OpenJDK 11 with the HotSpot JVM and download the latest release. [](https://adoptopenjdk.net) After installing make sure you have the following system variables poperly set: * JAVA\_HOME - should be pointing to the directory containing the extracted JDK, * PATH - should contain the path to the extracted JDKs subdirectory called bin. On my Fedora Linux machine I have exported the variable: JAVA\_HOME=/usr/lib/jvm/java-11-openjdk-11.0.5.10-0.fc30.x86\_64 I've also used this command to make sure the right version of the JDK is prioritized in the PATH variable: sudo alternatives --config java If you have done the configuration correctly (be it on Windows, Mac or Linux) then you should see the desired Java version and java.home path after typing this in your command line: java -XshowSettings:properties -version Property settings: ... java.home = /usr/lib/jvm/java-11-openjdk-11.0.5.10-0.fc30.x86\_64 ... openjdk version "11.0.5" 2019-10-15 OpenJDK Runtime Environment 18.9 (build 11.0.5+10) OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10, mixed mode, sharing) Porting to modular Java 11 and jlink ------------------------------------ [PDF Decorator](http://pdf-decorator.walczak.it/) is a small desktop app we developed way back in 2015 for the [WALCZAK - wooden floors](http://walczakfloors.com) company to help them adjust their PDF documents to their new visual cooperate identity. We build it using OracleJDK 8 with Gradle and distributed it as a fat jar expecting that the desktops that will run it will have Oracle JVM installed. Today this assumption seams archaic and as [PDF Decorator](http://pdf-decorator.walczak.it/) attracted a small user base after being open sourced, we decided to build it using OpenJDK 11 and jlink to change the way we package our app. To accomplish this we had to: * upgrade our dependancies to use modularized libraries where possible * change our build process in build.gradle * modularize our app by adding a module-info.java and module-info.test Our build script required some changes to work with jlink and this is how it looks like now: ### build.gradle buildscript { ext { pdfBoxVersion \= '2.0.17' bouncycastleVersion \= '1.64' jaxbVersion \= '2.3.1' junitVersion \= '4.12' mockitoVersion \= '3.1.0' assertjVersion \= '3.13.2' } repositories { mavenCentral() jcenter() } } plugins { id 'java' id 'org.javamodularity.moduleplugin' version "1.5.0" id 'application' id 'org.openjfx.javafxplugin' version '0.0.8' id 'org.beryx.jlink' version '2.16.2' } repositories { mavenCentral() jcenter() } targetCompatibility \= "11" sourceCompatibility \= "11" project.ext.buildDate \= new Date() project.version \= "0.3" dependencies { compile("javax.xml.bind:jaxb-api:${jaxbVersion}") compile("org.glassfish.jaxb:jaxb-runtime:${jaxbVersion}") compile("org.apache.pdfbox:pdfbox:${pdfBoxVersion}") compile("org.bouncycastle:bcprov-jdk15to18:${bouncycastleVersion}") testCompile("junit:junit:${junitVersion}") testCompile("org.mockito:mockito-core:${mockitoVersion}") testCompile("org.assertj:assertj-core:${assertjVersion}") } javafx { version \= "11" modules \= \[ 'javafx.controls', 'javafx.fxml' \] } mainClassName \= "pdfdecorator/pdfdecorator.gui.PdfDecoratorApplication" run { jvmArgs \= \['-Djdk.gtk.version=2'\] // required due to a bug in Java: https://github.com/javafxports/openjdk-jfx/issues/175 } jlink { launcher { name \= 'PDF Decorator' jvmArgs \= \['-Djdk.gtk.version=2'\] // required due to a bug in Java: https://github.com/javafxports/openjdk-jfx/issues/175 } } To make the app build and run in a modular way we also had to add the following module descriptor: ### src/main/java/module-info.java module pdfdecorator { requires java.xml.bind; requires com.sun.xml.bind; requires java.desktop; requires java.logging; requires javafx.controls; requires javafx.fxml; requires org.apache.pdfbox; opens pdfdecorator.model to java.xml.bind; opens pdfdecorator.gui to javafx.graphics, javafx.fxml; } To make our tests work we also had to add some command line options for java in a special type of file: ### src/test/java/module-info.test \--add\-modules org.assertj.core,junit \--add\-reads pdfdecorator\=org.assertj.core,junit \--add\-reads org.assertj.core\=java.logging For a full list of changes made to our project please see [this commit](https://bitbucket.org/walczak_it/pdf-decorator/commits/b5d81e303994e969f7db7e282813e090d77d16d9). After doing all this we build the project, executed our unit tests and runned our applications from gradle. ./gradlew clean build test run We also did some manual clicking to make sure that our applications GUI works as expected. Now its time to build an image of our application with a bundled custom trimmed JVM using jlink. To do so we will execute the following gradle command: ./gradlew jlink this uses the [Badass JLink](https://github.com/beryx/badass-jlink-plugin) gradle plugin and after some minutes we can see that a new directory appeared in our project: build/image If we run the executable file build/image/bin/PDF Decorator then our application will show up and it will not be using the JVM installed on our system. It will use its own JVM contained in the build/image directory.   From this point we could just: * run the jlink task on every OS we support, * remane the image directory do pdf-decroator, * zip it to pdf-decroator-win.zip or pdf-decroator-linux.zip, etc. * distribute thoose archives to our users. Java won't be required on their machines to run it but extracting an archive and finding an executable in it to run is not the most user friendly experience. Providing an installer / package would be much easier for every one. Because of this lets take a look at an upcoming tool developed for Java 14: jpackage. Building an installer using jpackage ------------------------------------ At the time we are writing this article jpackage is still in development and targets JDK 14. It would be tempting to build our entire app using the upcoming JDK 14 however Gradle will not run on it because of a [bug in Groovy](https://issues.apache.org/jira/browse/GROOVY-9211). Fortunately our [Badass JLink](https://github.com/beryx/badass-jlink-plugin) gralde plugin can be configured to use jpackage from JDK 14 even if our project is build using OpenJDK 11. To do this lets download the [early access JDK14 with jpackage](https://jdk.java.net/jpackage/), extract the archive to a desired location and add an environmental variable BADASS\_JLINK\_JPACKAGE\_HOME pointing to that location. On my Fedora Linux this variable looks like this: BADASS\_JLINK\_JPACKAGE\_HOME=/usr/lib/jvm/jdk-14 Now to build the installer we will enhance our build script so that our app has proper icons and additional information about it self: ### jlink task from build.gradle jlink { options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages'] launcher { name = 'PDF Decorator' jvmArgs = ['-Djdk.gtk.version=2'] // required due to a bug in Java: https://github.com/javafxports/openjdk-jfx/issues/175 } jpackage { installerOptions = [ '--description', project.description, '--copyright', 'Copyrigth 2015-2019 WALCZAK.IT' ] installerType = project.findProperty('installerType') // we will pass this from the command line (example: -PinstallerType=msi) if (installerType == 'msi') { imageOptions += ['--icon', 'src/main/resources/pdfdecorator/gui/icon.ico'] installerOptions += [ '--win-per-user-install', '--win-dir-chooser', '--win-menu', '--win-shortcut' ] } if (installerType == 'pkg') { imageOptions += ['--icon', 'src/main/resources/pdfdecorator/gui/icon.icns'] } if (installerType in ['deb', 'rpm']) { imageOptions += ['--icon', 'src/main/resources/pdfdecorator/gui/icon_256x256.png'] installerOptions += [ '--linux-menu-group', 'Office', '--linux-shortcut' ] } if (installerType == 'deb') { installerOptions += [ '--linux-deb-maintainer', '[email protected]' ] } if (installerType == 'rpm') { installerOptions += [ '--linux-rpm-license-type', 'GPLv3' ] } } } jpackage { doFirst { project.getProperty('installerType') // throws exception if its missing } } To build an installer for a given operation system we have to be on that system, have the necessary tooling installed and type the following command: ./gradlew jpackage -PinstallerType=... Of course the type of installer will depend on the operating system we are building for / on. ### on Microsoft Windows Before we start building on Windows we must [enable .NET Frakemwork 3.5](https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10?redirectedfrom=MSDN#ControlPanel) and install [WIX toolset](https://wixtoolset.org/). After that we just type in our projects directory: gradlew.bat jpackage -PinstallerType=msi and after a successful build we should see a MSI package in our build/jpackage directory. Double clicking on it will start the installation wizard.  After completing we can find our application in the start menu.  ### on Mac OS We just type the following in our projects directory: ./gradlew jpackage -PinstallerType=pkg This will result in a PKG package appearing in our build/jpackage directory. Double clicking on it will start the installation wizard. ###  After completing we can find our application in the lunchpad.  ### on Fedora and other RPM based Linux distros Before we start building we must have rpm-build package installed. We can do this by typing: sudo dnf install rpm-build After that we just type in our projects directory: ./gradlew jpackage -PinstallerType=rpm This will result in a RPM package appearing in our build/jpackage directory.  Unfortunately, at the time we are writing this article jpackage struggles to build a working RPM and double clicking on it will cause an error to show in the package manager on Fedora 30. Even after ignoring this error and installing we could not find any way to activate our application in Gnome Shell. I was also not able to uninstall this package due to the following error: xdg-desktop-menu: file to uninstall must be a \*.directory or \*.desktop file ### On Ubuntu and other DEB based Linux distros We just type the following in our projects directory: ./gradlew jpackage -PinstallerType=deb This will result in a DEB package appearing in our build/jpackage directory.  Unfortunately, DEB packages are also not working correctly. After installing the package we could not find any way to activate our application in Gnome Shell. I was also not able to uninstall it due to the same error we noticed on Fedora. Conclusion ---------- Java is still a good platform for building desktop apps and may sometimes suite your requirements better then browser based technologies that are trending today. Modularization and jlink allows us to ship apps without requiring users to install Java and with the upcoming jpackage tool we will also gain an easy way to build user friendly installers / packages. If you want to examine an application that uses jlink and jpackage in more detail the dive into our [PDF Decorators source code](https://bitbucket.org/walczak_it/pdf-decorator/src/master/). There is still some work in jpackage that needs to be done to consider it production ready for enterprise apps. We reported the problems we've encountered ([JDK-8233449](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8233449)) and as you can see from the comment section below the authors of this tool are collaborating with us to fix them. We'll update this article when those issues get resolved. * * * [](https://walczak.it/contact) Do you need help in your company with some topic we mentioned in our blog articles? If so, then please feel free to [contact us](https://walczak.it/contact). We can help you by providing [consulting and audit](https://walczak.it/consulting-and-audits) services or by organizing [training workshops](https://walczak.it/training-courses) for your employees. We can also aid you in [software development](https://walczak.it/software-development) by outsourcing our developers. |
| json metadata | {"tags":["java","programming","javafx"],"image":["https://walczak.it/application/files/5915/7245/6751/openjdk.jpg","https://walczak.it/application/files/5015/7165/3720/adopt-open-jdk.png","https://walczak.it/application/files/8015/7174/3229/build-image-dir.png","https://walczak.it/application/files/7515/7229/2624/pdf-decorator.png","/application/files/thumbnails/small/5715/7227/8774/pdf-decorator-windows-installer.png","/application/files/thumbnails/small/7415/7237/6787/pdf-decorator-windows-menu.png","/application/files/thumbnails/small/4715/7324/3612/pdf-decorator-mac-os-installer.png","https://walczak.it/application/files/3015/7324/3619/pdf-decorator-mac-os-lunchpad.png","/application/files/thumbnails/small/3915/7229/3589/pdf-decorator-rpm-failed.png","/application/files/thumbnails/small/9215/7237/6246/pdf-decorator-ubuntu-install.png","https://walczak.it/application/files/1514/9288/8199/walczak-it-logo5.png"],"links":["https://adoptopenjdk.net","http://pdf-decorator.walczak.it/","http://walczakfloors.com","https://bitbucket.org/walczak_it/pdf-decorator/commits/b5d81e303994e969f7db7e282813e090d77d16d9","https://github.com/beryx/badass-jlink-plugin","https://issues.apache.org/jira/browse/GROOVY-9211","https://jdk.java.net/jpackage/","https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10?redirectedfrom=MSDN#ControlPanel","https://wixtoolset.org/","https://bitbucket.org/walczak_it/pdf-decorator/src/master/","https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8233449","https://walczak.it/contact","https://walczak.it/consulting-and-audits","https://walczak.it/training-courses","https://walczak.it/software-development"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #38173793/Trx 51539c09d300710bfeed5885b790d0b133766840 |
View Raw JSON Data
{
"trx_id": "51539c09d300710bfeed5885b790d0b133766840",
"block": 38173793,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-11-14T17:48:12",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "java",
"author": "walczakit",
"permlink": "distributing-javafx-desktop-applications-without-requiring-a-jvm-using-jlink-and-jpackage",
"title": "Distributing JavaFX desktop applications without requiring a JVM (using jlink and jpackage)",
"body": "The times when Java was available on almost every desktop are long gone but you can still distribute your desktop applications written in Java in a user friendly way. Since the release of OpenJDK and OpenJFX 9 we can benefit from the JVMs modularization efforts and easily build executables with a bundled JVM trimmed to the needs of our application. In this article we will show you how we ported our small desktop app called PDF Decorator to OpenJDK 11 and used tools like jlink and jpackage to start distributing our app without requiring any third party software on our clients machines.\n\n\n\nInstall OpenJDK 11\n------------------\n\nFirst of all we must set up our development environment and make sure that we have OpenJDK 11 installed. The best place to get any version of OpenJDK is the [AdoptOpenJDK](https://adoptopenjdk.net) project. Select the OpenJDK 11 with the HotSpot JVM and download the latest release.\n\n[](https://adoptopenjdk.net)\n\nAfter installing make sure you have the following system variables poperly set:\n\n* JAVA\\_HOME - should be pointing to the directory containing the extracted JDK,\n* PATH - should contain the path to the extracted JDKs subdirectory called bin.\n\nOn my Fedora Linux machine I have exported the variable:\n\n JAVA\\_HOME=/usr/lib/jvm/java-11-openjdk-11.0.5.10-0.fc30.x86\\_64\n\nI've also used this command to make sure the right version of the JDK is prioritized in the PATH variable:\n\n sudo alternatives --config java\n\nIf you have done the configuration correctly (be it on Windows, Mac or Linux) then you should see the desired Java version and java.home path after typing this in your command line:\n\n java -XshowSettings:properties -version\n\n Property settings:\n ...\n java.home = /usr/lib/jvm/java-11-openjdk-11.0.5.10-0.fc30.x86\\_64\n ...\n\n openjdk version \"11.0.5\" 2019-10-15\n OpenJDK Runtime Environment 18.9 (build 11.0.5+10)\n OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10, mixed mode, sharing)\n\nPorting to modular Java 11 and jlink\n------------------------------------\n\n[PDF Decorator](http://pdf-decorator.walczak.it/) is a small desktop app we developed way back in 2015 for the [WALCZAK - wooden floors](http://walczakfloors.com) company to help them adjust their PDF documents to their new visual cooperate identity. We build it using OracleJDK 8 with Gradle and distributed it as a fat jar expecting that the desktops that will run it will have Oracle JVM installed. Today this assumption seams archaic and as [PDF Decorator](http://pdf-decorator.walczak.it/) attracted a small user base after being open sourced, we decided to build it using OpenJDK 11 and jlink to change the way we package our app. To accomplish this we had to:\n\n* upgrade our dependancies to use modularized libraries where possible\n* change our build process in build.gradle\n* modularize our app by adding a module-info.java and module-info.test\n\nOur build script required some changes to work with jlink and this is how it looks like now:\n\n### build.gradle\n\n buildscript {\n ext {\n pdfBoxVersion \\= '2.0.17'\n bouncycastleVersion \\= '1.64'\n jaxbVersion \\= '2.3.1'\n junitVersion \\= '4.12'\n mockitoVersion \\= '3.1.0'\n assertjVersion \\= '3.13.2'\n }\n repositories {\n mavenCentral()\n jcenter()\n }\n\n }\n\n plugins {\n id 'java'\n id 'org.javamodularity.moduleplugin' version \"1.5.0\"\n id 'application'\n id 'org.openjfx.javafxplugin' version '0.0.8'\n id 'org.beryx.jlink' version '2.16.2'\n }\n\n repositories {\n mavenCentral()\n jcenter()\n }\n \n targetCompatibility \\= \"11\"\n sourceCompatibility \\= \"11\"\n project.ext.buildDate \\= new Date()\n project.version \\= \"0.3\"\n\n dependencies {\n compile(\"javax.xml.bind:jaxb-api:${jaxbVersion}\")\n compile(\"org.glassfish.jaxb:jaxb-runtime:${jaxbVersion}\")\n compile(\"org.apache.pdfbox:pdfbox:${pdfBoxVersion}\")\n compile(\"org.bouncycastle:bcprov-jdk15to18:${bouncycastleVersion}\")\n testCompile(\"junit:junit:${junitVersion}\")\n testCompile(\"org.mockito:mockito-core:${mockitoVersion}\")\n testCompile(\"org.assertj:assertj-core:${assertjVersion}\")\n }\n\n javafx {\n version \\= \"11\"\n modules \\= \\[ 'javafx.controls', 'javafx.fxml' \\]\n }\n\n mainClassName \\= \"pdfdecorator/pdfdecorator.gui.PdfDecoratorApplication\"\n\n run {\n jvmArgs \\= \\['-Djdk.gtk.version=2'\\] // required due to a bug in Java: https://github.com/javafxports/openjdk-jfx/issues/175\n }\n\n jlink {\n launcher {\n name \\= 'PDF Decorator'\n jvmArgs \\= \\['-Djdk.gtk.version=2'\\] // required due to a bug in Java: https://github.com/javafxports/openjdk-jfx/issues/175\n }\n }\n\n\nTo make the app build and run in a modular way we also had to add the following module descriptor:\n\n### src/main/java/module-info.java\n\n module pdfdecorator {\n requires java.xml.bind;\n requires com.sun.xml.bind;\n requires java.desktop;\n requires java.logging;\n requires javafx.controls;\n requires javafx.fxml;\n requires org.apache.pdfbox;\n opens pdfdecorator.model to java.xml.bind;\n opens pdfdecorator.gui to javafx.graphics, javafx.fxml;\n }\n\nTo make our tests work we also had to add some command line options for java in a special type of file:\n\n### src/test/java/module-info.test\n\n \\--add\\-modules\n org.assertj.core,junit\n\n \\--add\\-reads\n pdfdecorator\\=org.assertj.core,junit\n\n \\--add\\-reads\n org.assertj.core\\=java.logging\n\n\nFor a full list of changes made to our project please see [this commit](https://bitbucket.org/walczak_it/pdf-decorator/commits/b5d81e303994e969f7db7e282813e090d77d16d9). After doing all this we build the project, executed our unit tests and runned our applications from gradle.\n\n ./gradlew clean build test run\n\nWe also did some manual clicking to make sure that our applications GUI works as expected.\n\nNow its time to build an image of our application with a bundled custom trimmed JVM using jlink. To do so we will execute the following gradle command:\n\n ./gradlew jlink\n\nthis uses the [Badass JLink](https://github.com/beryx/badass-jlink-plugin) gradle plugin and after some minutes we can see that a new directory appeared in our project: build/image\n\nIf we run the executable file build/image/bin/PDF Decorator then our application will show up and it will not be using the JVM installed on our system. It will use its own JVM contained in the build/image directory.\n\n \n\nFrom this point we could just:\n\n* run the jlink task on every OS we support,\n* remane the image directory do pdf-decroator,\n* zip it to pdf-decroator-win.zip or pdf-decroator-linux.zip, etc.\n* distribute thoose archives to our users.\n\nJava won't be required on their machines to run it but extracting an archive and finding an executable in it to run is not the most user friendly experience. Providing an installer / package would be much easier for every one. Because of this lets take a look at an upcoming tool developed for Java 14: jpackage. \n\nBuilding an installer using jpackage\n------------------------------------\n\nAt the time we are writing this article jpackage is still in development and targets JDK 14. It would be tempting to build our entire app using the upcoming JDK 14 however Gradle will not run on it because of a [bug in Groovy](https://issues.apache.org/jira/browse/GROOVY-9211). Fortunately our [Badass JLink](https://github.com/beryx/badass-jlink-plugin) gralde plugin can be configured to use jpackage from JDK 14 even if our project is build using OpenJDK 11. To do this lets download the [early access JDK14 with jpackage](https://jdk.java.net/jpackage/), extract the archive to a desired location and add an environmental variable BADASS\\_JLINK\\_JPACKAGE\\_HOME pointing to that location. On my Fedora Linux this variable looks like this:\n\n BADASS\\_JLINK\\_JPACKAGE\\_HOME=/usr/lib/jvm/jdk-14\n\nNow to build the installer we will enhance our build script so that our app has proper icons and additional information about it self:\n\n### jlink task from build.gradle\n\n jlink {\n options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']\n launcher {\n name = 'PDF Decorator'\n jvmArgs = ['-Djdk.gtk.version=2'] // required due to a bug in Java: https://github.com/javafxports/openjdk-jfx/issues/175\n }\n jpackage {\n installerOptions = [\n '--description', project.description,\n '--copyright', 'Copyrigth 2015-2019 WALCZAK.IT'\n ]\n installerType = project.findProperty('installerType') // we will pass this from the command line (example: -PinstallerType=msi)\n if (installerType == 'msi') {\n imageOptions += ['--icon', 'src/main/resources/pdfdecorator/gui/icon.ico']\n installerOptions += [\n '--win-per-user-install', '--win-dir-chooser',\n '--win-menu', '--win-shortcut'\n ]\n }\n if (installerType == 'pkg') {\n imageOptions += ['--icon', 'src/main/resources/pdfdecorator/gui/icon.icns']\n }\n if (installerType in ['deb', 'rpm']) {\n imageOptions += ['--icon', 'src/main/resources/pdfdecorator/gui/icon_256x256.png']\n installerOptions += [\n '--linux-menu-group', 'Office',\n '--linux-shortcut'\n ]\n }\n if (installerType == 'deb') {\n installerOptions += [\n '--linux-deb-maintainer', '[email protected]'\n ]\n }\n if (installerType == 'rpm') {\n installerOptions += [\n '--linux-rpm-license-type', 'GPLv3'\n ]\n }\n }\n }\n\n jpackage {\n doFirst {\n project.getProperty('installerType') // throws exception if its missing\n }\n }\n\nTo build an installer for a given operation system we have to be on that system, have the necessary tooling installed and type the following command:\n\n ./gradlew jpackage -PinstallerType=...\n\nOf course the type of installer will depend on the operating system we are building for / on.\n\n### on Microsoft Windows\n\nBefore we start building on Windows we must [enable .NET Frakemwork 3.5](https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10?redirectedfrom=MSDN#ControlPanel) and install [WIX toolset](https://wixtoolset.org/). After that we just type in our projects directory:\n\n gradlew.bat jpackage -PinstallerType=msi\n\nand after a successful build we should see a MSI package in our build/jpackage directory. Double clicking on it will start the installation wizard.\n\n\n\nAfter completing we can find our application in the start menu.\n\n\n\n### on Mac OS\n\nWe just type the following in our projects directory:\n\n ./gradlew jpackage -PinstallerType=pkg\n\nThis will result in a PKG package appearing in our build/jpackage directory. Double clicking on it will start the installation wizard.\n\n### \n\nAfter completing we can find our application in the lunchpad.\n\n\n\n### on Fedora and other RPM based Linux distros\n\nBefore we start building we must have rpm-build package installed. We can do this by typing:\n\n sudo dnf install rpm-build\n\nAfter that we just type in our projects directory:\n\n ./gradlew jpackage -PinstallerType=rpm\n\nThis will result in a RPM package appearing in our build/jpackage directory.\n\n\n\nUnfortunately, at the time we are writing this article jpackage struggles to build a working RPM and double clicking on it will cause an error to show in the package manager on Fedora 30. Even after ignoring this error and installing we could not find any way to activate our application in Gnome Shell. I was also not able to uninstall this package due to the following error:\n\n xdg-desktop-menu: file to uninstall must be a \\*.directory or \\*.desktop file\n\n### On Ubuntu and other DEB based Linux distros\n\nWe just type the following in our projects directory:\n\n ./gradlew jpackage -PinstallerType=deb\n\nThis will result in a DEB package appearing in our build/jpackage directory.\n\n\n\nUnfortunately, DEB packages are also not working correctly. After installing the package we could not find any way to activate our application in Gnome Shell. I was also not able to uninstall it due to the same error we noticed on Fedora.\n\nConclusion\n----------\n\nJava is still a good platform for building desktop apps and may sometimes suite your requirements better then browser based technologies that are trending today. Modularization and jlink allows us to ship apps without requiring users to install Java and with the upcoming jpackage tool we will also gain an easy way to build user friendly installers / packages. If you want to examine an application that uses jlink and jpackage in more detail the dive into our [PDF Decorators source code](https://bitbucket.org/walczak_it/pdf-decorator/src/master/).\n\nThere is still some work in jpackage that needs to be done to consider it production ready for enterprise apps. We reported the problems we've encountered ([JDK-8233449](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8233449)) and as you can see from the comment section below the authors of this tool are collaborating with us to fix them. We'll update this article when those issues get resolved.\n\n* * *\n\n[](https://walczak.it/contact)\n\nDo you need help in your company with some topic we mentioned in our blog articles? If so, then please feel free to [contact us](https://walczak.it/contact). We can help you by providing [consulting and audit](https://walczak.it/consulting-and-audits) services or by organizing [training workshops](https://walczak.it/training-courses) for your employees. We can also aid you in [software development](https://walczak.it/software-development) by outsourcing our developers.",
"json_metadata": "{\"tags\":[\"java\",\"programming\",\"javafx\"],\"image\":[\"https://walczak.it/application/files/5915/7245/6751/openjdk.jpg\",\"https://walczak.it/application/files/5015/7165/3720/adopt-open-jdk.png\",\"https://walczak.it/application/files/8015/7174/3229/build-image-dir.png\",\"https://walczak.it/application/files/7515/7229/2624/pdf-decorator.png\",\"/application/files/thumbnails/small/5715/7227/8774/pdf-decorator-windows-installer.png\",\"/application/files/thumbnails/small/7415/7237/6787/pdf-decorator-windows-menu.png\",\"/application/files/thumbnails/small/4715/7324/3612/pdf-decorator-mac-os-installer.png\",\"https://walczak.it/application/files/3015/7324/3619/pdf-decorator-mac-os-lunchpad.png\",\"/application/files/thumbnails/small/3915/7229/3589/pdf-decorator-rpm-failed.png\",\"/application/files/thumbnails/small/9215/7237/6246/pdf-decorator-ubuntu-install.png\",\"https://walczak.it/application/files/1514/9288/8199/walczak-it-logo5.png\"],\"links\":[\"https://adoptopenjdk.net\",\"http://pdf-decorator.walczak.it/\",\"http://walczakfloors.com\",\"https://bitbucket.org/walczak_it/pdf-decorator/commits/b5d81e303994e969f7db7e282813e090d77d16d9\",\"https://github.com/beryx/badass-jlink-plugin\",\"https://issues.apache.org/jira/browse/GROOVY-9211\",\"https://jdk.java.net/jpackage/\",\"https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10?redirectedfrom=MSDN#ControlPanel\",\"https://wixtoolset.org/\",\"https://bitbucket.org/walczak_it/pdf-decorator/src/master/\",\"https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8233449\",\"https://walczak.it/contact\",\"https://walczak.it/consulting-and-audits\",\"https://walczak.it/training-courses\",\"https://walczak.it/software-development\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}steemdelegated 1.212 SP to @walczakit2019/11/06 21:21:03
steemdelegated 1.212 SP to @walczakit
2019/11/06 21:21:03
| delegator | steem |
| delegatee | walczakit |
| vesting shares | 1973.828243 VESTS |
| Transaction Info | Block #37948097/Trx 3b7a2de809f7942b145132c00da18ee7a0ef2fda |
View Raw JSON Data
{
"trx_id": "3b7a2de809f7942b145132c00da18ee7a0ef2fda",
"block": 37948097,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-11-06T21:21:03",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "walczakit",
"vesting_shares": "1973.828243 VESTS"
}
]
}steemdelegated 13.525 SP to @walczakit2019/09/06 16:48:24
steemdelegated 13.525 SP to @walczakit
2019/09/06 16:48:24
| delegator | steem |
| delegatee | walczakit |
| vesting shares | 22024.333097 VESTS |
| Transaction Info | Block #36189788/Trx 88835f09d40cd3183dd9c4738208363556ff1da1 |
View Raw JSON Data
{
"trx_id": "88835f09d40cd3183dd9c4738208363556ff1da1",
"block": 36189788,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-06T16:48:24",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "walczakit",
"vesting_shares": "22024.333097 VESTS"
}
]
}2019/08/09 21:49:18
2019/08/09 21:49:18
| parent author | walczakit |
| parent permlink | spring-data-jpa-data-projection-in-dynamic-queries |
| author | steemitboard |
| permlink | steemitboard-notify-walczakit-20190809t214917000z |
| title | |
| body | Congratulations @walczakit! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@walczakit/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/@walczakit) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=walczakit)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #35412434/Trx 5b56195f1bf4c417f946c1661c9d4e15403b383e |
View Raw JSON Data
{
"trx_id": "5b56195f1bf4c417f946c1661c9d4e15403b383e",
"block": 35412434,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-09T21:49:18",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "spring-data-jpa-data-projection-in-dynamic-queries",
"author": "steemitboard",
"permlink": "steemitboard-notify-walczakit-20190809t214917000z",
"title": "",
"body": "Congratulations @walczakit! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@walczakit/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/@walczakit) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=walczakit)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}2019/08/07 21:08:39
2019/08/07 21:08:39
| parent author | waler5 |
| parent permlink | futurocoin |
| author | walczakit |
| permlink | pvvx4h |
| title | |
| body | Cóż, jak można było się spodziewać, FTO szoruje dno mimo hossy na krypto 🙃 Kto wtopił zapraszam na szkolenie żeby się ustrzec przed takimi wpadkami na przyszłość: https://walczak.it/pl/szkolenia/wprowadzenie-do-inwestowania-w-kryptowaluty |
| json metadata | {"tags":["polish"],"links":["https://walczak.it/pl/szkolenia/wprowadzenie-do-inwestowania-w-kryptowaluty"],"app":"steemit/0.1"} |
| Transaction Info | Block #35354159/Trx ba0a7a5887cacfd4ba5652ed49b5d9c8d2961559 |
View Raw JSON Data
{
"trx_id": "ba0a7a5887cacfd4ba5652ed49b5d9c8d2961559",
"block": 35354159,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-08-07T21:08:39",
"op": [
"comment",
{
"parent_author": "waler5",
"parent_permlink": "futurocoin",
"author": "walczakit",
"permlink": "pvvx4h",
"title": "",
"body": "Cóż, jak można było się spodziewać, FTO szoruje dno mimo hossy na krypto 🙃 Kto wtopił zapraszam na szkolenie żeby się ustrzec przed takimi wpadkami na przyszłość: https://walczak.it/pl/szkolenia/wprowadzenie-do-inwestowania-w-kryptowaluty",
"json_metadata": "{\"tags\":[\"polish\"],\"links\":[\"https://walczak.it/pl/szkolenia/wprowadzenie-do-inwestowania-w-kryptowaluty\"],\"app\":\"steemit/0.1\"}"
}
]
}steemdelegated 8.884 SP to @walczakit2019/06/22 11:07:27
steemdelegated 8.884 SP to @walczakit
2019/06/22 11:07:27
| delegator | steem |
| delegatee | walczakit |
| vesting shares | 14467.344517 VESTS |
| Transaction Info | Block #34020366/Trx 1c52cba5e5a44eb971d7a10d72e2a3cfc1f07c36 |
View Raw JSON Data
{
"trx_id": "1c52cba5e5a44eb971d7a10d72e2a3cfc1f07c36",
"block": 34020366,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-06-22T11:07:27",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "walczakit",
"vesting_shares": "14467.344517 VESTS"
}
]
}walczakitpublished a new post: spring-data-jpa-data-projection-in-dynamic-queries2019/06/22 10:54:54
walczakitpublished a new post: spring-data-jpa-data-projection-in-dynamic-queries
2019/06/22 10:54:54
| parent author | |
| parent permlink | java |
| author | walczakit |
| permlink | spring-data-jpa-data-projection-in-dynamic-queries |
| title | Spring Data JPA - data projection in dynamic queries |
| body | **Problem:** we want queries to our entities to eagerly fetch only the fields that we need in the given context (for example to show in a specific UI data table). **Requirement:** our solution must be able to accept dynamic filter compositions. **Possible solutions:** * Named Entity Graphs from the JPA standard * Projections mechanism from Spring Data Lets research them! <center>![spring-data.png][1]</center> ## JPA Named Entity Graphs This mechanism comes directly from the JPA specifications and is supported by Spring Data repositories. To use it we must first specify a graph on our entity. In that graph we define the fields to be eagerly fetched. ### Entity with an example graph definition @NamedEntityGraph( name="Person.justName", attributeNodes={ @NamedAttributeNode("firstName"), @NamedAttributeNode("lastName") } ) @Entity public class Person { private UUID id; private String firstName; private String lastName; private String countryCode; // setters and getters } ### Spring Data repository which uses the example entity graph public interface PersonRepository extends JpaRepository { @EntityGraph(value = "Person.justName", type = EntityGraphType.FETCH) List findByCountryCode(String countryCode); } As you can see using entity graphs is trivial in this simple example. However, there is a crucial problem for more complex data models if you choose **Hibernate** as your JPA implementation. There is a [bug ][2] hanging around since 2014 which makes using named entity graphs impossible in @Embedded and @MappedSuperclass classes. If you're using another implementation that does not suffer from this limitation then you can read more about entity graphs in the [Java EE documentation][3] and the [Springs Data documentation][4]. ## Spring Data Projections This is a feature from outside of the JPA specs and is supported only by Spring Data repositories for JPA. It uses interfaces to define the scope of data which you want to be fetched eagerly. ### Our entity @Entity public class Person { private UUID id; private String firstName; private String lastName; private String countryCode; // setters and getters } ### Interface which defines an example projections public interface PersonNameOnly { String getFirstName(); String getLastName(); } ### Spring Data repository which uses the example projection public interface PersonRepository extends JpaRepository { List findByCountryCode(String countryCode); } As you can see this solutions returns only an interfaces with the projected fields and not an entity in which you could choose to get other properties using lazy fetching. This can be seen as a downside but in fact its a safer approach if performance is crucial to your app. Spring Data projections also have some interesting additional features that named entity graphs cannot provide. Your can read more about them in the [Spring Data JPA Reference Manual][5]. ## Usage in dynamic queries Both mechanisms described in this article require some effort to make them work with dynamic queries constructed by the [Specifications mechanism from Spring Data][6]. Normaly we add the specifications mechanism to our repositories by extending the JpaSpecificationExecutor interface which gives a closed set of methods that accept Specification as their argument (optionally with the Pageable and Sort argument). Out of the box Spring Data JPA conventions do not let us to use Specification in our own methods. Because of this we cannot add our own dynamic query methods which would return a projection interface or have an @EntityGraph annotation. To solve this problem we must extend the internals of Spring Data - fortunately there are working third party libraries that do just that. For Named Entity Graphs you have the [spring-data-jpa-entity-graph][7] library. However keep in mind that in the case of Hibernate it still will not solve the [bug][2] we mentioned earlier. ### Maven dependancy com.cosium.spring.data spring-data-jpa-entity-graph ${springDataEntityGraphVersion} ### Configuration @Configuration @EnableJpaRepositories(repositoryFactoryBeanClass = EntityGraphJpaRepositoryFactoryBean.class) public class DataRepositoryConfiguration { //... } ### Repository public interface PersonRepository extends JpaRepository, EntityGraphJpaSpecificationExecutor { } ### Usage Page filteredPeople = personRepository.findAll( filterSpecifications, pageRequest, new EntityGraph("Person.justName") ); For Spring Data Projections there is a small library called [specification-with-projection][8]. There is also a [feature request][9] since 2016 to add this to the main library. ### Maven dependancy th.co.geniustree.springdata.jpa specification-with-projections ${springDataSpecificationWithProjectionsVersion} ### Configuration @Configuration @EnableJpaRepositories(repositoryFactoryBeanClass = JpaSpecificationExecutorWithProjectionImpl.class) public class DataRepositoryConfiguration { //... } ### Repository public interface PersonRepository extends JpaRepository, JpaSpecificationExecutorWithProjection { } ### Usage Page filteredPeople = personRepository.findAll( filterSpecifications, PersonNameOnly.class pageRequest ); *** Source: https://walczak.it/blog/spring-data-jpa-projection-dynamic-queries * * * ![][10] This article is a result of our cooperation with [**Nextbuy** ][11]\- a SaaS company which develops a procurement and online auction platform to connect buyers and suppliers. We provide various consulting and software development services to them and they have kindly allowed us to publish part of the resulting research / design documents. You can checkout their amazing platform at [www.nextbuy24.com][11] [1]: https://walczak.it/application/files/thumbnails/small/5615/5947/5300/spring-data.png [2]: https://hibernate.atlassian.net/browse/HHH-9298 [3]: https://javaee.github.io/tutorial/persistence-entitygraphs003.html [4]: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.entity-graph [5]: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections [6]: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#specifications [7]: https://github.com/Cosium/spring-data-jpa-entity-graph [8]: https://github.com/pramoth/specification-with-projection [9]: https://jira.spring.io/browse/DATAJPA-1033 [10]: https://walczak.it/application/files/thumbnails/small/5215/6115/1208/nextbuy_logo.png [11]: https://www.nextbuy24.com/ |
| json metadata | {"tags":["java","programming","spring-framework","jpa","sql"],"users":["embedded","mappedsuperclass","entitygraph"],"image":["https://walczak.it/application/files/thumbnails/small/5615/5947/5300/spring-data.png","https://walczak.it/application/files/thumbnails/small/5215/6115/1208/nextbuy_logo.png"],"links":["https://hibernate.atlassian.net/browse/HHH-9298","https://javaee.github.io/tutorial/persistence-entitygraphs003.html","https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.entity-graph","https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections","https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#specifications","https://github.com/Cosium/spring-data-jpa-entity-graph","https://github.com/pramoth/specification-with-projection","https://jira.spring.io/browse/DATAJPA-1033","https://walczak.it/blog/spring-data-jpa-projection-dynamic-queries","https://www.nextbuy24.com/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #34020115/Trx 31172ac4ba5c4b5c8076d56559d6161e228449b5 |
View Raw JSON Data
{
"trx_id": "31172ac4ba5c4b5c8076d56559d6161e228449b5",
"block": 34020115,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-06-22T10:54:54",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "java",
"author": "walczakit",
"permlink": "spring-data-jpa-data-projection-in-dynamic-queries",
"title": "Spring Data JPA - data projection in dynamic queries",
"body": "**Problem:** we want queries to our entities to eagerly fetch only the fields that we need in the given context (for example to show in a specific UI data table). \n\n**Requirement:** our solution must be able to accept dynamic filter compositions. \n\n**Possible solutions:**\n\n* Named Entity Graphs from the JPA standard\n* Projections mechanism from Spring Data\n\nLets research them!\n\n<center>![spring-data.png][1]</center>\n\n## JPA Named Entity Graphs\n\nThis mechanism comes directly from the JPA specifications and is supported by Spring Data repositories. To use it we must first specify a graph on our entity. In that graph we define the fields to be eagerly fetched.\n\n### Entity with an example graph definition\n \n \n @NamedEntityGraph(\n name=\"Person.justName\",\n attributeNodes={\n @NamedAttributeNode(\"firstName\"),\n @NamedAttributeNode(\"lastName\")\n }\n )\n @Entity\n public class Person {\n \n private UUID id;\n private String firstName;\n private String lastName;\n private String countryCode;\n \n // setters and getters\n }\n\n### Spring Data repository which uses the example entity graph\n \n \n public interface PersonRepository extends JpaRepository {\n \n @EntityGraph(value = \"Person.justName\", type = EntityGraphType.FETCH)\n List findByCountryCode(String countryCode);\n }\n\n\nAs you can see using entity graphs is trivial in this simple example. However, there is a crucial problem for more complex data models if you choose **Hibernate** as your JPA implementation. There is a [bug ][2] hanging around since 2014 which makes using named entity graphs impossible in @Embedded and @MappedSuperclass classes. If you're using another implementation that does not suffer from this limitation then you can read more about entity graphs in the [Java EE documentation][3] and the [Springs Data documentation][4].\n\n## Spring Data Projections\n\nThis is a feature from outside of the JPA specs and is supported only by Spring Data repositories for JPA. It uses interfaces to define the scope of data which you want to be fetched eagerly.\n\n### Our entity\n \n \n @Entity\n public class Person {\n \n private UUID id;\n private String firstName;\n private String lastName;\n private String countryCode;\n \n // setters and getters\n }\n\n### Interface which defines an example projections\n \n \n public interface PersonNameOnly {\n \n String getFirstName();\n String getLastName();\n }\n\n### Spring Data repository which uses the example projection\n \n \n public interface PersonRepository extends JpaRepository {\n \n List findByCountryCode(String countryCode);\n }\n\nAs you can see this solutions returns only an interfaces with the projected fields and not an entity in which you could choose to get other properties using lazy fetching. This can be seen as a downside but in fact its a safer approach if performance is crucial to your app. Spring Data projections also have some interesting additional features that named entity graphs cannot provide. Your can read more about them in the [Spring Data JPA Reference Manual][5].\n\n## Usage in dynamic queries\n\nBoth mechanisms described in this article require some effort to make them work with dynamic queries constructed by the [Specifications mechanism from Spring Data][6]. Normaly we add the specifications mechanism to our repositories by extending the JpaSpecificationExecutor interface which gives a closed set of methods that accept Specification as their argument (optionally with the Pageable and Sort argument). Out of the box Spring Data JPA conventions do not let us to use Specification in our own methods. Because of this we cannot add our own dynamic query methods which would return a projection interface or have an @EntityGraph annotation. To solve this problem we must extend the internals of Spring Data - fortunately there are working third party libraries that do just that.\n\nFor Named Entity Graphs you have the [spring-data-jpa-entity-graph][7] library. However keep in mind that in the case of Hibernate it still will not solve the [bug][2] we mentioned earlier.\n\n### Maven dependancy\n \n \n \n com.cosium.spring.data\n spring-data-jpa-entity-graph\n ${springDataEntityGraphVersion}\n \n\n### Configuration\n \n \n @Configuration\n @EnableJpaRepositories(repositoryFactoryBeanClass = EntityGraphJpaRepositoryFactoryBean.class)\n public class DataRepositoryConfiguration {\n //...\n }\n\n### Repository\n \n \n public interface PersonRepository\n extends JpaRepository, EntityGraphJpaSpecificationExecutor { }\n\n### Usage\n \n \n Page filteredPeople = personRepository.findAll(\n filterSpecifications, pageRequest,\n new EntityGraph(\"Person.justName\")\n );\n\n \n\nFor Spring Data Projections there is a small library called [specification-with-projection][8]. There is also a [feature request][9] since 2016 to add this to the main library.\n\n### Maven dependancy\n \n \n \n th.co.geniustree.springdata.jpa\n specification-with-projections\n ${springDataSpecificationWithProjectionsVersion}\n \n\n### Configuration\n \n \n @Configuration\n @EnableJpaRepositories(repositoryFactoryBeanClass = JpaSpecificationExecutorWithProjectionImpl.class)\n public class DataRepositoryConfiguration {\n //...\n }\n\n### Repository\n \n \n public interface PersonRepository\n extends JpaRepository, JpaSpecificationExecutorWithProjection { }\n\n### Usage\n \n \n Page filteredPeople = personRepository.findAll(\n filterSpecifications,\n PersonNameOnly.class\n pageRequest\n );\n\n\n***\n\nSource: https://walczak.it/blog/spring-data-jpa-projection-dynamic-queries\n\n* * *\n\n![][10]\n\nThis article is a result of our cooperation with [**Nextbuy** ][11]\\- a SaaS company which develops a procurement and online auction platform to connect buyers and suppliers. We provide various consulting and software development services to them and they have kindly allowed us to publish part of the resulting research / design documents. You can checkout their amazing platform at [www.nextbuy24.com][11]\n\n[1]: https://walczak.it/application/files/thumbnails/small/5615/5947/5300/spring-data.png\n[2]: https://hibernate.atlassian.net/browse/HHH-9298\n[3]: https://javaee.github.io/tutorial/persistence-entitygraphs003.html\n[4]: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.entity-graph\n[5]: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections\n[6]: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#specifications\n[7]: https://github.com/Cosium/spring-data-jpa-entity-graph\n[8]: https://github.com/pramoth/specification-with-projection\n[9]: https://jira.spring.io/browse/DATAJPA-1033\n[10]: https://walczak.it/application/files/thumbnails/small/5215/6115/1208/nextbuy_logo.png\n[11]: https://www.nextbuy24.com/",
"json_metadata": "{\"tags\":[\"java\",\"programming\",\"spring-framework\",\"jpa\",\"sql\"],\"users\":[\"embedded\",\"mappedsuperclass\",\"entitygraph\"],\"image\":[\"https://walczak.it/application/files/thumbnails/small/5615/5947/5300/spring-data.png\",\"https://walczak.it/application/files/thumbnails/small/5215/6115/1208/nextbuy_logo.png\"],\"links\":[\"https://hibernate.atlassian.net/browse/HHH-9298\",\"https://javaee.github.io/tutorial/persistence-entitygraphs003.html\",\"https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.entity-graph\",\"https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections\",\"https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#specifications\",\"https://github.com/Cosium/spring-data-jpa-entity-graph\",\"https://github.com/pramoth/specification-with-projection\",\"https://jira.spring.io/browse/DATAJPA-1033\",\"https://walczak.it/blog/spring-data-jpa-projection-dynamic-queries\",\"https://www.nextbuy24.com/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}walczakitupvoted (100.00%) @jimmyhmiller / adding-syntax-highlighting-to-steemit2019/06/22 10:46:51
walczakitupvoted (100.00%) @jimmyhmiller / adding-syntax-highlighting-to-steemit
2019/06/22 10:46:51
| voter | walczakit |
| author | jimmyhmiller |
| permlink | adding-syntax-highlighting-to-steemit |
| weight | 10000 (100.00%) |
| Transaction Info | Block #34019955/Trx db9510a3e287f2103e0684b579af697a0566a754 |
View Raw JSON Data
{
"trx_id": "db9510a3e287f2103e0684b579af697a0566a754",
"block": 34019955,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-06-22T10:46:51",
"op": [
"vote",
{
"voter": "walczakit",
"author": "jimmyhmiller",
"permlink": "adding-syntax-highlighting-to-steemit",
"weight": 10000
}
]
}cynetycupvoted (100.00%) @walczakit / rebirth-of-burst-coin2019/01/10 18:19:27
cynetycupvoted (100.00%) @walczakit / rebirth-of-burst-coin
2019/01/10 18:19:27
| voter | cynetyc |
| author | walczakit |
| permlink | rebirth-of-burst-coin |
| weight | 10000 (100.00%) |
| Transaction Info | Block #29340091/Trx 7e545f15eb74d97b1bfcc9181b0957fd19afee8c |
View Raw JSON Data
{
"trx_id": "7e545f15eb74d97b1bfcc9181b0957fd19afee8c",
"block": 29340091,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-01-10T18:19:27",
"op": [
"vote",
{
"voter": "cynetyc",
"author": "walczakit",
"permlink": "rebirth-of-burst-coin",
"weight": 10000
}
]
}2018/08/09 22:59:57
2018/08/09 22:59:57
| parent author | walczakit |
| parent permlink | futurocoin-a-copy-of-dash-without-the-decentralization |
| author | steemitboard |
| permlink | steemitboard-notify-walczakit-20180809t225956000z |
| title | |
| body | Congratulations @walczakit! You have received a personal award! [](http://steemitboard.com/@walczakit) 1 Year on Steemit <sub>_Click on the badge to view your Board of Honor._</sub> > Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #24928959/Trx 5dc198188677b81bf37ab276fb4222cdab6c80c1 |
View Raw JSON Data
{
"trx_id": "5dc198188677b81bf37ab276fb4222cdab6c80c1",
"block": 24928959,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-09T22:59:57",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "futurocoin-a-copy-of-dash-without-the-decentralization",
"author": "steemitboard",
"permlink": "steemitboard-notify-walczakit-20180809t225956000z",
"title": "",
"body": "Congratulations @walczakit! You have received a personal award!\n\n[](http://steemitboard.com/@walczakit) 1 Year on Steemit\n<sub>_Click on the badge to view your Board of Honor._</sub>\n\n\n> Do you like [SteemitBoard's project](https://steemit.com/@steemitboard)? Then **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}steemdelegated 1.245 SP to @walczakit2018/07/24 16:04:12
steemdelegated 1.245 SP to @walczakit
2018/07/24 16:04:12
| delegator | steem |
| delegatee | walczakit |
| vesting shares | 2027.525472 VESTS |
| Transaction Info | Block #24460517/Trx 9191b20c6d4c31fc8366ab91ef3ffb627cbfe30b |
View Raw JSON Data
{
"trx_id": "9191b20c6d4c31fc8366ab91ef3ffb627cbfe30b",
"block": 24460517,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-24T16:04:12",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "walczakit",
"vesting_shares": "2027.525472 VESTS"
}
]
}fumitomizunoupvoted (100.00%) @walczakit / ditched-wordpress-for-concrete5-cms-and-we-re-never-going-back2018/07/06 03:09:57
fumitomizunoupvoted (100.00%) @walczakit / ditched-wordpress-for-concrete5-cms-and-we-re-never-going-back
2018/07/06 03:09:57
| voter | fumitomizuno |
| author | walczakit |
| permlink | ditched-wordpress-for-concrete5-cms-and-we-re-never-going-back |
| weight | 10000 (100.00%) |
| Transaction Info | Block #23926927/Trx 56d4ee73a674d415df5ec81552e1cb7d0074aecb |
View Raw JSON Data
{
"trx_id": "56d4ee73a674d415df5ec81552e1cb7d0074aecb",
"block": 23926927,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-06T03:09:57",
"op": [
"vote",
{
"voter": "fumitomizuno",
"author": "walczakit",
"permlink": "ditched-wordpress-for-concrete5-cms-and-we-re-never-going-back",
"weight": 10000
}
]
}platowynnupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization2018/05/28 03:08:42
platowynnupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization
2018/05/28 03:08:42
| voter | platowynn |
| author | walczakit |
| permlink | futurocoin-a-copy-of-dash-without-the-decentralization |
| weight | 10000 (100.00%) |
| Transaction Info | Block #22814447/Trx 897e519d44e95f0cb2991da94a8d0552250068b6 |
View Raw JSON Data
{
"trx_id": "897e519d44e95f0cb2991da94a8d0552250068b6",
"block": 22814447,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-28T03:08:42",
"op": [
"vote",
{
"voter": "platowynn",
"author": "walczakit",
"permlink": "futurocoin-a-copy-of-dash-without-the-decentralization",
"weight": 10000
}
]
}2018/04/28 16:15:12
2018/04/28 16:15:12
| parent author | walczakit |
| parent permlink | re-btcvenom-what-usd20-000-of-bitcoin-mining-power-looks-like-20171103t180253459z |
| author | characters1 |
| permlink | re-walczakit-re-btcvenom-what-usd20-000-of-bitcoin-mining-power-looks-like-20180428t161510280z |
| title | |
| body | 0.1 BTC free for mining-you can buy 9 th/s lifetime , offer limited time https://seebit.io/?r=56086 |
| json metadata | {"tags":["bitcoin"],"links":["https://seebit.io/?r=56086"],"app":"steemit/0.1"} |
| Transaction Info | Block #21966713/Trx 09b81582240b244ecd638e44bf2ec32a5909f7c5 |
View Raw JSON Data
{
"trx_id": "09b81582240b244ecd638e44bf2ec32a5909f7c5",
"block": 21966713,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-28T16:15:12",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "re-btcvenom-what-usd20-000-of-bitcoin-mining-power-looks-like-20171103t180253459z",
"author": "characters1",
"permlink": "re-walczakit-re-btcvenom-what-usd20-000-of-bitcoin-mining-power-looks-like-20180428t161510280z",
"title": "",
"body": "0.1 BTC free for mining-you can buy 9 th/s lifetime , offer limited time https://seebit.io/?r=56086",
"json_metadata": "{\"tags\":[\"bitcoin\"],\"links\":[\"https://seebit.io/?r=56086\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/04/28 14:40:21
2018/04/28 14:40:21
| parent author | walczakit |
| parent permlink | re-ivanli-bitcoin-mining-apocalypse-programmer-explains-20171104t100016445z |
| author | characters1 |
| permlink | re-walczakit-re-ivanli-bitcoin-mining-apocalypse-programmer-explains-20180428t144018984z |
| title | |
| body | 0.1 BTC free for mining-you can buy 9 th/s lifetime , offer limited time https://seebit.io/?r=56086 |
| json metadata | {"tags":["bitcoin"],"links":["https://seebit.io/?r=56086"],"app":"steemit/0.1"} |
| Transaction Info | Block #21964816/Trx c296efd8d5012a39230c13d653173fd443e1d222 |
View Raw JSON Data
{
"trx_id": "c296efd8d5012a39230c13d653173fd443e1d222",
"block": 21964816,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-28T14:40:21",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "re-ivanli-bitcoin-mining-apocalypse-programmer-explains-20171104t100016445z",
"author": "characters1",
"permlink": "re-walczakit-re-ivanli-bitcoin-mining-apocalypse-programmer-explains-20180428t144018984z",
"title": "",
"body": "0.1 BTC free for mining-you can buy 9 th/s lifetime , offer limited time https://seebit.io/?r=56086",
"json_metadata": "{\"tags\":[\"bitcoin\"],\"links\":[\"https://seebit.io/?r=56086\"],\"app\":\"steemit/0.1\"}"
}
]
}walczakitmuted @thenewsguru2018/04/24 14:02:21
walczakitmuted @thenewsguru
2018/04/24 14:02:21
| required auths | [] |
| required posting auths | ["walczakit"] |
| id | follow |
| json | ["follow",{"follower":"walczakit","following":"thenewsguru","what":["ignore"]}] |
| Transaction Info | Block #21848978/Trx 9843becc1043c2a4703498e99c2502fd1da72018 |
View Raw JSON Data
{
"trx_id": "9843becc1043c2a4703498e99c2502fd1da72018",
"block": 21848978,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-24T14:02:21",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"walczakit"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"walczakit\",\"following\":\"thenewsguru\",\"what\":[\"ignore\"]}]"
}
]
}2018/04/24 14:01:39
2018/04/24 14:01:39
| voter | walczakit |
| author | thenewsguru |
| permlink | re-eos-canada-what-is-a-block-producer-and-why-you-should-care-20180423t231557958z |
| weight | -10000 (-100.00%) |
| Transaction Info | Block #21848964/Trx be6d478ef4489d4ac60a31af91f11af592098f15 |
View Raw JSON Data
{
"trx_id": "be6d478ef4489d4ac60a31af91f11af592098f15",
"block": 21848964,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-24T14:01:39",
"op": [
"vote",
{
"voter": "walczakit",
"author": "thenewsguru",
"permlink": "re-eos-canada-what-is-a-block-producer-and-why-you-should-care-20180423t231557958z",
"weight": -10000
}
]
}mdmrecordsupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization2018/04/22 00:10:36
mdmrecordsupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization
2018/04/22 00:10:36
| voter | mdmrecords |
| author | walczakit |
| permlink | futurocoin-a-copy-of-dash-without-the-decentralization |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21775299/Trx bff689802caaf38866ade632479d8a9b5cd6d718 |
View Raw JSON Data
{
"trx_id": "bff689802caaf38866ade632479d8a9b5cd6d718",
"block": 21775299,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-22T00:10:36",
"op": [
"vote",
{
"voter": "mdmrecords",
"author": "walczakit",
"permlink": "futurocoin-a-copy-of-dash-without-the-decentralization",
"weight": 10000
}
]
}cambridgeport90upvoted (100.00%) @walczakit / re-outerground-quick-post-20171105t161833945z2018/04/21 23:56:30
cambridgeport90upvoted (100.00%) @walczakit / re-outerground-quick-post-20171105t161833945z
2018/04/21 23:56:30
| voter | cambridgeport90 |
| author | walczakit |
| permlink | re-outerground-quick-post-20171105t161833945z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21775017/Trx 74e65d56c8af1954ec19d0e8dcc000b6a2c861b2 |
View Raw JSON Data
{
"trx_id": "74e65d56c8af1954ec19d0e8dcc000b6a2c861b2",
"block": 21775017,
"trx_in_block": 34,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-21T23:56:30",
"op": [
"vote",
{
"voter": "cambridgeport90",
"author": "walczakit",
"permlink": "re-outerground-quick-post-20171105t161833945z",
"weight": 10000
}
]
}steemdelegated 9.320 SP to @walczakit2018/04/21 20:55:09
steemdelegated 9.320 SP to @walczakit
2018/04/21 20:55:09
| delegator | steem |
| delegatee | walczakit |
| vesting shares | 15176.729782 VESTS |
| Transaction Info | Block #21771390/Trx 60d6828dcc28d7e3316e452dafa053d556ebd9b3 |
View Raw JSON Data
{
"trx_id": "60d6828dcc28d7e3316e452dafa053d556ebd9b3",
"block": 21771390,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-21T20:55:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "walczakit",
"vesting_shares": "15176.729782 VESTS"
}
]
}cryptofysent 0.001 STEEM to @walczakit- "A gift. 😊"2018/03/17 19:52:06
cryptofysent 0.001 STEEM to @walczakit- "A gift. 😊"
2018/03/17 19:52:06
| from | cryptofy |
| to | walczakit |
| amount | 0.001 STEEM |
| memo | A gift. 😊 |
| Transaction Info | Block #20763138/Trx b60d617e27eb2cf7f2e86bd76e6b600c4e38dbf3 |
View Raw JSON Data
{
"trx_id": "b60d617e27eb2cf7f2e86bd76e6b600c4e38dbf3",
"block": 20763138,
"trx_in_block": 99,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-17T19:52:06",
"op": [
"transfer",
{
"from": "cryptofy",
"to": "walczakit",
"amount": "0.001 STEEM",
"memo": "A gift. 😊"
}
]
}drcryptocoachupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization2018/03/02 17:41:36
drcryptocoachupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization
2018/03/02 17:41:36
| voter | drcryptocoach |
| author | walczakit |
| permlink | futurocoin-a-copy-of-dash-without-the-decentralization |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20329023/Trx ef9e84237e620ee37c724878e743dfbf4948b88c |
View Raw JSON Data
{
"trx_id": "ef9e84237e620ee37c724878e743dfbf4948b88c",
"block": 20329023,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-02T17:41:36",
"op": [
"vote",
{
"voter": "drcryptocoach",
"author": "walczakit",
"permlink": "futurocoin-a-copy-of-dash-without-the-decentralization",
"weight": 10000
}
]
}2018/03/02 17:38:36
2018/03/02 17:38:36
| voter | drcryptocoach |
| author | walczakit |
| permlink | re-drcryptocoach-pre-ico-futuro-coin-1-5-million-users-20180218t003023546z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20328963/Trx 2b982335d573dd65b15ed1ef00aed439f174d7ec |
View Raw JSON Data
{
"trx_id": "2b982335d573dd65b15ed1ef00aed439f174d7ec",
"block": 20328963,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-03-02T17:38:36",
"op": [
"vote",
{
"voter": "drcryptocoach",
"author": "walczakit",
"permlink": "re-drcryptocoach-pre-ico-futuro-coin-1-5-million-users-20180218t003023546z",
"weight": 10000
}
]
}dodojugoupvoted (100.00%) @walczakit / amd-blockchain-drivers-are-finally-available-for-linux2018/02/23 20:37:42
dodojugoupvoted (100.00%) @walczakit / amd-blockchain-drivers-are-finally-available-for-linux
2018/02/23 20:37:42
| voter | dodojugo |
| author | walczakit |
| permlink | amd-blockchain-drivers-are-finally-available-for-linux |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20131177/Trx ced32b1e9da570ff37072115c36a7d0bf980ef4f |
View Raw JSON Data
{
"trx_id": "ced32b1e9da570ff37072115c36a7d0bf980ef4f",
"block": 20131177,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-23T20:37:42",
"op": [
"vote",
{
"voter": "dodojugo",
"author": "walczakit",
"permlink": "amd-blockchain-drivers-are-finally-available-for-linux",
"weight": 10000
}
]
}spykakosupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization2018/02/21 06:35:03
spykakosupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization
2018/02/21 06:35:03
| voter | spykakos |
| author | walczakit |
| permlink | futurocoin-a-copy-of-dash-without-the-decentralization |
| weight | 10000 (100.00%) |
| Transaction Info | Block #20056737/Trx 65aff0ee620bf5464ed201b83e964e0237864610 |
View Raw JSON Data
{
"trx_id": "65aff0ee620bf5464ed201b83e964e0237864610",
"block": 20056737,
"trx_in_block": 59,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-21T06:35:03",
"op": [
"vote",
{
"voter": "spykakos",
"author": "walczakit",
"permlink": "futurocoin-a-copy-of-dash-without-the-decentralization",
"weight": 10000
}
]
}2018/02/18 00:31:21
2018/02/18 00:31:21
| parent author | drcryptocoach |
| parent permlink | pre-ico-futuro-coin-1-5-million-users |
| author | walczakit |
| permlink | re-drcryptocoach-pre-ico-futuro-coin-1-5-million-users-20180218t003023546z |
| title | |
| body | I've read FuturoCoins whitepaper and source code - its NOT fully decentralized - see my report - https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization |
| json metadata | {"tags":["futurenet"],"links":["https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization"],"app":"steemit/0.1"} |
| Transaction Info | Block #19963092/Trx 043c8f6f972f955ee02575798c70aae32cd11e96 |
View Raw JSON Data
{
"trx_id": "043c8f6f972f955ee02575798c70aae32cd11e96",
"block": 19963092,
"trx_in_block": 29,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-18T00:31:21",
"op": [
"comment",
{
"parent_author": "drcryptocoach",
"parent_permlink": "pre-ico-futuro-coin-1-5-million-users",
"author": "walczakit",
"permlink": "re-drcryptocoach-pre-ico-futuro-coin-1-5-million-users-20180218t003023546z",
"title": "",
"body": "I've read FuturoCoins whitepaper and source code - its NOT fully decentralized - see my report - https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization",
"json_metadata": "{\"tags\":[\"futurenet\"],\"links\":[\"https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/02/18 00:30:45
2018/02/18 00:30:45
| parent author | menjualnya |
| parent permlink | new-futurocoin-cryptocurrency |
| author | walczakit |
| permlink | re-menjualnya-new-futurocoin-cryptocurrency-20180218t002946462z |
| title | |
| body | I've read FuturoCoins whitepaper and source code - its NOT fully decentralized - see my report - https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization |
| json metadata | {"tags":["cryptocurrency"],"links":["https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization"],"app":"steemit/0.1"} |
| Transaction Info | Block #19963080/Trx b356cadf8123335dc41a62dcedd2d9cab0e04d7b |
View Raw JSON Data
{
"trx_id": "b356cadf8123335dc41a62dcedd2d9cab0e04d7b",
"block": 19963080,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-18T00:30:45",
"op": [
"comment",
{
"parent_author": "menjualnya",
"parent_permlink": "new-futurocoin-cryptocurrency",
"author": "walczakit",
"permlink": "re-menjualnya-new-futurocoin-cryptocurrency-20180218t002946462z",
"title": "",
"body": "I've read FuturoCoins whitepaper and source code - its NOT fully decentralized - see my report - https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization",
"json_metadata": "{\"tags\":[\"cryptocurrency\"],\"links\":[\"https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization\"],\"app\":\"steemit/0.1\"}"
}
]
}walczakitreplied to @doya / re-doya-futuro-coin-20180218t002924839z2018/02/18 00:30:21
walczakitreplied to @doya / re-doya-futuro-coin-20180218t002924839z
2018/02/18 00:30:21
| parent author | doya |
| parent permlink | futuro-coin |
| author | walczakit |
| permlink | re-doya-futuro-coin-20180218t002924839z |
| title | |
| body | I've read FuturoCoins whitepaper and source code - its NOT fully decentralized - see my report - https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization |
| json metadata | {"tags":["crypto"],"links":["https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization"],"app":"steemit/0.1"} |
| Transaction Info | Block #19963072/Trx 0f796b5eda5128431c362af0a1318a5a321c80e5 |
View Raw JSON Data
{
"trx_id": "0f796b5eda5128431c362af0a1318a5a321c80e5",
"block": 19963072,
"trx_in_block": 51,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-18T00:30:21",
"op": [
"comment",
{
"parent_author": "doya",
"parent_permlink": "futuro-coin",
"author": "walczakit",
"permlink": "re-doya-futuro-coin-20180218t002924839z",
"title": "",
"body": "I've read FuturoCoins whitepaper and source code - its NOT fully decentralized - see my report - https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization",
"json_metadata": "{\"tags\":[\"crypto\"],\"links\":[\"https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/02/18 00:28:48
2018/02/18 00:28:48
| parent author | azadhaso |
| parent permlink | best-coin-for-2018-futuro-coin |
| author | walczakit |
| permlink | re-azadhaso-best-coin-for-2018-futuro-coin-20180218t002749211z |
| title | |
| body | I've read FuturoCoins whitepaper and source code - its NOT fully decentralized - see my report - https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization |
| json metadata | {"tags":["bitcoin"],"links":["https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization"],"app":"steemit/0.1"} |
| Transaction Info | Block #19963041/Trx 5170aa03e139c18c4d5ca724a3ebf21731f85100 |
View Raw JSON Data
{
"trx_id": "5170aa03e139c18c4d5ca724a3ebf21731f85100",
"block": 19963041,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-18T00:28:48",
"op": [
"comment",
{
"parent_author": "azadhaso",
"parent_permlink": "best-coin-for-2018-futuro-coin",
"author": "walczakit",
"permlink": "re-azadhaso-best-coin-for-2018-futuro-coin-20180218t002749211z",
"title": "",
"body": "I've read FuturoCoins whitepaper and source code - its NOT fully decentralized - see my report - https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization",
"json_metadata": "{\"tags\":[\"bitcoin\"],\"links\":[\"https://steemit.com/cryptocurrency/@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization\"],\"app\":\"steemit/0.1\"}"
}
]
}walczakitreplied to @waler5 / re-waler5-futurocoin-20180217t200629790z2018/02/17 20:07:27
walczakitreplied to @waler5 / re-waler5-futurocoin-20180217t200629790z
2018/02/17 20:07:27
| parent author | waler5 |
| parent permlink | futurocoin |
| author | walczakit |
| permlink | re-waler5-futurocoin-20180217t200629790z |
| title | |
| body | Przeanalizowałem whitepaper i źródła mocno promowanego ostatnio FuturoCoina - wnioski w artykule http://walczak.it/pl/blog/futurocoin-kopia-dash-bez-decentralizacji |
| json metadata | {"tags":["polish"],"links":["http://walczak.it/pl/blog/futurocoin-kopia-dash-bez-decentralizacji"],"app":"steemit/0.1"} |
| Transaction Info | Block #19957815/Trx 42baff5ab8553fb757ee7ca7bf04046a9f28f13c |
View Raw JSON Data
{
"trx_id": "42baff5ab8553fb757ee7ca7bf04046a9f28f13c",
"block": 19957815,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-17T20:07:27",
"op": [
"comment",
{
"parent_author": "waler5",
"parent_permlink": "futurocoin",
"author": "walczakit",
"permlink": "re-waler5-futurocoin-20180217t200629790z",
"title": "",
"body": "Przeanalizowałem whitepaper i źródła mocno promowanego ostatnio FuturoCoina - wnioski w artykule\nhttp://walczak.it/pl/blog/futurocoin-kopia-dash-bez-decentralizacji",
"json_metadata": "{\"tags\":[\"polish\"],\"links\":[\"http://walczak.it/pl/blog/futurocoin-kopia-dash-bez-decentralizacji\"],\"app\":\"steemit/0.1\"}"
}
]
}kid-martin95upvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization2018/02/17 15:34:48
kid-martin95upvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization
2018/02/17 15:34:48
| voter | kid-martin95 |
| author | walczakit |
| permlink | futurocoin-a-copy-of-dash-without-the-decentralization |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19952362/Trx 3821c9ac554f3dc1990f4c8b36a6a632f6c29f16 |
View Raw JSON Data
{
"trx_id": "3821c9ac554f3dc1990f4c8b36a6a632f6c29f16",
"block": 19952362,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-17T15:34:48",
"op": [
"vote",
{
"voter": "kid-martin95",
"author": "walczakit",
"permlink": "futurocoin-a-copy-of-dash-without-the-decentralization",
"weight": 10000
}
]
}2018/02/17 15:17:39
2018/02/17 15:17:39
| from | walczakit |
| to | null |
| amount | 2.900 SBD |
| memo | @walczakit/futurocoin-a-copy-of-dash-without-the-decentralization |
| Transaction Info | Block #19952019/Trx 5e8c39ab786ec6e1e8785fbe74b3c990a5f848a3 |
View Raw JSON Data
{
"trx_id": "5e8c39ab786ec6e1e8785fbe74b3c990a5f848a3",
"block": 19952019,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-17T15:17:39",
"op": [
"transfer",
{
"from": "walczakit",
"to": "null",
"amount": "2.900 SBD",
"memo": "@walczakit/futurocoin-a-copy-of-dash-without-the-decentralization"
}
]
}walczakitupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization2018/02/17 15:16:48
walczakitupvoted (100.00%) @walczakit / futurocoin-a-copy-of-dash-without-the-decentralization
2018/02/17 15:16:48
| voter | walczakit |
| author | walczakit |
| permlink | futurocoin-a-copy-of-dash-without-the-decentralization |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19952002/Trx 6f7b19bbc1a4a153f6bb64c02d57190aa95cf9f1 |
View Raw JSON Data
{
"trx_id": "6f7b19bbc1a4a153f6bb64c02d57190aa95cf9f1",
"block": 19952002,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-17T15:16:48",
"op": [
"vote",
{
"voter": "walczakit",
"author": "walczakit",
"permlink": "futurocoin-a-copy-of-dash-without-the-decentralization",
"weight": 10000
}
]
}walczakitpublished a new post: futurocoin-a-copy-of-dash-without-the-decentralization2018/02/17 15:16:48
walczakitpublished a new post: futurocoin-a-copy-of-dash-without-the-decentralization
2018/02/17 15:16:48
| parent author | |
| parent permlink | cryptocurrency |
| author | walczakit |
| permlink | futurocoin-a-copy-of-dash-without-the-decentralization |
| title | FuturoCoin - a copy of Dash without the decentralization |
| body | In the past months we could hear many controversies surrounding an upcoming coin developed by FutureNet called [FuturoCoin](https://futurocoin.com/). FutureNet is a social network and Multi Level Marketing (MLM) platform. Most of the cryto-community didn't take them seriously and ware expecting another [DasCoin](https://bitcointalk.org/index.php?topic=1636850.0) - a coin which had little do to with the term 'cryptocurrency' but was heavily marketed as such using MLM. Both FutureNet and the creators of DasCoin (Netleaders) are under [investigation by the Polish government](https://uokik.gov.pl/aktualnosci.php?news_id=13844) under the suspicion of being a ponzi-scheme. The fact that FutureNet promoted their FuturoCoin without even publishing a whitepaper also didn't help. Now that they finally have one and also published their source code we can see what this coin really is. http://walczak.it/application/files/thumbnails/large/1315/1822/0532/futurocoin-dash.jpg ## They just copied Dash... As it is confirmed in [their whitepaper](https://futurocoin.com/download/FuturoCoin-white-paper-en-31.01.18.pdf) they just forked the source code from Dash, did some changes and initialized a new blockchain with it. Bare in mind that only a source code fork happened here - they didn't do a blockchain fork like Bitcoin Cash did with Bitcoin. Before we examin what changes they made lets see how Dash it self works. Dash is a cryptocurrency that is build from a two layer protocol: * on the first layer its like Bitcoin - just a blockchain with blocks mined my miners using Proof of Work, * the second layer is build by a network of masternodes - thousands of servers which: * provide the Instant Send functionality by locking your coins in one second and instructing the miners on how to build the next block to eliminate the possibility of double spending before your transaction receives its first confirmation, * provide the Private Send functionality which mixes coins to make them less traceable, * vote on which developer initiatives to fund from their treasury system - this makes Dash a decentralized organization. ## How Dash works http://walczak.it/application/files/thumbnails/large/7215/1886/1144/dash-netword.png No part of Dash is owned by a single company. Masternodes have tremendous power over the system as they guide the miners on how the blockchain should be constructed. This is actually how Instant Send gets done - those guidelines prohibit any transactions that could double spend coins locked for another Instant Send transaction. There are no limitations on who can run a masternode - the only barrier of entry is acquiring 1000 units of Dash needed to run one. This is no small investment but it didn't stop companies and idividuals to add over 4000 masternodes to the network. ## ... and centralized it The changes made in FuturoCoin seem subtle at first. Besides initializing a new blockchain you can read that they removed the Private Send feature for legal reasons. Everything in their whitepaper seems ok until you get to the jaw dropping statement at page 14: > Masternodes are owned by FutureNet company which is responsible for code development, organizing events, hiring employees, preparing and introducing marketing strategies and reward systems. So much for decentralization there - a crucial part of the protocol is locked up in a single company. Furthermore all transactions have to be guided by those centralized masternodes because as we can read on page 12 - all of them are Instant Send transactions in FuturoCoin: > In DASH masternodes receive an additional fee for processing instant transactions. In FuturoCoin no additional fee is required for this kind of operation as all transactions are instant. In consequence the fact that everyone can mine the coin is irrelevant - masternodes (a.k.a FutureNet) have too much control over how new blocks get created. ## How FuturoCoin works http://walczak.it/application/files/thumbnails/large/8215/1886/1334/futurocoin-network_1.png ## Conclusion In our opinion you cannot call any system decentralized if one of its crucial components is fully controlled by one company. And if FuturoCoin isn't fully decetralized - you can argue it does not fully meet the definition of a cryptocurrency. We asked FutureNet if the above statements from their whitepaper are just mistakes and could we run our own masternode. They replied that they are not, we can't, and afterwards argued that FutureCoin is still decentralized because anyone can mine it and that the masternodes do not interfere with the mining process - they just add the Instant Send feature. We replayed that the Instant Send feature IS implemented by interfering in the mining process so this answer makes no sense. The conversation ended with a remark that they are waiting for their technical expect to address our concerns. For many days we asked for an update on the topic but they just stopped replaying to our messages at all test. Source: [WALCZAK.IT Blog](http://walczak.it/blog/futurocoin-copy-dash-without-decentralization) |
| json metadata | {"tags":["cryptocurrency","dash","bitcoin","ico","futurocoin"],"image":["http://walczak.it/application/files/thumbnails/large/1315/1822/0532/futurocoin-dash.jpg","http://walczak.it/application/files/thumbnails/large/7215/1886/1144/dash-netword.png","http://walczak.it/application/files/thumbnails/large/8215/1886/1334/futurocoin-network_1.png"],"links":["https://futurocoin.com/","https://bitcointalk.org/index.php?topic=1636850.0","https://uokik.gov.pl/aktualnosci.php?news_id=13844","https://futurocoin.com/download/FuturoCoin-white-paper-en-31.01.18.pdf","http://walczak.it/blog/futurocoin-copy-dash-without-decentralization"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19952002/Trx 6f7b19bbc1a4a153f6bb64c02d57190aa95cf9f1 |
View Raw JSON Data
{
"trx_id": "6f7b19bbc1a4a153f6bb64c02d57190aa95cf9f1",
"block": 19952002,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-17T15:16:48",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "cryptocurrency",
"author": "walczakit",
"permlink": "futurocoin-a-copy-of-dash-without-the-decentralization",
"title": "FuturoCoin - a copy of Dash without the decentralization",
"body": "In the past months we could hear many controversies surrounding an upcoming coin developed by FutureNet called [FuturoCoin](https://futurocoin.com/). FutureNet is a social network and Multi Level Marketing (MLM) platform. Most of the cryto-community didn't take them seriously and ware expecting another [DasCoin](https://bitcointalk.org/index.php?topic=1636850.0) - a coin which had little do to with the term 'cryptocurrency' but was heavily marketed as such using MLM. Both FutureNet and the creators of DasCoin (Netleaders) are under [investigation by the Polish government](https://uokik.gov.pl/aktualnosci.php?news_id=13844) under the suspicion of being a ponzi-scheme. The fact that FutureNet promoted their FuturoCoin without even publishing a whitepaper also didn't help. Now that they finally have one and also published their source code we can see what this coin really is.\n\nhttp://walczak.it/application/files/thumbnails/large/1315/1822/0532/futurocoin-dash.jpg\n\n## They just copied Dash... \n\nAs it is confirmed in [their whitepaper](https://futurocoin.com/download/FuturoCoin-white-paper-en-31.01.18.pdf) they just forked the source code from Dash, did some changes and initialized a new blockchain with it. Bare in mind that only a source code fork happened here - they didn't do a blockchain fork like Bitcoin Cash did with Bitcoin. Before we examin what changes they made lets see how Dash it self works.\n\nDash is a cryptocurrency that is build from a two layer protocol:\n\n* on the first layer its like Bitcoin - just a blockchain with blocks mined my miners using Proof of Work,\n* the second layer is build by a network of masternodes - thousands of servers which:\n * provide the Instant Send functionality by locking your coins in one second and instructing the miners on how to build the next block to eliminate the possibility of double spending before your transaction receives its first confirmation,\n * provide the Private Send functionality which mixes coins to make them less traceable,\n * vote on which developer initiatives to fund from their treasury system - this makes Dash a decentralized organization.\n\n## How Dash works\n\nhttp://walczak.it/application/files/thumbnails/large/7215/1886/1144/dash-netword.png\n\nNo part of Dash is owned by a single company. Masternodes have tremendous power over the system as they guide the miners on how the blockchain should be constructed. This is actually how Instant Send gets done - those guidelines prohibit any transactions that could double spend coins locked for another Instant Send transaction. There are no limitations on who can run a masternode - the only barrier of entry is acquiring 1000 units of Dash needed to run one. This is no small investment but it didn't stop companies and idividuals to add over 4000 masternodes to the network.\n\n## ... and centralized it\n\nThe changes made in FuturoCoin seem subtle at first. Besides initializing a new blockchain you can read that they removed the Private Send feature for legal reasons. Everything in their whitepaper seems ok until you get to the jaw dropping statement at page 14:\n\n> Masternodes are owned by FutureNet company which is responsible for code development, organizing events, hiring employees, preparing and introducing marketing strategies and reward systems.\n\nSo much for decentralization there - a crucial part of the protocol is locked up in a single company. Furthermore all transactions have to be guided by those centralized masternodes because as we can read on page 12 - all of them are Instant Send transactions in FuturoCoin:\n\n> In DASH masternodes receive an additional fee for processing instant transactions. In FuturoCoin no additional fee is required for this kind of operation as all transactions are instant.\n\nIn consequence the fact that everyone can mine the coin is irrelevant - masternodes (a.k.a FutureNet) have too much control over how new blocks get created.\n\n## How FuturoCoin works\n\nhttp://walczak.it/application/files/thumbnails/large/8215/1886/1334/futurocoin-network_1.png\n\n## Conclusion\n\nIn our opinion you cannot call any system decentralized if one of its crucial components is fully controlled by one company. And if FuturoCoin isn't fully decetralized - you can argue it does not fully meet the definition of a cryptocurrency.\n\nWe asked FutureNet if the above statements from their whitepaper are just mistakes and could we run our own masternode. They replied that they are not, we can't, and afterwards argued that FutureCoin is still decentralized because anyone can mine it and that the masternodes do not interfere with the mining process - they just add the Instant Send feature. We replayed that the Instant Send feature IS implemented by interfering in the mining process so this answer makes no sense. The conversation ended with a remark that they are waiting for their technical expect to address our concerns. For many days we asked for an update on the topic but they just stopped replaying to our messages at all test.\n\nSource: [WALCZAK.IT Blog](http://walczak.it/blog/futurocoin-copy-dash-without-decentralization)",
"json_metadata": "{\"tags\":[\"cryptocurrency\",\"dash\",\"bitcoin\",\"ico\",\"futurocoin\"],\"image\":[\"http://walczak.it/application/files/thumbnails/large/1315/1822/0532/futurocoin-dash.jpg\",\"http://walczak.it/application/files/thumbnails/large/7215/1886/1144/dash-netword.png\",\"http://walczak.it/application/files/thumbnails/large/8215/1886/1334/futurocoin-network_1.png\"],\"links\":[\"https://futurocoin.com/\",\"https://bitcointalk.org/index.php?topic=1636850.0\",\"https://uokik.gov.pl/aktualnosci.php?news_id=13844\",\"https://futurocoin.com/download/FuturoCoin-white-paper-en-31.01.18.pdf\",\"http://walczak.it/blog/futurocoin-copy-dash-without-decentralization\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}shiradvorupvoted (100.00%) @walczakit / why-you-should-not-get-into-cryptocurrency-mining2018/02/13 13:08:36
shiradvorupvoted (100.00%) @walczakit / why-you-should-not-get-into-cryptocurrency-mining
2018/02/13 13:08:36
| voter | shiradvor |
| author | walczakit |
| permlink | why-you-should-not-get-into-cryptocurrency-mining |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19834354/Trx 1e34fe4be66128268518a338365311bbc674267d |
View Raw JSON Data
{
"trx_id": "1e34fe4be66128268518a338365311bbc674267d",
"block": 19834354,
"trx_in_block": 33,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-13T13:08:36",
"op": [
"vote",
{
"voter": "shiradvor",
"author": "walczakit",
"permlink": "why-you-should-not-get-into-cryptocurrency-mining",
"weight": 10000
}
]
}dtubixupvoted (50.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2018/02/13 01:28:06
dtubixupvoted (50.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2018/02/13 01:28:06
| voter | dtubix |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| weight | 5000 (50.00%) |
| Transaction Info | Block #19820354/Trx 58fb20ea5a37e589d8610fe94659394dd980f29c |
View Raw JSON Data
{
"trx_id": "58fb20ea5a37e589d8610fe94659394dd980f29c",
"block": 19820354,
"trx_in_block": 46,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-13T01:28:06",
"op": [
"vote",
{
"voter": "dtubix",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"weight": 5000
}
]
}technerd108upvoted (100.00%) @walczakit / amd-blockchain-drivers-are-finally-available-for-linux2018/01/31 00:53:27
technerd108upvoted (100.00%) @walczakit / amd-blockchain-drivers-are-finally-available-for-linux
2018/01/31 00:53:27
| voter | technerd108 |
| author | walczakit |
| permlink | amd-blockchain-drivers-are-finally-available-for-linux |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19445876/Trx 3bc87d26aad60a9950a3efd3decb256d6615a98d |
View Raw JSON Data
{
"trx_id": "3bc87d26aad60a9950a3efd3decb256d6615a98d",
"block": 19445876,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-31T00:53:27",
"op": [
"vote",
{
"voter": "technerd108",
"author": "walczakit",
"permlink": "amd-blockchain-drivers-are-finally-available-for-linux",
"weight": 10000
}
]
}2018/01/31 00:53:21
2018/01/31 00:53:21
| parent author | walczakit |
| parent permlink | amd-blockchain-drivers-are-finally-available-for-linux |
| author | technerd108 |
| permlink | re-walczakit-amd-blockchain-drivers-are-finally-available-for-linux-20180131t005316172z |
| title | |
| body | Thanks for the info! Following and upvoting! |
| json metadata | {"tags":["ethereum"],"app":"steemit/0.1"} |
| Transaction Info | Block #19445874/Trx 6ba8c87898a876f517f67caa7c30666722e84195 |
View Raw JSON Data
{
"trx_id": "6ba8c87898a876f517f67caa7c30666722e84195",
"block": 19445874,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-31T00:53:21",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "amd-blockchain-drivers-are-finally-available-for-linux",
"author": "technerd108",
"permlink": "re-walczakit-amd-blockchain-drivers-are-finally-available-for-linux-20180131t005316172z",
"title": "",
"body": "Thanks for the info! Following and upvoting!",
"json_metadata": "{\"tags\":[\"ethereum\"],\"app\":\"steemit/0.1\"}"
}
]
}arqsfupvoted (100.00%) @walczakit / amd-blockchain-drivers-are-finally-available-for-linux2018/01/29 15:18:18
arqsfupvoted (100.00%) @walczakit / amd-blockchain-drivers-are-finally-available-for-linux
2018/01/29 15:18:18
| voter | arqsf |
| author | walczakit |
| permlink | amd-blockchain-drivers-are-finally-available-for-linux |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19405621/Trx 43d662596ce938ffd6c0974fe9595534557f74dc |
View Raw JSON Data
{
"trx_id": "43d662596ce938ffd6c0974fe9595534557f74dc",
"block": 19405621,
"trx_in_block": 82,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-29T15:18:18",
"op": [
"vote",
{
"voter": "arqsf",
"author": "walczakit",
"permlink": "amd-blockchain-drivers-are-finally-available-for-linux",
"weight": 10000
}
]
}cryptoplay-radioupvoted (100.00%) @walczakit / rebirth-of-burst-coin2018/01/05 06:11:36
cryptoplay-radioupvoted (100.00%) @walczakit / rebirth-of-burst-coin
2018/01/05 06:11:36
| voter | cryptoplay-radio |
| author | walczakit |
| permlink | rebirth-of-burst-coin |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18703955/Trx e3a4f3ff933029b466b8593e3e002fb171ce9b9b |
View Raw JSON Data
{
"trx_id": "e3a4f3ff933029b466b8593e3e002fb171ce9b9b",
"block": 18703955,
"trx_in_block": 29,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-05T06:11:36",
"op": [
"vote",
{
"voter": "cryptoplay-radio",
"author": "walczakit",
"permlink": "rebirth-of-burst-coin",
"weight": 10000
}
]
}2017/12/31 02:43:54
2017/12/31 02:43:54
| voter | jessicadunbar |
| author | walczakit |
| permlink | ditched-wordpress-for-concrete5-cms-and-we-re-never-going-back |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18556066/Trx 586ccdbca16cd43f65ce1674bf4deb2c1e76c94a |
View Raw JSON Data
{
"trx_id": "586ccdbca16cd43f65ce1674bf4deb2c1e76c94a",
"block": 18556066,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-31T02:43:54",
"op": [
"vote",
{
"voter": "jessicadunbar",
"author": "walczakit",
"permlink": "ditched-wordpress-for-concrete5-cms-and-we-re-never-going-back",
"weight": 10000
}
]
}2017/12/30 15:22:51
2017/12/30 15:22:51
| parent author | walczakit |
| parent permlink | re-colddays-re-walczakit-need-1-burst-coin-please-come-here-20171204t121155135z |
| author | colddays |
| permlink | re-walczakit-re-colddays-re-walczakit-need-1-burst-coin-please-come-here-20171230t152249241z |
| title | |
| body | Thanks, I restored now the burst coins to you, send 4 Burst to your wallet. |
| json metadata | {"tags":["burst"],"app":"steemit/0.1"} |
| Transaction Info | Block #18542445/Trx b5e5be55b10d8d261c0e0a9f7a4dcb7ec9625f94 |
View Raw JSON Data
{
"trx_id": "b5e5be55b10d8d261c0e0a9f7a4dcb7ec9625f94",
"block": 18542445,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-30T15:22:51",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "re-colddays-re-walczakit-need-1-burst-coin-please-come-here-20171204t121155135z",
"author": "colddays",
"permlink": "re-walczakit-re-colddays-re-walczakit-need-1-burst-coin-please-come-here-20171230t152249241z",
"title": "",
"body": "Thanks, I restored now the burst coins to you, send 4 Burst to your wallet.",
"json_metadata": "{\"tags\":[\"burst\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/12/30 15:21:54
2017/12/30 15:21:54
| voter | colddays |
| author | walczakit |
| permlink | re-colddays-re-walczakit-need-1-burst-coin-please-come-here-20171204t121155135z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18542426/Trx 2df4538add87fca98043abc412973f0e6cfc66bf |
View Raw JSON Data
{
"trx_id": "2df4538add87fca98043abc412973f0e6cfc66bf",
"block": 18542426,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-30T15:21:54",
"op": [
"vote",
{
"voter": "colddays",
"author": "walczakit",
"permlink": "re-colddays-re-walczakit-need-1-burst-coin-please-come-here-20171204t121155135z",
"weight": 10000
}
]
}yuninhoupvoted (100.00%) @walczakit / rebirth-of-burst-coin2017/12/26 16:41:57
yuninhoupvoted (100.00%) @walczakit / rebirth-of-burst-coin
2017/12/26 16:41:57
| voter | yuninho |
| author | walczakit |
| permlink | rebirth-of-burst-coin |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18428860/Trx 51f6e27f78700566381c27fd11f5c96e3b0d106b |
View Raw JSON Data
{
"trx_id": "51f6e27f78700566381c27fd11f5c96e3b0d106b",
"block": 18428860,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-26T16:41:57",
"op": [
"vote",
{
"voter": "yuninho",
"author": "walczakit",
"permlink": "rebirth-of-burst-coin",
"weight": 10000
}
]
}walterccupvoted (100.00%) @walczakit / why-you-should-not-get-into-cryptocurrency-mining2017/12/26 09:28:27
walterccupvoted (100.00%) @walczakit / why-you-should-not-get-into-cryptocurrency-mining
2017/12/26 09:28:27
| voter | waltercc |
| author | walczakit |
| permlink | why-you-should-not-get-into-cryptocurrency-mining |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18420194/Trx ebe619ee19024a5499ddd1e9fb0fddaf15307c55 |
View Raw JSON Data
{
"trx_id": "ebe619ee19024a5499ddd1e9fb0fddaf15307c55",
"block": 18420194,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-26T09:28:27",
"op": [
"vote",
{
"voter": "waltercc",
"author": "walczakit",
"permlink": "why-you-should-not-get-into-cryptocurrency-mining",
"weight": 10000
}
]
}2017/12/25 22:27:06
2017/12/25 22:27:06
| voter | walczakit |
| author | dutch |
| permlink | gridcoin-makes-remarkable-recovery-beating-out-all-top-20-coins-bar-verge-at-26-74-in-24h |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18406981/Trx c2ea1f2419e68aa4c5611250ad6ca7d970e97363 |
View Raw JSON Data
{
"trx_id": "c2ea1f2419e68aa4c5611250ad6ca7d970e97363",
"block": 18406981,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-25T22:27:06",
"op": [
"vote",
{
"voter": "walczakit",
"author": "dutch",
"permlink": "gridcoin-makes-remarkable-recovery-beating-out-all-top-20-coins-bar-verge-at-26-74-in-24h",
"weight": 10000
}
]
}mmgincupvoted (100.00%) @walczakit / rebirth-of-burst-coin2017/12/21 08:20:03
mmgincupvoted (100.00%) @walczakit / rebirth-of-burst-coin
2017/12/21 08:20:03
| voter | mmginc |
| author | walczakit |
| permlink | rebirth-of-burst-coin |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18274928/Trx 374b5ebce48c50ec90f83056e0f51a34dd8e2573 |
View Raw JSON Data
{
"trx_id": "374b5ebce48c50ec90f83056e0f51a34dd8e2573",
"block": 18274928,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-21T08:20:03",
"op": [
"vote",
{
"voter": "mmginc",
"author": "walczakit",
"permlink": "rebirth-of-burst-coin",
"weight": 10000
}
]
}walczakitupvoted (100.00%) @jimbo88 / gridcoin-mentioned-on-pbs-space-time2017/12/19 15:25:33
walczakitupvoted (100.00%) @jimbo88 / gridcoin-mentioned-on-pbs-space-time
2017/12/19 15:25:33
| voter | walczakit |
| author | jimbo88 |
| permlink | gridcoin-mentioned-on-pbs-space-time |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18225847/Trx 8368fc499957c163cbaa1b95c529f0aea859710e |
View Raw JSON Data
{
"trx_id": "8368fc499957c163cbaa1b95c529f0aea859710e",
"block": 18225847,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-19T15:25:33",
"op": [
"vote",
{
"voter": "walczakit",
"author": "jimbo88",
"permlink": "gridcoin-mentioned-on-pbs-space-time",
"weight": 10000
}
]
}steemdelegated 9.445 SP to @walczakit2017/12/12 22:26:42
steemdelegated 9.445 SP to @walczakit
2017/12/12 22:26:42
| delegator | steem |
| delegatee | walczakit |
| vesting shares | 15380.561834 VESTS |
| Transaction Info | Block #18032717/Trx b4fd828b6dc6696a795f6afb774d8a3152d6b9b1 |
View Raw JSON Data
{
"trx_id": "b4fd828b6dc6696a795f6afb774d8a3152d6b9b1",
"block": 18032717,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-12T22:26:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "walczakit",
"vesting_shares": "15380.561834 VESTS"
}
]
}2017/12/12 12:42:33
2017/12/12 12:42:33
| voter | walczakit |
| author | franco-the-cat |
| permlink | re-walczakit-why-you-should-not-get-into-cryptocurrency-mining-20171204t162456412z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #18021043/Trx e07a71af4d5717c20e85029bc89b7ac0e1d338c9 |
View Raw JSON Data
{
"trx_id": "e07a71af4d5717c20e85029bc89b7ac0e1d338c9",
"block": 18021043,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-12T12:42:33",
"op": [
"vote",
{
"voter": "walczakit",
"author": "franco-the-cat",
"permlink": "re-walczakit-why-you-should-not-get-into-cryptocurrency-mining-20171204t162456412z",
"weight": 10000
}
]
}2017/12/05 13:10:57
2017/12/05 13:10:57
| voter | donger |
| author | walczakit |
| permlink | re-thexmikkel-re-investooncom-re-thexmikkel-ethereum-mining-dag-file-grows-rx-series-hashrate-decreasing-20170918t202442958z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #17820099/Trx d3ede1844800fbdd80f6fe058e86665281827f7b |
View Raw JSON Data
{
"trx_id": "d3ede1844800fbdd80f6fe058e86665281827f7b",
"block": 17820099,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-05T13:10:57",
"op": [
"vote",
{
"voter": "donger",
"author": "walczakit",
"permlink": "re-thexmikkel-re-investooncom-re-thexmikkel-ethereum-mining-dag-file-grows-rx-series-hashrate-decreasing-20170918t202442958z",
"weight": 10000
}
]
}2017/12/04 16:47:54
2017/12/04 16:47:54
| parent author | walczakit |
| parent permlink | why-you-should-not-get-into-cryptocurrency-mining |
| author | franco-the-cat |
| permlink | re-walczakit-why-you-should-not-get-into-cryptocurrency-mining-20171204t162456412z |
| title | |
| body | @@ -358,16 +358,545 @@ table.%0A%0A +There are a few tactics though that will improve your return;%0Aif a coin goes up in value fast 25%25 plus in a day then mining and exchange the coin for a top 20 coin will give you a good return. Currently ETC is a good example of this.%0Aif a coin corrects(top 50 coins only) its a good time to buy and hold for 3 to 6 months at least.%0AIf you are seeing a big rise in difficulty then its a good time to buy.%0AAlso beware of pump and dumper! normally they will be talking up a coin but will except donations in the top 4 coins only. %0A%0A Well hin |
| json metadata | {"tags":["mining"],"app":"steemit/0.1"} |
| Transaction Info | Block #17795683/Trx 91da9d86b8c11dcc16821ba9f5ad2547a3d57377 |
View Raw JSON Data
{
"trx_id": "91da9d86b8c11dcc16821ba9f5ad2547a3d57377",
"block": 17795683,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-04T16:47:54",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "why-you-should-not-get-into-cryptocurrency-mining",
"author": "franco-the-cat",
"permlink": "re-walczakit-why-you-should-not-get-into-cryptocurrency-mining-20171204t162456412z",
"title": "",
"body": "@@ -358,16 +358,545 @@\n table.%0A%0A\n+There are a few tactics though that will improve your return;%0Aif a coin goes up in value fast 25%25 plus in a day then mining and exchange the coin for a top 20 coin will give you a good return. Currently ETC is a good example of this.%0Aif a coin corrects(top 50 coins only) its a good time to buy and hold for 3 to 6 months at least.%0AIf you are seeing a big rise in difficulty then its a good time to buy.%0AAlso beware of pump and dumper! normally they will be talking up a coin but will except donations in the top 4 coins only. %0A%0A\n Well hin\n",
"json_metadata": "{\"tags\":[\"mining\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/12/04 16:24:57
2017/12/04 16:24:57
| parent author | walczakit |
| parent permlink | why-you-should-not-get-into-cryptocurrency-mining |
| author | franco-the-cat |
| permlink | re-walczakit-why-you-should-not-get-into-cryptocurrency-mining-20171204t162456412z |
| title | |
| body | I wish I read your article first. I started off with a few cloud mining contracts. Than went on to mine a single gpu, cpu then built a rig. and finally just brought direct from an exchange. While I cannt say Im making a loss . If did this in the reverse order i would have made more money or if I just exchanged in the begining i would be even more profitable. Well hindsight is a b****h! |
| json metadata | {"tags":["mining"],"app":"steemit/0.1"} |
| Transaction Info | Block #17795224/Trx f5e53e2fd452673b2d80c8a7bb993d07df2cb442 |
View Raw JSON Data
{
"trx_id": "f5e53e2fd452673b2d80c8a7bb993d07df2cb442",
"block": 17795224,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-04T16:24:57",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "why-you-should-not-get-into-cryptocurrency-mining",
"author": "franco-the-cat",
"permlink": "re-walczakit-why-you-should-not-get-into-cryptocurrency-mining-20171204t162456412z",
"title": "",
"body": "I wish I read your article first.\nI started off with a few cloud mining contracts.\nThan went on to mine a single gpu, cpu\nthen built a rig.\nand finally just brought direct from an exchange.\nWhile I cannt say Im making a loss . If did this in the reverse order i would have made more money or if I just exchanged in the begining i would be even more profitable.\n\nWell hindsight is a b****h!",
"json_metadata": "{\"tags\":[\"mining\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/12/04 12:12:54
2017/12/04 12:12:54
| parent author | colddays |
| parent permlink | re-walczakit-need-1-burst-coin-please-come-here-20171203t090735996z |
| author | walczakit |
| permlink | re-colddays-re-walczakit-need-1-burst-coin-please-come-here-20171204t121155135z |
| title | |
| body | here you go: https://explore.burst.cryptoguru.org/transaction/1111752080037132673 |
| json metadata | {"tags":["burst"],"links":["https://explore.burst.cryptoguru.org/transaction/1111752080037132673"],"app":"steemit/0.1"} |
| Transaction Info | Block #17790190/Trx 8177eee5e2df6bf698afdc67aac164bcf733bd3e |
View Raw JSON Data
{
"trx_id": "8177eee5e2df6bf698afdc67aac164bcf733bd3e",
"block": 17790190,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-04T12:12:54",
"op": [
"comment",
{
"parent_author": "colddays",
"parent_permlink": "re-walczakit-need-1-burst-coin-please-come-here-20171203t090735996z",
"author": "walczakit",
"permlink": "re-colddays-re-walczakit-need-1-burst-coin-please-come-here-20171204t121155135z",
"title": "",
"body": "here you go: https://explore.burst.cryptoguru.org/transaction/1111752080037132673",
"json_metadata": "{\"tags\":[\"burst\"],\"links\":[\"https://explore.burst.cryptoguru.org/transaction/1111752080037132673\"],\"app\":\"steemit/0.1\"}"
}
]
}2017/12/03 09:07:36
2017/12/03 09:07:36
| parent author | walczakit |
| parent permlink | need-1-burst-coin-please-come-here |
| author | colddays |
| permlink | re-walczakit-need-1-burst-coin-please-come-here-20171203t090735996z |
| title | |
| body | Good stuff...thanks in advance: BURST-SUKB-3YAV-JX4H-CZEGE |
| json metadata | {"tags":["burst"],"app":"steemit/0.1"} |
| Transaction Info | Block #17757698/Trx 6e21e9f111570bd144dc7d3df824086109f702b3 |
View Raw JSON Data
{
"trx_id": "6e21e9f111570bd144dc7d3df824086109f702b3",
"block": 17757698,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-03T09:07:36",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "need-1-burst-coin-please-come-here",
"author": "colddays",
"permlink": "re-walczakit-need-1-burst-coin-please-come-here-20171203t090735996z",
"title": "",
"body": "Good stuff...thanks in advance: BURST-SUKB-3YAV-JX4H-CZEGE",
"json_metadata": "{\"tags\":[\"burst\"],\"app\":\"steemit/0.1\"}"
}
]
}colddaysupvoted (100.00%) @walczakit / need-1-burst-coin-please-come-here2017/12/03 09:07:00
colddaysupvoted (100.00%) @walczakit / need-1-burst-coin-please-come-here
2017/12/03 09:07:00
| voter | colddays |
| author | walczakit |
| permlink | need-1-burst-coin-please-come-here |
| weight | 10000 (100.00%) |
| Transaction Info | Block #17757686/Trx acfcd7c09ea47c1bc1e4ead95ad8e27b28bb8428 |
View Raw JSON Data
{
"trx_id": "acfcd7c09ea47c1bc1e4ead95ad8e27b28bb8428",
"block": 17757686,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-12-03T09:07:00",
"op": [
"vote",
{
"voter": "colddays",
"author": "walczakit",
"permlink": "need-1-burst-coin-please-come-here",
"weight": 10000
}
]
}walczakitclaimed reward balance: 1.919 SBD, 2.723 SP2017/11/24 22:48:30
walczakitclaimed reward balance: 1.919 SBD, 2.723 SP
2017/11/24 22:48:30
| account | walczakit |
| reward steem | 0.000 STEEM |
| reward sbd | 1.919 SBD |
| reward vests | 4433.880818 VESTS |
| Transaction Info | Block #17514991/Trx 975049bc5f157f63a0fbe3b02f3c2a2d519d27bd |
View Raw JSON Data
{
"trx_id": "975049bc5f157f63a0fbe3b02f3c2a2d519d27bd",
"block": 17514991,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-24T22:48:30",
"op": [
"claim_reward_balance",
{
"account": "walczakit",
"reward_steem": "0.000 STEEM",
"reward_sbd": "1.919 SBD",
"reward_vests": "4433.880818 VESTS"
}
]
}2017/11/21 09:12:00
2017/11/21 09:12:00
| voter | altumanimo |
| author | walczakit |
| permlink | re-dragosroua-envion-promises-a-self-expaning-mining-infrastructure-and-obviously-there-s-an-ico-involved-20171105t160154964z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #17412314/Trx 25933123cc6ac5801212ef97b866636cb6b2bcd2 |
View Raw JSON Data
{
"trx_id": "25933123cc6ac5801212ef97b866636cb6b2bcd2",
"block": 17412314,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-21T09:12:00",
"op": [
"vote",
{
"voter": "altumanimo",
"author": "walczakit",
"permlink": "re-dragosroua-envion-promises-a-self-expaning-mining-infrastructure-and-obviously-there-s-an-ico-involved-20171105t160154964z",
"weight": 10000
}
]
}2017/11/17 21:34:42
2017/11/17 21:34:42
| parent author | walczakit |
| parent permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| author | lukmarcus |
| permlink | re-walczakit-wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie-20171117t213452370z |
| title | |
| body | Hmm... nie lubię takich perfidnych reklam. |
| json metadata | {"tags":["polish"],"app":"steemit/0.1"} |
| Transaction Info | Block #17312016/Trx f4ffb7e58b49b209bb899114950740d078f49c9e |
View Raw JSON Data
{
"trx_id": "f4ffb7e58b49b209bb899114950740d078f49c9e",
"block": 17312016,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-17T21:34:42",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"author": "lukmarcus",
"permlink": "re-walczakit-wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie-20171117t213452370z",
"title": "",
"body": "Hmm... nie lubię takich perfidnych reklam.",
"json_metadata": "{\"tags\":[\"polish\"],\"app\":\"steemit/0.1\"}"
}
]
}firesteemupvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2017/11/17 19:14:27
firesteemupvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2017/11/17 19:14:27
| voter | firesteem |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| weight | 10000 (100.00%) |
| Transaction Info | Block #17309211/Trx bffa4bb79f3d225bc1c88ad8c4a1615d6bae4731 |
View Raw JSON Data
{
"trx_id": "bffa4bb79f3d225bc1c88ad8c4a1615d6bae4731",
"block": 17309211,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-17T19:14:27",
"op": [
"vote",
{
"voter": "firesteem",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"weight": 10000
}
]
}bart86removed vote from (0.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2017/11/16 16:27:15
bart86removed vote from (0.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2017/11/16 16:27:15
| voter | bart86 |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| weight | 0 (0.00%) |
| Transaction Info | Block #17277075/Trx 6e74e3411abcb0a1c309d58e22a8fb8fb943b189 |
View Raw JSON Data
{
"trx_id": "6e74e3411abcb0a1c309d58e22a8fb8fb943b189",
"block": 17277075,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-16T16:27:15",
"op": [
"vote",
{
"voter": "bart86",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"weight": 0
}
]
}bart86upvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2017/11/16 16:26:54
bart86upvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2017/11/16 16:26:54
| voter | bart86 |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| weight | 10000 (100.00%) |
| Transaction Info | Block #17277068/Trx 7a388636c38f2fcc074181e0c0638f693098d273 |
View Raw JSON Data
{
"trx_id": "7a388636c38f2fcc074181e0c0638f693098d273",
"block": 17277068,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-16T16:26:54",
"op": [
"vote",
{
"voter": "bart86",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"weight": 10000
}
]
}aditorupvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2017/11/16 16:01:00
aditorupvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2017/11/16 16:01:00
| voter | aditor |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| weight | 10000 (100.00%) |
| Transaction Info | Block #17276550/Trx 40a91a7ca71f92324c2556a32cdaced726b2fd88 |
View Raw JSON Data
{
"trx_id": "40a91a7ca71f92324c2556a32cdaced726b2fd88",
"block": 17276550,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-16T16:01:00",
"op": [
"vote",
{
"voter": "aditor",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"weight": 10000
}
]
}walczakitpublished a new post: wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2017/11/16 12:56:24
walczakitpublished a new post: wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2017/11/16 12:56:24
| parent author | |
| parent permlink | polish |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| title | Wprowadzenie do inwestowania w kryptowaluty - szkolenie |
| body | @@ -150,16 +150,95 @@ nia.pl%0A%0A +http://walczak.it/application/files/7615/1083/6942/warsztaty-kryptowaluty.jpg%0A%0A W przeci |
| json metadata | {"tags":["polish","polski","kryptowaluty","cryptocurrency","bitcoin"],"links":["http://kryptowalutownia.pl"],"app":"steemit/0.1","format":"markdown","image":["http://walczak.it/application/files/7615/1083/6942/warsztaty-kryptowaluty.jpg"]} |
| Transaction Info | Block #17272858/Trx 881309162075252bfe4f8ea1f1f91f9232ec4905 |
View Raw JSON Data
{
"trx_id": "881309162075252bfe4f8ea1f1f91f9232ec4905",
"block": 17272858,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-16T12:56:24",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "polish",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"title": "Wprowadzenie do inwestowania w kryptowaluty - szkolenie",
"body": "@@ -150,16 +150,95 @@\n nia.pl%0A%0A\n+http://walczak.it/application/files/7615/1083/6942/warsztaty-kryptowaluty.jpg%0A%0A\n W przeci\n",
"json_metadata": "{\"tags\":[\"polish\",\"polski\",\"kryptowaluty\",\"cryptocurrency\",\"bitcoin\"],\"links\":[\"http://kryptowalutownia.pl\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"image\":[\"http://walczak.it/application/files/7615/1083/6942/warsztaty-kryptowaluty.jpg\"]}"
}
]
}marc3xupvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2017/11/16 12:55:15
marc3xupvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2017/11/16 12:55:15
| voter | marc3x |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| weight | 10000 (100.00%) |
| Transaction Info | Block #17272835/Trx d26719af3bcd60e3f99c4b9f13502111a2b39e4c |
View Raw JSON Data
{
"trx_id": "d26719af3bcd60e3f99c4b9f13502111a2b39e4c",
"block": 17272835,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-16T12:55:15",
"op": [
"vote",
{
"voter": "marc3x",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"weight": 10000
}
]
}2017/11/16 12:55:12
2017/11/16 12:55:12
| parent author | walczakit |
| parent permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| author | cheetah |
| permlink | cheetah-re-walczakitwprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| title | |
| body | Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in: http://walczak.it/pl/szkolenia |
| json metadata | |
| Transaction Info | Block #17272834/Trx 987ea778a432c824fa4a491fe7994aa7cbabbcc0 |
View Raw JSON Data
{
"trx_id": "987ea778a432c824fa4a491fe7994aa7cbabbcc0",
"block": 17272834,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-16T12:55:12",
"op": [
"comment",
{
"parent_author": "walczakit",
"parent_permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"author": "cheetah",
"permlink": "cheetah-re-walczakitwprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"title": "",
"body": "Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:\nhttp://walczak.it/pl/szkolenia",
"json_metadata": ""
}
]
}cheetahupvoted (0.50%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2017/11/16 12:55:06
cheetahupvoted (0.50%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2017/11/16 12:55:06
| voter | cheetah |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| weight | 50 (0.50%) |
| Transaction Info | Block #17272832/Trx 73eff8f7e159583910b2feed439b4f7d8d673722 |
View Raw JSON Data
{
"trx_id": "73eff8f7e159583910b2feed439b4f7d8d673722",
"block": 17272832,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-16T12:55:06",
"op": [
"vote",
{
"voter": "cheetah",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"weight": 50
}
]
}walczakitupvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2017/11/16 12:54:27
walczakitupvoted (100.00%) @walczakit / wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2017/11/16 12:54:27
| voter | walczakit |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| weight | 10000 (100.00%) |
| Transaction Info | Block #17272819/Trx 63fb25436d6af6e500ee64b71678466016bc5b59 |
View Raw JSON Data
{
"trx_id": "63fb25436d6af6e500ee64b71678466016bc5b59",
"block": 17272819,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-16T12:54:27",
"op": [
"vote",
{
"voter": "walczakit",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"weight": 10000
}
]
}walczakitpublished a new post: wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie2017/11/16 12:54:27
walczakitpublished a new post: wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie
2017/11/16 12:54:27
| parent author | |
| parent permlink | polish |
| author | walczakit |
| permlink | wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie |
| title | Wprowadzenie do inwestowania w kryptowaluty - szkolenie |
| body | Warsztaty prowadzone przez tradera handlującego na 7 największych giełdach kryptowalut, konstruktora koparek oraz autora serwisu http://kryptowalutownia.pl W przeciągu 8 godzin pokażemy Wam: * jak zainstalować portfele oraz wymieniać się: * trzema popularnymi kryptowalutami: Bitcoin, Ethereum, Monero, * dwiema niszowymi: GridCoin, SiaCoin. * jak technicznie działają kryptowaluty od środka, * unikalne właściwości wybranych kryptowalut, * czym różnią się portfele webowe, instalowane oraz sprzętowe i jak bezpiecznie przechowywać swoje kryptowaluty, * jak handlować kryptowalutami na największej polskiej giełdzie, a także na jednej z zagranicznych, * jak wylgląda kopanie kryptowalut i czy warto, * kwestie podatkowe związane z handlem i kopaniem kryptowalut, * jakie zagrożenia czyhają na posiadaczy kryptowalut. Na szkolenie należy przyjść z własnym laptopem z sprawnym WiFi. Nie udzielamy porad finansowych - nie odpowiemy Wam na pytanie, w które kryptowaluty powinniście inwestować. Pokażemy Wam natomiast jak handlować i przechowywać kryptowaluty oraz naświetlimy szanse i ryzyka z tym związane. Lokalizacja: **Poznań** Termin: **9 grudnia**, sobota, godz. 09:00 - 17:00 Koszt na osobę: * **250 zł** za udział w szkoleniu, * 150 zł za które kupicie swoje pierwsze kryptowaluty. Liczba miejsc jest ograniczona - zapisy przyjmujemy do końca listopada. **Zainteresowanych** prosimy o kontakt mailowy: [email protected] |
| json metadata | {"tags":["polish","polski","kryptowaluty","cryptocurrency","bitcoin"],"links":["http://kryptowalutownia.pl"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #17272819/Trx 63fb25436d6af6e500ee64b71678466016bc5b59 |
View Raw JSON Data
{
"trx_id": "63fb25436d6af6e500ee64b71678466016bc5b59",
"block": 17272819,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-11-16T12:54:27",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "polish",
"author": "walczakit",
"permlink": "wprowadzenie-do-inwestowania-w-kryptowaluty-szkolenie",
"title": "Wprowadzenie do inwestowania w kryptowaluty - szkolenie",
"body": "Warsztaty prowadzone przez tradera handlującego na 7 największych giełdach kryptowalut, konstruktora koparek oraz autora serwisu http://kryptowalutownia.pl\n\nW przeciągu 8 godzin pokażemy Wam:\n* jak zainstalować portfele oraz wymieniać się:\n * trzema popularnymi kryptowalutami: Bitcoin, Ethereum, Monero,\n * dwiema niszowymi: GridCoin, SiaCoin.\n* jak technicznie działają kryptowaluty od środka,\n* unikalne właściwości wybranych kryptowalut,\n* czym różnią się portfele webowe, instalowane oraz sprzętowe i jak bezpiecznie przechowywać swoje kryptowaluty,\n* jak handlować kryptowalutami na największej polskiej giełdzie, a także na jednej z zagranicznych,\n* jak wylgląda kopanie kryptowalut i czy warto,\n* kwestie podatkowe związane z handlem i kopaniem kryptowalut,\n* jakie zagrożenia czyhają na posiadaczy kryptowalut.\n\nNa szkolenie należy przyjść z własnym laptopem z sprawnym WiFi. Nie udzielamy porad finansowych - nie odpowiemy Wam na pytanie, w które kryptowaluty powinniście inwestować. Pokażemy Wam natomiast jak handlować i przechowywać kryptowaluty oraz naświetlimy szanse i ryzyka z tym związane.\n\nLokalizacja: **Poznań**\nTermin: **9 grudnia**, sobota, godz. 09:00 - 17:00\nKoszt na osobę:\n* **250 zł** za udział w szkoleniu,\n* 150 zł za które kupicie swoje pierwsze kryptowaluty.\n\nLiczba miejsc jest ograniczona - zapisy przyjmujemy do końca listopada.\n\n**Zainteresowanych** prosimy o kontakt mailowy: [email protected]",
"json_metadata": "{\"tags\":[\"polish\",\"polski\",\"kryptowaluty\",\"cryptocurrency\",\"bitcoin\"],\"links\":[\"http://kryptowalutownia.pl\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress45.30%
{
"voting_manabar": {
"current_mana": "15385438166",
"last_update_time": 1588958436
},
"downvote_manabar": {
"current_mana": 3846359541,
"last_update_time": 1588958436
},
"rc_account": {
"account": "walczakit",
"rc_manabar": {
"current_mana": "19368394211",
"last_update_time": 1588958436
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "17406187139"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://image.ibb.co/n2Z0jv/walczak_it_icon.png","name":"WALCZAK.IT","about":"Software development company","location":"Poland","website":"http://walczak.it"} |
| JSON METADATA | |
| profile | {"profile_image":"https://image.ibb.co/n2Z0jv/walczak_it_icon.png","name":"WALCZAK.IT","about":"Software development company","location":"Poland","website":"http://walczak.it"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://image.ibb.co/n2Z0jv/walczak_it_icon.png",
"name": "WALCZAK.IT",
"about": "Software development company",
"location": "Poland",
"website": "http://walczak.it"
}
},
"json_metadata": {
"profile": {
"profile_image": "https://image.ibb.co/n2Z0jv/walczak_it_icon.png",
"name": "WALCZAK.IT",
"about": "Software development company",
"location": "Poland",
"website": "http://walczak.it"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM5qhQWZXwa4gqundKkFJWBXeV6TpMoLesh5erqnURBzQYvHxTbG1/1
Active
Single Signature
Public Keys
STM67pSdAd2RXQXf3RXwE6qK8zGGkJXrA3uY5L2TpwRhZ7688tWnf1/1
Posting
Single Signature
Public Keys
STM7HzyNqhrFax9ZwTP3Un17q3uGhNx6HUqqT8ZuSFQdtUMKmVZuN1/1
Memo
STM7TcZS7zxYwZARzKuHzPK6PznWmuZYoru6TVaBiEx3B2PEYgFiL
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5qhQWZXwa4gqundKkFJWBXeV6TpMoLesh5erqnURBzQYvHxTbG",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM67pSdAd2RXQXf3RXwE6qK8zGGkJXrA3uY5L2TpwRhZ7688tWnf",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7HzyNqhrFax9ZwTP3Un17q3uGhNx6HUqqT8ZuSFQdtUMKmVZuN",
1
]
]
},
"memo": "STM7TcZS7zxYwZARzKuHzPK6PznWmuZYoru6TVaBiEx3B2PEYgFiL"
}Witness Votes
0 / 30
No active witness votes.
[]