NxtMint 1.6.0Download the latest version from
NxtMint Releases- Unpack the files in a directory of your choice
- Copy sample.NxtMint.conf to the application data directory and rename it to NxtMint.conf
- Linux: <user-home>/.NxtMint/NxtMint.conf
- Mac: <user-home>/Library/Application Support/NxtMint/NxtMint.conf
- Windows: <user-home>\AppData\Roaming\NxtMint\NxtMint.conf
- Copy sample.logging.properties to the application data directory and rename it to logging.properties
- Edit NxtMint.conf to specify your desired NRS server (you can use scripterron.dyndns.biz if you don't run a local server) and your secret passphrase (the passphrase will not be sent to the server). Update the other parameters as needed.
- Install OpenCL if you want to use the GPU for minting
- Rename and edit sample.mint.bat (Windows) or sample.mint.sh (Linux/Mac) as desired
NxtMint requires the Java 8 runtime since it uses language features that are not available in earlier versions of Java.Nxt NRS works with Java 8, so you can upgrade without worrying that you will break the server.
NxtMint mints currencies defined by the Nxt Monetary System. A single currency can be minted as specified by the NxtMint configuration file. The minting algorithm is executed using one or more CPU threads or GPU devices. Newly-minted coins will be added to the account specified in the configuration file.
The NRS node used to create the mint transactions must accept API connections. This is done by specifying nxt.apiServerPort, nxt.apiServerHost and nxt.allowedBotHosts in nxt.properties. The account secret phrase is not sent to the Nxt server since the mint transactions are created and signed locally.
OpenCL is used to mint using the GPU and is not needed if you are using just the CPU. You will need to obtain OpenCL from your graphics card vendor (OpenCL may be automatically installed as part of the graphics card driver installation). The directory containing the OpenCL runtime library needs to be in either PATH (Windows) or LD_LIBRARY_PATH (Linux). On Windows, OpenCL.dll is often placed in \Windows\system32 by the device driver installer, so it is always available and you won't need to update PATH.
Runtime OptionsThe following command-line options can be specified using -Dname=value
nxt.datadir=directory-pathSpecifies the application data directory. Application data will be stored in a system-specific directory if this option is omitted:
- Linux: user-home/.NxtMint
- Mac: user-home/Library/Application Support/NxtMint
- Windows: user-home\AppData\Roaming\NxtMint
java.util.logging.config.file=file-pathSpecifies the logger configuration file. The logger properties will be read from 'logging.properties' in the application data directory. If this file is not found, the 'java.util.logging.config.file' system property will be used to locate the logger configuration file. If this property is not defined, the logger properties will be obtained from jre/lib/logging.properties.
JDK FINE corresponds to the SLF4J DEBUG level
JDK INFO corresponds to the SLF4J INFO level
JDK WARNING corresponds to the SLF4J WARN level
JDK SEVERE corresponds to the SLF4J ERROR level
Configuration optionsThe following configuration options can be specified in NxtMint.conf. This file is required and must be in the application data directory.
connect=hostSpecifies the NRS host name and defaults to 'localhost'
apiPort=portSpecifies the NRS API port and defaults to 7876.
secretPhrase=phraseSpecifies the account secret phrase and must be specified. The secret phrase will not be sent to the NRS server. Note that the configuration file is processed using the current user locale which can cause problems if the characters in the secret phrase aren't defined in the locale.
currency=codeSpecifies the code for the currency to be minted.
units=countSpecifies the number of units to generate for each hash round and defaults to 1. The hash difficulty increases as the number of units increases but the transaction fee is 1 Nxt no matter how many units are generated. Thus you want to increase units as much as possible to reduce the cost of minting the currency but don't set it so high that you don't mint anything during a session. The count can be specified as an integer value or as a decimal value with a maximum number of digits following the decimal point as defined for the currency.
cpuThreads=countSpecifies the number of CPU threads to be used and defaults to 1. Specifying a thread count greater than the number of CPU processors will not improve minting since the mint algorithms are CPU-intensive and will drive each process to 100% utilization. Decrease the thread count if your computer becomes too hot or system response degrades significantly.
gpuIntensity=countSpecifies the GPU computation intensity and defaults to 0. Your graphics card must support OpenCL in order to use the GPU. You will need to try different values to determine an acceptable hash rate. Specifying too large a value will result in performance degradation and GPU memory errors. Start with an initial value of 10 and raise or lower needed. A GPU will not be used if gpuIntensity is 0.
gpuDevice=index,wsize,gcountSpecifies the GPU device number (0, 1, 2, ...), the work group size and the work group count. The first GPU device will be used if this parameter is omitted. This parameter can be repeated to use multiple GPU devices. The GPU devices that are available are listed when NxtMint is started with a non-zero value for gpuIntensity.
The work group size specifies the number of work items per work group and defaults to 256. Performance can sometimes be improved by setting the work group size to the number of cores in a compute unit. You can determine this value by dividing the number of cores on the card by the number of compute units. For Scrypt, local memory contention can occur if the work group size is too large, so experiment with smaller values.
The work group count specifies the number of work groups that will be executed by OpenCL before returning control to the application. Specifying too large a value can result in adapter global storage being exceeded and can cause sluggish display performance as display work groups get delayed by mining work groups.
enableGUI=true|falseSpecifies whether or not to enable the GUI and defaults to true. Disabling the GUI allows NxtMint to run in headless environments such as a disconnected service.