Ecoer Logo

@steemit.wiki

25

Traveller | Photographer | Javascript enthusiast

steemit.com/@steemit.wiki
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.043USD
STEEM
0.002STEEM
SBD
0.069SBD
Effective Power
5.007SP
├── Own SP
0.164SP
└── Incoming Deleg
+4.842SP

Detailed Balance

STEEM
balance
0.002STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.164SP
Delegated Out
0.000SP
Delegation In
4.842SP
Effective Power
5.007SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.069SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.002 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "267.191206 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7876.468600 VESTS",
  "sbd_balance": "0.069 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namesteemit.wiki
id849268
rank478,404
reputation666268023
created2018-03-13T09:06:54
recovery_accountsteem
proxyNone
post_count2
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-07-25T09:14:06
last_root_post2018-07-25T09:14:06
last_vote_time2018-05-28T05:00:39
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.002 STEEM
savings_balance0.000 STEEM
sbd_balance0.069 SBD
savings_sbd_balance0.000 SBD
vesting_shares267.191206 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7876.468600 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_update2018-05-28T04:57:12
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 849268,
  "name": "steemit.wiki",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5LmNwLtPoCNzScHautV4idC1zJK3SEVQDbsdRNPinAn74LTNoi",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM598XnLgwfc4eVLkdp5d1JtffAMLQfsQeBvWEf74VLKfLwwfHAA",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "busy.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM7nkj5MyZfpzn3KzQKsm8kHxwuG8YPs2ENGVMF9UeyajV5jwiR6",
        1
      ]
    ]
  },
  "memo_key": "STM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4",
  "json_metadata": "{\"profile\":{\"profile_image\":\"https://s33.postimg.cc/c3l73537j/DSC1422.jpg\",\"about\":\"Traveller | Photographer |  Javascript enthusiast\"}}",
  "posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://s33.postimg.cc/c3l73537j/DSC1422.jpg\",\"about\":\"Traveller | Photographer |  Javascript enthusiast\"}}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2018-05-28T04:57:12",
  "created": "2018-03-13T09:06:54",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 2,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779087207
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779087207
  },
  "voting_power": 0,
  "balance": "0.002 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.069 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2018-07-25T09:04:36",
  "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": "267.191206 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7876.468600 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": 61,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-07-25T09:14:06",
  "last_root_post": "2018-07-25T09:14:06",
  "last_vote_time": "2018-05-28T05:00:39",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 666268023,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 478404
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.842 SP to @steemit.wiki
2026/05/18 06:53:27
delegatorsteem
delegateesteemit.wiki
vesting shares7876.468600 VESTS
Transaction InfoBlock #106151380/Trx a26ea5063b9199d16a986cc7e038ee3c555b33c1
View Raw JSON Data
{
  "trx_id": "a26ea5063b9199d16a986cc7e038ee3c555b33c1",
  "block": 106151380,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-18T06:53:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "7876.468600 VESTS"
    }
  ]
}
steemdelegated 3.175 SP to @steemit.wiki
2026/05/13 06:49:54
delegatorsteem
delegateesteemit.wiki
vesting shares5164.258195 VESTS
Transaction InfoBlock #106008024/Trx 7cd88044b0a24556f5c38da305632cfe8eac6450
View Raw JSON Data
{
  "trx_id": "7cd88044b0a24556f5c38da305632cfe8eac6450",
  "block": 106008024,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-13T06:49:54",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "5164.258195 VESTS"
    }
  ]
}
steemdelegated 4.850 SP to @steemit.wiki
2026/04/26 06:04:21
delegatorsteem
delegateesteemit.wiki
vesting shares7888.984356 VESTS
Transaction InfoBlock #105518847/Trx 749c6b6affd5ed487614434b7024286022c7e664
View Raw JSON Data
{
  "trx_id": "749c6b6affd5ed487614434b7024286022c7e664",
  "block": 105518847,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-26T06:04:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "7888.984356 VESTS"
    }
  ]
}
steemdelegated 3.200 SP to @steemit.wiki
2026/01/24 01:40:21
delegatorsteem
delegateesteemit.wiki
vesting shares5205.805014 VESTS
Transaction InfoBlock #102873218/Trx 51f5d440876c7394709daeb07160352972cfb304
View Raw JSON Data
{
  "trx_id": "51f5d440876c7394709daeb07160352972cfb304",
  "block": 102873218,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-24T01:40:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "5205.805014 VESTS"
    }
  ]
}
steemdelegated 3.301 SP to @steemit.wiki
2024/12/17 20:49:39
delegatorsteem
delegateesteemit.wiki
vesting shares5370.024211 VESTS
Transaction InfoBlock #91319419/Trx 229d46883e99b803ea8e97b981a14747f8828c6c
View Raw JSON Data
{
  "trx_id": "229d46883e99b803ea8e97b981a14747f8828c6c",
  "block": 91319419,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-17T20:49:39",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "5370.024211 VESTS"
    }
  ]
}
steemdelegated 3.405 SP to @steemit.wiki
2023/11/14 12:30:03
delegatorsteem
delegateesteemit.wiki
vesting shares5539.157743 VESTS
Transaction InfoBlock #79873547/Trx adab464e5c424326d89e3af05e4a9172997fc51b
View Raw JSON Data
{
  "trx_id": "adab464e5c424326d89e3af05e4a9172997fc51b",
  "block": 79873547,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-14T12:30:03",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "5539.157743 VESTS"
    }
  ]
}
steemdelegated 5.211 SP to @steemit.wiki
2023/09/22 11:06:39
delegatorsteem
delegateesteemit.wiki
vesting shares8476.066529 VESTS
Transaction InfoBlock #78363724/Trx 91bedfa1611f3072dd318a49b44437c9082b2050
View Raw JSON Data
{
  "trx_id": "91bedfa1611f3072dd318a49b44437c9082b2050",
  "block": 78363724,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-22T11:06:39",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "8476.066529 VESTS"
    }
  ]
}
steemdelegated 5.348 SP to @steemit.wiki
2022/11/03 18:28:54
delegatorsteem
delegateesteemit.wiki
vesting shares8698.117967 VESTS
Transaction InfoBlock #69121356/Trx f56c0a121f8d284e253702edfb8b0b0be5cfe448
View Raw JSON Data
{
  "trx_id": "f56c0a121f8d284e253702edfb8b0b0be5cfe448",
  "block": 69121356,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T18:28:54",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "8698.117967 VESTS"
    }
  ]
}
steemdelegated 5.483 SP to @steemit.wiki
2022/01/17 23:37:12
delegatorsteem
delegateesteemit.wiki
vesting shares8918.225568 VESTS
Transaction InfoBlock #60824535/Trx dbd5f80836ebec1d5a233edbee6852b8e39fcc8f
View Raw JSON Data
{
  "trx_id": "dbd5f80836ebec1d5a233edbee6852b8e39fcc8f",
  "block": 60824535,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T23:37:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "8918.225568 VESTS"
    }
  ]
}
steemdelegated 5.596 SP to @steemit.wiki
2021/06/14 06:46:24
delegatorsteem
delegateesteemit.wiki
vesting shares9102.419856 VESTS
Transaction InfoBlock #54614823/Trx 269c7e800ef4ce6a81ba90de87680c53d73105b0
View Raw JSON Data
{
  "trx_id": "269c7e800ef4ce6a81ba90de87680c53d73105b0",
  "block": 54614823,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-14T06:46:24",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "9102.419856 VESTS"
    }
  ]
}
steemdelegated 5.711 SP to @steemit.wiki
2020/12/11 16:58:12
delegatorsteem
delegateesteemit.wiki
vesting shares9289.841830 VESTS
Transaction InfoBlock #49362069/Trx a83fb245966dddac43727bae4a506b110158eb85
View Raw JSON Data
{
  "trx_id": "a83fb245966dddac43727bae4a506b110158eb85",
  "block": 49362069,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T16:58:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "9289.841830 VESTS"
    }
  ]
}
steemdelegated 1.176 SP to @steemit.wiki
2020/12/06 10:33:33
delegatorsteem
delegateesteemit.wiki
vesting shares1912.543513 VESTS
Transaction InfoBlock #49213582/Trx 9a426daf4e57a6073664b3a30d5394f30fc862c0
View Raw JSON Data
{
  "trx_id": "9a426daf4e57a6073664b3a30d5394f30fc862c0",
  "block": 49213582,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T10:33:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.715 SP to @steemit.wiki
2020/12/05 20:36:00
delegatorsteem
delegateesteemit.wiki
vesting shares9296.049684 VESTS
Transaction InfoBlock #49197155/Trx da071c3cbce8b339135c8060691ed4ef38f808a8
View Raw JSON Data
{
  "trx_id": "da071c3cbce8b339135c8060691ed4ef38f808a8",
  "block": 49197155,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T20:36:00",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "9296.049684 VESTS"
    }
  ]
}
steemdelegated 1.180 SP to @steemit.wiki
2020/11/03 03:49:24
delegatorsteem
delegateesteemit.wiki
vesting shares1920.017158 VESTS
Transaction InfoBlock #48272146/Trx 7681845c9e77380622d89b82d945827b4edb9921
View Raw JSON Data
{
  "trx_id": "7681845c9e77380622d89b82d945827b4edb9921",
  "block": 48272146,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-03T03:49:24",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.840 SP to @steemit.wiki
2020/05/09 11:37:21
delegatorsteem
delegateesteemit.wiki
vesting shares9498.855043 VESTS
Transaction InfoBlock #43223924/Trx 7f06edcb48409e16c68cd52f3867a2b4ae2d44c1
View Raw JSON Data
{
  "trx_id": "7f06edcb48409e16c68cd52f3867a2b4ae2d44c1",
  "block": 43223924,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T11:37:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "9498.855043 VESTS"
    }
  ]
}
steemdelegated 1.201 SP to @steemit.wiki
2020/05/08 16:06:06
delegatorsteem
delegateesteemit.wiki
vesting shares1953.311140 VESTS
Transaction InfoBlock #43201057/Trx e67f4a7da87212a9c3f57121e35ecd02ab90d030
View Raw JSON Data
{
  "trx_id": "e67f4a7da87212a9c3f57121e35ecd02ab90d030",
  "block": 43201057,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T16:06:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
2020/03/13 10:07:03
parent authorsteemit.wiki
parent permlinkresep-dapur-ibu-tuna-inari-sushi
authorsteemitboard
permlinksteemitboard-notify-steemitwiki-20200313t100703000z
title
bodyCongratulations @steemit.wiki! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@steemit.wiki/birthday2.png</td><td>Happy Steem Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@steemit.wiki) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=steemit.wiki)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board"><img src="https://steemitimages.com/64x128/https://steemitimages.com/0x0/![](https://cdn.steemitimages.com/DQmUuJkZdnSpHVWssxF82ntymqXg4Pvk6K6bYvckUYVRsnj/image.png)"></a></td><td><a href="https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board">Downvote challenge - Add up to 3 funny badges to your board</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 #41612830/Trx 5a746f3da2dce5e5456b2477f1778c33973f7a80
View Raw JSON Data
{
  "trx_id": "5a746f3da2dce5e5456b2477f1778c33973f7a80",
  "block": 41612830,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-03-13T10:07:03",
  "op": [
    "comment",
    {
      "parent_author": "steemit.wiki",
      "parent_permlink": "resep-dapur-ibu-tuna-inari-sushi",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-steemitwiki-20200313t100703000z",
      "title": "",
      "body": "Congratulations @steemit.wiki! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@steemit.wiki/birthday2.png</td><td>Happy Steem Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@steemit.wiki) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=steemit.wiki)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board\"><img src=\"https://steemitimages.com/64x128/https://steemitimages.com/0x0/![](https://cdn.steemitimages.com/DQmUuJkZdnSpHVWssxF82ntymqXg4Pvk6K6bYvckUYVRsnj/image.png)\"></a></td><td><a href=\"https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board\">Downvote challenge - Add up to 3 funny badges to your board</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.916 SP to @steemit.wiki
2019/10/02 03:19:27
delegatorsteem
delegateesteemit.wiki
vesting shares9623.120303 VESTS
Transaction InfoBlock #36920524/Trx 5bbf4ba5fd9f8e722f6edf1ca4fb2928e8a94298
View Raw JSON Data
{
  "trx_id": "5bbf4ba5fd9f8e722f6edf1ca4fb2928e8a94298",
  "block": 36920524,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-10-02T03:19:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "9623.120303 VESTS"
    }
  ]
}
2019/03/13 17:06:00
parent authorsteemit.wiki
parent permlinkresep-dapur-ibu-tuna-inari-sushi
authorsteemitboard
permlinksteemitboard-notify-steemitwiki-20190313t170559000z
title
bodyCongratulations @steemit.wiki! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@steemit.wiki/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@steemit.wiki) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=steemit.wiki)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png"></a></td><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter">Are you a DrugWars early adopter? Benvenuto in famiglia!</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #31122742/Trx 8a0fba53f87cbc469c383c774b6585be57e2c8c4
View Raw JSON Data
{
  "trx_id": "8a0fba53f87cbc469c383c774b6585be57e2c8c4",
  "block": 31122742,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-03-13T17:06:00",
  "op": [
    "comment",
    {
      "parent_author": "steemit.wiki",
      "parent_permlink": "resep-dapur-ibu-tuna-inari-sushi",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-steemitwiki-20190313t170559000z",
      "title": "",
      "body": "Congratulations @steemit.wiki! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@steemit.wiki/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@steemit.wiki) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=steemit.wiki)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png\"></a></td><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\">Are you a DrugWars early adopter? Benvenuto in famiglia!</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 6.038 SP to @steemit.wiki
2018/10/24 09:34:21
delegatorsteem
delegateesteemit.wiki
vesting shares9820.929569 VESTS
Transaction InfoBlock #27084672/Trx 5ef7283873ed94a5d1e80f18361892bcba99bd97
View Raw JSON Data
{
  "trx_id": "5ef7283873ed94a5d1e80f18361892bcba99bd97",
  "block": 27084672,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-10-24T09:34:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "9820.929569 VESTS"
    }
  ]
}
steemdelegated 18.454 SP to @steemit.wiki
2018/10/12 10:32:21
delegatorsteem
delegateesteemit.wiki
vesting shares30016.681347 VESTS
Transaction InfoBlock #26740487/Trx 8139d4a5b1e2f298f2c1f7c5f316d7e7add4b500
View Raw JSON Data
{
  "trx_id": "8139d4a5b1e2f298f2c1f7c5f316d7e7add4b500",
  "block": 26740487,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-10-12T10:32:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "30016.681347 VESTS"
    }
  ]
}
2018/07/25 09:14:57
voterindovote
authorsteemit.wiki
permlinkresep-dapur-ibu-tuna-inari-sushi
weight900 (9.00%)
Transaction InfoBlock #24481125/Trx 7cbfc7ee2b3b8fbfb6db17e8b6017ea6bbe9ffdb
View Raw JSON Data
{
  "trx_id": "7cbfc7ee2b3b8fbfb6db17e8b6017ea6bbe9ffdb",
  "block": 24481125,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-07-25T09:14:57",
  "op": [
    "vote",
    {
      "voter": "indovote",
      "author": "steemit.wiki",
      "permlink": "resep-dapur-ibu-tuna-inari-sushi",
      "weight": 900
    }
  ]
}
2018/07/25 09:14:06
parent author
parent permlinkindonesia
authorsteemit.wiki
permlinkresep-dapur-ibu-tuna-inari-sushi
titleResep Dapur Ibu : Tuna Inari Sushi 🍣 🍣 🍣
body![salmon-1353598_960_720.jpg](https://cdn.steemitimages.com/DQmNe1VbDjzxyiqt5C7ZeEn5vD148rr3pZ3JwPAgNCCcmS1/salmon-1353598_960_720.jpg) Sekitar setengah abad yang lalu masakan jepang sudah terkenal di seluruh dunia. Mulai dari asia sampai eropa. Kali ini kita akan mencoba masakan jepang untuk dimasak di dapur kita. ### Bahan-bahan 10 bh tahu pong 300 ml air 4 sdm kecap asin 2 sdm gula pasir 1 piring nasi 1 sdm cuka beras 1 sdm gula cair 1/2 sdt garam 2 sdm wijen sangrai Topping tuna: 3 siung bawang putih,iris halus 3 siung bawang merah,iris halus 1 klg tuna,tiriskan airnya 3 sdm saus tomat 2 sdm mayonnaise ### Langkah Didihkan air,kecap asin + gula pasir Masukkan tahu pong,masak sampai mendidih,tiriskan,belah 2 tahu Campur nasi dgn cuka beras,garam,gula cair & wijen sangrai,aduk rata Topping tuna: Panaskan sedikit minyak, tumis bawang putih & bawang merah sampai harum,masukkan tuna,masak sebentar.Matikan api, tambahkan saus tomat + mayonnaise.Aduk rata Masukkan nasi ke dlm tahu,beri topping tuna di atasnya ![Screen Shot 2018-07-25 at 16.13.26.png](https://cdn.steemitimages.com/DQmY7H3PYwXuioiKGx8kCyRsADq9WQGn6Wo6ipsQjFLNveU/Screen%20Shot%202018-07-25%20at%2016.13.26.png)
json metadata{"tags":["indonesia","sushi","tuna","cook","recipe"],"image":["https://cdn.steemitimages.com/DQmNe1VbDjzxyiqt5C7ZeEn5vD148rr3pZ3JwPAgNCCcmS1/salmon-1353598_960_720.jpg","https://cdn.steemitimages.com/DQmY7H3PYwXuioiKGx8kCyRsADq9WQGn6Wo6ipsQjFLNveU/Screen%20Shot%202018-07-25%20at%2016.13.26.png"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #24481108/Trx 1872f56543595500378e918f1c53b5186f072449
View Raw JSON Data
{
  "trx_id": "1872f56543595500378e918f1c53b5186f072449",
  "block": 24481108,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-07-25T09:14:06",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "indonesia",
      "author": "steemit.wiki",
      "permlink": "resep-dapur-ibu-tuna-inari-sushi",
      "title": "Resep Dapur Ibu : Tuna Inari Sushi 🍣 🍣 🍣",
      "body": "![salmon-1353598_960_720.jpg](https://cdn.steemitimages.com/DQmNe1VbDjzxyiqt5C7ZeEn5vD148rr3pZ3JwPAgNCCcmS1/salmon-1353598_960_720.jpg)\n\n\nSekitar setengah abad yang lalu masakan jepang sudah terkenal di seluruh dunia. Mulai dari asia sampai eropa. Kali ini kita akan mencoba masakan jepang untuk dimasak di dapur kita.\n\n### Bahan-bahan\t\n10 bh tahu pong\n300 ml air\n4 sdm kecap asin\n2 sdm gula pasir\n1 piring nasi\n1 sdm cuka beras\n1 sdm gula cair\n1/2 sdt garam\n2 sdm wijen sangrai\nTopping tuna:\n3 siung bawang putih,iris halus\n3 siung bawang merah,iris halus\n1 klg tuna,tiriskan airnya\n3 sdm saus tomat\n2 sdm mayonnaise\n\n### Langkah\t\n\nDidihkan air,kecap asin + gula pasir\n\n\nMasukkan tahu pong,masak sampai mendidih,tiriskan,belah 2 tahu\n\n\nCampur nasi dgn cuka beras,garam,gula cair & wijen sangrai,aduk rata\n\n\nTopping tuna: Panaskan sedikit minyak, tumis bawang putih & bawang merah sampai harum,masukkan tuna,masak sebentar.Matikan api, tambahkan saus tomat + mayonnaise.Aduk rata\n\n\nMasukkan nasi ke dlm tahu,beri topping tuna di atasnya\n\n\n\n![Screen Shot 2018-07-25 at 16.13.26.png](https://cdn.steemitimages.com/DQmY7H3PYwXuioiKGx8kCyRsADq9WQGn6Wo6ipsQjFLNveU/Screen%20Shot%202018-07-25%20at%2016.13.26.png)",
      "json_metadata": "{\"tags\":[\"indonesia\",\"sushi\",\"tuna\",\"cook\",\"recipe\"],\"image\":[\"https://cdn.steemitimages.com/DQmNe1VbDjzxyiqt5C7ZeEn5vD148rr3pZ3JwPAgNCCcmS1/salmon-1353598_960_720.jpg\",\"https://cdn.steemitimages.com/DQmY7H3PYwXuioiKGx8kCyRsADq9WQGn6Wo6ipsQjFLNveU/Screen%20Shot%202018-07-25%20at%2016.13.26.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
steemit.wikiclaimed reward balance: 0.002 STEEM, 0.069 SBD, 0.039 SP
2018/07/25 09:04:36
accountsteemit.wiki
reward steem0.002 STEEM
reward sbd0.069 SBD
reward vests63.020166 VESTS
Transaction InfoBlock #24480918/Trx 0e1c8b84800a3758d6cd2b21a6ca3a10799a0f21
View Raw JSON Data
{
  "trx_id": "0e1c8b84800a3758d6cd2b21a6ca3a10799a0f21",
  "block": 24480918,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-07-25T09:04:36",
  "op": [
    "claim_reward_balance",
    {
      "account": "steemit.wiki",
      "reward_steem": "0.002 STEEM",
      "reward_sbd": "0.069 SBD",
      "reward_vests": "63.020166 VESTS"
    }
  ]
}
steemdelegated 18.578 SP to @steemit.wiki
2018/07/18 12:28:12
delegatorsteem
delegateesteemit.wiki
vesting shares30218.604644 VESTS
Transaction InfoBlock #24283518/Trx 47376e455943be09f57004c220414b738ab4ced8
View Raw JSON Data
{
  "trx_id": "47376e455943be09f57004c220414b738ab4ced8",
  "block": 24283518,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-07-18T12:28:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "30218.604644 VESTS"
    }
  ]
}
2018/06/04 05:00:39
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
sbd payout0.069 SBD
steem payout0.002 STEEM
vesting payout63.020166 VESTS
Transaction InfoBlock #23018230/Virtual Operation #74
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 23018230,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 74,
  "timestamp": "2018-06-04T05:00:39",
  "op": [
    "author_reward",
    {
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "sbd_payout": "0.069 SBD",
      "steem_payout": "0.002 STEEM",
      "vesting_payout": "63.020166 VESTS"
    }
  ]
}
2018/05/28 12:56:27
votermvanyi
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight10000 (100.00%)
Transaction InfoBlock #22826200/Trx 212a49811fc14dd90a1a596101f2ef1746a33581
View Raw JSON Data
{
  "trx_id": "212a49811fc14dd90a1a596101f2ef1746a33581",
  "block": 22826200,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T12:56:27",
  "op": [
    "vote",
    {
      "voter": "mvanyi",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 10000
    }
  ]
}
2018/05/28 10:43:30
parent authorsteemit.wiki
parent permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
authormcfarhat
permlinkre-steemitwiki-build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue-20180528t104327773z
title
bodyYou account has been banned due to being the same account as ryanalfarisi ---- Need help? Write a ticket on https://support.utopian.io/. Chat with us on [Discord](https://discord.gg/uTyJkNm). [[utopian-moderator]](https://join.utopian.io/)
json metadata{"tags":["utopian-io"],"links":["https://support.utopian.io/","https://discord.gg/uTyJkNm","https://join.utopian.io/"],"app":"steemit/0.1"}
Transaction InfoBlock #22823542/Trx 7c7e4d89114236b4f0b5d88c5c06b5db2d479f4a
View Raw JSON Data
{
  "trx_id": "7c7e4d89114236b4f0b5d88c5c06b5db2d479f4a",
  "block": 22823542,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T10:43:30",
  "op": [
    "comment",
    {
      "parent_author": "steemit.wiki",
      "parent_permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "author": "mcfarhat",
      "permlink": "re-steemitwiki-build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue-20180528t104327773z",
      "title": "",
      "body": "You account has been banned due to being the same account as ryanalfarisi \n\n---- \nNeed help? Write a ticket on https://support.utopian.io/. \nChat with us on [Discord](https://discord.gg/uTyJkNm). \n[[utopian-moderator]](https://join.utopian.io/)",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"links\":[\"https://support.utopian.io/\",\"https://discord.gg/uTyJkNm\",\"https://join.utopian.io/\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/05/28 06:50:09
voterproperfraction
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight10000 (100.00%)
Transaction InfoBlock #22818876/Trx ed5f1a4e0a746b269fb6ba918b38283e76293df6
View Raw JSON Data
{
  "trx_id": "ed5f1a4e0a746b269fb6ba918b38283e76293df6",
  "block": 22818876,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T06:50:09",
  "op": [
    "vote",
    {
      "voter": "properfraction",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 10000
    }
  ]
}
2018/05/28 06:33:21
voterambowrite
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight10000 (100.00%)
Transaction InfoBlock #22818540/Trx dfa98e66b2434c2e8c7517f02f9ff6154b9031e1
View Raw JSON Data
{
  "trx_id": "dfa98e66b2434c2e8c7517f02f9ff6154b9031e1",
  "block": 22818540,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T06:33:21",
  "op": [
    "vote",
    {
      "voter": "ambowrite",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 10000
    }
  ]
}
2018/05/28 06:32:51
voterosm0sis
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight2500 (25.00%)
Transaction InfoBlock #22818530/Trx 7a1c50766f179b7636a47fa0638eeef1c0f7aa7a
View Raw JSON Data
{
  "trx_id": "7a1c50766f179b7636a47fa0638eeef1c0f7aa7a",
  "block": 22818530,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T06:32:51",
  "op": [
    "vote",
    {
      "voter": "osm0sis",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 2500
    }
  ]
}
2018/05/28 06:32:48
voterzapncrap
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight3000 (30.00%)
Transaction InfoBlock #22818529/Trx 2ab2ee33a3d33a3d4d5673b683fd128ff6bd2410
View Raw JSON Data
{
  "trx_id": "2ab2ee33a3d33a3d4d5673b683fd128ff6bd2410",
  "block": 22818529,
  "trx_in_block": 40,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T06:32:48",
  "op": [
    "vote",
    {
      "voter": "zapncrap",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 3000
    }
  ]
}
2018/05/28 06:32:45
votercurx
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight3000 (30.00%)
Transaction InfoBlock #22818528/Trx 6838d93984ff58efc9871fc06e90724cd5d96465
View Raw JSON Data
{
  "trx_id": "6838d93984ff58efc9871fc06e90724cd5d96465",
  "block": 22818528,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T06:32:45",
  "op": [
    "vote",
    {
      "voter": "curx",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 3000
    }
  ]
}
2018/05/28 06:32:39
parent authorsteemit.wiki
parent permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
authordeathwing
permlinkre-steemitwiki-build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue-20180528t063243118z
title
bodyThank you for the contribution. - Next time when you are writing a similar tutorial please do mention/link (the repos) of 3rd party apps that you are utilizing. Your contribution has been evaluated according to [Utopian policies and guidelines](https://join.utopian.io/guidelines), as well as a predefined set of questions pertaining to the category. To view those questions and the relevant answers related to your post, [click here](https://review.utopian.io/result/8/32331223). ---- Need help? Write a ticket on https://support.utopian.io/. Chat with us on [Discord](https://discord.gg/uTyJkNm). [[utopian-moderator]](https://join.utopian.io/)
json metadata{"tags":["utopian-io"],"links":["https://join.utopian.io/guidelines","https://review.utopian.io/result/8/32331223","https://support.utopian.io/","https://discord.gg/uTyJkNm","https://join.utopian.io/"],"app":"steemit/0.1"}
Transaction InfoBlock #22818526/Trx 055cc784313a5181c8399149245c44bef8e5d9ed
View Raw JSON Data
{
  "trx_id": "055cc784313a5181c8399149245c44bef8e5d9ed",
  "block": 22818526,
  "trx_in_block": 47,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T06:32:39",
  "op": [
    "comment",
    {
      "parent_author": "steemit.wiki",
      "parent_permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "author": "deathwing",
      "permlink": "re-steemitwiki-build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue-20180528t063243118z",
      "title": "",
      "body": "Thank you for the contribution. \n\n- Next time when you are writing a similar tutorial please do mention/link (the repos) of 3rd party apps that you are utilizing.\n\nYour contribution has been evaluated according to [Utopian policies and guidelines](https://join.utopian.io/guidelines), as well as a predefined set of questions pertaining to the category.\n\nTo view those questions and the relevant answers related to your post, [click here](https://review.utopian.io/result/8/32331223).\n\n---- \nNeed help? Write a ticket on https://support.utopian.io/. \nChat with us on [Discord](https://discord.gg/uTyJkNm). \n[[utopian-moderator]](https://join.utopian.io/)",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"links\":[\"https://join.utopian.io/guidelines\",\"https://review.utopian.io/result/8/32331223\",\"https://support.utopian.io/\",\"https://discord.gg/uTyJkNm\",\"https://join.utopian.io/\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/05/28 05:55:00
votersensation
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight10000 (100.00%)
Transaction InfoBlock #22817773/Trx 5c33df23c58ff942e74b67394bbc9fdfee7ea8a1
View Raw JSON Data
{
  "trx_id": "5c33df23c58ff942e74b67394bbc9fdfee7ea8a1",
  "block": 22817773,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:55:00",
  "op": [
    "vote",
    {
      "voter": "sensation",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 10000
    }
  ]
}
2018/05/28 05:44:39
votermoby-dick
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight10000 (100.00%)
Transaction InfoBlock #22817566/Trx f80341cae036ccac5482e58e978bc274618ddccd
View Raw JSON Data
{
  "trx_id": "f80341cae036ccac5482e58e978bc274618ddccd",
  "block": 22817566,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:44:39",
  "op": [
    "vote",
    {
      "voter": "moby-dick",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 10000
    }
  ]
}
2018/05/28 05:31:48
votermagpielover
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight10000 (100.00%)
Transaction InfoBlock #22817309/Trx 3a74bdee5ac5e14a12a5c096077d57b35f0e13b2
View Raw JSON Data
{
  "trx_id": "3a74bdee5ac5e14a12a5c096077d57b35f0e13b2",
  "block": 22817309,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:31:48",
  "op": [
    "vote",
    {
      "voter": "magpielover",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 10000
    }
  ]
}
2018/05/28 05:30:54
parent authorsteemit.wiki
parent permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
authorintroduce.bot
permlinkintroduce-bot-re-steemit-wikibuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
title
body✅ @steemit.wiki, I gave you an upvote on your first post! **Please give me a follow** and I will give you a follow in return!<br><br>Please also take a moment to read [this post](https://steemit.com/spam/@pleasestop/introducing-pleasestop-here-to-reduce-comment-spam) regarding bad behavior on Steemit.
json metadata
Transaction InfoBlock #22817291/Trx 7873746422ddff38067c73ce7b8f8adcf6549397
View Raw JSON Data
{
  "trx_id": "7873746422ddff38067c73ce7b8f8adcf6549397",
  "block": 22817291,
  "trx_in_block": 35,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:30:54",
  "op": [
    "comment",
    {
      "parent_author": "steemit.wiki",
      "parent_permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "author": "introduce.bot",
      "permlink": "introduce-bot-re-steemit-wikibuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "title": "",
      "body": "✅  @steemit.wiki, I gave you an upvote on your first post! **Please give me a follow** and I will give you a follow in return!<br><br>Please also take a moment to read [this post](https://steemit.com/spam/@pleasestop/introducing-pleasestop-here-to-reduce-comment-spam) regarding bad behavior on Steemit.",
      "json_metadata": ""
    }
  ]
}
2018/05/28 05:30:54
voterintroduce.bot
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight152 (1.52%)
Transaction InfoBlock #22817291/Trx d52fd05dc8aa271664fb3eb8e28e0b24d8c816dc
View Raw JSON Data
{
  "trx_id": "d52fd05dc8aa271664fb3eb8e28e0b24d8c816dc",
  "block": 22817291,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:30:54",
  "op": [
    "vote",
    {
      "voter": "introduce.bot",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 152
    }
  ]
}
2018/05/28 05:30:48
votersalty-mcgriddles
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight90 (0.90%)
Transaction InfoBlock #22817289/Trx f251188c0706affdbad386b2857ca1a68ff380e1
View Raw JSON Data
{
  "trx_id": "f251188c0706affdbad386b2857ca1a68ff380e1",
  "block": 22817289,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:30:48",
  "op": [
    "vote",
    {
      "voter": "salty-mcgriddles",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 90
    }
  ]
}
2018/05/28 05:30:48
voterr351574nc3
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight100 (1.00%)
Transaction InfoBlock #22817289/Trx 500a3ba789316e3f98070b4c5ebe55e74cef55c5
View Raw JSON Data
{
  "trx_id": "500a3ba789316e3f98070b4c5ebe55e74cef55c5",
  "block": 22817289,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:30:48",
  "op": [
    "vote",
    {
      "voter": "r351574nc3",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 100
    }
  ]
}
2018/05/28 05:14:03
votersteemitstats
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight500 (5.00%)
Transaction InfoBlock #22816954/Trx fc7b3db0c50ac007aa015c6bdd5463f6852bf9e8
View Raw JSON Data
{
  "trx_id": "fc7b3db0c50ac007aa015c6bdd5463f6852bf9e8",
  "block": 22816954,
  "trx_in_block": 43,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:14:03",
  "op": [
    "vote",
    {
      "voter": "steemitstats",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 500
    }
  ]
}
2018/05/28 05:00:48
voterax3
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight100 (1.00%)
Transaction InfoBlock #22816689/Trx 0d26a86a3c7e1479e0abe529ff10a9d0f941ce46
View Raw JSON Data
{
  "trx_id": "0d26a86a3c7e1479e0abe529ff10a9d0f941ce46",
  "block": 22816689,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:00:48",
  "op": [
    "vote",
    {
      "voter": "ax3",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 100
    }
  ]
}
2018/05/28 05:00:39
votersteemit.wiki
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
weight10000 (100.00%)
Transaction InfoBlock #22816686/Trx bc470d6c8caa78a34e07adc3fdecdcbe557c9be9
View Raw JSON Data
{
  "trx_id": "bc470d6c8caa78a34e07adc3fdecdcbe557c9be9",
  "block": 22816686,
  "trx_in_block": 73,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:00:39",
  "op": [
    "vote",
    {
      "voter": "steemit.wiki",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "weight": 10000
    }
  ]
}
2018/05/28 05:00:39
parent author
parent permlinkutopian-io
authorsteemit.wiki
permlinkbuild-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue
title Build a simple chat app using vuejs and php #1 Setting pusher, Create Channel, Request with Axios, Show data with vue
body #### Repository https://github.com/vuejs/vue #### What Will I Learn? - Create pusher channel - Use pusher and settings in Vue - Use pusher and settings in PHP #### Requirements - Basic HTML, Javascript,CSS - Basic Vuejs - Basic PHP - Localhost (xampp, wampp, or etc) #### Difficulty - Intermediate ## Preparation I will share how to make a simple chat app using **PHP as backend** and **Vuejs as frontend**. This is a tutorial series. in this section, I will use the technology provided pusher. we will learn how to apply the technology to our project. for more details about pusher, you can visit the official website https://pusher.com. ### Create App keys in pusher - **Login/Create a new account** Please login or create a new account at Pusher. after you successfully log in you can access the dashboard. please make new Chanel apps. Create a channel app like the picture below, you can ***name your application*** as you wish. and select the ***cluster*** you want. ![Screenshot_8.png](https://ipfs.busy.org/ipfs/QmaGrGy9xRG2QRXSGfWjhqtnwvGYypR5FzyjsT5SuP1sYL) You can also choose what technology you will use in the frontend and backend sections. but for this tutorial, I do not choose anything. - **Get App Keys** You can go to the dashboard of the application you created and select the **app keys** menu. in real life, we do not want anyone to know our app keys. because these app keys are **confidential**. but in this tutorial, I show the app keys for tutorial purposes. ![Screenshot_9.png](https://ipfs.busy.org/ipfs/Qmehguccx7wyexeuhWhREvm9wZCGrw51RM8FvoVdES7diS) After we have got app keys in pusher next we will do some setting on PHP as backend technology that we use. ### Setting Backend Because we will use PHP we need to install package pusher on **PHP**. We can install via ***composer.json*** like this: ``` composer require pusher/pusher-php-server``` If it has been successfully installed then we can see the package in **composer.json** in our project folder. <pre> <code> { "require": { "pusher/pusher-php-server": "^3.0" } } </code> </pre> Then I will create ***index.php*** file to handle all code related to the backend. ### Setting Frontend - **Load Vuejs** We will create the static structure in the ***index.html*** file. Because we will use Vuejs as frontend. we will load the **Vuejs** in index.html via **CDN**: ``` javascript <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script> ``` - **Load Axios** Then for AJAX request, we will use [axios](https://github.com/axios/axios). We will also load **Axios** in index.html via **CDN**: ``` javascript <script src="https://unpkg.com/axios/dist/axios.min.js"></script> ``` - **Load Pusher.js** In javascript section we will also load the library [pusher.js](https://github.com/pusher/pusher-js). we can load **pusher.js** in index.html via **CDN**: ``` javascript <script src="https://js.pusher.com/4.2/pusher.min.js"></script> ``` - **Create index.html file** We will make the frontend part in index.html. here is the html structure I have created. ``` html <!DOCTYPE html> <html> <head> <title>Chat App using PHP and Vuejs</title> <script src="https://js.pusher.com/4.2/pusher.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <style type="text/css"> body{ width: 80%; margin:10% auto; font-family: sans-serif; } textarea{ width: 99%; overflow: hidden; } .chat-message{ padding: 10px; } .username{ font-weight: 800; padding-bottom: 5px; } .username, .time{ font-size: 0.8rem; } .message{ white-space: pre-wrap; } </style> </head> <body> <div class="chat-box" id="app"> <h1>Chat App using PHP and Vuejs</h1> <input type="text" placeholder="Your name"> <hr> <div class="chat-lists"> <div class="chat-message"> <div class="username"> Me <span class="time">24/05/2018</span> </div> <div class="message">Hi, this is my first contribution</div> </div> <div class="chat-message"> <div class="username"> My Friend <span class="time">24/05/2018</span> </div> <div class="message">oh yeah, good luck bro..!!</div> </div> </div> <div class="chat-input"> <textarea name="chat-box" rows="8"></textarea> </div> </div> <script src="main.js" type="text/javascript"></script> </body> </html> ``` We load **Vuejs**, **Axios** and **Pusher.js** before the closing ```<head>``` tag and before the closing tag ```<body>``` we load the **main.js** file, This file is a javascript file that we will create for our chat app. ``` <script src="main.js" type="text/javascript"></script> ``` We can see the static page we have created by opening the index.html in the browser, more or less the result will be like this: ![Screenshot_10.png](https://ipfs.busy.org/ipfs/QmWteHhhxAyk4V6Mp6bsRjM5vieAqxyV29uCHVTYY98mNv) You can add your own CSS. The CSS I created is simple because our focus is not on the CSS. ## Use Pusher We have done the settings in the **backend** and **frontend**. Now we need to use pusher section in the **PHP** and **Javascript**. We have split our javascript file in **main.js**. - **Use pusher in javascript** We will use pusher in our javascript file and do some settings. **main.js** ``` javascript Pusher.logToConsole = true; var pusher = new Pusher('cabcc969c12fd8e852cd',{ cluster : 'ap1', encrypted : true }) var channel = pusher.subscribe('chat-channel'); ``` - We have loaded pusher.js in the ```<head>``` section of the **index.html** file. So we can use the ***Pusher*** function in this **main.js**. During the development mode, it is recommended to display errors in the console., You can do like this ```Pusher.logToConsole = true;``` - We can configure the frontend with **APP KEYS** application that we created in the dashboard pusher. **APP KEYS** ``` app_id = "531270" key = "cabcc969c12fd8e852cd" secret = "ce28ec76bee486ecff35" cluster = "ap1" ``` to initialize pusher in **frontend** we can do it with ```new pusher ()```. This function has 2 parameters. **The first** is the **key** and **the second** is an object that contains options. ```cluster : 'ap1'``` is the cluster you selected when creating the chanel app on the dashboard pusher. ```encrypted : true ``` is an option to encrypt data. The value is **boolean**. - Then we can make a channel which will be connected to the backend ```var channel = pusher.subscribe('chat-channel');```. We can use the ```subscribe()``` method and name the channel. - **Use pusher in PHP** in the backend section, we will do things that are not much different from the frontend. We will do the configuration here. **index.php** ``` php <?php require('../vendor/autoload.php'); define("APP_KEY", 'cabcc969c12fd8e852cd'); define("APP_SECRET", 'ce28ec76bee486ecff35'); define("APP_ID", '531270'); $pusher = new Pusher( APP_KEY, APP_SECRET, APP_ID, [ 'cluster' => 'ap1', 'encrypted' => true ] ); ``` - We will load whatever package we have installed pusher through the **composer** by loading **autoload.php** located in the vendor folder ```require('../vendor/autoload.php');```. - Then we will make some constants for **APP_KEY**, **APP_SECRET**, **APP_ID**. We can fill the value of these constants with APP KEYS that we can in dashboard pusher. **APP KEYS** ``` app_id = "531270" key = "cabcc969c12fd8e852cd" secret = "ce28ec76bee486ecff35" cluster = "ap1" ``` - In frontend we only need **'key'** from APP KEYS.maka in backend or server we need to initialize **'key'**, **'app_id'**, **'secret'**, **'cluster'**. we pass the constants **APP_KEY, APP_SECRET, APP_ID** in the class ```new pusher()```. ``` php $pusher = new Pusher( APP_KEY, APP_SECRET, APP_ID, [ 'cluster' => 'ap1', 'encrypted' => true ] ); ``` ## Using Vue on the frontend - **Initialization Vue** Now we will start using the Vue framework on the frontend. we have to initialize Vue first. We can easily initialize it like this: **Example:** ``` javascript var vi = new Vue({ el : '#app', data:{ chats : [], username: '', chatInput: '' } }); ``` - We initialize vue on elements with ID **#app**, We can create local variable in vue with property ```data: {}```, There are some variables that we will use and we connect with html element through **v-model**. to know the basics of vue, you can visit the documentation at https://vuejs.org/v2/guide/ <br> - **Use V-model in element HTML** by using the v-model we can connect the input element with the local variable we have created in the ```data: {}```. we can use it like this: **Index.html** ``` html <div class="chat-box" id="app"> <h1>Chat App using PHP and Vuejs</h1> <input type="text" placeholder="Your name" v-model="username"> <hr> <div class="chat-lists"> <div class="chat-message" v-for="chat in chats"> <div class="username"> {{chat.username}} <span class="time">{{chat.time}}</span> </div> <div class="message">{{chat.message}}</div> </div> </div> <div class="chat-input"> <textarea name="chat-box" rows="8" v-model="chatInput" @keydown="sendMessage"> </textarea> </div> </div> ``` - To use the v-model on the input element, we can use this way **v-model = "variable"**. We put ```username: ' '``` in input username and ```chatInput: ' '``` in textarea. - Then we use ***v-for*** to ***loop*** on the variable ```chats:[]``` that contain the contents of the chat. Later this chats variable will be assigned a value with the **['username']**, **['time']**, and **['message']** array. - We will run a function that will be triggered when keyboard is typed. the function we put on ```@keydown = "sendMessage"```, **@keydown** is a function of vuejs that handles when keyboard is typed. This is a shorthand of **v-on**. ## Submit Message with AXIOS We will start the Post request to the server. In this tutorial, I will use AXIOS to help request. We will create a function that we have put in ```<textarea>``` element that is **sendMessage()**. We can create a function in Vue with property ```methods: {}```. **Example:** ``` javascript methods:{ sendMessage(e){ if(e.keyCode===13){ e.preventDefault() if(this.chatInput == ''|| this.chatInput.trim() == ' ') return var date = new date(); axios.post('http://localhost/chatapp/chat/index.php?method=sendMessage',{ username : this.username, message : this.chatInput, time : date.toLocaleString() }).then(data=>{ console.log(data) }) } } } ``` - The idea is we'll post data when the user hit enter on the keyboard. we can user the **keyCode** to watch if the user has hit enter. ```keyCode === 13``` refers to enter, If we do ```console.log (e)``` we will get data like this. ![Screenshot_11.png](https://ipfs.busy.org/ipfs/QmTDWSEn32ncy3p51u3LB2NEQ1cJqLDJpStbYoVyHMNmrN) - Then we will prevent the user from sending the empty message ```this.chatInput = ' '``` and if after we do ```trim()==' ' ``` the result is still empty we will do the return and not run the code below it. - We can post with Axios with ```post ()``` method. This method has 2 parameters. **The First** parameter is the URL or Endpoint Rest API in this tutorial we have example endpoint from our local server that is ```http://localhost/chatapp/chat/index.php?method=sendMessage```, I have a query parameter ```?method=sendMessage```, so the backend can know what action to run. **The second** parameter is the data we will post to the backend or server. **The Data:** ``` { username : this.username, message : this.chatInput, time : date.toLocaleString() } ``` Data in the form of objects that contain **key and value**. **username** is the key, and **this.username** is the value from **v-model**, Then we can chain with the callback function ```.then (data=>{})```. ## Handle the submit message in the backend Because we use PHP native we need to do some settings for CORS. **Example:** ``` header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: Content-Type"); $_POST = json_decode(file_get_contents('php://input'), true); ``` The code to allow this file to be accessed from any URL or endpoint and we can convert the data into JSON in PHP with ```json_decode(file_get_contents('php://input'), true);``` ### Trigger channel Before we trigger channel we need to check the parameter query we have passed in URL Endpoint. ``` if($GET_['method'] == 'sendMessage'){ $data['username'] == $_POST['username']; $data['message'] == $_POST['message']; $data['time'] == $_POST['time']; $pusher->trigger('chat-channel','chat-event',$data); } ``` - We can get the data in the post to the backend with ```$_POST['the key'];```, We use the $ _POST variable to convert the data to JSON. $ _POST is the variable we have declared in ```$_POST = json_decode(file_get_contents('php://input'), true);```.after that, we insert the value into variable $ data of the type of array - To trigger we can use trigger() method. this method has 3 parameters. the first is the name of the **channel *('chat-channel')***. The second is the name of the **event *('chat-event')*** and the third is the **data *($data)*** in the form of arrays. ### Bind Event in the frontend We have already triggered the channel in the backend, now the task on the frontend to listen to the event sent by the backend. We can use the ```bind()``` method to listen to the trigger event. **Example:** ``` javascript channel.bind('chat-event', function(data){ console.log(data); }); ``` The **bind()** function has two parameters. the first is the name of the event that has been in the trigger in the backend. in this tutorial, the event name is **'chat-event'**. the second parameter is a callback function that contains the data in the pass of the backend. to see the result we can see the following picture. ![Screenshot_13.png](https://ipfs.busy.org/ipfs/QmbQNbow8R8aXYeh6DbPCTYFnHxwX6FhFN2P3WphD2WAe4) Thank you guys for following this tutorial, I hope you can further develop the code that I have given in GitHub. thank you... ### Proof of Work Done https://github.com/dilandreas/chatapp
json metadata{"community":"busy","app":"busy/2.4.0","format":"markdown","users":["2.5.16","keydown"],"links":["https://github.com/vuejs/vue","https://pusher.com","https://github.com/axios/axios","https://github.com/pusher/pusher-js","/trending/app","https://vuejs.org/v2/guide/","/@keydown","https://github.com/dilandreas/chatapp"],"tags":["utopian-io","tutorials","javascript","vue","php"]}
Transaction InfoBlock #22816686/Trx bc470d6c8caa78a34e07adc3fdecdcbe557c9be9
View Raw JSON Data
{
  "trx_id": "bc470d6c8caa78a34e07adc3fdecdcbe557c9be9",
  "block": 22816686,
  "trx_in_block": 73,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T05:00:39",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "steemit.wiki",
      "permlink": "build-a-simple-chat-app-using-vuejs-and-php-1-setting-pusher-create-channel-request-with-axios-show-data-with-vue",
      "title": " Build a simple chat app using vuejs and php #1 Setting pusher, Create Channel, Request with Axios, Show data with vue",
      "body": "\n\n#### Repository\nhttps://github.com/vuejs/vue\n\n#### What Will I Learn?\n- Create pusher channel\n- Use pusher and settings in Vue\n- Use pusher and settings in PHP\n\n#### Requirements\n- Basic HTML, Javascript,CSS\n- Basic Vuejs\n- Basic PHP\n- Localhost (xampp, wampp, or etc)\n\n\n#### Difficulty\n- Intermediate\n\n## Preparation\nI will share how to make a simple chat app using **PHP as backend** and **Vuejs as frontend**. This is a tutorial series. in this section, I will use the technology provided pusher. we will learn how to apply the technology to our project. for more details about pusher, you can visit the official website  https://pusher.com.\n\n### Create App keys in pusher\n\n- **Login/Create a new account**\nPlease login or create a new account at Pusher. after you successfully log in you can access the dashboard. please make new Chanel apps. Create a channel app like the picture below, you can ***name your application*** as you wish. and select the ***cluster*** you want.\n\n![Screenshot_8.png](https://ipfs.busy.org/ipfs/QmaGrGy9xRG2QRXSGfWjhqtnwvGYypR5FzyjsT5SuP1sYL)\n\nYou can also choose what technology you will use in the frontend and backend sections. but for this tutorial, I do not choose anything.\n\n- **Get App Keys**\nYou can go to the dashboard of the application you created and select the **app keys** menu. in real life, we do not want anyone to know our app keys. because these app keys are **confidential**. but in this tutorial, I show the app keys for tutorial purposes.\n![Screenshot_9.png](https://ipfs.busy.org/ipfs/Qmehguccx7wyexeuhWhREvm9wZCGrw51RM8FvoVdES7diS)\n\nAfter we have got app keys in pusher next we will do some setting on PHP as backend technology that we use.\n\n### Setting Backend\nBecause we will use PHP we need to install package pusher on **PHP**. We can install via ***composer.json*** like this:\n\n``` composer require pusher/pusher-php-server```\n\nIf it has been successfully installed then we can see the package in **composer.json** in our project folder.\n<pre>\n<code>\n{\n    \"require\": {\n        \"pusher/pusher-php-server\": \"^3.0\"\n    }\n}\n</code>\n</pre>\n\nThen I will create ***index.php*** file to handle all code related to the backend.\n\n### Setting Frontend\n- **Load Vuejs**\nWe will create the static structure in the ***index.html*** file. Because we will use Vuejs as frontend. we will load the **Vuejs** in index.html via **CDN**:\n``` javascript\n <script src=\"https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js\"></script>\n```\n- **Load Axios**\nThen for AJAX request, we will use [axios](https://github.com/axios/axios). We will also load **Axios** in index.html via **CDN**:\n``` javascript\n<script src=\"https://unpkg.com/axios/dist/axios.min.js\"></script>\n```\n- **Load Pusher.js**\nIn javascript section we will also load the library [pusher.js](https://github.com/pusher/pusher-js). we can load **pusher.js** in index.html via **CDN**:\n``` javascript\n<script src=\"https://js.pusher.com/4.2/pusher.min.js\"></script>\n```\n\n- **Create index.html file**\nWe will make the frontend part in index.html. here is the html structure I have created.\n``` html\n<!DOCTYPE html>\n<html>\n<head>\n\t<title>Chat App using PHP and Vuejs</title>\n\t<script src=\"https://js.pusher.com/4.2/pusher.min.js\"></script>\n\t<script src=\"https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js\"></script>\n\t<script src=\"https://unpkg.com/axios/dist/axios.min.js\"></script>\n\t<style type=\"text/css\">\n\t\tbody{\n\t\t\twidth: 80%;\n\t\t\tmargin:10% auto;\n\t\t\tfont-family: sans-serif;\n\t\t}\n\t\ttextarea{\n\t\t\twidth: 99%;\n\t\t\toverflow: hidden;\n\t\t}\n\t\t.chat-message{\n\t\t\tpadding: 10px;\n\t\t}\n\t\t.username{\n\t\t\tfont-weight: 800;\n\t\t\tpadding-bottom: 5px;\n\t\t}\n\t\t.username, .time{\n\t\t\tfont-size: 0.8rem;\n\t\t}\n\t\t.message{\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\t</style>\n</head>\n<body>\n\t<div class=\"chat-box\" id=\"app\">\n\t\t<h1>Chat App using PHP and Vuejs</h1>\n\t\t<input type=\"text\" placeholder=\"Your name\">\n\t\t<hr>\n\t\t<div class=\"chat-lists\">\n\t\t\t<div class=\"chat-message\">\n\t\t\t\t<div class=\"username\"> Me\n\t\t\t\t\t<span class=\"time\">24/05/2018</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"message\">Hi, this is my first contribution</div>\n\t\t\t</div>\n\t\t\t<div class=\"chat-message\">\n\t\t\t\t<div class=\"username\"> My Friend\n\t\t\t\t\t<span class=\"time\">24/05/2018</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"message\">oh yeah, good luck bro..!!</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"chat-input\">\n\t\t\t<textarea name=\"chat-box\" rows=\"8\"></textarea>\n\t\t</div>\n\t</div>\n<script src=\"main.js\" type=\"text/javascript\"></script>\n</body>\n</html>\n```\nWe load **Vuejs**, **Axios** and **Pusher.js** before the closing ```<head>``` tag and before the closing tag ```<body>``` we load the **main.js** file, This file is a javascript file that we will create for our chat app.\n``` \n<script src=\"main.js\" type=\"text/javascript\"></script>\n```\nWe can see the static page we have created by opening the index.html in the browser, more or less the result will be like this:\n\n![Screenshot_10.png](https://ipfs.busy.org/ipfs/QmWteHhhxAyk4V6Mp6bsRjM5vieAqxyV29uCHVTYY98mNv)\n\nYou can add your own CSS. The CSS I created is simple because our focus is not on the CSS.\n\n## Use Pusher\nWe have done the settings in the **backend** and **frontend**. Now we need to use pusher section in the **PHP** and **Javascript**. We have split our javascript file in **main.js**.\n\n- **Use pusher in javascript**\nWe will use pusher in our javascript file and do some settings.\n\n**main.js**\n``` javascript\nPusher.logToConsole = true;\nvar pusher = new Pusher('cabcc969c12fd8e852cd',{\n\tcluster\t\t: 'ap1',\n\tencrypted\t: true\t\n})\nvar channel = pusher.subscribe('chat-channel');\n```\n- We have loaded pusher.js in the ```<head>``` section of the **index.html** file. So we can use the ***Pusher*** function in this **main.js**. During the development mode, it is recommended to display errors in the console., You can do like this  ```Pusher.logToConsole = true;```\n\n- We can configure the frontend with **APP KEYS** application that we created in the dashboard pusher. \n**APP KEYS**\n```\napp_id = \"531270\"\nkey = \"cabcc969c12fd8e852cd\"\nsecret = \"ce28ec76bee486ecff35\"\ncluster = \"ap1\"\n```\nto initialize pusher in **frontend** we can do it with ```new pusher ()```. This function has 2 parameters. **The first** is the **key** and **the second** is an object that contains options. ```cluster\t\t: 'ap1'``` is the cluster you selected when creating the chanel app on the dashboard pusher. ```encrypted   : true  ``` is an option to encrypt data. The value is **boolean**.\n\n- Then we can make a channel which will be connected to the backend ```var channel  = pusher.subscribe('chat-channel');```. We can use the ```subscribe()``` method and name the channel.\n\n- **Use pusher in PHP**\n\nin the backend section, we will do things that are not much different from the frontend. We will do the configuration here.\n\n**index.php**\n\n``` php\n<?php\nrequire('../vendor/autoload.php');\ndefine(\"APP_KEY\", 'cabcc969c12fd8e852cd');\ndefine(\"APP_SECRET\", 'ce28ec76bee486ecff35');\ndefine(\"APP_ID\", '531270');\n$pusher = new Pusher(\n\tAPP_KEY, APP_SECRET, APP_ID, [\n\t\t'cluster' \t=> 'ap1',\n\t\t'encrypted'\t=>\ttrue\n\t]\n);\n```\n- We will load whatever package we have installed pusher through the **composer** by loading **autoload.php** located in the vendor folder  ```require('../vendor/autoload.php');```.\n\n- Then we will make some constants for **APP_KEY**, **APP_SECRET**, **APP_ID**. We can fill the value of these constants with APP KEYS that we can in dashboard pusher.\n\n**APP KEYS**\n```\napp_id = \"531270\"\nkey = \"cabcc969c12fd8e852cd\"\nsecret = \"ce28ec76bee486ecff35\"\ncluster = \"ap1\"\n```\n-  In frontend we only need **'key'** from APP KEYS.maka in backend or server we need to initialize **'key'**, **'app_id'**, **'secret'**, **'cluster'**. we pass the constants **APP_KEY, APP_SECRET, APP_ID** in the class ```new pusher()```.\n``` php\n$pusher = new Pusher(\n\tAPP_KEY, APP_SECRET, APP_ID, [\n\t\t'cluster' \t=> 'ap1',\n\t\t'encrypted'\t=>\ttrue\n\t]\n);\n```\n\n## Using Vue on the frontend\n- **Initialization Vue**\nNow we will start using the Vue framework on the frontend. we have to initialize Vue first. We can easily initialize it like this:\n\n**Example:**\n``` javascript\nvar vi = new Vue({\n\tel\t: '#app',\n\tdata:{\n\t\tchats\t: [],\n\t\tusername: '',\n\t\tchatInput: ''\n\t}\n});\n```\n- We initialize vue on elements with ID **#app**, We can create local variable in vue with property ```data: {}```, There are some variables that we will use and we connect with html element through **v-model**. to know the basics of vue, you can visit the documentation at https://vuejs.org/v2/guide/\n<br>\n\n- **Use V-model in element HTML**\nby using the v-model we can connect the input element with the local variable we have created in the ```data: {}```. we can use it like this:\n\n**Index.html**\n\n``` html\n\t<div class=\"chat-box\" id=\"app\">\n\t\t<h1>Chat App using PHP and Vuejs</h1>\n\t\t<input type=\"text\" placeholder=\"Your name\" v-model=\"username\">\n\t\t<hr>\n\t\t<div class=\"chat-lists\">\n\t\t\t<div class=\"chat-message\" v-for=\"chat in chats\">\n\t\t\t\t<div class=\"username\"> {{chat.username}}\n\t\t\t\t\t<span class=\"time\">{{chat.time}}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"message\">{{chat.message}}</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"chat-input\">\n\t\t\t<textarea name=\"chat-box\" rows=\"8\" v-model=\"chatInput\" @keydown=\"sendMessage\">\t\n\t\t\t</textarea>\n\t\t</div>\n\t</div>\n```\n- To use the v-model on the input element, we can use this way **v-model = \"variable\"**. We put ```username: ' '``` in input username and ```chatInput: ' '``` in textarea.\n- Then we use ***v-for*** to ***loop*** on the variable ```chats:[]``` that contain the contents of the chat. Later this chats variable will be assigned a value with the **['username']**, **['time']**, and **['message']** array.\n- We will run a function that will be triggered when keyboard is typed. the function we put on ```@keydown = \"sendMessage\"```, **@keydown** is a function of vuejs that handles when keyboard is typed. This is a shorthand of **v-on**.\n\n## Submit Message with AXIOS\nWe will start the Post request to the server. In this tutorial, I will use AXIOS to help request. We will create a function that we have put in ```<textarea>``` element that is **sendMessage()**. We can create a function in Vue with property ```methods: {}```.\n**Example:**\n``` javascript\nmethods:{\n\t\tsendMessage(e){\n\t\t\tif(e.keyCode===13){\n\t\t\t\te.preventDefault()\n\t\t\t\tif(this.chatInput == ''|| this.chatInput.trim() == ' ')\n\t\t\t\t\treturn\n\t\t\t\tvar date  = new date();\n\t\t\t\taxios.post('http://localhost/chatapp/chat/index.php?method=sendMessage',{\n\t\t\t\t\tusername\t: this.username,\n\t\t\t\t\tmessage \t: this.chatInput,\n\t\t\t\t\ttime \t\t: date.toLocaleString()\n\t\t\t\t}).then(data=>{\n\t\t\t\t\tconsole.log(data)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n```\n- The idea is we'll post data when the user hit enter on the keyboard. we can user the **keyCode** to watch if the user has hit enter. ```keyCode === 13``` refers to enter, If we do ```console.log (e)``` we will get data like this.\n\n![Screenshot_11.png](https://ipfs.busy.org/ipfs/QmTDWSEn32ncy3p51u3LB2NEQ1cJqLDJpStbYoVyHMNmrN)\n\n- Then we will prevent the user from sending the empty message ```this.chatInput = ' '``` and if after we do ```trim()==' ' ``` the result is still empty we will do the return and not run the code below it.\n\n- We can post with Axios with ```post ()``` method. This method has 2 parameters. **The First** parameter is the URL or Endpoint Rest API in this tutorial we have example endpoint from our local server that is ```http://localhost/chatapp/chat/index.php?method=sendMessage```, \nI have a query parameter ```?method=sendMessage```, so the backend can know what action to run. **The second** parameter is the data we will post to the backend or server.\n**The Data:**\n```\n{\n\tusername\t: this.username,\n\tmessage \t: this.chatInput,\n\ttime \t\t: date.toLocaleString()\n}\n```\nData in the form of objects that contain **key and value**. **username** is the key, and **this.username** is the value from **v-model**, Then we can chain with the callback function ```.then (data=>{})```.\n\n\n## Handle the submit message in the backend\nBecause we use PHP native we need to do some settings for CORS.\n**Example:**\n```\nheader(\"Access-Control-Allow-Origin: *\");\nheader(\"Access-Control-Allow-Headers: Content-Type\");\n$_POST = json_decode(file_get_contents('php://input'), true);\n```\nThe code to allow this file to be accessed from any URL or endpoint and we can convert the data into JSON in PHP with ```json_decode(file_get_contents('php://input'), true);```\n\n### Trigger channel\nBefore we trigger channel we need to check the parameter query we have passed in URL Endpoint.\n```\nif($GET_['method'] == 'sendMessage'){\n\t$data['username'] \t== $_POST['username'];\n\t$data['message'] \t== $_POST['message'];\n\t$data['time'] \t\t== $_POST['time'];\n\t$pusher->trigger('chat-channel','chat-event',$data);\n}\n```\n- We can get the data in the post to the backend with ```$_POST['the key'];```, We use the $ _POST variable to convert the data to JSON. $ _POST is the variable we have declared in ```$_POST = json_decode(file_get_contents('php://input'), true);```.after that, we insert the value into variable $ data of the type of array\n\n- To trigger we can use trigger() method. this method has 3 parameters. the first is the name of the **channel *('chat-channel')***. The second is the name of the **event *('chat-event')*** and the third is the **data *($data)*** in the form of arrays.\n\n### Bind Event in the frontend\nWe have already triggered the channel in the backend, now the task on the frontend to listen to the event sent by the backend. We can use the ```bind()``` method to listen to the trigger event.\n\n**Example:**\n``` javascript\nchannel.bind('chat-event', function(data){\n\tconsole.log(data);\n});\n```\n\nThe **bind()** function has two parameters. the first is the name of the event that has been in the trigger in the backend. in this tutorial, the event name is **'chat-event'**. the second parameter is a callback function that contains the data in the pass of the backend. to see the result we can see the following picture.\n\n![Screenshot_13.png](https://ipfs.busy.org/ipfs/QmbQNbow8R8aXYeh6DbPCTYFnHxwX6FhFN2P3WphD2WAe4)\n\nThank you guys for following this tutorial, I hope you can further develop the code that I have given in GitHub. thank you...\n\n### Proof of Work Done\nhttps://github.com/dilandreas/chatapp",
      "json_metadata": "{\"community\":\"busy\",\"app\":\"busy/2.4.0\",\"format\":\"markdown\",\"users\":[\"2.5.16\",\"keydown\"],\"links\":[\"https://github.com/vuejs/vue\",\"https://pusher.com\",\"https://github.com/axios/axios\",\"https://github.com/pusher/pusher-js\",\"/trending/app\",\"https://vuejs.org/v2/guide/\",\"/@keydown\",\"https://github.com/dilandreas/chatapp\"],\"tags\":[\"utopian-io\",\"tutorials\",\"javascript\",\"vue\",\"php\"]}"
    }
  ]
}
steemit.wikiupdated their account properties
2018/05/28 04:57:12
accountsteemit.wiki
posting{"weight_threshold":1,"account_auths":[["busy.app",1]],"key_auths":[["STM7nkj5MyZfpzn3KzQKsm8kHxwuG8YPs2ENGVMF9UeyajV5jwiR6",1]]}
memo keySTM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4
json metadata{"profile":{"profile_image":"https://s33.postimg.cc/c3l73537j/DSC1422.jpg","about":"Traveller | Photographer | Javascript enthusiast"}}
Transaction InfoBlock #22816617/Trx acae99092409f847a5f9b60526f8a29d8bbe92cc
View Raw JSON Data
{
  "trx_id": "acae99092409f847a5f9b60526f8a29d8bbe92cc",
  "block": 22816617,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T04:57:12",
  "op": [
    "account_update",
    {
      "account": "steemit.wiki",
      "posting": {
        "weight_threshold": 1,
        "account_auths": [
          [
            "busy.app",
            1
          ]
        ],
        "key_auths": [
          [
            "STM7nkj5MyZfpzn3KzQKsm8kHxwuG8YPs2ENGVMF9UeyajV5jwiR6",
            1
          ]
        ]
      },
      "memo_key": "STM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://s33.postimg.cc/c3l73537j/DSC1422.jpg\",\"about\":\"Traveller | Photographer |  Javascript enthusiast\"}}"
    }
  ]
}
steemit.wikiupdated their account properties
2018/05/28 04:29:24
accountsteemit.wiki
memo keySTM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4
json metadata{"profile":{"profile_image":"https://s33.postimg.cc/c3l73537j/DSC1422.jpg","about":"Traveller | Photographer | Javascript enthusiast"}}
Transaction InfoBlock #22816061/Trx 1e1d967eff07bf9cb6fcca8e3f5d639aa31efbcf
View Raw JSON Data
{
  "trx_id": "1e1d967eff07bf9cb6fcca8e3f5d639aa31efbcf",
  "block": 22816061,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T04:29:24",
  "op": [
    "account_update",
    {
      "account": "steemit.wiki",
      "memo_key": "STM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://s33.postimg.cc/c3l73537j/DSC1422.jpg\",\"about\":\"Traveller | Photographer |  Javascript enthusiast\"}}"
    }
  ]
}
steemit.wikiupdated their account properties
2018/05/28 04:27:33
accountsteemit.wiki
memo keySTM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4
json metadata{"profile":{"profile_image":"https://s33.postimg.cc/c3l73537j/DSC1422.jpg"}}
Transaction InfoBlock #22816024/Trx e88b220d3495d755f90ee1807bfecc76c20ccb36
View Raw JSON Data
{
  "trx_id": "e88b220d3495d755f90ee1807bfecc76c20ccb36",
  "block": 22816024,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-28T04:27:33",
  "op": [
    "account_update",
    {
      "account": "steemit.wiki",
      "memo_key": "STM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://s33.postimg.cc/c3l73537j/DSC1422.jpg\"}}"
    }
  ]
}
steemdelegated 18.703 SP to @steemit.wiki
2018/03/13 10:06:03
delegatorsteem
delegateesteemit.wiki
vesting shares30421.438722 VESTS
Transaction InfoBlock #20636350/Trx 0e87f2dfdd227a1f20c19b78aaa7c835e83026e7
View Raw JSON Data
{
  "trx_id": "0e87f2dfdd227a1f20c19b78aaa7c835e83026e7",
  "block": 20636350,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-13T10:06:03",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "steemit.wiki",
      "vesting_shares": "30421.438722 VESTS"
    }
  ]
}
steemcreated a new account: @steemit.wiki
2018/03/13 09:06:54
fee0.100 STEEM
delegation30690.000000 VESTS
creatorsteem
new account namesteemit.wiki
owner{"weight_threshold":1,"account_auths":[],"key_auths":[["STM5LmNwLtPoCNzScHautV4idC1zJK3SEVQDbsdRNPinAn74LTNoi",1]]}
active{"weight_threshold":1,"account_auths":[],"key_auths":[["STM598XnLgwfc4eVLkdp5d1JtffAMLQfsQeBvWEf74VLKfLwwfHAA",1]]}
posting{"weight_threshold":1,"account_auths":[],"key_auths":[["STM7nkj5MyZfpzn3KzQKsm8kHxwuG8YPs2ENGVMF9UeyajV5jwiR6",1]]}
memo keySTM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4
json metadata{}
extensions[]
Transaction InfoBlock #20635167/Trx 4a43d6432e584abf4bb009922b2f1314a69a84a4
View Raw JSON Data
{
  "trx_id": "4a43d6432e584abf4bb009922b2f1314a69a84a4",
  "block": 20635167,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-13T09:06:54",
  "op": [
    "account_create_with_delegation",
    {
      "fee": "0.100 STEEM",
      "delegation": "30690.000000 VESTS",
      "creator": "steem",
      "new_account_name": "steemit.wiki",
      "owner": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM5LmNwLtPoCNzScHautV4idC1zJK3SEVQDbsdRNPinAn74LTNoi",
            1
          ]
        ]
      },
      "active": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM598XnLgwfc4eVLkdp5d1JtffAMLQfsQeBvWEf74VLKfLwwfHAA",
            1
          ]
        ]
      },
      "posting": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM7nkj5MyZfpzn3KzQKsm8kHxwuG8YPs2ENGVMF9UeyajV5jwiR6",
            1
          ]
        ]
      },
      "memo_key": "STM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4",
      "json_metadata": "{}",
      "extensions": []
    }
  ]
}

Account Metadata

POSTING JSON METADATA
profile{"profile_image":"https://s33.postimg.cc/c3l73537j/DSC1422.jpg","about":"Traveller | Photographer | Javascript enthusiast"}
JSON METADATA
profile{"profile_image":"https://s33.postimg.cc/c3l73537j/DSC1422.jpg","about":"Traveller | Photographer | Javascript enthusiast"}
{
  "posting_json_metadata": {
    "profile": {
      "profile_image": "https://s33.postimg.cc/c3l73537j/DSC1422.jpg",
      "about": "Traveller | Photographer |  Javascript enthusiast"
    }
  },
  "json_metadata": {
    "profile": {
      "profile_image": "https://s33.postimg.cc/c3l73537j/DSC1422.jpg",
      "about": "Traveller | Photographer |  Javascript enthusiast"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM5LmNwLtPoCNzScHautV4idC1zJK3SEVQDbsdRNPinAn74LTNoi1/1
Active
Single Signature
Public Keys
STM598XnLgwfc4eVLkdp5d1JtffAMLQfsQeBvWEf74VLKfLwwfHAA1/1
Posting
Single Signature
Public Keys
STM7nkj5MyZfpzn3KzQKsm8kHxwuG8YPs2ENGVMF9UeyajV5jwiR61/1
App Permissions
Memo
STM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5LmNwLtPoCNzScHautV4idC1zJK3SEVQDbsdRNPinAn74LTNoi",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM598XnLgwfc4eVLkdp5d1JtffAMLQfsQeBvWEf74VLKfLwwfHAA",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "busy.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM7nkj5MyZfpzn3KzQKsm8kHxwuG8YPs2ENGVMF9UeyajV5jwiR6",
        1
      ]
    ]
  },
  "memo": "STM58MA9gRV6KqRmvGAgYoSujfZ3Cf5RGKrVbLnLn563L59N6aPS4"
}

Witness Votes

0 / 30
No active witness votes.
[]