what is ethereum?
That said, it’s actually used to power this ecosystem known as ethereum. ethereum is a decentralized platform with its blockchain for its applications to run on, and these applications are powdered by these tokens known as ether. so basically ether may or may not be used as a currency but rather as a fuel to power the ethereum ecosystem, however it is widely used as a fungible currency as an alternative to bitcoins.
Also, like bitcoins, ethereum can be mined, and this process is known as ether mining. Although the term ethereum is used interchangeably, it is more appropriate to use the term ether since it is actually mined through this process. ether can be mined with cpu or gpu, and there are many miners around the world developed by various professionals specifically just for this purpose. the mined tokens can then be stored in wallets, which can then be traded or consumed to power the application running on the ethereum ecosystem.
Reading: Mine ethereum linux
what is the ethnic miner?
This article demonstrates how to make use of ethminer, which is used to mine ether with the help of a gpu. ethminer is an open source cross-platform application developed specifically for ether mining and uses opencl and nvidia cuda technologies for mining purposes. it also supports the stratum protocol which is used for mining pools on a network; therefore, it can be used even without having a physical computer nearby, as long as the user has access to the internet, that’s all that is needed.
ethminer is currently developed for windows, macos and linux, and uses the command line to run its code. app developers use appveyor and travis ci, which respectively generate windows and macos executables, linux executables with every commit made to the github repository and therefore no source codes need to be compiled as with many bitcoin miners available. ethminer is easy to use and extremely fast as long as the recommended hardware for mining purposes is used.
how to install ethminer
ethminer, at first glance seems difficult to install, at least on linux systems, but it is actually quite easy to install with the correct commands. this tutorial assumes the user has ubuntu 16 or 17, but it may still work for both newer and older versions, although this is not recommended. Since ubuntu is free, it is recommended to upgrade to at least ubuntu 16.04 before following these steps.
The installation assumes that the user has amd or nvidia hardware installed on the system, and some installation steps may need to be slightly modified depending on the graphics card.
1. first install the graphics drivers. If you are unable to locate the information related to your graphics adapter, use the following commands in the terminal. either is fine, however the second command requires root access as it returns more graphics adapter information.
2. once you find the currently installed graphics adapter, write it down somewhere as it is useful in later steps.
3. now install the appropriate graphics driver. only nvidia and amd gpus are supported at the moment however cpu mining is also possible through go-ethereum which has native support for cpus but it is not recommended to use cpus for mining as it is not feasible to generate profit from from it.
- visit this url for nvidia installation instructions: https://linuxhint.com/install-nvidia-drivers-linux/
- visit this url to download nvidia drivers for ubuntu http:/ /www.nvidia.com/download/find.aspx?lang=en-us
- visit this url to download amd drivers for ubuntu http://support.amd.com/en- us/download/linux
4. now depending on the hardware adapter install the appropriate graphics driver.
5. for nvidia adapters, install the cuda toolkit. cuda is a proprietary application programming interface (api) developed for general purpose rendering on cuda-enabled hardware, such as most nvidia graphics adapters. this is useful for a variety of applications such as math calculations, video and audio conversion, simulation applications. make sure to use sudo su and get root access.
6. for amd adapters, install opencl icd (installable client driver) which allows multiple opencl implementations to exist on the same system. opencl is the same as cuda, an api for general purpose rendering, but it works on a variety of hardware devices, including nvidia graphics adapters as well.
7. once any of the steps are complete install the git package to retrieve the latest ethminer sources the mesa developer package which is a 3d graphics library works on the graphics adapter to aid in mining, then cmake to build the sources.
8. now create a directory to store the retrieved ethminer sources and then focus on that directory. creating the directory in the terminal makes the folder the home directory of the currently logged in user. cd changes the focus to the indicated folder.
9. retrieve the source codes from github directly to that folder with the following command.
10. then build the sources with cmake.
11. To get the full potential of the graphics adapters, use the flags dethashcuda=on flag dethashcl=off. what these flags do is respectively enable cuda and disable opencl. so the cmake step should be slightly modified like this
12. additionally, if pool mining is intended, add the following flag as well to enable the stratum protocol. -dethstratum=on, then cmake is modified like this.
13. once the package is built, now it’s time to install it. so install it with the following command. this assumes the user already has root access as suggested above.
14. now use the following command to make sure it is installed safely. if it shows the available command lines, it means that ethminer was installed on the system successfully; otherwise, repeat these steps above from the beginning until it is fixed.
15. Additionally, to find out the available hardware adapter performance, use one of the following commands. the one for opencl is for measuring the performance of amd adapters, and the one for cuda is for measuring the performance of nvidia adapters.
- opencl benchmark ethminer -g -m
- cuda benchmark ethminer -u -m
how to configure ethminer to mine ether
once ethminer is installed on the system, the remaining part is to configure it so that it is ready to be used to mine ether. First of all, before starting mining, it is important to obtain a valid ethereum address that is used to recover the mined ether. this address is public; therefore, it can be shared, however the given private key is supposed to be kept hidden.
- visit the following web url https://www.myetherwallet.com
- type a valid password and create a wallet to store ether.
- now save the file keystore containing relevant wallet information.
- after it has been downloaded, click the “I understand, continue” button.
- save the private key. the website also allows users to print it on paper. once the address is saved, click the “save your address” button.
- then it will ask how you would like to access your wallet, which means how to retrieve account related information. this basically contains “account address”, “eth account balance”, “transaction history”, “private key”, “public ethereum address”.
- Use the following command in the terminal window after archiving the indicated placeholders. hashrate is calculated in step 15 of the segment above, use that value retrieved here, ethereum address is the public address created with the steps above, rigname is the hostname, which is optional and so can be omitted if he wants it. any custom name can be used there. ethminer -g -f http://ethereumpool.co/?miner=<hashrate>@<etherumaddress>@<rigname>
how to modify performance?
Mining performance can be improved in various ways, but this is only relevant for cuda-enabled graphics adapters. use the following flags when benchmarking, and then use the hash value returned in the 8th pass of the previous segment in the hashrate placeholder along with the flags. the hash value is generated at step 15 of the segment before the previous segment.
-cuda-block-size: A block is a group of threads that can be executed in parallel, by increasing the block size, the application can make use of many threads at the same time. but according to this report after block size 16.32 depending on cuda enabled adapter the performance gain goes downhill as time increases. recommended values are 16,32,64.
-cuda-grid-size: grid is a group of blocks, as before, increasing the size of the grid increases performance. recommended values are 8192, 16384, 32768, 65536.
-cuda-parallel-hash: is a variable parameter that helps increase performance. recommended values are 8.16.
-cuda-streams: in cuda stream means a sequence of operations that are executed as they are output to the video adapter. here operations means the mathematical calculations performed by gpu. In both bitcoin and ethereum mining, mining basically means solving complex mathematical problems; therefore, having a higher stream value improves performance, but there is a limit depending on the graphics adapter model. recommended values are 16.32.
ethereum is a rising star in the cryptocurrency ecosystem, planning to bring information technology to the decentralized form. In the ethereum system, ether is a token that fuels the ecosystem, which can also be traded as bitcoins. ether can be mined with modern graphics adapters, just like bitcoins used to be. popular picks for this purpose are nvidia and amd. nvidia uses cuda, while amd uses opencl. ethminer slightly favors nvidia gpus by providing more flags for cuda apis and therefore nvidia gpus is expected to outperform others. Since contemporary NVIDIA graphics adapters are extremely power efficient, it is more beneficial to use NVIDIA graphics adapters compared to AMD which is still popular with bitcoin miners. Either way, ether is an important part of the future of cryptocurrencies and will likely co-exist with bitcoin rather than replace it entirely.