How to create a paid keyvalue storeHow to interact with a smart contract in practice (for free)? A bigger picture!DApp storage for data other than tranactions?Create contract that receives and sends bonus money to many addresses. What is the gas price?Are API tokens incompatible with Ethereum apps?Best practices for handling payment in smart contractsStore specific data related to usersThe better way to integrate Ethereum payments into web applicationHow can I create a modifier that requires the msg.sender be one of multiple addresses?Smart Contract To Send Multiple OutputsHow does Ethereum Smart Contract work on Mobile Client

Is there a nicer/politer/more positive alternative for "negates"?

Why does Carol not get rid of the Kree symbol on her suit when she changes its colours?

How to convince somebody that he is fit for something else, but not this job?

What is Cash Advance APR?

Doesn't the system of the Supreme Court oppose justice?

Why do Radio Buttons not fill the entire outer circle?

Does Doodling or Improvising on the Piano Have Any Benefits?

Is it allowed to activate the ability of multiple planeswalkers in a single turn?

How to make money from a browser who sees 5 seconds into the future of any web page?

Why do ¬, ∀ and ∃ have the same precedence?

How to explain what's wrong with this application of the chain rule?

Does the Linux kernel need a file system to run?

Giving feedback to someone without sounding prejudiced

Multiplicative persistence

What is the highest possible scrabble score for placing a single tile

Taxes on Dividends in a Roth IRA

How to create a paid keyvalue store

Does "he squandered his car on drink" sound natural?

Are Captain Marvel's powers affected by Thanos breaking the Tesseract and claiming the stone?

Is there a way to have vectors outlined in a Vector Plot?

The IT department bottlenecks progress, how should I handle this?

Shouldn’t conservatives embrace universal basic income?

awk assign to multiple variables at once

Has the laser at Magurele, Romania reached a tenth of the Sun's power?



How to create a paid keyvalue store


How to interact with a smart contract in practice (for free)? A bigger picture!DApp storage for data other than tranactions?Create contract that receives and sends bonus money to many addresses. What is the gas price?Are API tokens incompatible with Ethereum apps?Best practices for handling payment in smart contractsStore specific data related to usersThe better way to integrate Ethereum payments into web applicationHow can I create a modifier that requires the msg.sender be one of multiple addresses?Smart Contract To Send Multiple OutputsHow does Ethereum Smart Contract work on Mobile Client













3















I'd like to create a contract through which people can set publicly available key=value information in exchange for some Ether sent to me (the owner of the contract).
This is to create a public decentralized database on which anyone can read and write, and the Ether cost would be to limit spam.



However, I'd like it to be free for all users to retrieve any key stored in the contract. My understanding of Ethereum is limited, is this possible?










share|improve this question







New contributor




thewondered is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    3















    I'd like to create a contract through which people can set publicly available key=value information in exchange for some Ether sent to me (the owner of the contract).
    This is to create a public decentralized database on which anyone can read and write, and the Ether cost would be to limit spam.



    However, I'd like it to be free for all users to retrieve any key stored in the contract. My understanding of Ethereum is limited, is this possible?










    share|improve this question







    New contributor




    thewondered is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      3












      3








      3








      I'd like to create a contract through which people can set publicly available key=value information in exchange for some Ether sent to me (the owner of the contract).
      This is to create a public decentralized database on which anyone can read and write, and the Ether cost would be to limit spam.



      However, I'd like it to be free for all users to retrieve any key stored in the contract. My understanding of Ethereum is limited, is this possible?










      share|improve this question







      New contributor




      thewondered is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I'd like to create a contract through which people can set publicly available key=value information in exchange for some Ether sent to me (the owner of the contract).
      This is to create a public decentralized database on which anyone can read and write, and the Ether cost would be to limit spam.



      However, I'd like it to be free for all users to retrieve any key stored in the contract. My understanding of Ethereum is limited, is this possible?







      contract-development contract-design






      share|improve this question







      New contributor




      thewondered is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      thewondered is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      thewondered is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 1 hour ago









      thewonderedthewondered

      161




      161




      New contributor




      thewondered is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      thewondered is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      thewondered is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          2 Answers
          2






          active

          oldest

          votes


















          2















          I'd like to create a contract through which people can set publicly
          available key=value information




          You can use a mapping to store data and public method to set values




          exchange for some Ether sent to me (the owner of the contract)




          You can make the set method payable and check for an amount of Ether from sender




          I'd like it to be free for all users to retrieve any key stored in the
          contract




          You can create the function a view one so no cost or transaction invlolved in reading values




          is this possible?




          Yes, This looks possible. It would look like below.



          pragma solidity >=0.4.22 <0.6.0;

          contract Store
          mapping(bytes32 => bytes32) public keyValStore;
          address payable public owner;
          uint storeFee;

          constructor(uint fee) public
          owner = msg.sender; // setting contract creator address as the owner
          storeFee = fee; // setting a store fee for to set values


          function set(bytes32 key, bytes32 value) public payable
          require(msg.value >= storeFee); // check if Ether value is greater than the store fee
          owner.transfer(msg.value); // transfer Ether to owner account
          keyValStore[key] = value; // setting the key value pair in mapping


          function get(bytes32 key) public view returns (bytes32)
          bytes32 val = keyValStore[key]; // get the relavant value for the given key
          return val;







          share|improve this answer
































            0














            Yes it's possible, here's an example key/value store contract to help you get started that requires 1 ether to set a key/value and anyone can read the data for free:



            pragma solidity >=0.4.22 <0.6.0;
            contract Store
            mapping(bytes32 => bytes32) private store;
            mapping(bytes32 => address) private authors;
            address private owner;

            constructor() public
            owner = msg.sender;


            function set(bytes32 key, bytes32 value) public payable
            require(msg.value == 1 ether);
            require(store[key] == 0

            function get(bytes32 key) public view returns(bytes32)
            return store[key];


            function withdraw(address payable receiver) public
            require(msg.sender == owner);
            receiver.transfer(address(this).balance);




            https://rinkeby.etherscan.io/address/0xf7e0caef5cd7a18d31343670b60ff463fa23d5c8






            share|improve this answer
























              Your Answer








              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "642"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );






              thewondered is a new contributor. Be nice, and check out our Code of Conduct.









              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f68654%2fhow-to-create-a-paid-keyvalue-store%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2















              I'd like to create a contract through which people can set publicly
              available key=value information




              You can use a mapping to store data and public method to set values




              exchange for some Ether sent to me (the owner of the contract)




              You can make the set method payable and check for an amount of Ether from sender




              I'd like it to be free for all users to retrieve any key stored in the
              contract




              You can create the function a view one so no cost or transaction invlolved in reading values




              is this possible?




              Yes, This looks possible. It would look like below.



              pragma solidity >=0.4.22 <0.6.0;

              contract Store
              mapping(bytes32 => bytes32) public keyValStore;
              address payable public owner;
              uint storeFee;

              constructor(uint fee) public
              owner = msg.sender; // setting contract creator address as the owner
              storeFee = fee; // setting a store fee for to set values


              function set(bytes32 key, bytes32 value) public payable
              require(msg.value >= storeFee); // check if Ether value is greater than the store fee
              owner.transfer(msg.value); // transfer Ether to owner account
              keyValStore[key] = value; // setting the key value pair in mapping


              function get(bytes32 key) public view returns (bytes32)
              bytes32 val = keyValStore[key]; // get the relavant value for the given key
              return val;







              share|improve this answer





























                2















                I'd like to create a contract through which people can set publicly
                available key=value information




                You can use a mapping to store data and public method to set values




                exchange for some Ether sent to me (the owner of the contract)




                You can make the set method payable and check for an amount of Ether from sender




                I'd like it to be free for all users to retrieve any key stored in the
                contract




                You can create the function a view one so no cost or transaction invlolved in reading values




                is this possible?




                Yes, This looks possible. It would look like below.



                pragma solidity >=0.4.22 <0.6.0;

                contract Store
                mapping(bytes32 => bytes32) public keyValStore;
                address payable public owner;
                uint storeFee;

                constructor(uint fee) public
                owner = msg.sender; // setting contract creator address as the owner
                storeFee = fee; // setting a store fee for to set values


                function set(bytes32 key, bytes32 value) public payable
                require(msg.value >= storeFee); // check if Ether value is greater than the store fee
                owner.transfer(msg.value); // transfer Ether to owner account
                keyValStore[key] = value; // setting the key value pair in mapping


                function get(bytes32 key) public view returns (bytes32)
                bytes32 val = keyValStore[key]; // get the relavant value for the given key
                return val;







                share|improve this answer



























                  2












                  2








                  2








                  I'd like to create a contract through which people can set publicly
                  available key=value information




                  You can use a mapping to store data and public method to set values




                  exchange for some Ether sent to me (the owner of the contract)




                  You can make the set method payable and check for an amount of Ether from sender




                  I'd like it to be free for all users to retrieve any key stored in the
                  contract




                  You can create the function a view one so no cost or transaction invlolved in reading values




                  is this possible?




                  Yes, This looks possible. It would look like below.



                  pragma solidity >=0.4.22 <0.6.0;

                  contract Store
                  mapping(bytes32 => bytes32) public keyValStore;
                  address payable public owner;
                  uint storeFee;

                  constructor(uint fee) public
                  owner = msg.sender; // setting contract creator address as the owner
                  storeFee = fee; // setting a store fee for to set values


                  function set(bytes32 key, bytes32 value) public payable
                  require(msg.value >= storeFee); // check if Ether value is greater than the store fee
                  owner.transfer(msg.value); // transfer Ether to owner account
                  keyValStore[key] = value; // setting the key value pair in mapping


                  function get(bytes32 key) public view returns (bytes32)
                  bytes32 val = keyValStore[key]; // get the relavant value for the given key
                  return val;







                  share|improve this answer
















                  I'd like to create a contract through which people can set publicly
                  available key=value information




                  You can use a mapping to store data and public method to set values




                  exchange for some Ether sent to me (the owner of the contract)




                  You can make the set method payable and check for an amount of Ether from sender




                  I'd like it to be free for all users to retrieve any key stored in the
                  contract




                  You can create the function a view one so no cost or transaction invlolved in reading values




                  is this possible?




                  Yes, This looks possible. It would look like below.



                  pragma solidity >=0.4.22 <0.6.0;

                  contract Store
                  mapping(bytes32 => bytes32) public keyValStore;
                  address payable public owner;
                  uint storeFee;

                  constructor(uint fee) public
                  owner = msg.sender; // setting contract creator address as the owner
                  storeFee = fee; // setting a store fee for to set values


                  function set(bytes32 key, bytes32 value) public payable
                  require(msg.value >= storeFee); // check if Ether value is greater than the store fee
                  owner.transfer(msg.value); // transfer Ether to owner account
                  keyValStore[key] = value; // setting the key value pair in mapping


                  function get(bytes32 key) public view returns (bytes32)
                  bytes32 val = keyValStore[key]; // get the relavant value for the given key
                  return val;








                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 33 mins ago

























                  answered 56 mins ago









                  Achala DissanayakeAchala Dissanayake

                  3,74481629




                  3,74481629





















                      0














                      Yes it's possible, here's an example key/value store contract to help you get started that requires 1 ether to set a key/value and anyone can read the data for free:



                      pragma solidity >=0.4.22 <0.6.0;
                      contract Store
                      mapping(bytes32 => bytes32) private store;
                      mapping(bytes32 => address) private authors;
                      address private owner;

                      constructor() public
                      owner = msg.sender;


                      function set(bytes32 key, bytes32 value) public payable
                      require(msg.value == 1 ether);
                      require(store[key] == 0

                      function get(bytes32 key) public view returns(bytes32)
                      return store[key];


                      function withdraw(address payable receiver) public
                      require(msg.sender == owner);
                      receiver.transfer(address(this).balance);




                      https://rinkeby.etherscan.io/address/0xf7e0caef5cd7a18d31343670b60ff463fa23d5c8






                      share|improve this answer





























                        0














                        Yes it's possible, here's an example key/value store contract to help you get started that requires 1 ether to set a key/value and anyone can read the data for free:



                        pragma solidity >=0.4.22 <0.6.0;
                        contract Store
                        mapping(bytes32 => bytes32) private store;
                        mapping(bytes32 => address) private authors;
                        address private owner;

                        constructor() public
                        owner = msg.sender;


                        function set(bytes32 key, bytes32 value) public payable
                        require(msg.value == 1 ether);
                        require(store[key] == 0

                        function get(bytes32 key) public view returns(bytes32)
                        return store[key];


                        function withdraw(address payable receiver) public
                        require(msg.sender == owner);
                        receiver.transfer(address(this).balance);




                        https://rinkeby.etherscan.io/address/0xf7e0caef5cd7a18d31343670b60ff463fa23d5c8






                        share|improve this answer



























                          0












                          0








                          0







                          Yes it's possible, here's an example key/value store contract to help you get started that requires 1 ether to set a key/value and anyone can read the data for free:



                          pragma solidity >=0.4.22 <0.6.0;
                          contract Store
                          mapping(bytes32 => bytes32) private store;
                          mapping(bytes32 => address) private authors;
                          address private owner;

                          constructor() public
                          owner = msg.sender;


                          function set(bytes32 key, bytes32 value) public payable
                          require(msg.value == 1 ether);
                          require(store[key] == 0

                          function get(bytes32 key) public view returns(bytes32)
                          return store[key];


                          function withdraw(address payable receiver) public
                          require(msg.sender == owner);
                          receiver.transfer(address(this).balance);




                          https://rinkeby.etherscan.io/address/0xf7e0caef5cd7a18d31343670b60ff463fa23d5c8






                          share|improve this answer















                          Yes it's possible, here's an example key/value store contract to help you get started that requires 1 ether to set a key/value and anyone can read the data for free:



                          pragma solidity >=0.4.22 <0.6.0;
                          contract Store
                          mapping(bytes32 => bytes32) private store;
                          mapping(bytes32 => address) private authors;
                          address private owner;

                          constructor() public
                          owner = msg.sender;


                          function set(bytes32 key, bytes32 value) public payable
                          require(msg.value == 1 ether);
                          require(store[key] == 0

                          function get(bytes32 key) public view returns(bytes32)
                          return store[key];


                          function withdraw(address payable receiver) public
                          require(msg.sender == owner);
                          receiver.transfer(address(this).balance);




                          https://rinkeby.etherscan.io/address/0xf7e0caef5cd7a18d31343670b60ff463fa23d5c8







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited 47 mins ago

























                          answered 56 mins ago









                          Miguel MotaMiguel Mota

                          2,8421027




                          2,8421027




















                              thewondered is a new contributor. Be nice, and check out our Code of Conduct.









                              draft saved

                              draft discarded


















                              thewondered is a new contributor. Be nice, and check out our Code of Conduct.












                              thewondered is a new contributor. Be nice, and check out our Code of Conduct.











                              thewondered is a new contributor. Be nice, and check out our Code of Conduct.














                              Thanks for contributing an answer to Ethereum Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f68654%2fhow-to-create-a-paid-keyvalue-store%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Disable / Remove link to Product Items in Cart Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How can I limit products that can be bought / added to cart?Remove item from cartHide “Add to Cart” button if specific products are already in cart“Prettifying” the custom options in cart pageCreate link in cart sidebar to view all added items After limit reachedLink products together in checkout/cartHow to Get product from cart and add it againHide action-edit on cart page if simple productRemoving Cart items - ObserverRemove wishlist items when added to cart

                              Helsingin valtaus Sisällysluettelo Taustaa | Yleistä sotatoimista | Osapuolet | Taistelut Helsingin ympäristössä | Punaisten antautumissuunnitelma | Taistelujen kulku Helsingissä | Valtauksen jälkeen | Tappiot | Muistaminen | Kirjallisuutta | Lähteet | Aiheesta muualla | NavigointivalikkoTeoksen verkkoversioTeoksen verkkoversioGoogle BooksSisällissota Helsingissä päättyi tasan 95 vuotta sittenSaksalaisten ylivoima jyräsi punaisen HelsinginSuomalaiset kuvaavat sotien jälkiä kaupungeissa – katso kuvat ja tarinat tutuilta kulmiltaHelsingin valtaus 90 vuotta sittenSaksalaiset valtasivat HelsinginHyökkäys HelsinkiinHelsingin valtaus 12.–13.4. 1918Saksalaiset käyttivät ihmiskilpiä Helsingin valtauksessa 1918Teoksen verkkoversioTeoksen verkkoversioSaksalaiset hyökkäävät Etelä-SuomeenTaistelut LeppävaarassaSotilaat ja taistelutLeppävaara 1918 huhtikuussa. KapinatarinaHelsingin taistelut 1918Saksalaisten voitonparaati HelsingissäHelsingin valtausta juhlittiinSaksalaisten Helsinki vuonna 1918Helsingin taistelussa kaatuneet valkokaartilaisetHelsinkiin haudatut taisteluissa kaatuneet punaiset12.4.1918 Helsingin valtauksessa saksalaiset apujoukot vapauttavat kaupunginVapaussodan muistomerkkejä Helsingissä ja pääkaupunkiseudullaCrescendo / Vuoden 1918 Kansalaissodan uhrien muistomerkkim

                              Adjektiivitarina Tarinan tekeminen | Esimerkki: ennen | Esimerkki: jälkeen | Navigointivalikko