How can I use Monero RPC via PythonWallet RPC API wallet creationHow To Restart New Blockchain Sync?Getting “Unauthorized Access” with RPC (using Python Requests)Is there a way to get the latest blocks from monero rpcMonero setting up a testnet wallet in terminal, can't syncUnable to get any transactions from walletd JSON RPC responseJSON-RPC Not Working as Shown in Wallet GuideHow to restore Monero RPC Wallet from seedRPC binary request with PythonGet public key of tx that currently in txpool

Confused by chemical notation

How do Bards prepare spells?

Font Color issue in Mathematica 12

How to interact with ERC20 interface?

Is there a way to get a compiler for the original B programming language?

Why the difference in metal between 銀行 and お金?

Realistic Necromancy?

Providence Pentominoes Puzzle By Andrew Bradburn (Jigsaw)

What is the strongest case that can be made in favour of the UK regaining some control over fishing policy after Brexit?

Error message with tabularx

Any examples of headwear for races with animal ears?

A ​Note ​on ​N!

Is it possible to dynamically set properties of an `Object` using Apex?

Help to reproduce a tcolorbox with a decoration

Reverse the word in a string with the same order in javascript

Examples of non trivial equivalence relations , I mean equivalence relations without the expression " same ... as" in their definition?

How can I place the product on a social media post better?

Was there a shared-world project before "Thieves World"?

With a Canadian student visa, can I spend a night at Vancouver before continuing to Toronto?

Are Boeing 737-800’s grounded?

Stateful vs non-stateful app

How to figure out whether the data is sample data or population data apart from the client's information?

Question relating to a number theoretic function

Do I have to worry about players making “bad” choices on level up?



How can I use Monero RPC via Python


Wallet RPC API wallet creationHow To Restart New Blockchain Sync?Getting “Unauthorized Access” with RPC (using Python Requests)Is there a way to get the latest blocks from monero rpcMonero setting up a testnet wallet in terminal, can't syncUnable to get any transactions from walletd JSON RPC responseJSON-RPC Not Working as Shown in Wallet GuideHow to restore Monero RPC Wallet from seedRPC binary request with PythonGet public key of tx that currently in txpool













1















As documented in
https://ww.getmonero.org/resources/developer-guides/daemon-rpc.html
and
https://ww.getmonero.org/resources/developer-guides/wallet-rpc.html,
Monero can be used programmatically using daemon and wallet RPC.



If I wanted to use Python to extract data from the blockchain, for example nonce values over a block range to run statistics on, what is the best way to do it ?










share|improve this question


























    1















    As documented in
    https://ww.getmonero.org/resources/developer-guides/daemon-rpc.html
    and
    https://ww.getmonero.org/resources/developer-guides/wallet-rpc.html,
    Monero can be used programmatically using daemon and wallet RPC.



    If I wanted to use Python to extract data from the blockchain, for example nonce values over a block range to run statistics on, what is the best way to do it ?










    share|improve this question
























      1












      1








      1








      As documented in
      https://ww.getmonero.org/resources/developer-guides/daemon-rpc.html
      and
      https://ww.getmonero.org/resources/developer-guides/wallet-rpc.html,
      Monero can be used programmatically using daemon and wallet RPC.



      If I wanted to use Python to extract data from the blockchain, for example nonce values over a block range to run statistics on, what is the best way to do it ?










      share|improve this question














      As documented in
      https://ww.getmonero.org/resources/developer-guides/daemon-rpc.html
      and
      https://ww.getmonero.org/resources/developer-guides/wallet-rpc.html,
      Monero can be used programmatically using daemon and wallet RPC.



      If I wanted to use Python to extract data from the blockchain, for example nonce values over a block range to run statistics on, what is the best way to do it ?







      blockchain rpc python






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 2 hours ago









      user36303user36303

      31.7k246108




      31.7k246108




















          1 Answer
          1






          active

          oldest

          votes


















          1














          The Monero team recently added a tool that makes it easy to integrate Monero RPC with Python. It can connect to running daemon and wallet and exposes their RPC interfaces:



          The following command will connect to a monerod running on mainnet on default settings:



          utils/python-rpc/console 18081 


          You'll get this output:



          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          >>>


          You're now in a python interpreter, and the daemon variable is set to an object which can call daemon RPC directly, eg:



          >>> daemon.get_version()
          u'status': u'OK', u'untrusted': False, u'version': 131078
          >>>


          For the use case above (retrieving 21 nonce values from the blockchain from height 1000):



          >>> [x.nonce for x in daemon.getblockheadersrange(1000, 1020).headers]
          [3419004817, 3320605335, 295465941, 3696734864, 2221411748, 2201153093, 148086550, 524920481, 1766174771, 1831485859, 2409397405, 804573540, 535538542, 1487558207, 3340140970, 4029873826, 3890252333, 586366003, 1681558754, 1323530723, 240084243]
          >>>



          You can also connect the console to several processes, daemon and wallet, so you can interact with both from the same interpreter. The console will detect whether it's connecting to a node or a wallet, and will create the RPC proxy objects as daemon or wallet accordingly. If you connect to more than one demon or more than one wallet, the RPC objects will be daemons and/or wallets arrays instead of single variables. For instance, if you have a wallet running on port 8080:



          $ utils/python-rpc/console 18081 8080
          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          Variable 'wallet' connected to wallet RPC on 127.0.0.1:8080
          >>>


          The console tool accepts full URLs if the daemon/wallet does not run on 127.0.0.1.






          share|improve this answer























          • The answer shows using the new console tool, but doesn't show how to mix with other python code. Perhaps also reference: moneroexamples.github.io/python-json-rpc which shows calling the RPC interfaces directly from standalone python scripts.

            – jtgrassie
            1 hour ago











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "656"
          ;
          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
          ,
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmonero.stackexchange.com%2fquestions%2f11171%2fhow-can-i-use-monero-rpc-via-python%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          The Monero team recently added a tool that makes it easy to integrate Monero RPC with Python. It can connect to running daemon and wallet and exposes their RPC interfaces:



          The following command will connect to a monerod running on mainnet on default settings:



          utils/python-rpc/console 18081 


          You'll get this output:



          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          >>>


          You're now in a python interpreter, and the daemon variable is set to an object which can call daemon RPC directly, eg:



          >>> daemon.get_version()
          u'status': u'OK', u'untrusted': False, u'version': 131078
          >>>


          For the use case above (retrieving 21 nonce values from the blockchain from height 1000):



          >>> [x.nonce for x in daemon.getblockheadersrange(1000, 1020).headers]
          [3419004817, 3320605335, 295465941, 3696734864, 2221411748, 2201153093, 148086550, 524920481, 1766174771, 1831485859, 2409397405, 804573540, 535538542, 1487558207, 3340140970, 4029873826, 3890252333, 586366003, 1681558754, 1323530723, 240084243]
          >>>



          You can also connect the console to several processes, daemon and wallet, so you can interact with both from the same interpreter. The console will detect whether it's connecting to a node or a wallet, and will create the RPC proxy objects as daemon or wallet accordingly. If you connect to more than one demon or more than one wallet, the RPC objects will be daemons and/or wallets arrays instead of single variables. For instance, if you have a wallet running on port 8080:



          $ utils/python-rpc/console 18081 8080
          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          Variable 'wallet' connected to wallet RPC on 127.0.0.1:8080
          >>>


          The console tool accepts full URLs if the daemon/wallet does not run on 127.0.0.1.






          share|improve this answer























          • The answer shows using the new console tool, but doesn't show how to mix with other python code. Perhaps also reference: moneroexamples.github.io/python-json-rpc which shows calling the RPC interfaces directly from standalone python scripts.

            – jtgrassie
            1 hour ago















          1














          The Monero team recently added a tool that makes it easy to integrate Monero RPC with Python. It can connect to running daemon and wallet and exposes their RPC interfaces:



          The following command will connect to a monerod running on mainnet on default settings:



          utils/python-rpc/console 18081 


          You'll get this output:



          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          >>>


          You're now in a python interpreter, and the daemon variable is set to an object which can call daemon RPC directly, eg:



          >>> daemon.get_version()
          u'status': u'OK', u'untrusted': False, u'version': 131078
          >>>


          For the use case above (retrieving 21 nonce values from the blockchain from height 1000):



          >>> [x.nonce for x in daemon.getblockheadersrange(1000, 1020).headers]
          [3419004817, 3320605335, 295465941, 3696734864, 2221411748, 2201153093, 148086550, 524920481, 1766174771, 1831485859, 2409397405, 804573540, 535538542, 1487558207, 3340140970, 4029873826, 3890252333, 586366003, 1681558754, 1323530723, 240084243]
          >>>



          You can also connect the console to several processes, daemon and wallet, so you can interact with both from the same interpreter. The console will detect whether it's connecting to a node or a wallet, and will create the RPC proxy objects as daemon or wallet accordingly. If you connect to more than one demon or more than one wallet, the RPC objects will be daemons and/or wallets arrays instead of single variables. For instance, if you have a wallet running on port 8080:



          $ utils/python-rpc/console 18081 8080
          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          Variable 'wallet' connected to wallet RPC on 127.0.0.1:8080
          >>>


          The console tool accepts full URLs if the daemon/wallet does not run on 127.0.0.1.






          share|improve this answer























          • The answer shows using the new console tool, but doesn't show how to mix with other python code. Perhaps also reference: moneroexamples.github.io/python-json-rpc which shows calling the RPC interfaces directly from standalone python scripts.

            – jtgrassie
            1 hour ago













          1












          1








          1







          The Monero team recently added a tool that makes it easy to integrate Monero RPC with Python. It can connect to running daemon and wallet and exposes their RPC interfaces:



          The following command will connect to a monerod running on mainnet on default settings:



          utils/python-rpc/console 18081 


          You'll get this output:



          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          >>>


          You're now in a python interpreter, and the daemon variable is set to an object which can call daemon RPC directly, eg:



          >>> daemon.get_version()
          u'status': u'OK', u'untrusted': False, u'version': 131078
          >>>


          For the use case above (retrieving 21 nonce values from the blockchain from height 1000):



          >>> [x.nonce for x in daemon.getblockheadersrange(1000, 1020).headers]
          [3419004817, 3320605335, 295465941, 3696734864, 2221411748, 2201153093, 148086550, 524920481, 1766174771, 1831485859, 2409397405, 804573540, 535538542, 1487558207, 3340140970, 4029873826, 3890252333, 586366003, 1681558754, 1323530723, 240084243]
          >>>



          You can also connect the console to several processes, daemon and wallet, so you can interact with both from the same interpreter. The console will detect whether it's connecting to a node or a wallet, and will create the RPC proxy objects as daemon or wallet accordingly. If you connect to more than one demon or more than one wallet, the RPC objects will be daemons and/or wallets arrays instead of single variables. For instance, if you have a wallet running on port 8080:



          $ utils/python-rpc/console 18081 8080
          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          Variable 'wallet' connected to wallet RPC on 127.0.0.1:8080
          >>>


          The console tool accepts full URLs if the daemon/wallet does not run on 127.0.0.1.






          share|improve this answer













          The Monero team recently added a tool that makes it easy to integrate Monero RPC with Python. It can connect to running daemon and wallet and exposes their RPC interfaces:



          The following command will connect to a monerod running on mainnet on default settings:



          utils/python-rpc/console 18081 


          You'll get this output:



          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          >>>


          You're now in a python interpreter, and the daemon variable is set to an object which can call daemon RPC directly, eg:



          >>> daemon.get_version()
          u'status': u'OK', u'untrusted': False, u'version': 131078
          >>>


          For the use case above (retrieving 21 nonce values from the blockchain from height 1000):



          >>> [x.nonce for x in daemon.getblockheadersrange(1000, 1020).headers]
          [3419004817, 3320605335, 295465941, 3696734864, 2221411748, 2201153093, 148086550, 524920481, 1766174771, 1831485859, 2409397405, 804573540, 535538542, 1487558207, 3340140970, 4029873826, 3890252333, 586366003, 1681558754, 1323530723, 240084243]
          >>>



          You can also connect the console to several processes, daemon and wallet, so you can interact with both from the same interpreter. The console will detect whether it's connecting to a node or a wallet, and will create the RPC proxy objects as daemon or wallet accordingly. If you connect to more than one demon or more than one wallet, the RPC objects will be daemons and/or wallets arrays instead of single variables. For instance, if you have a wallet running on port 8080:



          $ utils/python-rpc/console 18081 8080
          Variable 'daemon' connected to daemon RPC on 127.0.0.1:18081
          Variable 'wallet' connected to wallet RPC on 127.0.0.1:8080
          >>>


          The console tool accepts full URLs if the daemon/wallet does not run on 127.0.0.1.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 2 hours ago









          user36303user36303

          31.7k246108




          31.7k246108












          • The answer shows using the new console tool, but doesn't show how to mix with other python code. Perhaps also reference: moneroexamples.github.io/python-json-rpc which shows calling the RPC interfaces directly from standalone python scripts.

            – jtgrassie
            1 hour ago

















          • The answer shows using the new console tool, but doesn't show how to mix with other python code. Perhaps also reference: moneroexamples.github.io/python-json-rpc which shows calling the RPC interfaces directly from standalone python scripts.

            – jtgrassie
            1 hour ago
















          The answer shows using the new console tool, but doesn't show how to mix with other python code. Perhaps also reference: moneroexamples.github.io/python-json-rpc which shows calling the RPC interfaces directly from standalone python scripts.

          – jtgrassie
          1 hour ago





          The answer shows using the new console tool, but doesn't show how to mix with other python code. Perhaps also reference: moneroexamples.github.io/python-json-rpc which shows calling the RPC interfaces directly from standalone python scripts.

          – jtgrassie
          1 hour ago

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Monero 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%2fmonero.stackexchange.com%2fquestions%2f11171%2fhow-can-i-use-monero-rpc-via-python%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

          Are there any AGPL-style licences that require source code modifications to be public? 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?Force derivative works to be publicAre there any GPL like licenses for Apple App Store?Do you violate the GPL if you provide source code that cannot be compiled?GPL - is it distribution to use libraries in an appliance loaned to customers?Distributing App for free which uses GPL'ed codeModifications of server software under GPL, with web/CLI interfaceDoes using an AGPLv3-licensed library prevent me from dual-licensing my own source code?Can I publish only select code under GPLv3 from a private project?Is there published precedent regarding the scope of covered work that uses AGPL software?If MIT licensed code links to GPL licensed code what should be the license of the resulting binary program?If I use a public API endpoint that has its source code licensed under AGPL in my app, do I need to disclose my source?

          2013 GY136 Descoberta | Órbita | Referências Menu de navegação«List Of Centaurs and Scattered-Disk Objects»«List of Known Trans-Neptunian Objects»

          Button changing it's text & action. Good or terrible? The 2019 Stack Overflow Developer Survey Results Are Inchanging text on user mouseoverShould certain functions be “hard to find” for powerusers to discover?Custom liking function - do I need user login?Using different checkbox style for different checkbox behaviorBest Practices: Save and Exit in Software UIInteraction with remote validated formMore efficient UI to progress the user through a complicated process?Designing a popup notice for a gameShould bulk-editing functions be hidden until a table row is selected, or is there a better solution?Is it bad practice to disable (replace) the context menu?