Monero explorer

Pull requests 1

Join GitHub today

GitHub is huis to overheen 20 million developers working together to host and review code, manage projects, and build software together.

  1. C++ 89.9%
  2. C Five.7%
  3. HTML Three.4%
  4. Other 1.0%

Clone with HTTPS

Use Git or checkout with SVN using the web URL.

Presently available Monero blockchain explorers have several limitations which are of special importance to privacy-oriented users:

  • they use JavaScript,
  • have pics which might be used for cookieless tracking,
  • track users activates through google analytics,
  • are closed sourced,
  • are not available spil hidden services,
  • do not support Monero testnet,
  • have limited JSON API.

Ter this example, thesis limitations are addressed by development of an Onion Monero Blockchain Explorer. The example not only shows how to use Monero C++ libraries, but also demonstrates how to use:

  • crow – C++ micro web framework
  • mstch – C++ <> templates
  • json – JSON for Modern C++
  • fmt – Puny, safe and swift string formatting library

Clearnet testnet Monero version:

i2p users (main Monero network):

Alternative block explorers:

The key features of the Onion Monero Blockchain Explorer are:

  • no javascript, no cookies, no web analytics trackers, no photos,
  • open sourced,
  • made fully te C++,
  • displaying encrypted payments ID,
  • demonstrating stadionring signatures,
  • demonstrating transaction reserve field,
  • showcasing public components of Monero addresses,
  • decoding which outputs and mixins belong to the given Monero address and viewkey,
  • can prove that you send Monero to someone,
  • detailed information about mixins, such spil, mixins’ age, timescale, mixin of mixins,
  • displaying number of amount output indices,
  • support Monero testnet network,
  • tx checker and pusher for online pushing of transactions,
  • estimate possible spendings based on address and viewkey,
  • can provide total amount of all miner fees.
  • decoding encrypted payment id.

Current development branch, which includes support for sub-addresses is:

Download and compile latest Monero into your huis folder:

Once the Monero is compiles, the explorer can be downloaded and compiled spil goes after:

When compilation finishes executable xmrblocks should be created. Before running please make sure that

/Downloads folder exists and is writable. Time zone library that explorer is using, puts there its database of time zone offsets

By default it will look for blockchain te its default location i.e.,

/.bitmonero/lmdb . You can use –bc-path option if its ter different location. Example output:

Example usage, defined spil bash aliases.

Obtaining current Monero emission amount is not straight forward. Thus, by default it is disabled. To enable it use –enable-emission-monitor flag, e.g.,

This flag will enable emission monitoring thread. When began, the thread will originally scan the entire blockchain, and calculate the cumulative emission based on each block. Since it is a separate thread, the explorer will work spil usual during this time. Every 10000 blocks, the thread will save current emission te a verkeersopstopping, by default, ter

/.bitmonero/lmdb/emission_amount.txt . For testnet network, it is

/.bitmonero/testnet/lmdb/emission_amount.txt . This verkeersopstopping is used so that wij don’t need to rescan entire blockchain whenever the explorer is restarted. When the explorer restarts, the thread will very first check if

/.bitmonero/lmdb/emission_amount.txt is present, read its values, and proceed from there if possible. Subsequently, only the initial use of the tread is time consuming. Once the thread scans the entire blockchain, it updates the emission amount using fresh blocks spil they come. Since the explorer writes this opstopping, there can be only one example of it running for mainnet and testnet. Thus, for example, you cant have two explorers for mainnet running at the same time, spil they will be attempting to write and read the same verkeersopstopping at the same time, leading to unexpected results. Off course having one example for mainnet and one example for testnet is fine, spil they write to different files.

When the emission monitor is enabled, information about current emission of coinbase and fees is displayed on the pui pagina, e.g., :

The values given, can be checked using Monero daemon’s print_coinbase_tx_sum directive. For example, for the above example: print_coinbase_tx_sum 0 1313449 .

To disable the monitor, simply restart the explorer without –enable-emission-monitor flag.

By default, the explorer does not use ssl. But it has such a functionality.

Spil an example, you can generate your own ssl certificates spil goes after:

Having the crt and key files, run xmrblocks ter the following way:

Note: Because wij generated our own certificate, modern browsers will complain about it spil they cant verify the signatures against any third party. So most likely for any practical use need to have decently issued ssl certificates.

The explorer has JSON api. For the API, it uses conventions defined by JSend.

Partial results shown:

Transactions te last 25 blocks

Partial results shown:

Result analogical to the one above.

Partial results shown:

Come back all txs ter the mempool.

Partial results shown:

Limit of 100000000 is just default value above to ensure that all mempool txs are fetched if no specific limit given.

Terugwedstrijd number of newest mempool txs, e.g., only Ten.

Result analogical to the one above.

Partial results shown:

For txprove=0 wij check which outputs belong to given address and corresponding viewkey. For txprove=1 wij use to prove to the recipient that wij sent them founds. For this, wij use recipient’s address and our tx private key spil a viewkey value, i.e., viewkey=<,tx_private_key>,

Wij use recipient’s address (i.e. not our address from which wij sent xmr to recipient). For the viewkey, wij use tx_private_key (albeit the GET variable is still called viewkey ) that wij obtained by sending this txs.

Result analogical to the one above.

Search for our outputs ter last few blocks (up to Five blocks), using provided address and viewkey.

Emission only works when the emission monitoring thread is enabled.

api number is store spil uint32_t . Ter this case 65536 represents major version 1 and minor version 0. Ter JavaScript to get thesis numbers, one can do spil goes after:

Terugwedstrijd raw json block gegevens, spil represented ter Monero.

Example result not shown.

Come back raw json tx gegevens, spil represented ter Monero.

Example result not shown.

Other examples can be found on github. Please know that some of the examples/repositories are not finished and may not work spil intended.

Constructive criticism, code and webstek edits are always good. They can be made through github.

  • ©, 2017 GitHub , Inc.
  • Terms
  • Privacy
  • Security
  • Status
  • Help

You can’t perform that act at this time.

You signed ter with another tabulator or window. Reload to refresh your session. You signed out te another tabulator or window. Reload to refresh your session.

Leave a Reply

Your email address will not be published. Required fields are marked *