Introduction
Many of EthSlurp's options are available through the command line interface. Other features, which do not fit nicely onto a command line, are accessible through a configuration file which is documented here. The file is called ethslurp.conf and is stored in EthSlurp's cache folder.
EthSlurp's cache folder and the config file
Each time the program slurps blockchain data, it stores that data in an internal binary format in a folder under the end user's $HOME folder called ~/.ethslurp/slurps. The program stores its configuration file (ethslurp.conf) in the parent of that folder.
Configuration items appear on a single line (or, if more than one line, the line ends with the continuation mark '\'). Additionally, configuration items are stored under an appropriate group header. The group header stands on its own line and is surrounded by square brackets, thus:
#--------------------------------------------------------------
# Sample contents of ethslurp.conf (lines starting with # are comments)
#--------------------------------------------------------------
[GROUP_HEADER_1]
config_item1=A value stored on a single line
config_item2=Values stored on multiple lines \
ending with a backslash.
[GROUP_HEADER_2]
other_item=Another item
Individual configuration items along with their default values are detailed below.
Configuration items
[SETTINGS] datapath=$HOME/.ethslurp
: This is where EthSlurp stores its configuration files and data cache; however, you may put the data anywhere you like.[SETTINGS] api_key=<undefined>
: This value is required in the current version of the program. The software will not work unless you provide this key, which you may obtain at http://etherscan.io/apis. Until you enter a key, the software will ask you for one and will quit without it. This is necassary so that the program doesn't inundate etherscan.io with requests from the same API key. In the future, we hope to read the blockchain data directly from the databases which will obviate the need for this parameter.[SETTINGS] reset_rate=300
: By default EthSlurp 'slurps' the blockchain once every 300 seconds (five minutes). Again, this is because we use the etherscan.io APIs. This pararameter allows you to change the frequency of update. The value is stored in seconds. There is a lower limit on this value of 60 seconds.Display strings
Display strings are at the heart of EthSlurp's feature set. They allow unlimted range in how your export data is formatted. Mostly as a way of example, there are nine pre-set display strings provided. Using the -f command line option, you may provide your own customized strings as well. The possibilities are almost endless. Here are the nine pre-set strings:
- Tab delimited text (.txt):
[DISPLAY_STR] fmt_txt_file=[{HEADER}]\n[{RECORDS}]\n
[DISPLAY_STR] fmt_txt_record=[{FIELDS}]\n
[DISPLAY_STR] fmt_txt_field=\t[{FIELD}]
- Comma seperated values (.csv):
[DISPLAY_STR] fmt_csv_file=[{HEADER}]\n[{RECORDS}]\n
[DISPLAY_STR] fmt_csv_record=[{FIELDS}]\n
[DISPLAY_STR] fmt_csv_field=["{FIELD}"],
- Hypertext markup language (.html):
[DISPLAY_STR] fmt_html_file=<table>\n[{HEADER}]\n[{RECORDS}]</table>\n
[DISPLAY_STR] fmt_html_record=\t<tr>\n[{FIELDS}]</tr>\n
[DISPLAY_STR] fmt_html_field=\t\t<td>[{FIELD}]</td>\n
Click here for a complete description of this very powerful feature.