{"id":15971,"date":"2022-01-26T14:13:00","date_gmt":"2022-01-26T14:13:00","guid":{"rendered":"https:\/\/hederav2stg.wpenginepowered.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/"},"modified":"2025-12-10T05:14:43","modified_gmt":"2025-12-10T05:14:43","slug":"how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract","status":"publish","type":"post","link":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/","title":{"rendered":"How to Deploy Smart Contracts on Hedera \u2013  Part 1: A Simple Getter and Setter Contract"},"content":{"rendered":"<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>The <a href=\"https:\/\/hedera.com\/smart-contract\">Hedera Smart Contract Service<\/a> enables you to build decentralized applications and protocols that scale with Solidity smart contracts. Recent updates to this service include Ethereum Virtual Machine (EVM) upgrades, database architecture modifications, and support for Hedera Token Service. Whether you\u2019re new to smart contract development or migrating from another smart contract platform, use Hedera to develop and deploy fast, low-cost, and carbon-negative smart contracts.<\/p>\n<p>In this article you will learn how to write a getter-setter smart contract in Solidity and deploy it on the Hedera network. Watch the <a href=\"https:\/\/www.youtube.com\/watch?v=L9Tm6yn_ayY\" target=\"_blank\">coding tutorial on YouTube<\/a> and then check out\u00a0<a href=\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-2-a-contract-with-hedera-token-service-integration\" target=\"_blank\">Part 2<\/a> if you want to see a smart contract that integrates with the Hedera Token Service (HTS).<\/p>\n<figure><iframe allowfullscreen=\"\" frameborder=\"0\" src=\"\/\/www.youtube.com\/embed\/L9Tm6yn_ayY\" style=\"width: 500px; height: 281px;\"><\/iframe><\/figure>\n<h4 class=\"color-ultraviolet\">What You Will Need<\/h4>\n<h4 class=\"color-ultraviolet\">Tools<\/h4>\n<ul>\n<li>Hedera <a href=\"https:\/\/portal.hedera.com\/register\" target=\"_blank\">testnet account<\/a><\/li>\n<li>Development environment\n<ul>\n<li><strong>This <\/strong><a href=\"https:\/\/codesandbox.io\/s\/hedera-example-contract-getter-setter-8whrs?file=\/index.js\" target=\"_blank\"><strong>Codesandbox<\/strong><\/a><strong> is already setup for you to try this example<\/strong>\n<ul>\n<li>Remember to provide your testnet account credentials in the .env file<\/li>\n<li>And open a new terminal to execute index.js<\/li>\n<\/ul>\n<\/li>\n<li>Or if you prefer a local development environment, you\u2019ll need:\n<ul>\n<li>Code editor (like <a href=\"https:\/\/code.visualstudio.com\/download\" target=\"_blank\">VS Code<\/a>, or other IDE)<\/li>\n<li><a href=\"https:\/\/nodejs.org\/en\/download\/\" target=\"_blank\">Node.js<\/a><\/li>\n<li>Packages (install with a package manager like npm or yarn)\n<ul>\n<li>npm install <a href=\"https:\/\/www.npmjs.com\/package\/@hashgraph\/sdk\" target=\"_blank\">@hashgraph\/sdk<\/a><\/li>\n<li>npm install <a href=\"https:\/\/www.npmjs.com\/package\/dotenv\" target=\"_blank\">dotenv<\/a><\/li>\n<li>npm install -g <a href=\"https:\/\/www.npmjs.com\/package\/solc\" target=\"_blank\">solc<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/docs.hedera.com\/hedera\/sdks-and-apis\/sdks\/smart-contracts\" target=\"_blank\">Documentation<\/a> and <a href=\"https:\/\/docs.hedera.com\/hedera\/tutorials\/smart-contracts-service\/deploy-a-contract-using-the-hedera-token-service\" target=\"_blank\">examples<\/a><\/li>\n<\/ul>\n<ul><\/ul>\n<h4 class=\"color-ultraviolet\">Nice-to-Have Knowledge<\/h4>\n<ul>\n<li>A bit of Solidity (<a href=\"https:\/\/docs.soliditylang.org\/\">Documentation<\/a>)<\/li>\n<li>Some of the Hedera basics (<a href=\"https:\/\/hedera.com\/blog\/how-to-develop-on-hedera-back-to-the-basics\">How to Start Developing on Hedera: Back to the Basics<\/a>)<\/li>\n<li>A few things about Hedera smart contracts (<a href=\"https:\/\/docs.hedera.com\/hedera\/core-concepts\/smart-contracts\/hyperledger-besu-evm\">Core Concepts &#8211; Hedera Documentation<\/a>)<\/li>\n<\/ul>\n<h4 class=\"color-ultraviolet\">How to Deploy a Smart Contract<\/h4>\n<p>You can deploy a smart contract on Hedera in four steps:<\/p>\n<ol>\n<li>Write the contract and compile to bytecode<\/li>\n<li>Add the bytecode file to the Hedera network<\/li>\n<li>Create the smart contract on Hedera<\/li>\n<li>Call the smart contract<\/li>\n<\/ol>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-1.jpg\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<h4 class=\"color-ultraviolet\"><strong>1. Write the Contract and Compile It to Get the Bytecode<\/strong><\/h4>\n<p>Let\u2019s write a getter-setter smart contract in Solidity. The contract shall have a state variable, and anyone can read\/write values from\/to that variable.  You can think of this exercise as having a phone book that anyone can read from and write to.<\/p>\n<p>The name of the contract is <strong><em>LookupContract<\/em><\/strong> and the state variable is called <strong><em>myDirectory<\/em><\/strong>, which is of type <strong><em>mapping<\/em><\/strong>. Mappings in Solidity are a type used to store data in the form of key-value pairs. In this case, you\u2019re mapping a string and uint. Where uint is an alias in Solidity for uint256, a 256-bit unsigned integer. <\/p>\n<p>The contract has a <em><strong>constructor<\/strong><br \/>\n<\/em>function, which is executed only once when the contract is first deployed and is used to initialize the state variable. The contract also has two more functions, <em><strong>setMobileNumber<\/strong> <\/em>and <strong><em>getMobileNumber<\/em><\/strong>, which write values to and read values from the state variable, respectively.<\/p>\n<p><strong>Solidity contract:<\/strong><\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">\/\/ SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.7.0 <0.9.0;\n \n\ncontract LookupContract {\n\nmapping (string => uint) public myDirectory;\n\nconstructor (string memory _name, uint _mobileNumber) public {\n        myDirectory[_name] = _mobileNumber;\n    }\n\nfunction setMobileNumber(string memory _name, uint _mobileNumber) public {\n        myDirectory[_name] = _mobileNumber;\n    }\n\nfunction getMobileNumber(string memory _name) public view returns (uint) {\n        return myDirectory[_name];\n    }\n}\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>The smart contract is executed by the EVM. However, Solidity code cannot be executed by the EVM. Instead, you need to compile this code to low-level machine code that the EVM can understand. Once that compilation is done, you end up with the <strong><em>bytecode<\/em><\/strong><br \/>\nfor the smart contract. <\/p>\n<p>After installing the solc package (<strong>npm install -g <\/strong><a href=\"https:\/\/www.npmjs.com\/package\/solc\" target=\"_blank\"><strong>solc<\/strong><\/a>), type the following command in the terminal to start the compilation:<\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">solcjs --bin LookupContract.sol\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>You may receive a few warnings, but that\u2019s ok. If the compilation is successful, you should now have a binary file in your directory called <strong><em>LookupContract_sol_LookupContract.bin<\/em><\/strong>, which contains the compiled bytecode.<\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">608060405234801561001057600080fd5b50604051620007403803806200074083398181016040528101906100349190610212565b8060008360405161004591906102b5565b90815260200160405180910390208190555050506102cc565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6100c58261007c565b810181811067ffffffffffffffff821117156100e4576100e361008d565b5b80604052505050565b60006100f761005e565b905061010382826100bc565b919050565b600067ffffffffffffffff8211156101235761012261008d565b5b61012c8261007c565b9050602081019050919050565b60005b8381101561015757808201518184015260208101905061013c565b83811115610166576000848401525b50505050565b600061017f61017a84610108565b6100ed565b90508281526020810184848401111561019b5761019a610077565b5b6101a6848285610139565b509392505050565b600082601f8301126101c3576101c2610072565b5b81516101d384826020860161016c565b91505092915050565b6000819050919050565b6101ef816101dc565b81146101fa57600080fd5b50565b60008151905061020c816101e6565b92915050565b6000806040838503121561022957610228610068565b5b600083015167ffffffffffffffff8111156102475761024661006d565b5b610253858286016101ae565b9250506020610264858286016101fd565b9150509250929050565b600081519050919050565b600081905092915050565b600061028f8261026e565b6102998185610279565b93506102a9818560208601610139565b80840191505092915050565b60006102c18284610284565b915081905092915050565b61046480620002dc6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806314b3ee68146100465780639f11592114610076578063fd8111e914610092575b600080fd5b610060600480360381019061005b9190610298565b6100c2565b60405161006d91906102fa565b60405180910390f35b610090600480360381019061008b9190610341565b6100e9565b005b6100ac60048036038101906100a79190610298565b610110565b6040516100b991906102fa565b60405180910390f35b600080826040516100d39190610417565b9081526020016040518091039020549050919050565b806000836040516100fa9190610417565b9081526020016040518091039020819055505050565b6000818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6101a58261015c565b810181811067ffffffffffffffff821117156101c4576101c361016d565b5b80604052505050565b60006101d761013e565b90506101e3828261019c565b919050565b600067ffffffffffffffff8211156102035761020261016d565b5b61020c8261015c565b9050602081019050919050565b82818337600083830152505050565b600061023b610236846101e8565b6101cd565b90508281526020810184848401111561025757610256610157565b5b610262848285610219565b509392505050565b600082601f83011261027f5761027e610152565b5b813561028f848260208601610228565b91505092915050565b6000602082840312156102ae576102ad610148565b5b600082013567ffffffffffffffff8111156102cc576102cb61014d565b5b6102d88482850161026a565b91505092915050565b6000819050919050565b6102f4816102e1565b82525050565b600060208201905061030f60008301846102eb565b92915050565b61031e816102e1565b811461032957600080fd5b50565b60008135905061033b81610315565b92915050565b6000806040838503121561035857610357610148565b5b600083013567ffffffffffffffff8111156103765761037561014d565b5b6103828582860161026a565b92505060206103938582860161032c565b9150509250929050565b600081519050919050565b600081905092915050565b60005b838110156103d15780820151818401526020810190506103b6565b838111156103e0576000848401525b50505050565b60006103f18261039d565b6103fb81856103a8565b935061040b8185602086016103b3565b80840191505092915050565b600061042382846103e6565b91508190509291505056fea264697066735822122049e6ca88d0242a5a423ce392b61870ac108ba49ce39c259ea7620a60ac3c6b3664736f6c634300080b0033\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<h4 class=\"color-ultraviolet\"><strong>2. Add File to Hedera<\/strong><\/h4>\n<p>Now it\u2019s time to add the bytecode to Hedera using the File Service. Start by reading the contents of the binary file. Then use the <strong><em>FileCreateTransaction()<\/em><\/strong> module from the SDK and specify the contents of the file to be the  contract bytecode. Specify a few additional properties for the transaction, like the keys to manage the file and the maximum you\u2019re willing to pay in hbar for that transaction. Sign the transaction with the corresponding private key, execute the signed transaction with the Hedera client, and get a receipt for the transaction. You get the ID for the bytecode file from the transaction receipt.<\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">\/\/ Import the compiled contract bytecode\nconst contractBytecode = fs.readFileSync(\"LookupContract_sol_LookupContract.bin\");\n\n\/\/ Create a file on Hedera and store the bytecode\nconst fileCreateTx = new FileCreateTransaction()\n\t.setContents(contractBytecode)\n\t.setKeys([operatorKey])\n\t.setMaxTransactionFee(new Hbar(0.75))\n\t.freezeWith(client);\nconst fileCreateSign = await fileCreateTx.sign(operatorKey);\nconst fileCreateSubmit = await fileCreateSign.execute(client);\nconst fileCreateRx = await fileCreateSubmit.getReceipt(client);\nconst bytecodeFileId = fileCreateRx.fileId;\nconsole.log(`- The bytecode file ID is: ${bytecodeFileId} n`);\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p><strong>Console output:<\/strong><\/p>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-2.jpg\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<h4 class=\"color-ultraviolet\"><strong>3. Create the Smart Contract on Hedera<\/strong><\/h4>\n<p>Once the bytecode file is on the Hedera network, you can create (or instantiate) the contract using <strong><em>ContractCreateTransaction()<\/em><\/strong>. Specify the bytecode file ID based on the previous step, set the maximum amount of gas you\u2019re willing to pay, and pass function parameters to the constructor function.\u00a0Let\u2019s initialize the state variable <strong><em>myDirectory<\/em><\/strong> with the key-value pair \u201cAlice\u201d and 111111.<\/p>\n<\/p>\n<p>As a convenient alternative to\u00a0<strong><em>ContractCreateTransaction<\/em><\/strong>, you can use <a href=\"https:\/\/docs.hedera.com\/hedera\/sdks-and-apis\/sdks\/smart-contracts\/create-a-smart-contract#contractcreateflow\" target=\"_blank\"><strong><em>ContractCreateFlow()<\/em><\/strong><\/a>\u00a0to create the file storing the bytecode and contract in a single step. This single call handles for you the\u00a0<strong><a href=\"https:\/\/docs.hedera.com\/hedera\/sdks-and-apis\/sdks\/file-storage\/create-a-file\" target=\"_blank\"><em>FileCreateTransaction()<\/em><\/a><\/strong>, <strong><a href=\"https:\/\/docs.hedera.com\/hedera\/sdks-and-apis\/sdks\/file-storage\/append-to-a-file\" target=\"_blank\"><em>FileAppendTransaction()<\/em><\/a><\/strong>, and <strong><a href=\"https:\/\/docs.hedera.com\/hedera\/sdks-and-apis\/sdks\/smart-contracts\/create-a-smart-contract#contractcreatetransaction\" target=\"_blank\"><em>ContractCreateTransaction()<\/em><\/a><\/strong><strong>\u00a0<\/strong>operations.<\/p>\n<p>Execute the transaction, get a receipt, and obtain the ID of the deployed smart contract from that receipt. You can optionally convert the contract ID to solidity format and output that information to the console.<\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">\/\/ Instantiate the smart contract\nconst contractInstantiateTx = new ContractCreateTransaction()\n\t.setBytecodeFileId(bytecodeFileId)\n\t.setGas(100000)\n\t.setConstructorParameters(new ContractFunctionParameters().addString(\"Alice\").addUint256(111111));\nconst contractInstantiateSubmit = await contractInstantiateTx.execute(client);\nconst contractInstantiateRx = await contractInstantiateSubmit.getReceipt(client);\nconst contractId = contractInstantiateRx.contractId;\nconst contractAddress = contractId.toSolidityAddress();\nconsole.log(`- The smart contract ID is: ${contractId} n`);\nconsole.log(`- Smart contract ID in Solidity format: ${contractAddress} n`);\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p><strong>Console output:<\/strong><\/p>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-3.jpg\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<h4 class=\"color-ultraviolet\"><strong>4. Execute and Query the Smart Contract<\/strong><\/h4>\n<p>The last step is to simply start interacting with your new smart contract! Do this in three steps: <\/p>\n<ol>\n<li>query the contract to check the value passed during initialization<\/li>\n<li>call a contract function to update the state variable<\/li>\n<li>query the contract again to check the value passed in the previous contract call<\/li>\n<\/ol>\n<p>For the first step, query the contract using <strong><em>ContractCallQuery()<\/em><\/strong>, set the contract ID, the gas reservation, and the function you want to call. For this query, call the <strong><em>getMobileNumber<\/em><\/strong> function and pass \u201cAlice\u201d as the parameter value. This query costs some gas because it still uses the bandwidth and CPU cycles of a network node, and the gas fees reflect the usage of those resources. However, there is no separate query payment needed for this action, and you can check that by setting the maximum query payment to 1 tinybar (lowest possible value on Hedera). Now execute the query, get the uint256 return value, and output that information to the console.<\/p>\n<p>If the constructor initialization from the previous step worked, then this should return the value in the state variable <strong><em>myDirectory<\/em><\/strong> corresponding to the key \u201cAlice\u201d.<\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">\/\/ Query the contract to check changes in state variable\nconst contractQueryTx = new ContractCallQuery()\n\t.setContractId(contractId)\n\t.setGas(100000)\n\t.setFunction(\"getMobileNumber\", new ContractFunctionParameters().addString(\"Alice\"))\n\t.setMaxQueryPayment(new Hbar(0.00000001));\nconst contractQuerySubmit = await contractQueryTx.execute(client);\nconst contractQueryResult = contractQuerySubmit.getUint256(0);\nconsole.log(`- Here's the phone number you asked for: ${contractQueryResult} n`);\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p><strong>Console output:<\/strong><\/p>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-4.jpg\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>For the second step, call a contract function using <strong><em>ContractExecuteTransaction()<\/em><\/strong>. Similar to the query, set the contract ID, the gas reservation, and the function with the desired parameters values. With the <em><strong>setMobileNumber<\/strong><br \/>\n<\/em>function you must provide the key-value pair for the state variable <strong><em>myDirectory<\/em><\/strong>, so pass \u201cBob\u201d and 222222. You can also set the maximum fee you want to pay for this transaction in hbar. Now execute the transaction, get a receipt, and output a confirmation to the console. <\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">\/\/ Call contract function to update the state variable\nconst contractExecuteTx = new ContractExecuteTransaction()\n\t.setContractId(contractId)\n\t.setGas(100000)\n\t.setFunction(\"setMobileNumber\", new ContractFunctionParameters().addString(\"Bob\").addUint256(222222))\n\t.setMaxTransactionFee(new Hbar(0.75));\nconst contractExecuteSubmit = await contractExecuteTx.execute(client);\nconst contractExecuteRx = await contractExecuteSubmit.getReceipt(client);\nconsole.log(`- Contract function call status: ${contractExecuteRx.status} n`);\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p><strong>Console output:<\/strong><\/p>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-5.jpg\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p>For the final step, query the contract once again to check that Bob\u2019s number was added to the state variable. You can reuse the code from the first query.<\/p>\n<\/div>\n<div class=\"hedera-code-window\" style=\"background-image:url('https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg');padding:24px;border-radius:8px;margin:24px 0;\">\n<p>  <!-- Hidden image so WP All Import downloads this background image into Media Library --><br \/>\n  <img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/CodeSnippetBackground-scaled.jpg\" alt=\"code window background\" style=\"display:none;\" \/><\/p>\n<div class=\"code-window-header\">\n<div class=\"code-window-title\"><\/div>\n<div class=\"code-window-body\"><\/div>\n<\/p><\/div>\n<pre><code class=\"language-javascript\">\/\/ Query the contract to check changes in state variable\nconst contractQueryTx1 = new ContractCallQuery()\n\t.setContractId(contractId)\n\t.setGas(100000)\n\t.setFunction(\"getMobileNumber\", new ContractFunctionParameters().addString(\"Bob\"))\n\t.setMaxQueryPayment(new Hbar(0.00000001));\nconst contractQuerySubmit1 = await contractQueryTx1.execute(client);\nconst contractQueryResult1 = contractQuerySubmit1.getUint256(0);\nconsole.log(`- Here's the phone number you asked for: ${contractQueryResult1} n`);\n<\/code><\/pre>\n<\/div>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p><strong>Console output:<\/strong><\/p>\n<\/div>\n<figure class=\"blog-image mb-40\"><img decoding=\"async\" src=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-6.jpg\" alt=\"\"\/><\/figure>\n<div class=\"body-text BodyCopy mb-40 style-1\">\n<p><strong>And that\u2019s it! You just deployed, queried, and executed a smart contract on Hedera! <\/strong><\/p>\n<p>Check out <a href=\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-2-a-contract-with-hedera-token-service-integration\" target=\"_blank\">Part 2<\/a> of this article series to learn how to deploy smart contracts that interact with other Hedera services. <\/p>\n<p>For feedback on this article or future articles you would like to see, let us know via the<a href=\"https:\/\/hedera.com\/discord\"> <\/a><a href=\"https:\/\/hedera.com\/discord\" target=\"_blank\">Hedera Discord server<\/a>. <\/p>\n<h4 class=\"color-ultraviolet\">Check Out the Code and Try It<\/h4>\n<p>Check out the code in <a href=\"https:\/\/github.com\/ed-marquez\/hedera-example-contract-getter-setter\/blob\/master\/index.js\" target=\"_blank\">GitHub<\/a><\/p>\n<p>Try the code in <a href=\"https:\/\/codesandbox.io\/s\/hedera-example-contract-getter-setter-8whrs?file=\/index.js\" target=\"_blank\">Codesandbox<\/a> (remember to provide your account credentials in the .env file)<\/p>\n<h4 class=\"color-ultraviolet\">Continue Learning about Smart Contracts<\/h4>\n<p><a href=\"https:\/\/docs.hedera.com\/hedera\/sdks-and-apis\/sdks\/smart-contracts\/hedera-service-solidity-libraries\" target=\"_blank\">Hedera Service Solidity Libraries (SDKs \u2013 Hedera Documentation)<\/a><\/p>\n<p><a href=\"https:\/\/hedera.com\/learning\/what-are-smart-contracts\" target=\"_blank\">What Are Smart Contracts? (Hedera Learning Center)<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The Hedera Smart Contract Service enables you to build decentralized applications and protocols that scale with Solidity smart contracts. Recent updates to this service include Ethereum Virtual Machine (EVM) upgrades, database architecture modifications, and support for Hedera Token Service. Whether you\u2019re new to smart contract development or migrating from another smart contract platform, use Hedera to develop and deploy fast, low-cost, and carbon-negative smart contracts. In this article you will learn how to write a getter-setter smart contract in Solidity and deploy it on the Hedera network.<\/p>\n","protected":false},"author":10,"featured_media":18100,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[1],"tags":[45],"ppma_author":[43],"class_list":["post-15971","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-technical"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract | Hedera<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract | Hedera\" \/>\n<meta property=\"og:description\" content=\"The Hedera Smart Contract Service enables you to build decentralized applications and protocols that scale with Solidity smart contracts. Recent updates to this service include Ethereum Virtual Machine (EVM) upgrades, database architecture modifications, and support for Hedera Token Service. Whether you\u2019re new to smart contract development or migrating from another smart contract platform, use Hedera to develop and deploy fast, low-cost, and carbon-negative smart contracts. In this article you will learn how to write a getter-setter smart contract in Solidity and deploy it on the Hedera network.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/\" \/>\n<meta property=\"og:site_name\" content=\"Hedera\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-26T14:13:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-10T05:14:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Hedera Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/\"},\"author\":{\"name\":\"Hedera Team\",\"@id\":\"https:\/\/hedera.com\/#\/schema\/person\/2dc6146f9f20a44d3de58c834d52e9f4\"},\"headline\":\"How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract\",\"datePublished\":\"2022-01-26T14:13:00+00:00\",\"dateModified\":\"2025-12-10T05:14:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/\"},\"wordCount\":1215,\"publisher\":{\"@id\":\"https:\/\/hedera.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg\",\"keywords\":[\"technical\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/\",\"url\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/\",\"name\":\"How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract | Hedera\",\"isPartOf\":{\"@id\":\"https:\/\/hedera.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg\",\"datePublished\":\"2022-01-26T14:13:00+00:00\",\"dateModified\":\"2025-12-10T05:14:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#primaryimage\",\"url\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg\",\"contentUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg\",\"width\":2560,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/hedera.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/hedera.com\/#website\",\"url\":\"https:\/\/hedera.com\/\",\"name\":\"Hedera\",\"description\":\"Hello future\",\"publisher\":{\"@id\":\"https:\/\/hedera.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/hedera.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/hedera.com\/#organization\",\"name\":\"Hedera\",\"url\":\"https:\/\/hedera.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hedera.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/09\/hedera_logo.png\",\"contentUrl\":\"https:\/\/hedera.com\/wp-content\/uploads\/2025\/09\/hedera_logo.png\",\"width\":500,\"height\":375,\"caption\":\"Hedera\"},\"image\":{\"@id\":\"https:\/\/hedera.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract | Hedera","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/","og_locale":"en_US","og_type":"article","og_title":"How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract | Hedera","og_description":"The Hedera Smart Contract Service enables you to build decentralized applications and protocols that scale with Solidity smart contracts. Recent updates to this service include Ethereum Virtual Machine (EVM) upgrades, database architecture modifications, and support for Hedera Token Service. Whether you\u2019re new to smart contract development or migrating from another smart contract platform, use Hedera to develop and deploy fast, low-cost, and carbon-negative smart contracts. In this article you will learn how to write a getter-setter smart contract in Solidity and deploy it on the Hedera network.","og_url":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/","og_site_name":"Hedera","article_published_time":"2022-01-26T14:13:00+00:00","article_modified_time":"2025-12-10T05:14:43+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg","type":"image\/jpeg"}],"author":"Hedera Team","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#article","isPartOf":{"@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/"},"author":{"name":"Hedera Team","@id":"https:\/\/hedera.com\/#\/schema\/person\/2dc6146f9f20a44d3de58c834d52e9f4"},"headline":"How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract","datePublished":"2022-01-26T14:13:00+00:00","dateModified":"2025-12-10T05:14:43+00:00","mainEntityOfPage":{"@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/"},"wordCount":1215,"publisher":{"@id":"https:\/\/hedera.com\/#organization"},"image":{"@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#primaryimage"},"thumbnailUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg","keywords":["technical"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/","url":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/","name":"How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract | Hedera","isPartOf":{"@id":"https:\/\/hedera.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#primaryimage"},"image":{"@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#primaryimage"},"thumbnailUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg","datePublished":"2022-01-26T14:13:00+00:00","dateModified":"2025-12-10T05:14:43+00:00","breadcrumb":{"@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#primaryimage","url":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg","contentUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-scaled.jpg","width":2560,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/hedera.com\/blog\/how-to-deploy-smart-contracts-on-hedera-part-1-a-simple-getter-and-setter-contract\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hedera.com\/"},{"@type":"ListItem","position":2,"name":"How to Deploy Smart Contracts on Hedera \u2013 Part 1: A Simple Getter and Setter Contract"}]},{"@type":"WebSite","@id":"https:\/\/hedera.com\/#website","url":"https:\/\/hedera.com\/","name":"Hedera","description":"Hello future","publisher":{"@id":"https:\/\/hedera.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hedera.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hedera.com\/#organization","name":"Hedera","url":"https:\/\/hedera.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hedera.com\/#\/schema\/logo\/image\/","url":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/09\/hedera_logo.png","contentUrl":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/09\/hedera_logo.png","width":500,"height":375,"caption":"Hedera"},"image":{"@id":"https:\/\/hedera.com\/#\/schema\/logo\/image\/"}}]}},"featured_image_src":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-600x400.jpg","featured_image_src_square":"https:\/\/hedera.com\/wp-content\/uploads\/2025\/12\/2022-Smart-Contracts-Part-1-Image-0-Thumbnail-600x600.jpg","author_info":{"display_name":"Hedera Team","author_link":"https:\/\/hedera.com\/blog\/author\/hedera-team\/"},"authors":[{"term_id":43,"user_id":10,"is_guest":0,"slug":"hedera-team","display_name":"Hedera Team","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/7ed01931dc9498365746508c4ca49ed0507ef65e04e0b82ffe88c50ef9242b1d?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":""}],"_links":{"self":[{"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/posts\/15971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/comments?post=15971"}],"version-history":[{"count":0,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/posts\/15971\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/media\/18100"}],"wp:attachment":[{"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/media?parent=15971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/categories?post=15971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/tags?post=15971"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/hedera.com\/wp-json\/wp\/v2\/ppma_author?post=15971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}