3Commas

Grin is the second coin to launch that incorporates a version of the mimblewimble protocol (Jan 15, 2019). There is a lot of information about this protocol but the main points are:

  • Increased Privacy
  • Scalability, and reduced blockchain size

This coin is taking a more community driven decentralized approach compared to Beam. I suggest everyone who wants to mine this coin, reads the article, since it talks about how they are able to accomplish this, as well as how this differs from Monero and ZCash.

Grin is using the Equihash algorithm, is written in Rust and is ASIC resistance, to the point where, just like Monero, they will be hard forking every six months to avoid ASICs.

How to Mine Grin Coin

You might have also heard about Beam, which was the first cryptocurrency to come out with a version of the mimblewimble protocol. Grin is a lot different in architecture of the system, compared to Beam. The main differences from the users perspective is Grin allows for IP, file and address based transactions, while beam uses temporary ID’s that help wallets communicate with each other, and has the ability to create permanent ID’s since regular ID’s change after each connection to a wallet, to increase privacy.

Now that we know the details about Grin, let’s get to mining some GRIN!

General Mining Notes About Grin

I do want to mention at the top of this tutorial that you will need at least a 5.5GB card to mine grin, and if you want to mine using the ASIC protocol you will need 11GB cards to do this.

Some General Mining Tips

So before we start this tutorial, I have two tips for making the most out of your mining experience. First make sure you have the latest drivers for your GPU’s. Secondly, most mining software will get flagged as a virus from virus scanners. Because of this, if your mining on your normal everyday use or gaming computer that has an antivirus installed, you will want to exclude the mining software from the antivirus. What I like to do, is I make one folder and then put all of my mining software in sub folders. I then exclude the top level folder from the antivirus and that excludes all the mining software.

Grin Wallet Setup

In this tutorial we are also going to show the wallet setup process. The reason were covering a wallet setup in this tutorial is because the mimblewimble protocol coins are designed much differently when compared to the other cryptocurrencies. One of the biggest design differences is there are not suppose to be any addresses in the system, and the wallets communicate (they do not have to be online) with each other to send crypto. Because this is a very different system than everyone in cryptocurrency is used to, Grin does have addresses as well as private keys, but the recommend way (and the way most of the pools are paying out) is not using addresses. In grin one can send an receive using an IP address, passing a file back and forth (email etc) or using a grin box address. We will cover all three methods in this tutorial.

Ubuntu Installation

As of right now there seems to only be Linux wallets out for grin, since you need a full node to run, and there are none for windows as of now.

If you do not have a Linux computer, you can use a spare computer, or a virtual machine on windows. I am using VMware player (free). Once you download and install it, you need to download a Linux distribution. I will be using the server edition of Ubuntu 18.04

I use the server edition because it will be quick to download, will use less space, and be more responsive. (Dont worry we will install a GUI) Once you download the ISO file follow these steps to create a virtual machine

Setting up the VM is pretty simple.

On the last picture, choose Customize Hardware… I would change the HD to at least 50GB if you have the space, and change the RAM and CPU usage to 50-75% of your computer. So a computer with 4 cores 8GB I would choose 2 cores and 4GB of ram for the VM.

Once your virtual machine is started, you can really just accept all of the default settings for the Linux setup, and use the whole disk since its inside a VM.

You then need to login, and are presented with the terminal since this is a server install. We now want to install our GUI. I will be using XFCE

sudo apt install -y xfce4 xfce4-goodies

This will use about 650MB. Once it is done, we need to start the GUI using

startx

Note this is the login process the next time we use the VM. You type the username, password and then startx. So our Linux is now installed and booted!

Grin Wallet Installation

First we need to open a terminal

Now we need to install some packages we will need. We need to first get a web browser, so you can load the docs and this tutorial in the webbrowser in the VM, so you can copy and paste. We also need git to pull the source from github.

sudo apt install -y firefox git

Once you have installed Firefox and git, lets create a launcher for it. Just right click on the desktop and select create launcher. Then choose the Create Launcher Firef… and then click create.

Now open firefox, and choose mark as executable so the warning does not show up again.

load the tutorial up in Firefox so you can copy and paste the next steps

These will be required to build the wallet from source and to run the wallet.  You can visit the official wallets GitHub for the requirements to see the commands we will perform below. This will install all of the software we need in one command

curl https://sh.rustup.rs -sSf | sh; source $HOME/.cargo/env && sudo apt install -y build-essential cmake libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev pkg-config libssl-dev llvm

Press enter if it ask for installation options. This whole operation will install about 700MB of packages.

For the wallet, were going to use a community built wallet instead of the official wallet. The reason for this is because in my opinion the community wallet is much easier to use, and to send and receive payments from. It more resembles the monero CLI in a way in my opinion so I will be using this wallet in the tutorial. The official wallet requires a lot of changing files which is another reason why were not going to use this. Also the community wallet has a better documentation on how to use the wallet.

Here is the links for the official wallet and wallet 713

Here is the link for the build steps and wallet usage for wallet 713

Note the wallet now has a built in node, so we do not need a separate node in the new build.

Now its time to build the wallet

cd ~ && mkdir Installed-Programs && cd I* && git clone https://github.com/vault713/wallet713 && cd wallet713 && cargo build --release

Grin Wallet Setup

Now lets run the wallet and get synced up (You can use this command to start the wallet each time or maybe create a launcher like we did for firefox)

~/Installed-Programs/wallet713/target/release/wallet713

Now lets make a new wallet

init

You will want to right down the grin box address and the private seed words. Now grin does have a address system, you can still use grin without an address, but obviously this makes it a lot more easier. We can then check our balances by typing

info

To receive any new payments you have received from the last time you loaded the wallet we need to run the listener

listen

The picture above shows the commands and responses from the wallet. The seedwords (private key) of the wallet is in the red box. These are only for you, dont give these out to others, otherwise they can spend your funds. The green payment address (red arrow), is the public key that you should give others so they can pay you. The blue arrow shows the balance of my wallet.

Grin Wallet Usage

There are 3 ways to send and receive payments in Grin

  1. HTTPS
  2. File based
  3. Grin box address

Now that the listner is running, the wallet will automatically receive any https or grinbox address payment that is sent to it. For receiving https you would need to forward your ports from behind your router, and the wallet 713 does not support receiving https based payments at this time so we will not cover this.

To send a payment using HTTPS

send amount --to https://IP:13415

To send a payment using the grinbox address we can run

send amount --to grinbox_address_of_recipient

To send a payment using files

send amount --file ~/path/to/transaction.tx

You would then send this file (transaction.tx) to the recipient.

To receive payment through a file (This is how we will receive payments from the mining pool)

receive --file ~/path/to/transaction.tx

This will create a transaction.tx.response file which you need to return to the sender.

The sender will then run

finalize --file ~/path/to/transaction.tx.response

And the payment will be sent through the network

Grin Mining Pools

For this tutorial we will use https://grinmint.com/pages/index.html I have chosen this pool because they will have 0% fees for a short time after launch (Jan 15, 2019)

Now that we have a pool, lets start mining!

CPU Mining

We will not be focusing on this, since it is not profitable.

GPU Mining – Nvidia and AMD

Right now there are not many choices for us to use to mine GRIN. The best option at the moment seems to be GrinGoldMiner

This mining software has a 2% dev fee. To use this mining software we need to install .NET 2.2

Choose the “Download .NET Core Runtime” button

Once downloaded and .NET is installed, run the miner, and edit the values to the choices below

Replace “myemail@mail.com” with your email address.
Replace “rig1” with something to identify the mining computer like officecomputer.
Replace “strongpassword” with a password.

Then, open the config.xml file in the same folder and make sure it saved the settings, and detected your GPU’s correctly.

Now just run the miner software and you should see something like this.

 

I have also logged into the mining pool website. This is where you will request a payout. Since the mimblewimble protocol that Grin is using, has no addresses, you can request a payout to an email address or IP address.

Receive a Mining Pool Payout

First log into your dashboard, put in the password in the textbox and click email payout. You will then receive an email with a file. You will then want to run in the wallet

receive --file ~/path/to/transaction.tx

This will create a transaction.tx.response file which you need to return to the sender. To do this go back to the dashboard and type the password again, and then select finalize transaction. Then select the transaction.tx.response file and upload it. You should then receive a payment, which you can check by typing

info

In the wallet.

If there are problems with your mining setup, you can try a few things.

You may not have enough virtual memory. You may need 16GB of virtual memory (for Vega GPU’s you need more like 16GB per GPU) to change this go to Control Panel -> System and Security -> System and the click Advanced system settings on the left. From there, click settings under the advanced tab. Next click change, and then on the third screen, uncheck automatically manage, choose custom size, and type in the size (in MB) for both text boxes. Then press the set button, and then the ok button.

General Troubleshooting

One thing to monitor for is stale or rejected shares. If you see a lot of stale shares, you may want to try a server that is closer to you. If you see a lot of rejected shares, try to lower the intensity of the miner if available.

How much GRIN will I earn per day?

To figure this out, you would go to https://www.coincalculators.io/coin.aspx?crypto=grin-mining-calculator and use their calculator. The calculator does provide a rough estimate, so you may get paid a higher or lower amount than what the calculator actually says.

Most of the values are already correctly entered, and you only need to edit a few values.

Hash rate: Enter your total speed (in megahashes per second) for all of your mining computers. This would be the “total speed” value in your mining software. Make sure to add up all of the computers your using for Grin mining.

Power: Enter the total amount of power (in watts) that your mining rig is using. Some mining software will measure this for you. You can also measure total power consumption for your computer using special software, or a kilowatt meter. I prefer using a kilowatt meter, because I find it to be the most accurate. Make sure to add up all of the computers your using for Grinmining.

Electricity Cost: Enter the cost per kilowatt hour that you pay to your electricity company. I was able to find this info in my monthly bill, as well as on their website.

Pool fee: Enter the pool fee + the miner software dev fee. This would be 0 + 2 = 2%

Hardware cost: Enter in the total cost of all of your hardware.

In this image, we can quickly see how many coins and USD value we will make in certain time frames. You want to look at the Profit column, since this is the value after paying for your electricity usage. I usually just focus on the daily payout in USD. By just focusing on this number, you can run the calculator for a few different coins, and quickly see which coin is most profitable for your mining rig setup. Keep in mind you also want to weigh the daily payout with the market cap. A low market cap coin may be really profitable one day, and then could have half the payout tomorrow. For a new coin that has a lot of hype around it too, you also need to weight the hype factor and the inflation factor into your decision as well in terms of mining and selling immediately or mining and holding some.

That’s it. You should now be mining GRIN! Make sure to type in your public key into the mining pool’s dashboard, to keep track of your statistics.


3Commas

Posted by Zach Hildreth

I am a developer who programs websites, games, software and is knowledgeable about cyber security. I have been a cryptocurrency investor, since 2013, and have been interested in cryptocurrency mining, trading and writing since 2016.


All content on Blockonomi.com is provided solely for informational purposes, and is not an offer to buy or sell or a solicitation of an offer to buy or sell any security, product, service or investment. The opinions expressed in this Site do not constitute investment advice and independent financial advice should be sought where appropriate.

4 Comments

  1. Hi Guys! A complete guide should include the mining setup for the 31 algorithm too, not just 29… there is a lot of people with 1080ti with 11GB needed for 31, and it’s also a lot more profitable as of today than 29, why not cover that topic too? Pretty much everywhere they skip it…. but it’s good for us – the ones mining on 31…. 🙂

    Reply

  2. So, if i only have a notebook with no Video Carder i can forgot about any profitable mining ?

    Reply

    1. danish aftab ahmedFebruary 5, 2019 at 1:45 pm

      You should not try a notebook for mining, As notebooks are designed more for portability than high performance. and even if you chose to mine with the same, mining performance would be very low.
      You should try Nvidia 1080Ti or 2080Ti or AMD Graphic cards or ASICs. Other than that you would get negligible profits.
      Alternatively you can also choose to invest in crypto itself that would be more beneficial.

      Reply

  3. Are those windows virtual memory windows for an Ubuntu install?

    Reply

Leave a reply

Your email address will not be published. Required fields are marked *