Jump to content
Sign in to follow this  

How to Setup Yiimp and [D]

Recommended Posts

First go to this script's github and read through the readme a few times.

For a single coin pool, a $5 Vultr VPS Appears to work so far. This is 1 cpu, 1GB ram.

Also grab a domain name from somewhere like namecheap with whois guard. You then want to create an A record that points the domain name to your VPS IP and let this propogate. This generally takes 1-2 hours. I use https://dnschecker.org/#A to check the DNS switched over.

I setup the denarius daemon first to double check I can compile coins. Some cheaper VPS's will not allow swap drives to compile and even fake swap space doesn't work sometimes. A nice feature of Vultr is that you can upgrade and not lose your data. They still also allow free snapshots of your VPS.

After you compile denariusd, start daemon. Note the RPC user and pass this randomly generates and copy and paste those somewhere. Edit the denarius.conf and add those and a couple other lines to start the daemon syncing.

nano ~/.denarius/denarius.conf

Add these lines.


Restart denariusd and let that sync in the background and start the Yiimp script install.

adduser pool
adduser pool sudo
su - pool
sudo apt-get -y install git
git clone https://github.com/xavatar/yiimp_install_scrypt.git
cd yiimp_install_scrypt/
sudo bash install.sh

Use this link for the timezone you will input into the beginning of the script

Keep everything as default. Yes you want to use letsencrypt so the domain is automatically setup for https. Also you need to grab your home IP so only that IP can login to the Yiimp control panel. Also need an email for alerts. Also you admin panel can be named anything which you get the option here. Example https://example.com/site/ICOULDNAMEMYADMINPANELTHIS. Inputting through the steps, sit back and watch the script go to work. This will take anywhere from 30min to over an hour depending on the VPS.

After the initial setup is done, go to your new domain name and see the website is setup, but no coin is there to mine.

At your panel click Wallets at the top of the menu bar and scroll down to see CREATE COIN.


Fill in this Data thats underlined in red on the General Tab. Here is a direct link for a D logo. Which Yiimp automatically adds.



On the Settings tab checkmark similar things, and wait to add D addresses for once we are done setting up these tabs.


On the Deamon tab fill in the underlined red.


Click Save.

Go back to that config screen by clicking COIN PROPERTIES.


Go back to the Deamon tab and under sample config you want to copy and paste that entire area and paste into your denarius.conf file at ~/.denarius/denarius.conf

At the VPS command line

nano ~/.denarius/denarius.conf

Change the last line blocknotify to this. Full denarius.conf example below.


alertnotify=echo %s | mail -s "Denarius alert!" [email protected]
blocknotify=/var/stratum/blocknotify 1425 %s

Open up your firewall for port 8533 for mining and also allow 33369 for denarius daemon port.

sudo ufw allow 8533 33369

Now stop denariusd from syncing earlier and rerun. Some sample tutorials are running this with sudo. Not sure if this is required.


Once that gets syncing again we need an address. I did it like this.

denariusd getnewaddress
denariusd getaccountaddress default

And I used that default address in the Settings Tab -> Master Wallet and Daemon Tab -> Account

Go back into the Yiimp control panel, click wallets again at the top right and then Select Server and choose 127.0.01 to get your list of coins you have added.


Once the daemon is done syncing go back to admin panel to the Settings Tab and click Enable and Auto Ready.

Change the stratum script before running which is in that yiimp folder you cloned in.

nano screen-stratum.sh

And change to

screen -dmS tribus $STRATUM_DIR/run.sh tribus

I would remove root login access and remove password login for VPS login accounts and only use SSH keys, as a starting point to start locking the VPS down.

2 Things I changed from the default install.

Payout Frequency to every hour.

define('YAAMP_PAYMENTS_FREQ', 1*60*60);

And somewhere I saw this helped with payout issues.

if($coin->symbol == 'BOD' || $coin->symbol == 'D' || $coin->symbol == 'DIME' || $coin->symbol == 'BTCRY' || !empty($coin->payout_max))

If you are looking to edit the website text, go to https://github.com/tpruvot/yiimp

And search a small portion of the text you are looking to change, and this will show you the file to edit.

Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post

Link to post
Share on other sites

To add worker name to wallet stats.

cd /var/web/yaamp/modules/site/results
sudo nano wallet_miners_results.php
 echo "<th align=left>Extra</th>";

        echo "<th align=left>Worker Name</th>";
        echo "<th align=left>Algo</th>";
        echo "<th align=right>Diff</th>";
        echo "<th align=right title='extranonce.subscribe'>ES**</th>";
        echo "<th align=right width=80>Hashrate*</th>";
        echo "<th align=right width=60>Reject*</th>";
 if ($this->admin) echo "<td>{$worker->ip}</td>";
                echo '<td title="'.$worker->password.'">'.$password.'</td>';
                echo '<td>'.$worker->worker.'</td>';
                echo '<td>'.$worker->algo.'</td>';
                echo '<td align="right">'.$worker->difficulty.'</td>';
                echo '<td align="right">'.$subscribe.'</td>';
                echo '<td align="right">'.$user_rate1.'</td>';
                echo '<td align="center" title="'.$percent.'">'.$user_rejects.'</td>';
                echo '</tr>';

these are the 2 lines to change from the php above.

echo "<th align=left>Worker Name</th>";
echo '<td>'.$worker->worker.'</td>';

Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post

Link to post
Share on other sites

to change coinbase name from yiimp to something else.

sudo nano ~/yiimp-install-only-do-not-run-commands-from-this-folder/stratum/coinbase.cpp

You are looking for this line.

void coinbase_create(YAAMP_COIND *coind, YAAMP_JOB_TEMPLATE *templ, json_value *json_result)
	char eheight[32], etime[32];
	char entime[32] = { 0 };

	ser_number(templ->height, eheight);
	ser_number(time(NULL), etime);
	if(coind->pos) ser_string_be(templ->ntime, entime, 1);

	char eversion1[32] = "01000000";
		strcpy(eversion1, "02000000");

	char script1[4*1024];
	sprintf(script1, "%s%s%s08", eheight, templ->flags, etime);

	char script2[32] = "7969696d7000"; // "yiimp\0" in hex ascii

change 7969696d7000 to a new hex code.

I used https://www.rapidtables.com/convert/number/ascii-to-hex.html to convert ascii to hex.

compile stratum

cd ~/yiimp-install-only-do-not-run-commands-from-this-folder/stratum
sudo make

shut down your stratum, i logged into root using sudo -s, and shutdown the tribus screen.

replace the new stratum you just compiled, stay inside of the compiled stratum folder.

sudo cp -r stratum /var/stratum

Restart stratum

Mine like a boss and check your blocks.



Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post

Link to post
Share on other sites

for payouts to work go to near line 57 and add your coin symbol in


// todo: enhance/detect payout_max from normal sendmany error
        if($coin->symbol == 'BOD' || $coin->symbol == 'TWIT' || $coin->symbol == 'D' ||


Join Denarius Discord - https://discord.gg/JQEmXwb

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Create New...