How To Mine [MWC] and Withdraw to any http-Listener

MrT
icemining-guides
Published in
8 min readFeb 22, 2020

In this article we are covering how to mine and how to withdraw MimbleWimbleCoin (MWC) on Icemining.ca — The Cool Pool

Preamble:
Currently withdraws only support the http listener method. More withdraw formats will be added as the project and exchanges evolve.
This Guide is based on the CLI Wallet, if you are a GUI User there are 2 generalized GUI Guides availlable, a Visual Guide, and a detailed Guide

Download Repos:
MWC-Wallet — https://github.com/mwcproject/mwc-wallet
MWC-Node — https://github.com/mwcproject/mwc-node/releases
NGrok — https://ngrok.com/download

Create a CLI Wallet
If you don’t have a Wallet already, create one. Here we cover how to install and configure the CLI Wallet for Mining and Pool withdrawals.

1. Create a Folder to save your CLI Wallet and Node in, I suggest :
Windows:C:\users\%username%\mwc_base
Linux:$HOME/ (already exists)

Important: If your paths differ please adjust them accordingly! During this guide I’ll assume those Folders, you might need to replace the paths in some commands to match your wallet location!

2. Download MWC-Node and CLI Wallet
Windows: Open the ZIP-Files and copy the .exe Files into your mwc_base Folder.
Linux: Download the Current Versions usingwget and unzip it usingtar xzf %filename%

3. Start MWC-Node and let it sync
Windows: Doubleclick “mwc.exe”
Linux: Open a new Command Prompt and enter:$HOME/mwc/mwc
Leave this Command Prompt running!

4. Initialize the CLI Wallet
Open a new Command Prompt and change directory:
Windows:cd C:\users\%username%\mwc_base
Linux: cd $HOME/mwc-wallet

4.1 Recover your GUI wallet
(If needed, otherwise skip to 4.2 to Initialize a new one)
Windows:
mwc-wallet.exe init -r
Linux:
./mwc-wallet init -r

4.2 Initialize a new Wallet
Remember your password and backup your Seedphrase in a Secure Location (PLEASE!)
Your password won’t be visible while typing, remember it well and don’t mistype!

Windows: mwc-wallet.exe init
Linux: ./mwc-wallet init

-

Info: If you don’t want to withdraw to your Local HTTP wallet continue with “How to Mine”

(Step 5 is only required for Local http withdrawals)

Install Ngrok
Annoyed of portforwarding Nightmares? Use Ngrok!
Here is a quick how to:

1 Download the appropriate Executable from their Webpage https://ngrok.com/download

2 Extract the Zip
Windows: Open the Zip file and Copy ngrok.exe into your mwc_base Folder
Linux:
unzip /path/tongrok/filename

How to Mine
Download one of the following Miners, the respective Batch examples are below:

Never Share your Batch Files, Usernames or Passwords with anyone!

There are multiple Stratum-Servers availlable for MWC, which all use the same Stratum URL which will “give” you the closest Server available.
Please only use the following Stratum:

server mwc.hashrate.to:4001

Important:
When you first start mining your Account is created using your miners stratum password for your Account, choose a strong password! It’s set once and cannot be changed. This is the password used to withdraw your funds.

After your Account was created you can use any stratum password you’d like as it will be ignored. Changing the stratum password after account creation is highly recommended if you use rental services like nicehash so nobody can see your withdrawal password!

Seriously: Make sure you are not using an empty or simplistic password like “x” as withdrawal password. The withdrawal function is disabled for those passwords! If you just started mining and think you forgot the password the first time, create a new Account.

Gminer https://github.com/develsoftware/GMinerRelease/releases
C31
miner.exe --algo cuckatoo31 --server mwc.hashrate.to:4001 --user %UniqueUsername%.%Rigname% --pass %pw%

NBminer https://github.com/NebuTech/NBMiner/releases
C31
nbminer.exe -a cuckatoo -o stratum+tcp://mwc.hashrate.to:4001 -u %UniqueUsername%.%Rigname%:%pw% --fee 1

Lolminer (recommended for AMD) https://github.com/Lolliedieb/lolMiner-releases/releases

Copy and Paste an existing Batch File and customize the following lines:

set "POOL=mwc.hashrate.to:4001"
set "
WALLET=%UniqueUsername%"
set "
PASS=%pw%"

C31
lolminer.exe --coin Grin-C31 --pool !POOL! --user !WALLET! --pass !PASS!

How to withdraw
Currently withdraws only support the http listener method. This means using the CLI wallet, a configured GUI Wallet or an exchange such as HotBit.

HTTP Withdraw

-

Info For GUI Users:
Reference This Guide.

Make sure that your Node is fully synced! (“Current Status” reports as “Running”)

1. Start Withdrawal Request

1.1 (Only for Local Wallet withdrawals)
Open a Command Prompt, and Change into your mwc_base Directory:

Windows:cd C:\users\%username%\mwc_base
Linux: cd $HOME/mwc-wallet

Then start the Wallet in Listen mode:

Windows: mwc-wallet.exe listen
Linux: /mwc-wallet listen

Using Ngrok (suggested)
Make sure Ngrok is running and you got your forwarding address ready
The address will show when you start ngrok using the Command:

Windows:C:\users\%username%\mwc_base\ngrok.exe http 3415
Linux:./ngrok http 3415

Which in turn should display your “Forwarding Address”
(example of Output below)

Using Port Forwarding (For advanced Users)
Visit http://myip.is and Copy the “Your IP address is” Number including dots
example: 123.123.123.123
Info: Port Forwarding not covered in here since it’s out of scope of a Mining-guide on MWC.

1.2 Visit https://icemining.ca/?address=<username>
Make sure to replace <username> with your username.
(Alternatively visit Icemining.ca, click “Wallet” in the Menubar and search your Username)

1.3 Click on “other Listener” and supply the following Information:

Listener URL:
(URL to withdraw to)

  • Exchange example: http://yourexchange/someID:3415
  • NGrok example: http://xxxxxxx.ngrok.io
    (Your Ngrok address changes with each start of ngrok, so sadly Ngrok doesn’t work for any Exchange like Bitforex that requires you to save a receiving address and blocks withdrawals right after that since you would need to a new one everytime)
  • Port Forwarding example: http://yourexternalip:3415

Miner Password: Your Password
First Stratum Password you ever used to Mine with to this Account.
Empty passwords or simplistic passwords like “x” are blocked from withdrawing for your own security!

Once your supplied Information is correct, click on “Submit Payment” and it will be queued. You can see the Status of your Payment in the “Last 24 Hour earnings” Pane on your Wallet-page.

When the status changes to “paid” you can check your Wallet balance with the CLI Command
Windows:mwc-wallet.exe info
Linux:./mwc-wallet info

How to Send from local Wallet
Here we explain how to send your funds using the CLI Wallet once they are confirmed — Using either http or a File as transfer method

  1. Files
    Generate a Transactionfile for X MWC

    (Where “X” is the amount you want to withdraw, there will be a fee added so you cannot enter your full availlable amount!)

    Windows:
    mwc-wallet.exe send -m file -d transaction.tx X
    Linux:./mwc-wallet send -m file -d transaction.tx X

    Then send/Upload this file to the receiver, he will generate an “awnserfile” for you which you need to finalize, to do this use

    Windows:
    mwc-wallet.exe finalize -i transaction.tx.response
    Linux:./mwc-wallet finalize -i transaction.tx.response

    Hint: The Name of your responsefile might differ, edit transaction.tx.responsein the command above to match the name of your responsefile.
  2. HTTP
    You can send your Transaction to any HTTP Listener using the following Command (Example — send 1 MWC to http://10.20.20.1:3415)
    Windows:mwc-wallet.exe send -d http://10.20.20.1:3415 1
    Linux:./mwc-wallet send -d http://10.20.20.1:3415 1
  3. TOR (advanced)
    You can send your Transaction to any TOR Listener using the following Command
    Windows:mwc-wallet.exe send -d "http://onionadress.onion" 1
    Linux:./mwc-wallet send -d "http://onionadress.onion" 1

FAQ:

Q: Why is my withdrawal Status “Failed”

A1: Make sure you entered the correct password.
Also empty passwords or simple passwords (like “x”) are blocked from withdrawing for your own security! (see the “Important” Section in “How to mine”)

A2: Currently withdraws only support the http listener method. This means using the CLI wallet, or an exchange such as HotBit.
Chances are you tried to withdraw to a GUI Wallet using the mwcmwq:// protocol which is not supported!

A3: If you are doing a Local Withdrawal to your CLI Wallet;
is Ngrok running and listening for port 3415?
Is your Node synced?
Your wallet open and listening?
And your Wallet configuration updated so it listens to 0.0.0.0?
Honestly, then I don’t know might be time to hop on Discord and have some nice Community members help you instead =)

Q: How can I check my Balance via CLI Wallet?

A:./mwc-wallet info

Q: Why is my Balance Immature / What are the minimum confirmations needed for Maturation?

A: Currently your MWC Balance Matures after 1440 Confiratmions.

Q: Where is my Created Transactionfile?

A: By Default the Transactionfile is based in the current directory of your Command Prompt, usually this is where your wallet is located.

Check the following locations:

Windows:The Folder where mwc-wallet.exe is located
Linux:The Folder where mwc-wallet is located
Windows:C:\users\%Username%
Linux:ls $HOME

Q: What to do if Port Forwarding doesn’t work?

A: Make sure the Wallet is Listening to the Internet
(Using Ngrok this is not needed)

Edit the File “mwc-wallet.toml” and change the Value “api_listen_interface” to “0.0.0.0” as shown below :
api_listen_interface = "0.0.0.0"

File Location Windows:
C:\users\%username%\.mwc\main\mwc-wallet.toml
File Location Linux:
nano ~/.mwc/main/wallet_data/mwc-wallet.toml

Q: How do I execute commands on Windows?
(How do I open a Terminal /
Command Prompt)

A1: Edit the “base”-Value below so it matches your mwc_base folder (where your mwc-wallet.exe is, path is boldened)
cmd.exe /v /c "set base=C:\users\%username%\mwc_base\Start_CMD.bat&& set C=cmd.exe /q /v /k echo Make sure mwc-wallet.exe is in the same Directory as !base!&& echo !C! > !base!"
Then Press [Windows]+[R] and paste the edited Command and press Enter.
This creates a Start_CMD.bat File in your MWC Folder you can doubleclick to launch a Terminal!

A2: Press [Windows]+[R] write cmd.exeand press Enter
This will open a Commandline Window where you can enter commands.

Then change into the Directory where you saved your mwc-wallet typing the following command in the opened Commandline Window
(replace the path so it’s your mwc-wallet location)
cd "C:\users\%username%\mwc_base"
Now you can use this Window to interact with the CLI Wallet using commands as listed in the article

Q: I get a “Command not found” Error or similar

A: It’s likely your Command Prompt is not in the correct directory and cannot find the Application you want to start.
Doublecheck you did changed into the correct directory!

A Work in Progress Guide by MrT with many thanks to InfiniteImp and the whole Icemining Comunity for the constructive Feedback!
Happy 🧊⛏️ Everyone =)

--

--

MrT
icemining-guides

Just an Honest Guy with a Passion for IT and Philosophy. Feel free to HMU on Discord (MrT#8978)