The apps
folder contains the primary applications built on the QBlocks libraries. This includes the decentralized blockchain scrapers blockScrape
; chifra
, an automated way to create smart contract monitors; ethprice
which pulls US dollar price data from remote sources; ethslurp
which is a down-and-dirty centralized command line scraper utilizing http://etherscan.io; and cacheMan
which helps manage account monitors.
The following applications are open source and available at our git hub:
-
ethprice: A simple utility that pulls price data local from various sources. It is configurable to retrieve its data from any of a number of price feeds and collate or average the feeds. US Dollar prices can be used in tax reporting and current balance reporting tools.
-
ethslurp: This program pulls data from the http://etherscan.io APIs. It may be used to verify results from QBlocks, checking that they are consistent with EtherScan. Ultimately, this tool is incomplete in two ways: (1) it pulls data from a centralized source as opposed to a locally-running node, and (2) it ignores internal smart contract message calls.
-
grabABI: This is the basis of the
chifra
application. Given an Etheruem address, this tool first grabs an ABI from one of numerous sources (http://etherscan.io, ENS, etc.). It then parses the ABI and automatically writes the C++ source code necessary to build an Ethereum address monitor.chifra
usesgrabABI
andmakeClass
extensively. -
makeClass: This tool is used by
grabABI
to write the actual C++ code generated during thechifra
process. Many of the source files found inetherlib
were generated automatically using this tool.
The following tools are not available as open source. We intend to sell or license them through our website:
-
blockScrape: The primary component of the QBlocks decentralized blockchain scraper.
blockScrape
runs periodically and retrieves blocks from a locally-running Ethereum node. After processing, this program stores the blocks locally in a speed-optimized format. Note: This application will be delivered through our website. -
chifra: This tool builds parsing libraries for particular sets of blockchain addresses. Developers may later link to these libraries to fully parse transactional input and event data from the contract. We've called this data
articulated data
elsewhere. Note: This application will be delivered through our website. -
cacheMan: This tool allows one to explore the per-account transactional caches produced by chifra monitors. It performs various checks on the data. The tool provides options for truncating the cache and/or merging two caches into one which may be useful in certain circumstances. Note: This application will be delivered through our website.