Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.034USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.001SP
├── Own SP
0.632SP
└── Incoming Deleg
+4.369SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.632SP
Delegated Out
0.000SP
Delegation In
4.369SP
Effective Power
5.001SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "1028.900237 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7114.759569 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namedfg
id405730
rank1,423,175
reputation0
created2017-10-10T09:41:39
recovery_accountsteem
proxyNone
post_count1
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2017-10-10T09:46:15
last_root_post2017-10-10T09:46:15
last_vote_time1970-01-01T00:00:00
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares1028.900237 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7114.759569 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2017-10-10T09:43:09
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 405730,
  "name": "dfg",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6Q6xJsgfBDHajzvNSCZpaww8SASicTHjVEGKogo33MkKxiExKF",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7VgdBninPLy5gTgFQjP811diKi8sQocuZYJM9ZjdbtcHPB6D5B",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5ASuLcGWnq3Mv5Q4RTdoRFPeDtLxAnCqzSrjxpQFxaGscQXvWq",
        1
      ]
    ]
  },
  "memo_key": "STM53N8Adt8sLv2CWyDpnoWzc1T4SEK1jtZNBT2vKhMNUkfP4jKaf",
  "json_metadata": "{\"profile\":{\"profile_image\":\"https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAASAAAAAJDJmNjNkNDMzLTI4MWEtNDNkOC04NTQ3LWEwMmE5M2FmODgzOQ.jpg\",\"name\":\"DanielFortuyn\",\"location\":\"Leiden, The Netherlands\",\"website\":\"https://www.vdbf.nl\"}}",
  "posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAASAAAAAJDJmNjNkNDMzLTI4MWEtNDNkOC04NTQ3LWEwMmE5M2FmODgzOQ.jpg\",\"name\":\"DanielFortuyn\",\"location\":\"Leiden, The Netherlands\",\"website\":\"https://www.vdbf.nl\"}}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2017-10-10T09:43:09",
  "created": "2017-10-10T09:41:39",
  "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": 1,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779060435
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779060435
  },
  "voting_power": 0,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.000 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "1028.900237 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7114.759569 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2017-10-10T09:46:15",
  "last_root_post": "2017-10-10T09:46:15",
  "last_vote_time": "1970-01-01T00:00:00",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 0,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 1423175
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.369 SP to @dfg
2026/05/17 23:27:15
delegatorsteem
delegateedfg
vesting shares7114.759569 VESTS
Transaction InfoBlock #106142493/Trx 48ae951fd6d5941987070673b287c7c88a6fada7
View Raw JSON Data
{
  "trx_id": "48ae951fd6d5941987070673b287c7c88a6fada7",
  "block": 106142493,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-17T23:27:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "7114.759569 VESTS"
    }
  ]
}
steemdelegated 2.704 SP to @dfg
2026/05/12 00:36:21
delegatorsteem
delegateedfg
vesting shares4402.549164 VESTS
Transaction InfoBlock #105971838/Trx 42bb37268ad97486e0039ee9216e53fe88417346
View Raw JSON Data
{
  "trx_id": "42bb37268ad97486e0039ee9216e53fe88417346",
  "block": 105971838,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-12T00:36:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "4402.549164 VESTS"
    }
  ]
}
steemdelegated 4.377 SP to @dfg
2026/04/25 22:49:30
delegatorsteem
delegateedfg
vesting shares7127.275325 VESTS
Transaction InfoBlock #105510170/Trx 0433715ca657bbed65c64f76b0fb18837de51bc1
View Raw JSON Data
{
  "trx_id": "0433715ca657bbed65c64f76b0fb18837de51bc1",
  "block": 105510170,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-25T22:49:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "7127.275325 VESTS"
    }
  ]
}
steemdelegated 2.729 SP to @dfg
2026/01/23 05:39:15
delegatorsteem
delegateedfg
vesting shares4444.095983 VESTS
Transaction InfoBlock #102849235/Trx 5cd0e612397bc1fe3ace3be463707b241beace72
View Raw JSON Data
{
  "trx_id": "5cd0e612397bc1fe3ace3be463707b241beace72",
  "block": 102849235,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-23T05:39:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "4444.095983 VESTS"
    }
  ]
}
steemdelegated 2.830 SP to @dfg
2024/12/17 00:59:03
delegatorsteem
delegateedfg
vesting shares4608.315180 VESTS
Transaction InfoBlock #91295659/Trx ec2f793eac446816ce0fde7c69ce51a4f8a49432
View Raw JSON Data
{
  "trx_id": "ec2f793eac446816ce0fde7c69ce51a4f8a49432",
  "block": 91295659,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-17T00:59:03",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "4608.315180 VESTS"
    }
  ]
}
steemdelegated 2.934 SP to @dfg
2023/11/13 16:42:30
delegatorsteem
delegateedfg
vesting shares4777.448712 VESTS
Transaction InfoBlock #79849885/Trx 75dbd714e04e1f66209d2426c2a3e4ccffa30e53
View Raw JSON Data
{
  "trx_id": "75dbd714e04e1f66209d2426c2a3e4ccffa30e53",
  "block": 79849885,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-13T16:42:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "4777.448712 VESTS"
    }
  ]
}
steemdelegated 4.738 SP to @dfg
2023/09/21 20:53:21
delegatorsteem
delegateedfg
vesting shares7714.727498 VESTS
Transaction InfoBlock #78346702/Trx e89d425879a1b5467e70a7e2d9056fb51408d8f5
View Raw JSON Data
{
  "trx_id": "e89d425879a1b5467e70a7e2d9056fb51408d8f5",
  "block": 78346702,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-21T20:53:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "7714.727498 VESTS"
    }
  ]
}
steemdelegated 4.874 SP to @dfg
2022/11/03 10:48:21
delegatorsteem
delegateedfg
vesting shares7936.408936 VESTS
Transaction InfoBlock #69112190/Trx 7be6c482ba98f421fb87429386debc3deb1ae541
View Raw JSON Data
{
  "trx_id": "7be6c482ba98f421fb87429386debc3deb1ae541",
  "block": 69112190,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T10:48:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "7936.408936 VESTS"
    }
  ]
}
steemdelegated 5.009 SP to @dfg
2022/01/17 10:08:42
delegatorsteem
delegateedfg
vesting shares8156.942167 VESTS
Transaction InfoBlock #60808445/Trx 9a45772455d06ab23b1acbaca1a8903fad0d29c9
View Raw JSON Data
{
  "trx_id": "9a45772455d06ab23b1acbaca1a8903fad0d29c9",
  "block": 60808445,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T10:08:42",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "8156.942167 VESTS"
    }
  ]
}
steemdelegated 5.122 SP to @dfg
2021/06/14 00:05:51
delegatorsteem
delegateedfg
vesting shares8340.710825 VESTS
Transaction InfoBlock #54606872/Trx e56334f6152af05e806fa1c777f624f028205811
View Raw JSON Data
{
  "trx_id": "e56334f6152af05e806fa1c777f624f028205811",
  "block": 54606872,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-14T00:05:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "8340.710825 VESTS"
    }
  ]
}
steemdelegated 5.237 SP to @dfg
2020/12/11 10:26:03
delegatorsteem
delegateedfg
vesting shares8528.132799 VESTS
Transaction InfoBlock #49354366/Trx 8868f6886eaef6e206973b27943a976cc30ca047
View Raw JSON Data
{
  "trx_id": "8868f6886eaef6e206973b27943a976cc30ca047",
  "block": 49354366,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T10:26:03",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "8528.132799 VESTS"
    }
  ]
}
steemdelegated 1.174 SP to @dfg
2020/12/06 04:03:21
delegatorsteem
delegateedfg
vesting shares1912.543513 VESTS
Transaction InfoBlock #49205930/Trx 57992f94638b27903a6266b3e243da79e5d41a3d
View Raw JSON Data
{
  "trx_id": "57992f94638b27903a6266b3e243da79e5d41a3d",
  "block": 49205930,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T04:03:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.241 SP to @dfg
2020/12/05 12:00:21
delegatorsteem
delegateedfg
vesting shares8534.499438 VESTS
Transaction InfoBlock #49187036/Trx 3470d79bd2b324abbfa13f11a046c55b4e015ea4
View Raw JSON Data
{
  "trx_id": "3470d79bd2b324abbfa13f11a046c55b4e015ea4",
  "block": 49187036,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T12:00:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "8534.499438 VESTS"
    }
  ]
}
steemdelegated 1.179 SP to @dfg
2020/11/02 14:08:21
delegatorsteem
delegateedfg
vesting shares1920.017158 VESTS
Transaction InfoBlock #48256038/Trx 3bba3ff4217205c6b1efaa7f5d7868bc9b15a018
View Raw JSON Data
{
  "trx_id": "3bba3ff4217205c6b1efaa7f5d7868bc9b15a018",
  "block": 48256038,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-02T14:08:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.366 SP to @dfg
2020/05/09 04:59:42
delegatorsteem
delegateedfg
vesting shares8737.146012 VESTS
Transaction InfoBlock #43216166/Trx 45470673ab20b89c7b9344ba2b42bce209ba735a
View Raw JSON Data
{
  "trx_id": "45470673ab20b89c7b9344ba2b42bce209ba735a",
  "block": 43216166,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T04:59:42",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "8737.146012 VESTS"
    }
  ]
}
steemdelegated 1.200 SP to @dfg
2020/05/08 08:29:15
delegatorsteem
delegateedfg
vesting shares1953.311140 VESTS
Transaction InfoBlock #43192134/Trx 841942cfc5aaff9ccd3da1559925edb670db4e21
View Raw JSON Data
{
  "trx_id": "841942cfc5aaff9ccd3da1559925edb670db4e21",
  "block": 43192134,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T08:29:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
steemdelegated 5.373 SP to @dfg
2020/04/15 21:09:09
delegatorsteem
delegateedfg
vesting shares8750.123431 VESTS
Transaction InfoBlock #42562021/Trx 2d9630b990201dc2c368ee5b47b0f7a18a73d537
View Raw JSON Data
{
  "trx_id": "2d9630b990201dc2c368ee5b47b0f7a18a73d537",
  "block": 42562021,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-04-15T21:09:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "8750.123431 VESTS"
    }
  ]
}
2019/10/10 10:44:15
parent authordfg
parent permlink7-step-guide-to-jamstack-webdevelopment-in-2018
authorsteemitboard
permlinksteemitboard-notify-dfg-20191010t104414000z
title
bodyCongratulations @dfg! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@dfg/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/@dfg) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=dfg)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemfest/@steemitboard/the-new-steemfest-badge-is-ready"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmRUkELn2Fd13pWFkmWU2wBMMx39EBX5V3cHBEZ2d7f3Ve/image.png"></a></td><td><a href="https://steemit.com/steemfest/@steemitboard/the-new-steemfest-badge-is-ready">The new SteemFest⁴ badge is ready</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #37159334/Trx 60ccc53c44d6ce6037365c7a9f2e022a923cfa2b
View Raw JSON Data
{
  "trx_id": "60ccc53c44d6ce6037365c7a9f2e022a923cfa2b",
  "block": 37159334,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-10-10T10:44:15",
  "op": [
    "comment",
    {
      "parent_author": "dfg",
      "parent_permlink": "7-step-guide-to-jamstack-webdevelopment-in-2018",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-dfg-20191010t104414000z",
      "title": "",
      "body": "Congratulations @dfg! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@dfg/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/@dfg) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=dfg)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemfest/@steemitboard/the-new-steemfest-badge-is-ready\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmRUkELn2Fd13pWFkmWU2wBMMx39EBX5V3cHBEZ2d7f3Ve/image.png\"></a></td><td><a href=\"https://steemit.com/steemfest/@steemitboard/the-new-steemfest-badge-is-ready\">The new SteemFest⁴  badge is ready</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.494 SP to @dfg
2019/05/12 14:23:57
delegatorsteem
delegateedfg
vesting shares8945.746236 VESTS
Transaction InfoBlock #32844882/Trx e7dc78196e69c54a531a8ca892dcbafaa0a6b4de
View Raw JSON Data
{
  "trx_id": "e7dc78196e69c54a531a8ca892dcbafaa0a6b4de",
  "block": 32844882,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-05-12T14:23:57",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "8945.746236 VESTS"
    }
  ]
}
steemdelegated 5.616 SP to @dfg
2018/05/16 20:14:00
delegatorsteem
delegateedfg
vesting shares9145.298671 VESTS
Transaction InfoBlock #22489781/Trx c1e4db1f0e4846ac0fd95717cfbb0fab6ab557ba
View Raw JSON Data
{
  "trx_id": "c1e4db1f0e4846ac0fd95717cfbb0fab6ab557ba",
  "block": 22489781,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-16T20:14:00",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "9145.298671 VESTS"
    }
  ]
}
steemdelegated 18.195 SP to @dfg
2018/02/21 23:05:45
delegatorsteem
delegateedfg
vesting shares29628.116345 VESTS
Transaction InfoBlock #20076545/Trx a2f055b3ac1511a6db6b40f1d4957da5999f2148
View Raw JSON Data
{
  "trx_id": "a2f055b3ac1511a6db6b40f1d4957da5999f2148",
  "block": 20076545,
  "trx_in_block": 56,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-21T23:05:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "29628.116345 VESTS"
    }
  ]
}
steemdelegated 18.321 SP to @dfg
2017/10/13 05:08:42
delegatorsteem
delegateedfg
vesting shares29833.099763 VESTS
Transaction InfoBlock #16285170/Trx 255434e635611ed431ee86f5e5a1a15acbff84df
View Raw JSON Data
{
  "trx_id": "255434e635611ed431ee86f5e5a1a15acbff84df",
  "block": 16285170,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-10-13T05:08:42",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "dfg",
      "vesting_shares": "29833.099763 VESTS"
    }
  ]
}
2017/10/10 09:46:15
parent author
parent permlinkwebdevelopment
authordfg
permlink7-step-guide-to-jamstack-webdevelopment-in-2018
title7 step guide to Jamstack webdevelopment in 2018
body# 7 step guide to JAMStack webdevelopment in 2018 Combined with the proliferation of single page websites, and serving content dynamically via API calls, static website development has made somewhat of a comeback. While initially this might feel as step backwards, significant advantages can be obtained if this new approach is used for the right job. Recent developments in web technology have increased the potential of the concept. The essential part of this approach is not even very complex. The main idea is to use modern automation tools to, effectively build, a static version of an otherwise traditionally dynamic website. First I will discuss what tools and components are used in the creation of such a website. Then I will briefly discuss in what way they are used to provide the elements needed for a standard web application. In the third and final part of this post I will look at the challenges and the advantages of this approach. Finally I will briefly discuss what this means for contemporary web development. So what does a simple setup look like? I will start by addressing the obvious and necessary components. From there I will address optional and more advanced components that can be added to the setup. - Static file hosting (AWS S3, Google App Engine, GitHub Pages) - Template Language (Twig, Handlebars) - Content (Content as a Service, Template files, External API) - Task Runner (Gulp, Grunt, NPM) - CI/CD (GitLab / GitHub) - Function as a Service combined with an API Gateway (AWS Lambda, Google Cloud Functions) - Cloud Database instance (AWS Dynamo DB, Google Cloud Spanner etc) ### Static file hosting The first thing we need to discuss is already common knowledge. Recently it has become really easy to host static files for the web. By just uploading your files to one of these services you are able to easily expose them through http(s). Several companies offer this type of static file hosting, however the two most commonly known vendors are AWS and GitHub. The options span from cheap AWS to free at GitHub. (Yes that is free as in ‘free beer’). ### Template language A fairly obvious critique of creating static websites is the fact that they used to be a nightmare to maintain. Let’s say you have a simple website comprised of about ten pages. You might have to change ten files if you want to change some common detail in those pages. Enter the second component a template language. Traditionally a dynamic webserver, would be used to stitch together the templates with the layouts on request. However in this setup we are going to pre build every page on the site so the webserver can relax and directly respond with the finished page. Would it not be great if we could add the flexibility of a CMS to this setup? I will discuss this part next but we need two more components to do so: content and a task runner. ### Content First you need a source of content, this can take the form of a couple of template files, but it could also be based on a Content as a Service provider such as Contentful. This basically enables you to focus on creating a great frontend without worrying about having to create and maintain a backend. Contentful exposes content through an API and it allows us to fetch the content during the build stage of the website. We recommend using contentful as it is a simple way to manage content for people who are not familiar with markup languages. ### Task runner As I mentioned before we need something to stitch together the templates and content. The best approach is to use a task runner and a watcher. The watcher will monitor the templates and whenever they change run the task that will effectively build the static HTML pages. This can easily be achieved by creating a corresponding gulp, grunt or even native node task for it. This is basically everything you need to create a simple but manageable static website. This stack supports huge amounts of traffic while being exceptionally fast and cheap at the same time. The next steps are geared towards further automation or supporting increasingly more advanced features of websites. First lets look at further automation of building the resources and static HTML files. ### Continuous Integration and Continuous Deployment (CI/CD) The first component of the more advanced part of this guide is to make use of CI/CD in order to relocate the task of creating the static pages and the resources to the CI/CD environment of your repository host. More accurately it is interesting to make a separate task for building and deploying because some tasks, like combining and minifying CSS and JavaScript and to some extend HTML can further increase the performance of the site. However it should be noted that at least basic knowledge on using docker and configuring your CI/CD environment is welcome, as things can quickly get quite complicated. ### Function as a Service architecture Of course most modern website have to do more than just show some content. How would we go about processing data in this setup? Recently I have written a couple of posts on serverless architecture. In essence this is the solution to the problem that static website’s pose in this respect. FaaS architecture makes sure a static website can communicate with a more intelligent API. Moreover it ranks at the top of scalable solutions as it couples a HTTP web endpoint to a preprogrammed function. Basically removing the need to have a (virtual) server to handle backend code. ### Cloud Database The last thing a modern web application needs is database interaction. Where function as a service solves the problem of accessing dynamic content, the cloud database can provide this dynamic content (for example product searches). At first glance it might look difficult to connect a database to this setup. Once again, this is something the dynamic webserver would facilitate. However several providers have started to sell database as a service solutions. With some even providing the opportunity to just use one table for very simple and elegant solutions. Moreover these cloud databases can easily be accessed from AWS Lambda or Google Cloud functions. Therefor finally eradicating the need for any dedicated server in this setup. This allows basically any website or -application to run as a statically hosted page. Therefor this approach makes creating scalable webapplication cheap and lightning fast. However, every approach has drawbacks. Let’s look at some of the negative sides of this specific setup. Afterwards I will discuss the advantages and finally I will conclude which type of application is best suited for development along these lines. ## Drawbacks The most obvious drawback of this approach is the fact that it can be complex to manage this environment. For starters even the simplest setup (static html pages based on templates) can be difficult to manage for people who lack experience with HTML and/or templating languages. Moreover setting up an environment like this requires some trial and error at a bare minimum. Finally every additional step will increase the complexity more than the previous. CI/CD, FaaS and Cloud Databases are currently advanced solutions that require the skill of a DevOps expert. If you are not familiar with elements that are needed for this setup it can take quite some time to get started. If you just want to bootstrap a simple application this setup might not be for you. A second issue is the fact that this specific approach is not very well suited for complex web applications. The setup we discussed here is specifically directed at creating high performing, but relatively simple, websites. In upcoming posts we can explore possibilities of creating webapplications based on static pages. Recent examples of other approaches are GatsbyJS (based on react.js) and nuxt.js (based on vue.js). They might be better at dealing with JavaScript heavy and complex applications. In upcoming posts we might look to into other ways of creating a static version of such an application. Angular has the Angular Universal package but this relies on isomorphic rendering which is technically server side rendering of a webpage so this does not fit the JAMStack approach. ## Advantages However by now the advantages should be sufficiently clear. First, as promised, this setup should be lightning fast. Second, every component in this setup scales extremely well. Third, it is easier to keep this setup safe as the attack surface is reduced to the API endpoints that you use. Moreover the attack surface is reduced even further because the need to provide a separate CMS stack can be eliminated. Finally it is comparatively cheap. Static storage is cheap, with FaaS you only pay when a call is made to your function and the same applies for cloud databases. This means when your application is not used, you will not pay. This eliminates overhead that usually occurs when you need to pay a periodical fee for a VPS. ## Conclusion The final question that remains is for what type of projects this stack we described is best suited. By now it should be clear that this approach is most suitable for comparatively simple applications that have to scale well in high traffic environments. However, I can see this technique proliferating to more complex webapplications sooner than later. That brings me to what this means for web development in 2018. In general I feel like these developments will lead to a further decline of traditional backend languages such as PHP and Ruby. Follow our channel or give me a clap if you enjoyed reading this (lengthy) post :)
json metadata{"tags":["webdevelopment","jamstack","staticwebsite","webtechnology","guide"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #16204392/Trx 9ae4b7bef8773b3d4105ab06eb8b5443e18afcf2
View Raw JSON Data
{
  "trx_id": "9ae4b7bef8773b3d4105ab06eb8b5443e18afcf2",
  "block": 16204392,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-10-10T09:46:15",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "webdevelopment",
      "author": "dfg",
      "permlink": "7-step-guide-to-jamstack-webdevelopment-in-2018",
      "title": "7 step guide to Jamstack webdevelopment in 2018",
      "body": "# 7 step guide to JAMStack webdevelopment in 2018\nCombined with the proliferation of single page websites, and serving content dynamically via API calls, static website development has made somewhat of a comeback. While initially this might feel as step backwards, significant advantages can be obtained if this new approach is used for the right job. Recent developments in web technology have increased the potential of the concept.\n\nThe essential part of this approach is not even very complex. The main idea is to use modern automation tools to, effectively build, a static version of an otherwise traditionally dynamic website. First I will discuss what tools and components are used in the creation of such a website. Then I will briefly discuss in what way they are used to provide the elements needed for a standard web application. In the third and final part of this post I will look at the challenges and the advantages of this approach. Finally I will briefly discuss what this means for contemporary web development.\n\nSo what does a simple setup look like? I will start by addressing the obvious and necessary components. From there I will address optional and more advanced components that can be added to the setup.\n\n- Static file hosting (AWS S3, Google App Engine, GitHub Pages)\n- Template Language (Twig, Handlebars)\n- Content (Content as a Service, Template files, External API)\n- Task Runner (Gulp, Grunt, NPM)\n- CI/CD (GitLab / GitHub)\n- Function as a Service combined with an API Gateway (AWS Lambda, Google Cloud Functions)\n- Cloud Database instance (AWS Dynamo DB, Google Cloud Spanner etc)\n\n### Static file hosting\nThe first thing we need to discuss is already common knowledge. Recently it has become really easy to host static files for the web. By just uploading your files to one of these services you are able to easily expose them through http(s). Several companies offer this type of static file hosting, however the two most commonly known vendors are AWS and GitHub. The options span from cheap AWS to free at GitHub. (Yes that is free as in ‘free beer’).\n\n### Template language\nA fairly obvious critique of creating static websites is the fact that they used to be a nightmare to maintain. Let’s say you have a simple website comprised of about ten pages. You might have to change ten files if you want to change some common detail in those pages. Enter the second component a template language. Traditionally a dynamic webserver, would be used to stitch together the templates with the layouts on request. However in this setup we are going to pre build every page on the site so the webserver can relax and directly respond with the finished page. Would it not be great if we could add the flexibility of a CMS to this setup? I will discuss this part next but we need two more components to do so: content and a task runner.\n### Content\n\nFirst you need a source of content, this can take the form of a couple of template files, but it could also be based on a Content as a Service provider such as Contentful. This basically enables you to focus on creating a great frontend without worrying about having to create and maintain a backend. Contentful exposes content through an API and it allows us to fetch the content during the build stage of the website. We recommend using contentful as it is a simple way to manage content for people who are not familiar with markup languages.\n\n### Task runner\nAs I mentioned before we need something to stitch together the templates and content. The best approach is to use a task runner and a watcher. The watcher will monitor the templates and whenever they change run the task that will effectively build the static HTML pages. This can easily be achieved by creating a corresponding gulp, grunt or even native node task for it. This is basically everything you need to create a simple but manageable static website. This stack supports huge amounts of traffic while being exceptionally fast and cheap at the same time. The next steps are geared towards further automation or supporting increasingly more advanced features of websites. First lets look at further automation of building the resources and static HTML files.\n\n### Continuous Integration and Continuous Deployment (CI/CD)\nThe first component of the more advanced part of this guide is to make use of CI/CD in order to relocate the task of creating the static pages and the resources to the CI/CD environment of your repository host. More accurately it is interesting to make a separate task for building and deploying because some tasks, like combining and minifying CSS and JavaScript and to some extend HTML can further increase the performance of the site. However it should be noted that at least basic knowledge on using docker and configuring your CI/CD environment is welcome, as things can quickly get quite complicated.\n\n### Function as a Service architecture\nOf course most modern website have to do more than just show some content. How would we go about processing data in this setup? Recently I have written a couple of posts on serverless architecture. In essence this is the solution to the problem that static website’s pose in this respect. FaaS architecture makes sure a static website can communicate with a more intelligent API. Moreover it ranks at the top of scalable solutions as it couples a HTTP web endpoint to a preprogrammed function. Basically removing the need to have a (virtual) server to handle backend code.\n### Cloud Database\nThe last thing a modern web application needs is database interaction. Where function as a service solves the problem of accessing dynamic content, the cloud database can provide this dynamic content (for example product searches). At first glance it might look difficult to connect a database to this setup. Once again, this is something the dynamic webserver would facilitate. However several providers have started to sell database as a service solutions. With some even providing the opportunity to just use one table for very simple and elegant solutions. Moreover these cloud databases can easily be accessed from AWS Lambda or Google Cloud functions. Therefor finally eradicating the need for any dedicated server in this setup. This allows basically any website or -application to run as a statically hosted page. Therefor this approach makes creating scalable webapplication cheap and lightning fast.\n\nHowever, every approach has drawbacks. Let’s look at some of the negative sides of this specific setup. Afterwards I will discuss the advantages and finally I will conclude which type of application is best suited for development along these lines.\n\n## Drawbacks\nThe most obvious drawback of this approach is the fact that it can be complex to manage this environment. For starters even the simplest setup (static html pages based on templates) can be difficult to manage for people who lack experience with HTML and/or templating languages. Moreover setting up an environment like this requires some trial and error at a bare minimum. Finally every additional step will increase the complexity more than the previous. CI/CD, FaaS and Cloud Databases are currently advanced solutions that require the skill of a DevOps expert. If you are not familiar with elements that are needed for this setup it can take quite some time to get started. If you just want to bootstrap a simple application this setup might not be for you.\nA second issue is the fact that this specific approach is not very well suited for complex web applications. The setup we discussed here is specifically directed at creating high performing, but relatively simple, websites. In upcoming posts we can explore possibilities of creating webapplications based on static pages. Recent examples of other approaches are GatsbyJS (based on react.js) and nuxt.js (based on vue.js). They might be better at dealing with JavaScript heavy and complex applications.\nIn upcoming posts we might look to into other ways of creating a static version of such an application. Angular has the Angular Universal package but this relies on isomorphic rendering which is technically server side rendering of a webpage so this does not fit the JAMStack approach.\n## Advantages\nHowever by now the advantages should be sufficiently clear. First, as promised, this setup should be lightning fast. Second, every component in this setup scales extremely well. Third, it is easier to keep this setup safe as the attack surface is reduced to the API endpoints that you use. Moreover the attack surface is reduced even further because the need to provide a separate CMS stack can be eliminated. Finally it is comparatively cheap. Static storage is cheap, with FaaS you only pay when a call is made to your function and the same applies for cloud databases. This means when your application is not used, you will not pay. This eliminates overhead that usually occurs when you need to pay a periodical fee for a VPS.\n## Conclusion\nThe final question that remains is for what type of projects this stack we described is best suited. By now it should be clear that this approach is most suitable for comparatively simple applications that have to scale well in high traffic environments. However, I can see this technique proliferating to more complex webapplications sooner than later. That brings me to what this means for web development in 2018. In general I feel like these developments will lead to a further decline of traditional backend languages such as PHP and Ruby.\n\nFollow our channel or give me a clap if you enjoyed reading this (lengthy) post :)",
      "json_metadata": "{\"tags\":[\"webdevelopment\",\"jamstack\",\"staticwebsite\",\"webtechnology\",\"guide\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
dfgupdated their account properties
2017/10/10 09:43:09
accountdfg
memo keySTM53N8Adt8sLv2CWyDpnoWzc1T4SEK1jtZNBT2vKhMNUkfP4jKaf
json metadata{"profile":{"profile_image":"https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAASAAAAAJDJmNjNkNDMzLTI4MWEtNDNkOC04NTQ3LWEwMmE5M2FmODgzOQ.jpg","name":"DanielFortuyn","location":"Leiden, The Netherlands","website":"https://www.vdbf.nl"}}
Transaction InfoBlock #16204330/Trx d53d1edf68f972a0799b8c0528ca8ecd3e28df7e
View Raw JSON Data
{
  "trx_id": "d53d1edf68f972a0799b8c0528ca8ecd3e28df7e",
  "block": 16204330,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-10-10T09:43:09",
  "op": [
    "account_update",
    {
      "account": "dfg",
      "memo_key": "STM53N8Adt8sLv2CWyDpnoWzc1T4SEK1jtZNBT2vKhMNUkfP4jKaf",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAASAAAAAJDJmNjNkNDMzLTI4MWEtNDNkOC04NTQ3LWEwMmE5M2FmODgzOQ.jpg\",\"name\":\"DanielFortuyn\",\"location\":\"Leiden, The Netherlands\",\"website\":\"https://www.vdbf.nl\"}}"
    }
  ]
}
steemcreated a new account: @dfg
2017/10/10 09:41:39
fee0.500 STEEM
delegation57000.000000 VESTS
creatorsteem
new account namedfg
owner{"weight_threshold":1,"account_auths":[],"key_auths":[["STM6Q6xJsgfBDHajzvNSCZpaww8SASicTHjVEGKogo33MkKxiExKF",1]]}
active{"weight_threshold":1,"account_auths":[],"key_auths":[["STM7VgdBninPLy5gTgFQjP811diKi8sQocuZYJM9ZjdbtcHPB6D5B",1]]}
posting{"weight_threshold":1,"account_auths":[],"key_auths":[["STM5ASuLcGWnq3Mv5Q4RTdoRFPeDtLxAnCqzSrjxpQFxaGscQXvWq",1]]}
memo keySTM53N8Adt8sLv2CWyDpnoWzc1T4SEK1jtZNBT2vKhMNUkfP4jKaf
json metadata
extensions[]
Transaction InfoBlock #16204300/Trx a4c2e08deb3bdc904ecf390d96aa5f8c4a68ecae
View Raw JSON Data
{
  "trx_id": "a4c2e08deb3bdc904ecf390d96aa5f8c4a68ecae",
  "block": 16204300,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2017-10-10T09:41:39",
  "op": [
    "account_create_with_delegation",
    {
      "fee": "0.500 STEEM",
      "delegation": "57000.000000 VESTS",
      "creator": "steem",
      "new_account_name": "dfg",
      "owner": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM6Q6xJsgfBDHajzvNSCZpaww8SASicTHjVEGKogo33MkKxiExKF",
            1
          ]
        ]
      },
      "active": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM7VgdBninPLy5gTgFQjP811diKi8sQocuZYJM9ZjdbtcHPB6D5B",
            1
          ]
        ]
      },
      "posting": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM5ASuLcGWnq3Mv5Q4RTdoRFPeDtLxAnCqzSrjxpQFxaGscQXvWq",
            1
          ]
        ]
      },
      "memo_key": "STM53N8Adt8sLv2CWyDpnoWzc1T4SEK1jtZNBT2vKhMNUkfP4jKaf",
      "json_metadata": "",
      "extensions": []
    }
  ]
}

Account Metadata

POSTING JSON METADATA
profile{"profile_image":"https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAASAAAAAJDJmNjNkNDMzLTI4MWEtNDNkOC04NTQ3LWEwMmE5M2FmODgzOQ.jpg","name":"DanielFortuyn","location":"Leiden, The Netherlands","website":"https://www.vdbf.nl"}
JSON METADATA
profile{"profile_image":"https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAASAAAAAJDJmNjNkNDMzLTI4MWEtNDNkOC04NTQ3LWEwMmE5M2FmODgzOQ.jpg","name":"DanielFortuyn","location":"Leiden, The Netherlands","website":"https://www.vdbf.nl"}
{
  "posting_json_metadata": {
    "profile": {
      "profile_image": "https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAASAAAAAJDJmNjNkNDMzLTI4MWEtNDNkOC04NTQ3LWEwMmE5M2FmODgzOQ.jpg",
      "name": "DanielFortuyn",
      "location": "Leiden, The Netherlands",
      "website": "https://www.vdbf.nl"
    }
  },
  "json_metadata": {
    "profile": {
      "profile_image": "https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAASAAAAAJDJmNjNkNDMzLTI4MWEtNDNkOC04NTQ3LWEwMmE5M2FmODgzOQ.jpg",
      "name": "DanielFortuyn",
      "location": "Leiden, The Netherlands",
      "website": "https://www.vdbf.nl"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM6Q6xJsgfBDHajzvNSCZpaww8SASicTHjVEGKogo33MkKxiExKF1/1
Active
Single Signature
Public Keys
STM7VgdBninPLy5gTgFQjP811diKi8sQocuZYJM9ZjdbtcHPB6D5B1/1
Posting
Single Signature
Public Keys
STM5ASuLcGWnq3Mv5Q4RTdoRFPeDtLxAnCqzSrjxpQFxaGscQXvWq1/1
Memo
STM53N8Adt8sLv2CWyDpnoWzc1T4SEK1jtZNBT2vKhMNUkfP4jKaf
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6Q6xJsgfBDHajzvNSCZpaww8SASicTHjVEGKogo33MkKxiExKF",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7VgdBninPLy5gTgFQjP811diKi8sQocuZYJM9ZjdbtcHPB6D5B",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5ASuLcGWnq3Mv5Q4RTdoRFPeDtLxAnCqzSrjxpQFxaGscQXvWq",
        1
      ]
    ]
  },
  "memo": "STM53N8Adt8sLv2CWyDpnoWzc1T4SEK1jtZNBT2vKhMNUkfP4jKaf"
}

Witness Votes

0 / 30
No active witness votes.
[]