This resource provides insight and information on the Quark configuration file (quarkcoin.conf) along with a downloadable example config.
Table of Contents1.0 About the configuration file
1.0 - About the configuration file
2.0 - Using the configuration file
2.1 - General information3.0 - Installing the configuration file
2.2 - Enabling JSON-RPC for remote mining and/or applications
2.2.1 Opening JSON-RPC to the network2.3 - Other information
2.2.2 Configuring user security
2.2.3 Configuring SSL
3.1 - Windows users4.0 - Final notes
3.2 - Linux users
3.3 - Mac OS X users
The Quark wallet has many options that you can configure via the configuration file. This file is not automatically generated since the default options will work for most users. Almost all of the options that are available via command-line can be configured through this configuration file.
2.0 Using the configuration file
The example configuration file linked to this resource enables minimize to tray and configures listen and server options. The remainder of the options are commented out using # so you will need to make changes if you want to configure options like upnp, coin generation (mining), remote JSON-RPC access and others. The most commonly used options are in this configuration file but you can add more if you'd like.
2.1 General information
The format of the configuration file is option=value with one option per line. In the attached file you'll see many options that are commented out with #, this makes it so Quark can't see the option setting causing it to use the built-in default for that option. To enable a commented option, just remove the # from the front of the option. For example, the start minimized option is commented out in the configuration file so it looks like #min=1. To enable that option, remove the # and it should look like min=1.
2.2 Enabling JSON-RPC for remote mining and/or applications
With Quark, you can mine directly in the wallet without having to use a remote mining application like minerd. However, if you have multiple PCs, want to do GPU mining or just want to solo mine to your wallet without using the built-in miner then you need enable JSON-RPC functionality. JSON-RPC is a protocol that can be used to interact with quark-qt or quarkd while it's running. It's useful for doing remote mining or building a website that needs to talk to the quark network directly.
In the example config file attached to this resource the JSON-RPC server is already enabled (server=1) but by default it'll only accept connections from the local machine. There are more configuration options you'll need to set if you want to work with Quark from other machines.
!! WARNING !! This will allow applications to connect to your wallet instance and run commands, this includes sending Quarks to other addresses. ALWAYS configure a username and password for trusted local networks. Please note that passwords are sent in plaintext and can be 'sniffed' unless you are using SSL. NEVER open up the wallet to the internet without configuring both SSL and user security!!
2.2.1 Opening JSON-RPC to the network
To allow remote machines to connect to the Quark-QT/quarkd process you'll need to allow the IPs by using the rpcallowip option. For example, if you have a machine on your network with an IP of 192.168.1.5 and you want to remote mine with it, you'd set rpcallowip=192.168.1.5 in the configuration file. You can set multiple rpcallowip options, one on each line. You can also use wildcards like rpcallowip=192.168.1.* to allow all machines on the 192.168.1.0 network to connect. You'll also need to enable the rpcport option to allow traffic through. For example, to allow communication on port 8332 you'd set rpcport=8332.
By default you get 4 JSON-RPC threads, one for each connection. If you plan on using more than 4 connections (i.e. more than 4 minerd instances) then you'll want to uncomment and change the rpcthreads option. For example, to get 32 you'd do rpcthreads=32.
When launching your remote miner process you'll usually see an option for a URL or network address. You'd point it to the hostname/IP address of the machine running Quark-QT/quarkd with the port. For example, with minerd it asks for --URL so in this case it'd be --URL mypc:8332. always check the application by using either -?, --help, /? or check the online documentation to make sure you need to use the correct format.
2.2.2 Configuring user security
Security is important, without it someone can remotely connect to your computer and using the JSON-RPC protocol, start sending your coins to someone else. To secure it you'll want to uncomment the rpcuser and rpcpassword options and enter the desired username and password. For example, to use the username miner with password SECUREPASSWORD then you'd setup the following;
Note: For security reasons make sure you use your own values. If going over internet or an insecure network make sure you enable SSL. The username and password will get sent in plaintext and can be captured if SSL is not enabled.
2.2.3 Enabling SSL
For SSL to work correctly there are a few different things you need to do. The first is to uncomment rpcssl=1 to enable JSON-RPC SSL functionality.
Next you'll need a server certificate and a private key file. You can generate your own self-signed certificate with OpenSSL, there's no reason to pay for one. To generate your own SSL run the following commands. (Note: You'll need to download and install OpenSSL if you are on Windows)
To generate a private key file;
openssl genrsa -out server.pem 2048
Then next, generate the certificate;
openssl req -new -x509 -nodes -sha1 -days 3650 -key server.pem > server.crt
You should NOT enter a passphrase. Once the certificates are created place them in the Quark application directory then uncomment the following options in the Quark configuration file (if you changed the name above from 'server' you'll need to update the names in the config to match):
The last piece is configuring the ciphers, do this by uncommenting rpcsslciphers option and verifying the settings. You'll need to check the OpenSSL documentation for further information on this.
2.3 Other information
There are several other options that can be configured. Just about anything in the command-line switches can be set through the configuration file. Add more commands as needed. Using the configuration file opens up a lot of options like eStore integration by having Quark run a command after coins are received. Just be mindful of the security implications of enabling the major options without proper security.
3.0 Installing the configuration file
The configuration file needs to be in the same folder with the quark application files. The following locations are assuming you went with the default installation options. If you changed the installation directory just place the configuration file into that location.
3.1 Windows users
By default, Quark will install itself into one of the following locations below depending on your version of Windows;
For Windows XP, Server 2003 and Server 2003 R2:
C:\Documents and Settings\%USERNAME%\Application Data\QuarkCoin
For Windows Vista, 7, 8, 8.1, Server 2008, 2008R2, 2012 and 2012R2:
%USERNAME% is the windows environment variable for your windows username. If you click on "Start > Run," paste the above path for your windows version and click OK it'll bring you to your Quark folder. Alternatively, you can enter %appdata%\QuarkCoin to open the folder.
Note: Sometimes Internet Explorer or other browsers will append .txt to the end causing the file name to be 'quarkcoin.conf.txt' which will cause the configuration file to be ignored by Quark. To fix this you may need to open the file in a text editor and re-save the file as 'quarkcoin.conf'. Alternatively you can disable the hiding of known extensions in folder options and remove the '.txt' from the end of the file.
3.2 Linux users
By default the Quark application directory will be installed in the users' home directory (~/.quarkcoin). To see this directory in a directory listing you'll need to use ls -a to show hidden directories (ones that being with a '.'). Alternatively you can use find to search for the wallet.dat in the Quark directory by doing the following;
find / -name wallet.dat -print 2>/dev/null
3.3 MacOS X users
By default the Quark application directory will be installed in Application Support folder in the users' home directory (~/Library/Application Support/Quarkcoin). You can also search your disk for 'wallet.dat' to find where Quark has been installed.4.0 Final notes
This should get you everything you need to start working on advanced configurations with Quark. As always feel free to ask additional questions in the forums or let us know if you see anything that needs to be updated or fixed. Always make sure to backup your wallet.dat prior to making any changes to your configuration file. While it's very unlikely you'll run into issues, it's always better to be safe than sorry.
One more note, while this document does cover Windows XP and Server 2003 machines in the windows section, it is not recommended to use them. Windows XP and Server 2003 is no longer supported by Microsoft.
Links used in this resource;
Welcome to Quark Community
Quark is an open source software used mainly as a digital currency that employs multiple cryptographic algorithms, which unlike fiat/national currencies provides the platform for a decentralised monetary system.
Quark was launched in 2013 with the belief that the control of money should not be in the hands of the few, but in the hands of the many. This forum tries to build on that ideology by distributing Quarks in the hands of those that are active in the community. By posting quality articles and contributing to general discussions you will earn Quarks.
Sign up Learn more about Quark
Quark protocol has been changed to a POW/POS hybrid. The hard fork will take effect starting with block 4937000 ~ 25 November 2017. By that time make sure you run at least version 0.10.6.1
To download the wallet for the latest version go here:
Quark wallet configuration file information 2014-09-13
Enabling additional Quark-qt options via the configuration file.