VOTING POWER0.00%
DOWNVOTE POWER0.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.101USD
HIVE
0.002HIVE
HBD
0.000HBD
Own HP
0.000HP
Detailed Balance
| HIVE | ||
| balance | 0.002HIVE | HIVE |
| market_balance | 0.000HIVE | HIVE |
| savings_balance | 0.000HIVE | HIVE |
| reward_hive_balance | 0.000HIVE | HIVE |
| HIVE POWER | ||
| Own HP | 0.000HP | HP |
| Delegated Out | 0.000HP | HP |
| Delegation In | 0.000HP | HP |
| Effective Power | 0.000HP | HP |
| Reward HP (pending) | 0.443HP | HP |
| HBD | ||
| hbd_balance | 0.000HBD | HBD |
| hbd_conversions | 0.000HBD | HBD |
| hbd_market_balance | 0.000HBD | HBD |
| savings_hbd_balance | 0.000HBD | HBD |
| reward_hbd_balance | 0.100HBD | HBD |
{
"balance": "0.002 HIVE",
"savings_balance": "0.000 HIVE",
"reward_hive_balance": "0.000 HIVE",
"vesting_shares": "0.000000 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 VESTS",
"hbd_balance": "0.000 HBD",
"savings_hbd_balance": "0.000 HBD",
"reward_hbd_balance": "0.100 HBD"
}Account Info
| name | mmcshinsky |
| id | 1396473 |
| rank | 0 |
| reputation | 0 |
| created | 2020-07-02T21:18:06 |
| recovery_account | esteemapp |
| proxy | None |
| invited_by | null |
| post_count | 3 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2023-03-01T05:18:36 |
| last_root_post | 2023-03-01T05:18:36 |
| last_vote_time | 2020-07-02T22:40:42 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | None |
| governance_vote_expiration_ts | 1969-12-31T23:59:59 |
| balance | 0.002 HIVE |
| savings_balance | 0.000 HIVE |
| hbd_balance | 0.000 HBD |
| savings_hbd_balance | 0.000 HBD |
| vesting_shares | 0.000000 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 0.000000 VESTS |
| reward_vesting_balance | 856.673543 VESTS |
| vesting_balance | 0.000 HIVE |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2023-02-23T19:25:54 |
| mined | No |
| hbd_seconds | 0 |
| hbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_hbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"active": {
"account_auths": [],
"key_auths": [
[
"STM82WcwFijc6x9RSkSx4UFgpA1zHXSpcULNXsGGffkMfej7sW1cy",
1
]
],
"weight_threshold": 1
},
"balance": "0.002 HIVE",
"can_vote": true,
"comment_count": 0,
"created": "2020-07-02T21:18:06",
"curation_rewards": 0,
"delayed_votes": [],
"delegated_vesting_shares": "0.000000 VESTS",
"downvote_manabar": {
"current_mana": 0,
"last_update_time": 1593729642
},
"governance_vote_expiration_ts": "1969-12-31T23:59:59",
"guest_bloggers": [],
"hbd_balance": "0.000 HBD",
"hbd_last_interest_payment": "1970-01-01T00:00:00",
"hbd_seconds": "0",
"hbd_seconds_last_update": "1970-01-01T00:00:00",
"id": 1396473,
"json_metadata": "",
"last_account_recovery": "1970-01-01T00:00:00",
"last_account_update": "2023-02-23T19:25:54",
"last_owner_update": "1970-01-01T00:00:00",
"last_post": "2023-03-01T05:18:36",
"last_root_post": "2023-03-01T05:18:36",
"last_vote_time": "2020-07-02T22:40:42",
"lifetime_vote_count": 0,
"market_history": [],
"memo_key": "STM7zaq8iv6X4Q1LD3jKj7QFxdxBTS7ovmBEf7xYiQcVuQyPfhtcW",
"mined": false,
"name": "mmcshinsky",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"open_recurrent_transfers": 0,
"other_history": [],
"owner": {
"account_auths": [],
"key_auths": [
[
"STM5fNs2udZUtxdpHAiRGHGz5tr52FMA9thJA7KXuvqxBchsmxxBw",
1
]
],
"weight_threshold": 1
},
"pending_claimed_accounts": 0,
"pending_transfers": 0,
"post_bandwidth": 0,
"post_count": 3,
"post_history": [],
"post_voting_power": "0.000000 VESTS",
"posting": {
"account_auths": [],
"key_auths": [
[
"STM5fzAFb8U2CDNrrL1oBs9YxLRQcSL2yghAM88bY9WiLv237SXS1",
1
]
],
"weight_threshold": 1
},
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://images.hive.blog/DQmQw8FC9rH4psyLYnSWXtPH652nC9ndQopriC5vPwVJLeX/IvoOnSql_400x400.jpg\",\"name\":\"Magitek\",\"website\":\"https://magitek.dev\",\"version\":2}}",
"posting_rewards": 885,
"previous_owner_update": "1970-01-01T00:00:00",
"proxied_vsf_votes": [
0,
0,
0,
0
],
"proxy": "",
"received_vesting_shares": "0.000000 VESTS",
"recovery_account": "esteemapp",
"reputation": 0,
"reset_account": "null",
"reward_hbd_balance": "0.100 HBD",
"reward_hive_balance": "0.000 HIVE",
"reward_vesting_balance": "856.673543 VESTS",
"reward_vesting_hive": "0.443 HIVE",
"savings_balance": "0.000 HIVE",
"savings_hbd_balance": "0.000 HBD",
"savings_hbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_hbd_seconds": "0",
"savings_hbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"tags_usage": [],
"to_withdraw": 0,
"transfer_history": [],
"vesting_balance": "0.000 HIVE",
"vesting_shares": "0.000000 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"vote_history": [],
"voting_manabar": {
"current_mana": 0,
"last_update_time": 1593729642
},
"voting_power": 0,
"withdraw_routes": 0,
"withdrawn": 0,
"witness_votes": [],
"witnesses_voted_for": 0,
"rank": 0
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
mmcshinskyupdated payout for simplifying-blockchain-communication-with-hyperbitjs-rpc2023/03/08 05:18:36
mmcshinskyupdated payout for simplifying-blockchain-communication-with-hyperbitjs-rpc
2023/03/08 05:18:36
| author | mmcshinsky |
| permlink | simplifying-blockchain-communication-with-hyperbitjs-rpc |
| Transaction Info | Block #72925659/Virtual Operation 4294967295:2 |
View Raw JSON Data
{
"block": 72925659,
"op": [
"comment_payout_update",
{
"author": "mmcshinsky",
"permlink": "simplifying-blockchain-communication-with-hyperbitjs-rpc"
}
],
"op_in_trx": 2,
"timestamp": "2023-03-08T05:18:36",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": true
}mmcshinskyupdated payout for how-to-setup-an-rpc-api-for-a-blockchain-node2023/03/02 19:31:24
mmcshinskyupdated payout for how-to-setup-an-rpc-api-for-a-blockchain-node
2023/03/02 19:31:24
| author | mmcshinsky |
| permlink | how-to-setup-an-rpc-api-for-a-blockchain-node |
| Transaction Info | Block #72770089/Virtual Operation 4294967295:5 |
View Raw JSON Data
{
"block": 72770089,
"op": [
"comment_payout_update",
{
"author": "mmcshinsky",
"permlink": "how-to-setup-an-rpc-api-for-a-blockchain-node"
}
],
"op_in_trx": 5,
"timestamp": "2023-03-02T19:31:24",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": true
}mmcshinskyreceived 0.036 HBD reward share for how-to-setup-an-rpc-api-for-a-blockchain-node2023/03/02 19:31:24
mmcshinskyreceived 0.036 HBD reward share for how-to-setup-an-rpc-api-for-a-blockchain-node
2023/03/02 19:31:24
| author | mmcshinsky |
| author rewards | 40 |
| beneficiary payout value | 0.000 HBD |
| curator payout value | 0.018 HBD |
| payout | 0.036 HBD |
| permlink | how-to-setup-an-rpc-api-for-a-blockchain-node |
| total payout value | 0.018 HBD |
| Transaction Info | Block #72770089/Virtual Operation 4294967295:4 |
View Raw JSON Data
{
"block": 72770089,
"op": [
"comment_reward",
{
"author": "mmcshinsky",
"author_rewards": 40,
"beneficiary_payout_value": "0.000 HBD",
"curator_payout_value": "0.018 HBD",
"payout": "0.036 HBD",
"permlink": "how-to-setup-an-rpc-api-for-a-blockchain-node",
"total_payout_value": "0.018 HBD"
}
],
"op_in_trx": 4,
"timestamp": "2023-03-02T19:31:24",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": true
}mmcshinskyreceived 0.009 HBD, 0.022 HP author reward for @mmcshinsky / how-to-setup-an-rpc-api-for-a-blockchain-node2023/03/02 19:31:24
mmcshinskyreceived 0.009 HBD, 0.022 HP author reward for @mmcshinsky / how-to-setup-an-rpc-api-for-a-blockchain-node
2023/03/02 19:31:24
| author | mmcshinsky |
| curators vesting payout | 71.539327 VESTS |
| hbd payout | 0.009 HBD |
| hive payout | 0.000 HIVE |
| payout must be claimed | true |
| permlink | how-to-setup-an-rpc-api-for-a-blockchain-node |
| vesting payout | 35.769663 VESTS |
| Transaction Info | Block #72770089/Virtual Operation 4294967295:3 |
View Raw JSON Data
{
"block": 72770089,
"op": [
"author_reward",
{
"author": "mmcshinsky",
"curators_vesting_payout": "71.539327 VESTS",
"hbd_payout": "0.009 HBD",
"hive_payout": "0.000 HIVE",
"payout_must_be_claimed": true,
"permlink": "how-to-setup-an-rpc-api-for-a-blockchain-node",
"vesting_payout": "35.769663 VESTS"
}
],
"op_in_trx": 3,
"timestamp": "2023-03-02T19:31:24",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": true
}mmcshinskyupdated options for simplifying-blockchain-communication-with-hyperbitjs-rpc2023/03/01 05:18:39
mmcshinskyupdated options for simplifying-blockchain-communication-with-hyperbitjs-rpc
2023/03/01 05:18:39
| allow curation rewards | true |
| allow votes | true |
| author | mmcshinsky |
| extensions | [] |
| max accepted payout | 1000000.000 HBD |
| percent hbd | 10000 |
| permlink | simplifying-blockchain-communication-with-hyperbitjs-rpc |
| Transaction Info | Block #72724288/Trx 93b7f111eeada2204f1445244ac3c8cdb8b2ba9e |
View Raw JSON Data
{
"block": 72724288,
"op": [
"comment_options",
{
"allow_curation_rewards": true,
"allow_votes": true,
"author": "mmcshinsky",
"extensions": [],
"max_accepted_payout": "1000000.000 HBD",
"percent_hbd": 10000,
"permlink": "simplifying-blockchain-communication-with-hyperbitjs-rpc"
}
],
"op_in_trx": 1,
"timestamp": "2023-03-01T05:18:39",
"trx_id": "93b7f111eeada2204f1445244ac3c8cdb8b2ba9e",
"trx_in_block": 14,
"virtual_op": false
}mmcshinskypublished a new post: simplifying-blockchain-communication-with-hyperbitjs-rpc2023/03/01 05:18:39
mmcshinskypublished a new post: simplifying-blockchain-communication-with-hyperbitjs-rpc
2023/03/01 05:18:39
| author | mmcshinsky |
| body |  If you're looking for a way to interact with a remote blockchain node, [@hyperbitjs/rpc](https://www.npmjs.com/package/@hyperbitjs/rpc) is a straightforward package that can help. This package provides a convenient way to send requests to a blockchain node and handle the responses in your application. One of the main benefits of using @hyperbitjs/rpc is that it's compatible with any blockchain that supports the JSON-RPC API. This means that you can use the same library to interact with different blockchains without having to learn new tools or languages. ## Getting Started To get started with @hyperbitjs/rpc, you will need to have a blockchain node set up and running. Additionally, you will need to enable the JSON-RPC API in your node's configuration file. Once you have your node set up and running, you can use @hyperbitjs/rpc to send requests to it. If you are unsure how to get a blockchain node setup with the JSON-RPC API enabled, take a look at this tutorial: [How to setup an RPC API for a Blockchain Node](https://magitek.dev/articles/2023-02-22-how-to-setup-an-rpc-api-for-a-blockchain-node/) You’ll also want to make sure you have [Node.js](https://nodejs.org/en/) installed on your computer with your choice of IDE. [Visual Studio Code](https://code.visualstudio.com/) is a great choice, but you can use any [terminal](https://git-scm.com/downloads) or IDE to get started with your project. ## Installation Let's get started by installing [@hyperbitjs/rpc](https://www.npmjs.com/package/@hyperbitjs/rpc) into your current project. 1. Open your terminal or command prompt and navigate to your project directory. 2. Type the following command to install @hyperbitjs/rpc and save it as a dependency in your project: ```bash npm install @hyperbitjs/rpc ``` This command will download and install the latest version of @hyperbitjs/rpc and add it to your package.json file. 3. Once the installation is complete, you can import the library into your project using the following code: ```javascript // CommonJS const { Client } = require('@hyperbitjs/rpc'); ``` ```javascript // ES6 import { Client } from '@hyperbitjs/rpc'; ``` This will give you access to the Client object, which contains all the methods you need to interact with a blockchain node. Let's use the Client to connect to our blockchain node and send commands. ```javascript const client = new Client({ url: '<host:port>', // http://127.0.0.1:9050 username: '<username>', password: '<password>', }); ``` Once we have our client setup, we will be able to make requests to our blockchain node using the `request` method and passing in two arguments. 1. The first is our RPC command which you can find in the documentation for any given blockchain. 2. The second is an array of options a given RPC command requires to return data based on your request. ## Example 1: Get Blockchain Info ```javascript client.request('getblockchaininfo', []).then(response => { console.log('response', response); }); // Expected response: { chain: ..., blocks: ..., headers: ..., etc: ...} ``` ## Example 2: Get Block Hash The getblockhash method returns the hash of a specific block in a blockchain. We're going to use the Bitcoin blockchain in this example and show using the client with additional arguments. ```javascript client.request('getblockhash', [778174]).then(response => { console.log('response', response); }); // Expected response: 00000000000000000003b80c61f014682e4cddc5cde562f9b358b542097c636b ``` You will notice that the second argument is passed as an array. Most RPC requests handle the payload in this configuration, although there are some exceptions to the rule. That's okay since @hyperbitjs/rpc is flexible enough to allow you to send any type (array, object, string) through as the second parameter so long as the API you are using accepts it. ## Conclusion Overall, @hyperbitjs/rpc is a powerful and flexible tool that can help you connect with any blockchain node that supports the JSON-RPC API. Whether you're building a decentralized application, analyzing blockchain data, or developing a new blockchain protocol, @hyperbitjs/rpc can help you communicate with the blockchain nodes you need to access. We hope that this tutorial has been informative and helpful for you. If you have any questions or feedback about this article, please feel free to leave a comment below. We always appreciate hearing from our readers and are happy to help with any issues or concerns you may have. Thanks again for reading, and happy coding! |
| json metadata | {"tags":["blockchain","rpc","api","cryptocurrency","javascript"],"users":["hyperbitjs"],"image":["https://images.hive.blog/DQmPqFZyjZgAFXD56jphyftuCLhZhyvCwRBMFCkfSE5yzgu/simplifying-blockchain-communication.png"],"links":["https://www.npmjs.com/package/@hyperbitjs/rpc"],"app":"hiveblog/0.1","format":"markdown","description":"A JavaScript library that simplifies the building of Remote Procedure Call (RPC) systems for blockchain communication."} |
| parent author | |
| parent permlink | blockchain |
| permlink | simplifying-blockchain-communication-with-hyperbitjs-rpc |
| title | Simplifying Blockchain Communication with @hyperbitjs/rpc |
| Transaction Info | Block #72724288/Trx 93b7f111eeada2204f1445244ac3c8cdb8b2ba9e |
View Raw JSON Data
{
"block": 72724288,
"op": [
"comment",
{
"author": "mmcshinsky",
"body": "\n\nIf you're looking for a way to interact with a remote blockchain node, [@hyperbitjs/rpc](https://www.npmjs.com/package/@hyperbitjs/rpc) is a straightforward package that can help. This package provides a convenient way to send requests to a blockchain node and handle the responses in your application.\n\nOne of the main benefits of using @hyperbitjs/rpc is that it's compatible with any blockchain that supports the JSON-RPC API. This means that you can use the same library to interact with different blockchains without having to learn new tools or languages.\n\n## Getting Started\n\nTo get started with @hyperbitjs/rpc, you will need to have a blockchain node set up and running. Additionally, you will need to enable the JSON-RPC API in your node's configuration file. Once you have your node set up and running, you can use @hyperbitjs/rpc to send requests to it. If you are unsure how to get a blockchain node setup with the JSON-RPC API enabled, take a look at this tutorial: [How to setup an RPC API for a Blockchain Node](https://magitek.dev/articles/2023-02-22-how-to-setup-an-rpc-api-for-a-blockchain-node/)\n\nYou’ll also want to make sure you have [Node.js](https://nodejs.org/en/) installed on your computer with your choice of IDE. [Visual Studio Code](https://code.visualstudio.com/) is a great choice, but you can use any [terminal](https://git-scm.com/downloads) or IDE to get started with your project.\n\n## Installation\n\nLet's get started by installing [@hyperbitjs/rpc](https://www.npmjs.com/package/@hyperbitjs/rpc) into your current project.\n\n1. Open your terminal or command prompt and navigate to your project directory.\n \n2. Type the following command to install @hyperbitjs/rpc and save it as a dependency in your project:\n \n```bash\nnpm install @hyperbitjs/rpc\n```\nThis command will download and install the latest version of @hyperbitjs/rpc and add it to your package.json file.\n \n3. Once the installation is complete, you can import the library into your project using the following code:\n```javascript\n// CommonJS\nconst { Client } = require('@hyperbitjs/rpc');\n```\n\n```javascript\n// ES6\nimport { Client } from '@hyperbitjs/rpc';\n```\nThis will give you access to the Client object, which contains all the methods you need to interact with a blockchain node. Let's use the Client to connect to our blockchain node and send commands.\n\n```javascript\nconst client = new Client({\n url: '<host:port>', // http://127.0.0.1:9050\n username: '<username>',\n password: '<password>',\n});\n```\n\nOnce we have our client setup, we will be able to make requests to our blockchain node using the `request` method and passing in two arguments.\n1. The first is our RPC command which you can find in the documentation for any given blockchain.\n2. The second is an array of options a given RPC command requires to return data based on your request.\n\n## Example 1: Get Blockchain Info\n```javascript\nclient.request('getblockchaininfo', []).then(response => {\n\tconsole.log('response', response);\n});\n// Expected response: { chain: ..., blocks: ..., headers: ..., etc: ...}\n```\n## Example 2: Get Block Hash\n\nThe getblockhash method returns the hash of a specific block in a blockchain. We're going to use the Bitcoin blockchain in this example and show using the client with additional arguments.\n```javascript\nclient.request('getblockhash', [778174]).then(response => {\n\tconsole.log('response', response);\n});\n// Expected response: 00000000000000000003b80c61f014682e4cddc5cde562f9b358b542097c636b\n```\nYou will notice that the second argument is passed as an array. Most RPC requests handle the payload in this configuration, although there are some exceptions to the rule. That's okay since @hyperbitjs/rpc is flexible enough to allow you to send any type (array, object, string) through as the second parameter so long as the API you are using accepts it.\n\n## Conclusion\n\nOverall, @hyperbitjs/rpc is a powerful and flexible tool that can help you connect with any blockchain node that supports the JSON-RPC API. Whether you're building a decentralized application, analyzing blockchain data, or developing a new blockchain protocol, @hyperbitjs/rpc can help you communicate with the blockchain nodes you need to access.\n\nWe hope that this tutorial has been informative and helpful for you. If you have any questions or feedback about this article, please feel free to leave a comment below. We always appreciate hearing from our readers and are happy to help with any issues or concerns you may have. \n\nThanks again for reading, and happy coding!",
"json_metadata": "{\"tags\":[\"blockchain\",\"rpc\",\"api\",\"cryptocurrency\",\"javascript\"],\"users\":[\"hyperbitjs\"],\"image\":[\"https://images.hive.blog/DQmPqFZyjZgAFXD56jphyftuCLhZhyvCwRBMFCkfSE5yzgu/simplifying-blockchain-communication.png\"],\"links\":[\"https://www.npmjs.com/package/@hyperbitjs/rpc\"],\"app\":\"hiveblog/0.1\",\"format\":\"markdown\",\"description\":\"A JavaScript library that simplifies the building of Remote Procedure Call (RPC) systems for blockchain communication.\"}",
"parent_author": "",
"parent_permlink": "blockchain",
"permlink": "simplifying-blockchain-communication-with-hyperbitjs-rpc",
"title": "Simplifying Blockchain Communication with @hyperbitjs/rpc"
}
],
"op_in_trx": 0,
"timestamp": "2023-03-01T05:18:39",
"trx_id": "93b7f111eeada2204f1445244ac3c8cdb8b2ba9e",
"trx_in_block": 14,
"virtual_op": false
}mmcshinskycustom json: notify2023/02/24 15:08:36
mmcshinskycustom json: notify
2023/02/24 15:08:36
| id | notify |
| json | ["setLastRead",{"date":"2023-02-24T15:08:31"}] |
| required auths | [] |
| required posting auths | ["mmcshinsky"] |
| Transaction Info | Block #72592236/Trx cd7c7ce0d63a67d47aeb21f454b1d3dc8b9c4108 |
View Raw JSON Data
{
"block": 72592236,
"op": [
"custom_json",
{
"id": "notify",
"json": "[\"setLastRead\",{\"date\":\"2023-02-24T15:08:31\"}]",
"required_auths": [],
"required_posting_auths": [
"mmcshinsky"
]
}
],
"op_in_trx": 0,
"timestamp": "2023-02-24T15:08:36",
"trx_id": "cd7c7ce0d63a67d47aeb21f454b1d3dc8b9c4108",
"trx_in_block": 27,
"virtual_op": false
}ackzareplied to @mmcshinsky / re-mmcshinsky-leho30742023/02/23 22:19:39
ackzareplied to @mmcshinsky / re-mmcshinsky-leho3074
2023/02/23 22:19:39
| author | ackza |
| body | You make it seem so easy! Now is there an actual simple way to do this with hive? Would be really nice for educational purposes I really want ro see these hive outposts have swap.btc and swap.eos tips! Posted using [ThiagoRe.com](https://www.thiagore.com/@ackza/re-mmcshinsky-leho3074) |
| json metadata | {"tags":["thiagore"],"format":"markdown","canonical_url":"https://www.thiagore.com/@ackza/re-mmcshinsky-leho3074","app":"thiagorewards/1.2.0"} |
| parent author | mmcshinsky |
| parent permlink | how-to-setup-an-rpc-api-for-a-blockchain-node |
| permlink | re-mmcshinsky-leho3074 |
| title | |
| Transaction Info | Block #72572078/Trx 09e97517e314cf698f73c17e9eac37a8803a5989 |
View Raw JSON Data
{
"block": 72572078,
"op": [
"comment",
{
"author": "ackza",
"body": "You make it seem so easy!\n\nNow is there an actual simple way to do this with hive? Would be really nice for educational purposes\n\nI really want ro see these hive outposts have swap.btc and swap.eos tips! \n\nPosted using [ThiagoRe.com](https://www.thiagore.com/@ackza/re-mmcshinsky-leho3074)",
"json_metadata": "{\"tags\":[\"thiagore\"],\"format\":\"markdown\",\"canonical_url\":\"https://www.thiagore.com/@ackza/re-mmcshinsky-leho3074\",\"app\":\"thiagorewards/1.2.0\"}",
"parent_author": "mmcshinsky",
"parent_permlink": "how-to-setup-an-rpc-api-for-a-blockchain-node",
"permlink": "re-mmcshinsky-leho3074",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2023-02-23T22:19:39",
"trx_id": "09e97517e314cf698f73c17e9eac37a8803a5989",
"trx_in_block": 37,
"virtual_op": false
}ackzaeffective vote applied for @mmcshinsky / how-to-setup-an-rpc-api-for-a-blockchain-node2023/02/23 22:18:18
ackzaeffective vote applied for @mmcshinsky / how-to-setup-an-rpc-api-for-a-blockchain-node
2023/02/23 22:18:18
| author | mmcshinsky |
| pending payout | 0.037 HBD |
| permlink | how-to-setup-an-rpc-api-for-a-blockchain-node |
| rshares | 61099072886 |
| total vote weight | 61099072886 |
| voter | ackza |
| weight | 61099072886 |
| Transaction Info | Block #72572051/Trx 3a686adafe9a7d8a8165474484554a9c4326b901 |
View Raw JSON Data
{
"block": 72572051,
"op": [
"effective_comment_vote",
{
"author": "mmcshinsky",
"pending_payout": "0.037 HBD",
"permlink": "how-to-setup-an-rpc-api-for-a-blockchain-node",
"rshares": 61099072886,
"total_vote_weight": 61099072886,
"voter": "ackza",
"weight": 61099072886
}
],
"op_in_trx": 1,
"timestamp": "2023-02-23T22:18:18",
"trx_id": "3a686adafe9a7d8a8165474484554a9c4326b901",
"trx_in_block": 20,
"virtual_op": true
}ackzaupvoted (100.00%) @mmcshinsky / how-to-setup-an-rpc-api-for-a-blockchain-node2023/02/23 22:18:18
ackzaupvoted (100.00%) @mmcshinsky / how-to-setup-an-rpc-api-for-a-blockchain-node
2023/02/23 22:18:18
| author | mmcshinsky |
| permlink | how-to-setup-an-rpc-api-for-a-blockchain-node |
| voter | ackza |
| weight | 10000 (100.00%) |
| Transaction Info | Block #72572051/Trx 3a686adafe9a7d8a8165474484554a9c4326b901 |
View Raw JSON Data
{
"block": 72572051,
"op": [
"vote",
{
"author": "mmcshinsky",
"permlink": "how-to-setup-an-rpc-api-for-a-blockchain-node",
"voter": "ackza",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2023-02-23T22:18:18",
"trx_id": "3a686adafe9a7d8a8165474484554a9c4326b901",
"trx_in_block": 20,
"virtual_op": false
}mmcshinskyupdated options for how-to-setup-an-rpc-api-for-a-blockchain-node2023/02/23 19:31:27
mmcshinskyupdated options for how-to-setup-an-rpc-api-for-a-blockchain-node
2023/02/23 19:31:27
| allow curation rewards | true |
| allow votes | true |
| author | mmcshinsky |
| extensions | [] |
| max accepted payout | 1000000.000 HBD |
| percent hbd | 10000 |
| permlink | how-to-setup-an-rpc-api-for-a-blockchain-node |
| Transaction Info | Block #72568719/Trx abf9ec1b2303742d7d840d274d2538cea67a8075 |
View Raw JSON Data
{
"block": 72568719,
"op": [
"comment_options",
{
"allow_curation_rewards": true,
"allow_votes": true,
"author": "mmcshinsky",
"extensions": [],
"max_accepted_payout": "1000000.000 HBD",
"percent_hbd": 10000,
"permlink": "how-to-setup-an-rpc-api-for-a-blockchain-node"
}
],
"op_in_trx": 1,
"timestamp": "2023-02-23T19:31:27",
"trx_id": "abf9ec1b2303742d7d840d274d2538cea67a8075",
"trx_in_block": 137,
"virtual_op": false
}mmcshinskypublished a new post: how-to-setup-an-rpc-api-for-a-blockchain-node2023/02/23 19:31:27
mmcshinskypublished a new post: how-to-setup-an-rpc-api-for-a-blockchain-node
2023/02/23 19:31:27
| author | mmcshinsky |
| body |  RPC (Remote Procedure Call) is a protocol that allows a program to execute code on a remote server. Many blockchain nodes include an RPC interface that allows you to interact with your node programmatically. In this tutorial, using Bitcoin, we will walk through the steps required to setup and interact with an RPC interface for your node. ## Prerequisites: Before we get started, you'll need to have a Bitcoin node installed on your computer or server. You should also have a basic understanding of how to use the command line. If you're not familiar with the command line, you may want to do some additional research before proceeding. ## Step 1: Install Bitcoin Core The first step is to download and install Bitcoin Core on your computer. You can download Bitcoin Core from the official website (https://bitcoincore.org/en/download/). Once you've downloaded the software, follow the installation instructions for your operating system. > Note: It can take a variable amount of time (hours or days) to sync your node to the blockchain network before you can use all the methods the RPC interface provides.  It is recommended to use the [testnet environment](https://developer.bitcoin.org/examples/testing.html) for experimenting with the blockchain in development before creating a production node for real world use. If you need Bitcoin to test transactions with, you can make use of this or similar faucets: [https://kuttler.eu/en/bitcoin/btc/faucet/](https://kuttler.eu/en/bitcoin/btc/faucet/). ## Step 2: Configure Bitcoin Core Once you've installed Bitcoin Core, you need to configure it to enable the RPC interface. To do this, you'll need to create a `bitcoin.conf` file in the Bitcoin data directory. On Linux/MacOS, you can create the file by running the following command: ``` nano ~/.bitcoin/bitcoin.conf ``` <br/> On Windows, you can create the file by navigating to the Bitcoin data directory (usually located in `%APPDATA%\Bitcoin`) and creating a new file called `bitcoin.conf`. ## Step 3: Configure the RPC interface In the bitcoin.conf file, add the following lines to enable the RPC interface: ``` server=1 rpcuser=username rpcpassword=password rpcallowip=IP address or subnet ``` <br/> Replace `username` and `password` with your own username and password, respectively. These will be used to authenticate the RPC connection. If you want to use testnet instead of a production node, you can add the following line: ``` testnet=1 ``` <br/> Replace `IP address or subnet` with the IP address or subnet that you want to allow to access the RPC interface. You can specify a single IP address or a subnet in CIDR notation (e.g. 192.168.0.0/16). This is more important when you want to access the RPC interface between a client and server. If you are doing this locally, you may be able to skip this step or set it to: ``` rpcallowip=127.0.0.1 rpcport=8332 ``` ## Step 4: Test the RPC interface Now that the RPC interface is set up, you can use it to interact with your Bitcoin node programmatically. You will need to restart Bitcoin Core for the changes you have made to take effect. Once restarted, you can test it by running the following command in the terminal: ``` bitcoin-cli getblockcount ``` <br/> If you run into issues using `bitcoin-cli` in the terminal, see the documentation [here](https://developer.bitcoin.org/examples/intro.html), or you can run a curl command as follows: ``` curl --user <username>:<password> --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockcount", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/ ``` <br/> If everything is set up correctly, you should see the current block count of your Bitcoin node. ## Conclusion: That's it! You now have an RPC interface set up for your Bitcoin node. You can use the RPC interface to interact with your node programmatically and build Bitcoin applications. --- For a full RPC API reference, see: [RPC API Reference — Bitcoin](https://developer.bitcoin.org/reference/rpc/) You can use a generator like [Bitcoin Core Config Generator](https://jlopp.github.io/bitcoin-core-config-generator/) to create a bitcoin.conf for yourself. |
| json metadata | {"tags":["api","rpc","blockchain","bitcoin","node"],"image":["https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nh7p0yyu606vlvnws5os.png","https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gji068d5ifz3kzi1m2dj.png"],"links":["https://bitcoincore.org/en/download/"],"app":"hiveblog/0.1","format":"markdown","description":"Getting started with setting up your own RPC interface to interact with blockchain nodes."} |
| parent author | |
| parent permlink | api |
| permlink | how-to-setup-an-rpc-api-for-a-blockchain-node |
| title | How to setup an RPC API for a Blockchain Node |
| Transaction Info | Block #72568719/Trx abf9ec1b2303742d7d840d274d2538cea67a8075 |
View Raw JSON Data
{
"block": 72568719,
"op": [
"comment",
{
"author": "mmcshinsky",
"body": "\n\nRPC (Remote Procedure Call) is a protocol that allows a program to execute code on a remote server. Many blockchain nodes include an RPC interface that allows you to interact with your node programmatically. In this tutorial, using Bitcoin, we will walk through the steps required to setup and interact with an RPC interface for your node.\n\n## Prerequisites:\n\nBefore we get started, you'll need to have a Bitcoin node installed on your computer or server. You should also have a basic understanding of how to use the command line. If you're not familiar with the command line, you may want to do some additional research before proceeding.\n\n## Step 1: Install Bitcoin Core\n\nThe first step is to download and install Bitcoin Core on your computer. You can download Bitcoin Core from the official website (https://bitcoincore.org/en/download/). Once you've downloaded the software, follow the installation instructions for your operating system.\n\n> Note: It can take a variable amount of time (hours or days) to sync your node to the blockchain network before you can use all the methods the RPC interface provides.\n\n\n\nIt is recommended to use the [testnet environment](https://developer.bitcoin.org/examples/testing.html) for experimenting with the blockchain in development before creating a production node for real world use. If you need Bitcoin to test transactions with, you can make use of this or similar faucets: [https://kuttler.eu/en/bitcoin/btc/faucet/](https://kuttler.eu/en/bitcoin/btc/faucet/).\n\n## Step 2: Configure Bitcoin Core\n\nOnce you've installed Bitcoin Core, you need to configure it to enable the RPC interface. To do this, you'll need to create a `bitcoin.conf` file in the Bitcoin data directory.\n\nOn Linux/MacOS, you can create the file by running the following command:\n\n```\nnano ~/.bitcoin/bitcoin.conf\n```\n<br/>\nOn Windows, you can create the file by navigating to the Bitcoin data directory (usually located in `%APPDATA%\\Bitcoin`) and creating a new file called `bitcoin.conf`.\n\n## Step 3: Configure the RPC interface\n\nIn the bitcoin.conf file, add the following lines to enable the RPC interface:\n\n```\nserver=1\nrpcuser=username\nrpcpassword=password\nrpcallowip=IP address or subnet\n```\n<br/>\nReplace `username` and `password` with your own username and password, respectively. These will be used to authenticate the RPC connection.\n\nIf you want to use testnet instead of a production node, you can add the following line:\n\n```\ntestnet=1\n```\n<br/>\nReplace `IP address or subnet` with the IP address or subnet that you want to allow to access the RPC interface. You can specify a single IP address or a subnet in CIDR notation (e.g. 192.168.0.0/16). This is more important when you want to access the RPC interface between a client and server. If you are doing this locally, you may be able to skip this step or set it to:\n\n```\nrpcallowip=127.0.0.1\nrpcport=8332\n```\n\n## Step 4: Test the RPC interface\n\nNow that the RPC interface is set up, you can use it to interact with your Bitcoin node programmatically. You will need to restart Bitcoin Core for the changes you have made to take effect. Once restarted, you can test it by running the following command in the terminal:\n\n```\nbitcoin-cli getblockcount\n```\n<br/>\nIf you run into issues using `bitcoin-cli` in the terminal, see the documentation [here](https://developer.bitcoin.org/examples/intro.html), or you can run a curl command as follows:\n\n```\ncurl --user <username>:<password> --data-binary '{\"jsonrpc\": \"1.0\", \"id\":\"curltest\", \"method\": \"getblockcount\", \"params\": [] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/\n```\n<br/>\nIf everything is set up correctly, you should see the current block count of your Bitcoin node.\n\n## Conclusion:\n\nThat's it! You now have an RPC interface set up for your Bitcoin node. You can use the RPC interface to interact with your node programmatically and build Bitcoin applications.\n\n---\n\nFor a full RPC API reference, see: [RPC API Reference — Bitcoin](https://developer.bitcoin.org/reference/rpc/)\n\nYou can use a generator like [Bitcoin Core Config Generator](https://jlopp.github.io/bitcoin-core-config-generator/) to create a bitcoin.conf for yourself.",
"json_metadata": "{\"tags\":[\"api\",\"rpc\",\"blockchain\",\"bitcoin\",\"node\"],\"image\":[\"https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nh7p0yyu606vlvnws5os.png\",\"https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gji068d5ifz3kzi1m2dj.png\"],\"links\":[\"https://bitcoincore.org/en/download/\"],\"app\":\"hiveblog/0.1\",\"format\":\"markdown\",\"description\":\"Getting started with setting up your own RPC interface to interact with blockchain nodes.\"}",
"parent_author": "",
"parent_permlink": "api",
"permlink": "how-to-setup-an-rpc-api-for-a-blockchain-node",
"title": "How to setup an RPC API for a Blockchain Node"
}
],
"op_in_trx": 0,
"timestamp": "2023-02-23T19:31:27",
"trx_id": "abf9ec1b2303742d7d840d274d2538cea67a8075",
"trx_in_block": 137,
"virtual_op": false
}mmcshinskyupdated their account properties2023/02/23 19:25:57
mmcshinskyupdated their account properties
2023/02/23 19:25:57
| account | mmcshinsky |
| extensions | [] |
| json metadata | |
| posting json metadata | {"profile":{"profile_image":"https://images.hive.blog/DQmQw8FC9rH4psyLYnSWXtPH652nC9ndQopriC5vPwVJLeX/IvoOnSql_400x400.jpg","name":"Magitek","website":"https://magitek.dev","version":2}} |
| Transaction Info | Block #72568609/Trx 7dd142bd1c4412bfae132c41a75f9687c05e502f |
View Raw JSON Data
{
"block": 72568609,
"op": [
"account_update2",
{
"account": "mmcshinsky",
"extensions": [],
"json_metadata": "",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://images.hive.blog/DQmQw8FC9rH4psyLYnSWXtPH652nC9ndQopriC5vPwVJLeX/IvoOnSql_400x400.jpg\",\"name\":\"Magitek\",\"website\":\"https://magitek.dev\",\"version\":2}}"
}
],
"op_in_trx": 0,
"timestamp": "2023-02-23T19:25:57",
"trx_id": "7dd142bd1c4412bfae132c41a75f9687c05e502f",
"trx_in_block": 52,
"virtual_op": false
}mmcshinskyupdated payout for merging-javascript-objects2020/07/09 22:32:06
mmcshinskyupdated payout for merging-javascript-objects
2020/07/09 22:32:06
| author | mmcshinsky |
| permlink | merging-javascript-objects |
| Transaction Info | Block #45014904/Virtual Operation 4294967295:8 |
View Raw JSON Data
{
"block": 45014904,
"op": [
"comment_payout_update",
{
"author": "mmcshinsky",
"permlink": "merging-javascript-objects"
}
],
"op_in_trx": 8,
"timestamp": "2020-07-09T22:32:06",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": true
}mmcshinskyreceived 0.367 HBD reward share for merging-javascript-objects2020/07/09 22:32:06
mmcshinskyreceived 0.367 HBD reward share for merging-javascript-objects
2020/07/09 22:32:06
| author | mmcshinsky |
| author rewards | 845 |
| beneficiary payout value | 0.000 HBD |
| curator payout value | 0.183 HBD |
| payout | 0.367 HBD |
| permlink | merging-javascript-objects |
| total payout value | 0.183 HBD |
| Transaction Info | Block #45014904/Virtual Operation 4294967295:7 |
View Raw JSON Data
{
"block": 45014904,
"op": [
"comment_reward",
{
"author": "mmcshinsky",
"author_rewards": 845,
"beneficiary_payout_value": "0.000 HBD",
"curator_payout_value": "0.183 HBD",
"payout": "0.367 HBD",
"permlink": "merging-javascript-objects",
"total_payout_value": "0.183 HBD"
}
],
"op_in_trx": 7,
"timestamp": "2020-07-09T22:32:06",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": true
}mmcshinskyreceived 0.091 HBD, 0.506 HP author reward for @mmcshinsky / merging-javascript-objects2020/07/09 22:32:06
mmcshinskyreceived 0.091 HBD, 0.506 HP author reward for @mmcshinsky / merging-javascript-objects
2020/07/09 22:32:06
| author | mmcshinsky |
| curators vesting payout | 1635.985746 VESTS |
| hbd payout | 0.091 HBD |
| hive payout | 0.000 HIVE |
| payout must be claimed | true |
| permlink | merging-javascript-objects |
| vesting payout | 820.903880 VESTS |
| Transaction Info | Block #45014904/Virtual Operation 4294967295:6 |
View Raw JSON Data
{
"block": 45014904,
"op": [
"author_reward",
{
"author": "mmcshinsky",
"curators_vesting_payout": "1635.985746 VESTS",
"hbd_payout": "0.091 HBD",
"hive_payout": "0.000 HIVE",
"payout_must_be_claimed": true,
"permlink": "merging-javascript-objects",
"vesting_payout": "820.903880 VESTS"
}
],
"op_in_trx": 6,
"timestamp": "2020-07-09T22:32:06",
"trx_id": "0000000000000000000000000000000000000000",
"trx_in_block": 4294967295,
"virtual_op": true
}torrey.blogeffective vote applied for @mmcshinsky / merging-javascript-objects2020/07/03 15:37:00
torrey.blogeffective vote applied for @mmcshinsky / merging-javascript-objects
2020/07/03 15:37:00
| author | mmcshinsky |
| pending payout | 0.371 HBD |
| permlink | merging-javascript-objects |
| rshares | 43777239502 |
| total vote weight | 631025 |
| voter | torrey.blog |
| weight | 15850 |
| Transaction Info | Block #44834246/Trx 6c3fb5d5f1882c57f932b0a532bacee3b91e4160 |
View Raw JSON Data
{
"block": 44834246,
"op": [
"effective_comment_vote",
{
"author": "mmcshinsky",
"pending_payout": "0.371 HBD",
"permlink": "merging-javascript-objects",
"rshares": 43777239502,
"total_vote_weight": 631025,
"voter": "torrey.blog",
"weight": 15850
}
],
"op_in_trx": 1,
"timestamp": "2020-07-03T15:37:00",
"trx_id": "6c3fb5d5f1882c57f932b0a532bacee3b91e4160",
"trx_in_block": 16,
"virtual_op": true
}torrey.blogupvoted (25.00%) @mmcshinsky / merging-javascript-objects2020/07/03 15:37:00
torrey.blogupvoted (25.00%) @mmcshinsky / merging-javascript-objects
2020/07/03 15:37:00
| author | mmcshinsky |
| permlink | merging-javascript-objects |
| voter | torrey.blog |
| weight | 2500 (25.00%) |
| Transaction Info | Block #44834246/Trx 6c3fb5d5f1882c57f932b0a532bacee3b91e4160 |
View Raw JSON Data
{
"block": 44834246,
"op": [
"vote",
{
"author": "mmcshinsky",
"permlink": "merging-javascript-objects",
"voter": "torrey.blog",
"weight": 2500
}
],
"op_in_trx": 0,
"timestamp": "2020-07-03T15:37:00",
"trx_id": "6c3fb5d5f1882c57f932b0a532bacee3b91e4160",
"trx_in_block": 16,
"virtual_op": false
}2020/07/03 15:35:03
2020/07/03 15:35:03
| author | planktonsupport |
| body | @@ -110,16 +110,105 @@ back!%0A%0A +I found similar content here: https://dev.to/mmcshinsky/merging-javascript-objects-45m6%0A%0A If you f |
| json metadata | {"tags":["hive-111141"],"app":"peakd/2020.07.1"} |
| parent author | mmcshinsky |
| parent permlink | merging-javascript-objects |
| permlink | re-merging-javascript-objects-20200703t153427z |
| title | |
| Transaction Info | Block #44834207/Trx c4fe3e70be72180bff597bed6064e39a02bdeeea |
View Raw JSON Data
{
"block": 44834207,
"op": [
"comment",
{
"author": "planktonsupport",
"body": "@@ -110,16 +110,105 @@\n back!%0A%0A\n+I found similar content here: https://dev.to/mmcshinsky/merging-javascript-objects-45m6%0A%0A\n If you f\n",
"json_metadata": "{\"tags\":[\"hive-111141\"],\"app\":\"peakd/2020.07.1\"}",
"parent_author": "mmcshinsky",
"parent_permlink": "merging-javascript-objects",
"permlink": "re-merging-javascript-objects-20200703t153427z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2020-07-03T15:35:03",
"trx_id": "c4fe3e70be72180bff597bed6064e39a02bdeeea",
"trx_in_block": 13,
"virtual_op": false
}hivepeopleeffective vote applied for @mmcshinsky / merging-javascript-objects2020/07/03 15:34:30
hivepeopleeffective vote applied for @mmcshinsky / merging-javascript-objects
2020/07/03 15:34:30
| author | mmcshinsky |
| pending payout | 0.359 HBD |
| permlink | merging-javascript-objects |
| rshares | 107940792685 |
| total vote weight | 615175 |
| voter | hivepeople |
| weight | 39691 |
| Transaction Info | Block #44834196/Trx 66730b67496ab2b67855fb7dede2daa73bbb9a16 |
View Raw JSON Data
{
"block": 44834196,
"op": [
"effective_comment_vote",
{
"author": "mmcshinsky",
"pending_payout": "0.359 HBD",
"permlink": "merging-javascript-objects",
"rshares": 107940792685,
"total_vote_weight": 615175,
"voter": "hivepeople",
"weight": 39691
}
],
"op_in_trx": 1,
"timestamp": "2020-07-03T15:34:30",
"trx_id": "66730b67496ab2b67855fb7dede2daa73bbb9a16",
"trx_in_block": 29,
"virtual_op": true
}hivepeopleupvoted (25.00%) @mmcshinsky / merging-javascript-objects2020/07/03 15:34:30
hivepeopleupvoted (25.00%) @mmcshinsky / merging-javascript-objects
2020/07/03 15:34:30
| author | mmcshinsky |
| permlink | merging-javascript-objects |
| voter | hivepeople |
| weight | 2500 (25.00%) |
| Transaction Info | Block #44834196/Trx 66730b67496ab2b67855fb7dede2daa73bbb9a16 |
View Raw JSON Data
{
"block": 44834196,
"op": [
"vote",
{
"author": "mmcshinsky",
"permlink": "merging-javascript-objects",
"voter": "hivepeople",
"weight": 2500
}
],
"op_in_trx": 0,
"timestamp": "2020-07-03T15:34:30",
"trx_id": "66730b67496ab2b67855fb7dede2daa73bbb9a16",
"trx_in_block": 29,
"virtual_op": false
}roomserviceeffective vote applied for @mmcshinsky / merging-javascript-objects2020/07/03 15:34:30
roomserviceeffective vote applied for @mmcshinsky / merging-javascript-objects
2020/07/03 15:34:30
| author | mmcshinsky |
| pending payout | 0.329 HBD |
| permlink | merging-javascript-objects |
| rshares | 1296988485849 |
| total vote weight | 575484 |
| voter | roomservice |
| weight | 556336 |
| Transaction Info | Block #44834196/Trx 4b1699f3b6a75caa1a8eee176ab11d987ebc20c7 |
View Raw JSON Data
{
"block": 44834196,
"op": [
"effective_comment_vote",
{
"author": "mmcshinsky",
"pending_payout": "0.329 HBD",
"permlink": "merging-javascript-objects",
"rshares": 1296988485849,
"total_vote_weight": 575484,
"voter": "roomservice",
"weight": 556336
}
],
"op_in_trx": 1,
"timestamp": "2020-07-03T15:34:30",
"trx_id": "4b1699f3b6a75caa1a8eee176ab11d987ebc20c7",
"trx_in_block": 27,
"virtual_op": true
}roomserviceupvoted (50.00%) @mmcshinsky / merging-javascript-objects2020/07/03 15:34:30
roomserviceupvoted (50.00%) @mmcshinsky / merging-javascript-objects
2020/07/03 15:34:30
| author | mmcshinsky |
| permlink | merging-javascript-objects |
| voter | roomservice |
| weight | 5000 (50.00%) |
| Transaction Info | Block #44834196/Trx 4b1699f3b6a75caa1a8eee176ab11d987ebc20c7 |
View Raw JSON Data
{
"block": 44834196,
"op": [
"vote",
{
"author": "mmcshinsky",
"permlink": "merging-javascript-objects",
"voter": "roomservice",
"weight": 5000
}
],
"op_in_trx": 0,
"timestamp": "2020-07-03T15:34:30",
"trx_id": "4b1699f3b6a75caa1a8eee176ab11d987ebc20c7",
"trx_in_block": 27,
"virtual_op": false
}2020/07/03 15:34:30
2020/07/03 15:34:30
| author | planktonsupport |
| body | @mmcshinsky! The PlanktonSupport team welcomes you to Hive. Let us know if you need any help. We've got your back! If you feel stuck, look at this page: https://peakd.com/hivemarketing/@hivepeople/hive-for-noobs You can chat with the Hive community at [openhive.chat](https://openhive.chat/). Use your Hive account to log in. PlanktonSupport reviewed your post, upvoted and reblogged it. And we've followed you on Hive. --- [](https://peakd.com/@doze) Image created by @doze. --- Connect with us on Hive: @hivepeople and @hivetrending. Connect with us on Twitter: [@hivepeople](https://twitter.com/hivepeople) and [@hivetrending](https://twitter.com/hivetrending). |
| json metadata | {"app": "beem/0.23.12"} |
| parent author | mmcshinsky |
| parent permlink | merging-javascript-objects |
| permlink | re-merging-javascript-objects-20200703t153427z |
| title | |
| Transaction Info | Block #44834196/Trx 7b55cc3304d942dcc376a1b560a79866fc7003ae |
View Raw JSON Data
{
"block": 44834196,
"op": [
"comment",
{
"author": "planktonsupport",
"body": "\n@mmcshinsky! The PlanktonSupport team welcomes you to Hive. Let us know if you need any help. We've got your back!\n\nIf you feel stuck, look at this page: https://peakd.com/hivemarketing/@hivepeople/hive-for-noobs\nYou can chat with the Hive community at [openhive.chat](https://openhive.chat/). Use your Hive account to log in.\n\n\nPlanktonSupport reviewed your post, upvoted and reblogged it. And we've followed you on Hive.\n\n\n\n---\n[](https://peakd.com/@doze) Image created by @doze.\n--- \nConnect with us on Hive: @hivepeople and @hivetrending. \nConnect with us on Twitter: [@hivepeople](https://twitter.com/hivepeople) and [@hivetrending](https://twitter.com/hivetrending).",
"json_metadata": "{\"app\": \"beem/0.23.12\"}",
"parent_author": "mmcshinsky",
"parent_permlink": "merging-javascript-objects",
"permlink": "re-merging-javascript-objects-20200703t153427z",
"title": ""
}
],
"op_in_trx": 0,
"timestamp": "2020-07-03T15:34:30",
"trx_id": "7b55cc3304d942dcc376a1b560a79866fc7003ae",
"trx_in_block": 16,
"virtual_op": false
}planktonsupporteffective vote applied for @mmcshinsky / merging-javascript-objects2020/07/03 15:34:27
planktonsupporteffective vote applied for @mmcshinsky / merging-javascript-objects
2020/07/03 15:34:27
| author | mmcshinsky |
| pending payout | 0.008 HBD |
| permlink | merging-javascript-objects |
| rshares | 38475157308 |
| total vote weight | 19148 |
| voter | planktonsupport |
| weight | 19129 |
| Transaction Info | Block #44834195/Trx 2f3cb14a0c78369f1a6acb3ea83e1cf7ace9230c |
View Raw JSON Data
{
"block": 44834195,
"op": [
"effective_comment_vote",
{
"author": "mmcshinsky",
"pending_payout": "0.008 HBD",
"permlink": "merging-javascript-objects",
"rshares": 38475157308,
"total_vote_weight": 19148,
"voter": "planktonsupport",
"weight": 19129
}
],
"op_in_trx": 1,
"timestamp": "2020-07-03T15:34:27",
"trx_id": "2f3cb14a0c78369f1a6acb3ea83e1cf7ace9230c",
"trx_in_block": 15,
"virtual_op": true
}planktonsupportupvoted (100.00%) @mmcshinsky / merging-javascript-objects2020/07/03 15:34:27
planktonsupportupvoted (100.00%) @mmcshinsky / merging-javascript-objects
2020/07/03 15:34:27
| author | mmcshinsky |
| permlink | merging-javascript-objects |
| voter | planktonsupport |
| weight | 10000 (100.00%) |
| Transaction Info | Block #44834195/Trx 2f3cb14a0c78369f1a6acb3ea83e1cf7ace9230c |
View Raw JSON Data
{
"block": 44834195,
"op": [
"vote",
{
"author": "mmcshinsky",
"permlink": "merging-javascript-objects",
"voter": "planktonsupport",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2020-07-03T15:34:27",
"trx_id": "2f3cb14a0c78369f1a6acb3ea83e1cf7ace9230c",
"trx_in_block": 15,
"virtual_op": false
}mmcshinskyeffective vote applied for @mmcshinsky / merging-javascript-objects2020/07/02 22:40:45
mmcshinskyeffective vote applied for @mmcshinsky / merging-javascript-objects
2020/07/02 22:40:45
| author | mmcshinsky |
| pending payout | 0.000 HBD |
| permlink | merging-javascript-objects |
| rshares | 0 |
| total vote weight | 19 |
| voter | mmcshinsky |
| weight | 0 (0.00%) |
| Transaction Info | Block #44813966/Trx 6817de24a29db87fbacce1676e0e7acbf7043a8e |
View Raw JSON Data
{
"block": 44813966,
"op": [
"effective_comment_vote",
{
"author": "mmcshinsky",
"pending_payout": "0.000 HBD",
"permlink": "merging-javascript-objects",
"rshares": 0,
"total_vote_weight": 19,
"voter": "mmcshinsky",
"weight": 0
}
],
"op_in_trx": 1,
"timestamp": "2020-07-02T22:40:45",
"trx_id": "6817de24a29db87fbacce1676e0e7acbf7043a8e",
"trx_in_block": 52,
"virtual_op": true
}mmcshinskyupvoted (100.00%) @mmcshinsky / merging-javascript-objects2020/07/02 22:40:45
mmcshinskyupvoted (100.00%) @mmcshinsky / merging-javascript-objects
2020/07/02 22:40:45
| author | mmcshinsky |
| permlink | merging-javascript-objects |
| voter | mmcshinsky |
| weight | 10000 (100.00%) |
| Transaction Info | Block #44813966/Trx 6817de24a29db87fbacce1676e0e7acbf7043a8e |
View Raw JSON Data
{
"block": 44813966,
"op": [
"vote",
{
"author": "mmcshinsky",
"permlink": "merging-javascript-objects",
"voter": "mmcshinsky",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T22:40:45",
"trx_id": "6817de24a29db87fbacce1676e0e7acbf7043a8e",
"trx_in_block": 52,
"virtual_op": false
}beemenginesent 0.001 HIVE to @mmcshinsky- "🚀 boost all your upcoming posts 24/24 🕑 Just subscribe and we do all the rest for you. checkout http://beemengine.live for only 1 HIVE a month to @beemengine with memo: subscribe"2020/07/02 22:33:03
beemenginesent 0.001 HIVE to @mmcshinsky- "🚀 boost all your upcoming posts 24/24 🕑 Just subscribe and we do all the rest for you. checkout http://beemengine.live for only 1 HIVE a month to @beemengine with memo: subscribe"
2020/07/02 22:33:03
| amount | 0.001 HIVE |
| from | beemengine |
| memo | 🚀 boost all your upcoming posts 24/24 🕑 Just subscribe and we do all the rest for you. checkout http://beemengine.live for only 1 HIVE a month to @beemengine with memo: subscribe |
| to | mmcshinsky |
| Transaction Info | Block #44813812/Trx 8410cbe9fca50d425dfe4733ee1b84be84c2bf80 |
View Raw JSON Data
{
"block": 44813812,
"op": [
"transfer",
{
"amount": "0.001 HIVE",
"from": "beemengine",
"memo": "🚀 boost all your upcoming posts 24/24 🕑 Just subscribe and we do all the rest for you. checkout http://beemengine.live for only 1 HIVE a month to @beemengine with memo: subscribe",
"to": "mmcshinsky"
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T22:33:03",
"trx_id": "8410cbe9fca50d425dfe4733ee1b84be84c2bf80",
"trx_in_block": 7,
"virtual_op": false
}laissez-faireeffective vote applied for @mmcshinsky / merging-javascript-objects2020/07/02 22:32:45
laissez-faireeffective vote applied for @mmcshinsky / merging-javascript-objects
2020/07/02 22:32:45
| author | mmcshinsky |
| pending payout | 0.000 HBD |
| permlink | merging-javascript-objects |
| rshares | 39913821 |
| total vote weight | 19 |
| voter | laissez-faire |
| weight | 2 (0.02%) |
| Transaction Info | Block #44813806/Trx 357ce3b36d1181b73004ffb45843d7422a388fb7 |
View Raw JSON Data
{
"block": 44813806,
"op": [
"effective_comment_vote",
{
"author": "mmcshinsky",
"pending_payout": "0.000 HBD",
"permlink": "merging-javascript-objects",
"rshares": 39913821,
"total_vote_weight": 19,
"voter": "laissez-faire",
"weight": 2
}
],
"op_in_trx": 1,
"timestamp": "2020-07-02T22:32:45",
"trx_id": "357ce3b36d1181b73004ffb45843d7422a388fb7",
"trx_in_block": 1,
"virtual_op": true
}laissez-faireupvoted (100.00%) @mmcshinsky / merging-javascript-objects2020/07/02 22:32:45
laissez-faireupvoted (100.00%) @mmcshinsky / merging-javascript-objects
2020/07/02 22:32:45
| author | mmcshinsky |
| permlink | merging-javascript-objects |
| voter | laissez-faire |
| weight | 10000 (100.00%) |
| Transaction Info | Block #44813806/Trx 357ce3b36d1181b73004ffb45843d7422a388fb7 |
View Raw JSON Data
{
"block": 44813806,
"op": [
"vote",
{
"author": "mmcshinsky",
"permlink": "merging-javascript-objects",
"voter": "laissez-faire",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T22:32:45",
"trx_id": "357ce3b36d1181b73004ffb45843d7422a388fb7",
"trx_in_block": 1,
"virtual_op": false
}mmcshinskyupdated options for merging-javascript-objects2020/07/02 22:32:09
mmcshinskyupdated options for merging-javascript-objects
2020/07/02 22:32:09
| allow curation rewards | true |
| allow votes | true |
| author | mmcshinsky |
| extensions | [] |
| max accepted payout | 1000000.000 HBD |
| percent hbd | 10000 |
| permlink | merging-javascript-objects |
| Transaction Info | Block #44813794/Trx a2ad7b265e95273be43b72ba81c92c692d3009c9 |
View Raw JSON Data
{
"block": 44813794,
"op": [
"comment_options",
{
"allow_curation_rewards": true,
"allow_votes": true,
"author": "mmcshinsky",
"extensions": [],
"max_accepted_payout": "1000000.000 HBD",
"percent_hbd": 10000,
"permlink": "merging-javascript-objects"
}
],
"op_in_trx": 1,
"timestamp": "2020-07-02T22:32:09",
"trx_id": "a2ad7b265e95273be43b72ba81c92c692d3009c9",
"trx_in_block": 45,
"virtual_op": false
}mmcshinskypublished a new post: merging-javascript-objects2020/07/02 22:32:09
mmcshinskypublished a new post: merging-javascript-objects
2020/07/02 22:32:09
| author | mmcshinsky |
| body |  This article will show you how to merge two or more JavaScript objects into a new object. The new object will contain the properties of all the objects that were merged together. JavaScript provides multiple ways to accomplish this task with a lot of different methods. Here, we will take a look at three of the more popular approaches. These are: * [Spread](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax) - The spread (…) operator * [Assign](https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/object/assign) - The Object.assign() method * [Loop](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) - Object loop method (for…in) ## Spread Operator The spread operator was introduced with ES6 and allows us to merge multiple arguments or objects and returns a new combined value anywhere defined in your code. ```javascript let obj1 = { firstName: 'John', lastName: 'Doe', email: '[email protected]', }; let obj2 = { email: '[email protected]', phone: '012–345–6789' }; let obj3 = { city: 'Salt Lake City', state: 'Utah' }; let newObj = { ...obj1, ...obj2, ...obj3 }; // { // firstName: 'John', // lastName: 'Doe', // email: '[email protected]', // phone: '012–345–6789', // city: 'Salt Lake City', // state: 'Utah' // } ``` If any of the objects or values added to the spread operation share the same property or name (e.g. `firstName`), the last one passed into your operation will be the value taken and overwrites any earlier values with the same key when creating your new object. This can be seen in our example above. One important factor in using this approach is that the shape of your final value is defined by the wrapping characters. That is, we use the opening and closing braces ("`{ }`") to determine the resulting shape of our action, in this case, an object. Another result shape we can use are brackets ("`[ ]`") when combining arrays to create a new array. ## Object.assign() The object prototype method `assign` is a tried and true method introduced with ES5. The spread operator has since taken over to do the same thing, but if you don’t have browser support for the latest and greatest, or you have to support older browsers, the assign method may be your go to in these niche situations. ```javascript let obj1 = { firstName: 'John', lastName: 'Doe', email: '[email protected]', }; let obj2 = { email: '[email protected]', phone: '012–345–6789' }; let obj3 = { city: 'Salt Lake City', state: 'Utah' }; let newObj = Object.assign({}, obj1, obj2, obj3); // { // firstName: 'John', // lastName: 'Doe', // email: '[email protected]', // phone: '012–345–6789', // city: 'Salt Lake City', // state: 'Utah' // } ``` In the code shown above, the assign method takes one or many arguments just like the spread operator. Just like the spread operator, if we need to define and default or ending shape of our variable, we add in an empty object `{}` that the following objects will fill into. ## Object Loops (for…in) Our final method for merging objects are loops. This is an older method and is not nearly as popular as spread and assign, but it does come with some convenient customizations if you need more granular control over how your objects will be merged. We’ll upgrade it slightly to use some ES6 flavoring (for…in, and reduce) while we’re at it. No need to stay old school in everything, right? ```javascript let obj1 = { firstName: 'John', lastName: 'Doe', email: '[email protected]', }; let obj2 = { email: '[email protected]', phone: '012–345–6789' }; let obj3 = { city: 'Salt Lake City', state: 'Utah' }; function merge(...arr) { return arr.reduce((acc, cur) => { // Can add custom logic for how keys or nested values should be handled. for (let key in cur) { acc[key] = cur[key]; } return acc; }, {}); } let newObj = merge(obj1, obj2, obj3); // { // firstName: 'John', // lastName: 'Doe', // email: '[email protected]', // phone: '012–345–6789', // city: 'Salt Lake City', // state: 'Utah' // } ``` We can see in the code above that we first loop over the passed in object(s). In this case we are making use of the rest parameter syntax in our function parameters. Then we loop over each object and it’s keys in order to create our final object. One important note to remember is that when JavaScript merges your objects and values into a new object, this is considered a shallow copy. This means that top level values contain no reference to the old objects values, whereas deeper or nested values may contain a reference to the original object. If you update our newly created object, old object references may update as well! There are some verbose examples of what are called “deep copying” functions provided by different libraries and individuals (e.g. `jQuery.extend()`, lodash, underscore, `JSON.parse(JSON.stringify)`, etc…). Be warned that these are expensive operations. Doing deep copies over large lists of data could highly impact user experience and performance on the device running your code! If you find yourself doing this a lot or wanting to do this a lot, take a step back and think about the architecture of your code and decide if there is a more DRY or maintainable way to break apart and manage your code’s state. ## Conclusion Whichever is best for your project is the best approach for you! Which browsers you need support will be one of the main factors in the choice you make between these and other solutions. If you are only supporting the latest and greatest browsers, you will probably end up using the spread operator a lot more than the others. On the other hand, if you have to want that granularity or old browser support, you may fall back to manual loops. Sometimes, it’s about what your team decides to use to be consistent with each other. In the end, it’s all up to you! |
| json metadata | {"tags":["hive-111141","javascript","react","reactjs","webdev","objects","es6"],"image":["https://images.hive.blog/DQmSxcpFNz5B4KZg1yuzQ42RhmjRUhMNsfkJZrYU87UgoF7/1_ivBQ94fRa62hH156q5SSfA.webp"],"links":["https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax","https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/object/assign","https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in"],"app":"hiveblog/0.1","format":"markdown"} |
| parent author | |
| parent permlink | hive-111141 |
| permlink | merging-javascript-objects |
| title | Merging JavaScript Objects |
| Transaction Info | Block #44813794/Trx a2ad7b265e95273be43b72ba81c92c692d3009c9 |
View Raw JSON Data
{
"block": 44813794,
"op": [
"comment",
{
"author": "mmcshinsky",
"body": "\n\nThis article will show you how to merge two or more JavaScript objects into a new object. The new object will contain the properties of all the objects that were merged together. JavaScript provides multiple ways to accomplish this task with a lot of different methods. Here, we will take a look at three of the more popular approaches. These are:\n\n* [Spread](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax) - The spread (…) operator\n* [Assign](https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/object/assign) - The Object.assign() method\n* [Loop](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) - Object loop method (for…in)\n\n## Spread Operator\n\nThe spread operator was introduced with ES6 and allows us to merge multiple arguments or objects and returns a new combined value anywhere defined in your code.\n\n```javascript\nlet obj1 = {\n firstName: 'John',\n lastName: 'Doe',\n email: '[email protected]',\n};\n\nlet obj2 = { email: '[email protected]', phone: '012–345–6789' };\n\nlet obj3 = { city: 'Salt Lake City', state: 'Utah' };\n\nlet newObj = { ...obj1, ...obj2, ...obj3 };\n\n// {\n// firstName: 'John',\n// lastName: 'Doe',\n// email: '[email protected]',\n// phone: '012–345–6789',\n// city: 'Salt Lake City',\n// state: 'Utah'\n// }\n\n```\n\nIf any of the objects or values added to the spread operation share the same property or name (e.g. `firstName`), the last one passed into your operation will be the value taken and overwrites any earlier values with the same key when creating your new object. This can be seen in our example above.\n\nOne important factor in using this approach is that the shape of your final value is defined by the wrapping characters. That is, we use the opening and closing braces (\"`{ }`\") to determine the resulting shape of our action, in this case, an object. Another result shape we can use are brackets (\"`[ ]`\") when combining arrays to create a new array.\n\n## Object.assign()\n\nThe object prototype method `assign` is a tried and true method introduced with ES5. The spread operator has since taken over to do the same thing, but if you don’t have browser support for the latest and greatest, or you have to support older browsers, the assign method may be your go to in these niche situations.\n\n```javascript\nlet obj1 = {\n firstName: 'John',\n lastName: 'Doe',\n email: '[email protected]',\n};\n\nlet obj2 = { email: '[email protected]', phone: '012–345–6789' };\n\nlet obj3 = { city: 'Salt Lake City', state: 'Utah' };\n\nlet newObj = Object.assign({}, obj1, obj2, obj3);\n\n// {\n// firstName: 'John',\n// lastName: 'Doe',\n// email: '[email protected]',\n// phone: '012–345–6789',\n// city: 'Salt Lake City',\n// state: 'Utah'\n// }\n\n```\n\nIn the code shown above, the assign method takes one or many arguments just like the spread operator. Just like the spread operator, if we need to define and default or ending shape of our variable, we add in an empty object `{}` that the following objects will fill into.\n\n## Object Loops (for…in)\n\nOur final method for merging objects are loops. This is an older method and is not nearly as popular as spread and assign, but it does come with some convenient customizations if you need more granular control over how your objects will be merged. We’ll upgrade it slightly to use some ES6 flavoring (for…in, and reduce) while we’re at it. No need to stay old school in everything, right?\n\n```javascript\nlet obj1 = {\n firstName: 'John',\n lastName: 'Doe',\n email: '[email protected]',\n};\n\nlet obj2 = { email: '[email protected]', phone: '012–345–6789' };\n\nlet obj3 = { city: 'Salt Lake City', state: 'Utah' };\n\nfunction merge(...arr) {\n return arr.reduce((acc, cur) => {\n // Can add custom logic for how keys or nested values should be handled.\n for (let key in cur) {\n acc[key] = cur[key];\n }\n return acc;\n }, {});\n}\n\nlet newObj = merge(obj1, obj2, obj3);\n\n// {\n// firstName: 'John',\n// lastName: 'Doe',\n// email: '[email protected]',\n// phone: '012–345–6789',\n// city: 'Salt Lake City',\n// state: 'Utah'\n// }\n\n```\n\nWe can see in the code above that we first loop over the passed in object(s). In this case we are making use of the rest parameter syntax in our function parameters. Then we loop over each object and it’s keys in order to create our final object.\n\nOne important note to remember is that when JavaScript merges your objects and values into a new object, this is considered a shallow copy. This means that top level values contain no reference to the old objects values, whereas deeper or nested values may contain a reference to the original object. If you update our newly created object, old object references may update as well!\n\nThere are some verbose examples of what are called “deep copying” functions provided by different libraries and individuals (e.g. `jQuery.extend()`, lodash, underscore, `JSON.parse(JSON.stringify)`, etc…). Be warned that these are expensive operations. Doing deep copies over large lists of data could highly impact user experience and performance on the device running your code! If you find yourself doing this a lot or wanting to do this a lot, take a step back and think about the architecture of your code and decide if there is a more DRY or maintainable way to break apart and manage your code’s state.\n\n## Conclusion\n\nWhichever is best for your project is the best approach for you! Which browsers you need support will be one of the main factors in the choice you make between these and other solutions. If you are only supporting the latest and greatest browsers, you will probably end up using the spread operator a lot more than the others. On the other hand, if you have to want that granularity or old browser support, you may fall back to manual loops. Sometimes, it’s about what your team decides to use to be consistent with each other. In the end, it’s all up to you!",
"json_metadata": "{\"tags\":[\"hive-111141\",\"javascript\",\"react\",\"reactjs\",\"webdev\",\"objects\",\"es6\"],\"image\":[\"https://images.hive.blog/DQmSxcpFNz5B4KZg1yuzQ42RhmjRUhMNsfkJZrYU87UgoF7/1_ivBQ94fRa62hH156q5SSfA.webp\"],\"links\":[\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax\",\"https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/object/assign\",\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in\"],\"app\":\"hiveblog/0.1\",\"format\":\"markdown\"}",
"parent_author": "",
"parent_permlink": "hive-111141",
"permlink": "merging-javascript-objects",
"title": "Merging JavaScript Objects"
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T22:32:09",
"trx_id": "a2ad7b265e95273be43b72ba81c92c692d3009c9",
"trx_in_block": 45,
"virtual_op": false
}mmcshinskyupvoted (100.00%) @adasq / welcome-to-the-react-community2020/07/02 21:29:54
mmcshinskyupvoted (100.00%) @adasq / welcome-to-the-react-community
2020/07/02 21:29:54
| author | adasq |
| permlink | welcome-to-the-react-community |
| voter | mmcshinsky |
| weight | 10000 (100.00%) |
| Transaction Info | Block #44812552/Trx b1ad0245937a1b57a29aa512d762102a73ef3211 |
View Raw JSON Data
{
"block": 44812552,
"op": [
"vote",
{
"author": "adasq",
"permlink": "welcome-to-the-react-community",
"voter": "mmcshinsky",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T21:29:54",
"trx_id": "b1ad0245937a1b57a29aa512d762102a73ef3211",
"trx_in_block": 3,
"virtual_op": false
}mmcshinskyupvoted (100.00%) @adasq / react-community2020/07/02 21:26:24
mmcshinskyupvoted (100.00%) @adasq / react-community
2020/07/02 21:26:24
| author | adasq |
| permlink | react-community |
| voter | mmcshinsky |
| weight | 10000 (100.00%) |
| Transaction Info | Block #44812483/Trx 463bd56b3de94180a1959953bf59c592b71f4e2e |
View Raw JSON Data
{
"block": 44812483,
"op": [
"vote",
{
"author": "adasq",
"permlink": "react-community",
"voter": "mmcshinsky",
"weight": 10000
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T21:26:24",
"trx_id": "463bd56b3de94180a1959953bf59c592b71f4e2e",
"trx_in_block": 14,
"virtual_op": false
}mmcshinskysubscribe hive-1856692020/07/02 21:23:06
mmcshinskysubscribe hive-185669
2020/07/02 21:23:06
| id | community |
| json | ["subscribe",{"community":"hive-185669"}] |
| required auths | [] |
| required posting auths | ["mmcshinsky"] |
| Transaction Info | Block #44812417/Trx 9cfc27e31e444350ef9aa51f15c555a1b23b6d5a |
View Raw JSON Data
{
"block": 44812417,
"op": [
"custom_json",
{
"id": "community",
"json": "[\"subscribe\",{\"community\":\"hive-185669\"}]",
"required_auths": [],
"required_posting_auths": [
"mmcshinsky"
]
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T21:23:06",
"trx_id": "9cfc27e31e444350ef9aa51f15c555a1b23b6d5a",
"trx_in_block": 22,
"virtual_op": false
}mmcshinskysubscribe hive-1111412020/07/02 21:22:57
mmcshinskysubscribe hive-111141
2020/07/02 21:22:57
| id | community |
| json | ["subscribe",{"community":"hive-111141"}] |
| required auths | [] |
| required posting auths | ["mmcshinsky"] |
| Transaction Info | Block #44812414/Trx 9a8ab999f9a9888fac591961a41e0d7bcc171ab5 |
View Raw JSON Data
{
"block": 44812414,
"op": [
"custom_json",
{
"id": "community",
"json": "[\"subscribe\",{\"community\":\"hive-111141\"}]",
"required_auths": [],
"required_posting_auths": [
"mmcshinsky"
]
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T21:22:57",
"trx_id": "9a8ab999f9a9888fac591961a41e0d7bcc171ab5",
"trx_in_block": 56,
"virtual_op": false
}executive-boardsent 0.001 HIVE to @mmcshinsky- "❗ Hello mmcshinsky, welcome to the HIVE ecosystem. The Executive Board invites you to visit https://discord.gg/KyBbmhh where you will get some insider infos on how you will earn the most coins. It's e..."2020/07/02 21:20:06
executive-boardsent 0.001 HIVE to @mmcshinsky- "❗ Hello mmcshinsky, welcome to the HIVE ecosystem. The Executive Board invites you to visit https://discord.gg/KyBbmhh where you will get some insider infos on how you will earn the most coins. It's e..."
2020/07/02 21:20:06
| amount | 0.001 HIVE |
| from | executive-board |
| memo | ❗ Hello mmcshinsky, welcome to the HIVE ecosystem. The Executive Board invites you to visit https://discord.gg/KyBbmhh where you will get some insider infos on how you will earn the most coins. It's easy, just follow the instructions. Warm regards, The Executive Board. |
| to | mmcshinsky |
| Transaction Info | Block #44812357/Trx 5709439c918d28350795c89faa8e1b9e5f29df62 |
View Raw JSON Data
{
"block": 44812357,
"op": [
"transfer",
{
"amount": "0.001 HIVE",
"from": "executive-board",
"memo": "❗ Hello mmcshinsky, welcome to the HIVE ecosystem. The Executive Board invites you to visit https://discord.gg/KyBbmhh where you will get some insider infos on how you will earn the most coins. It's easy, just follow the instructions. Warm regards, The Executive Board.",
"to": "mmcshinsky"
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T21:20:06",
"trx_id": "5709439c918d28350795c89faa8e1b9e5f29df62",
"trx_in_block": 5,
"virtual_op": false
}esteemappaccount was created by @esteemapp2020/07/02 21:18:06
esteemappaccount was created by @esteemapp
2020/07/02 21:18:06
| creator | esteemapp |
| initial delegation | 0.000000 VESTS |
| initial vesting shares | 0.000000 VESTS |
| new account name | mmcshinsky |
| Transaction Info | Block #44812317/Trx b5c0388d7b8c61b529e2c6d294027ba350bbe408 |
View Raw JSON Data
{
"block": 44812317,
"op": [
"account_created",
{
"creator": "esteemapp",
"initial_delegation": "0.000000 VESTS",
"initial_vesting_shares": "0.000000 VESTS",
"new_account_name": "mmcshinsky"
}
],
"op_in_trx": 1,
"timestamp": "2020-07-02T21:18:06",
"trx_id": "b5c0388d7b8c61b529e2c6d294027ba350bbe408",
"trx_in_block": 13,
"virtual_op": true
}esteemappcreated a new account: @mmcshinsky2020/07/02 21:18:06
esteemappcreated a new account: @mmcshinsky
2020/07/02 21:18:06
| active | {"account_auths":[],"key_auths":[["STM82WcwFijc6x9RSkSx4UFgpA1zHXSpcULNXsGGffkMfej7sW1cy",1]],"weight_threshold":1} |
| creator | esteemapp |
| extensions | [] |
| json metadata | |
| memo key | STM7zaq8iv6X4Q1LD3jKj7QFxdxBTS7ovmBEf7xYiQcVuQyPfhtcW |
| new account name | mmcshinsky |
| owner | {"account_auths":[],"key_auths":[["STM5fNs2udZUtxdpHAiRGHGz5tr52FMA9thJA7KXuvqxBchsmxxBw",1]],"weight_threshold":1} |
| posting | {"account_auths":[],"key_auths":[["STM5fzAFb8U2CDNrrL1oBs9YxLRQcSL2yghAM88bY9WiLv237SXS1",1]],"weight_threshold":1} |
| Transaction Info | Block #44812317/Trx b5c0388d7b8c61b529e2c6d294027ba350bbe408 |
View Raw JSON Data
{
"block": 44812317,
"op": [
"create_claimed_account",
{
"active": {
"account_auths": [],
"key_auths": [
[
"STM82WcwFijc6x9RSkSx4UFgpA1zHXSpcULNXsGGffkMfej7sW1cy",
1
]
],
"weight_threshold": 1
},
"creator": "esteemapp",
"extensions": [],
"json_metadata": "",
"memo_key": "STM7zaq8iv6X4Q1LD3jKj7QFxdxBTS7ovmBEf7xYiQcVuQyPfhtcW",
"new_account_name": "mmcshinsky",
"owner": {
"account_auths": [],
"key_auths": [
[
"STM5fNs2udZUtxdpHAiRGHGz5tr52FMA9thJA7KXuvqxBchsmxxBw",
1
]
],
"weight_threshold": 1
},
"posting": {
"account_auths": [],
"key_auths": [
[
"STM5fzAFb8U2CDNrrL1oBs9YxLRQcSL2yghAM88bY9WiLv237SXS1",
1
]
],
"weight_threshold": 1
}
}
],
"op_in_trx": 0,
"timestamp": "2020-07-02T21:18:06",
"trx_id": "b5c0388d7b8c61b529e2c6d294027ba350bbe408",
"trx_in_block": 13,
"virtual_op": false
}Manabar
Voting Power0.00%
Downvote Power0.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": 0,
"last_update_time": 1593729642
},
"downvote_manabar": {
"current_mana": 0,
"last_update_time": 1593729642
},
"rc_account": {
"account": "mmcshinsky",
"delegated_rc": 0,
"max_rc": 5825400024,
"max_rc_creation_adjustment": {
"amount": "5825400024",
"nai": "@@000000037",
"precision": 6
},
"rc_manabar": {
"current_mana": 109808287,
"last_update_time": 1677647916
},
"received_delegated_rc": 0
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://images.hive.blog/DQmQw8FC9rH4psyLYnSWXtPH652nC9ndQopriC5vPwVJLeX/IvoOnSql_400x400.jpg","name":"Magitek","website":"https://magitek.dev","version":2} |
| JSON METADATA | |
| None | |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://images.hive.blog/DQmQw8FC9rH4psyLYnSWXtPH652nC9ndQopriC5vPwVJLeX/IvoOnSql_400x400.jpg",
"name": "Magitek",
"website": "https://magitek.dev",
"version": 2
}
},
"json_metadata": {}
}Auth Keys
Owner
Single Signature
Public Keys
STM5fNs2udZUtxdpHAiRGHGz5tr52FMA9thJA7KXuvqxBchsmxxBw1/1
Active
Single Signature
Public Keys
STM82WcwFijc6x9RSkSx4UFgpA1zHXSpcULNXsGGffkMfej7sW1cy1/1
Posting
Single Signature
Public Keys
STM5fzAFb8U2CDNrrL1oBs9YxLRQcSL2yghAM88bY9WiLv237SXS11/1
Memo
STM7zaq8iv6X4Q1LD3jKj7QFxdxBTS7ovmBEf7xYiQcVuQyPfhtcW
{
"owner": {
"account_auths": [],
"key_auths": [
[
"STM5fNs2udZUtxdpHAiRGHGz5tr52FMA9thJA7KXuvqxBchsmxxBw",
1
]
],
"weight_threshold": 1
},
"active": {
"account_auths": [],
"key_auths": [
[
"STM82WcwFijc6x9RSkSx4UFgpA1zHXSpcULNXsGGffkMfej7sW1cy",
1
]
],
"weight_threshold": 1
},
"posting": {
"account_auths": [],
"key_auths": [
[
"STM5fzAFb8U2CDNrrL1oBs9YxLRQcSL2yghAM88bY9WiLv237SXS1",
1
]
],
"weight_threshold": 1
},
"memo": "STM7zaq8iv6X4Q1LD3jKj7QFxdxBTS7ovmBEf7xYiQcVuQyPfhtcW"
}Witness Votes
0 / 30
No active witness votes.
[]
