BitShares Forum
Other => Graveyard => MemoryCoin => Topic started by: toonces on March 08, 2014, 02:05:27 pm
-
Here is a guide that I use to create solo mining MMC using multiple yam workers
I. Create Wallet Server
1. Install Ubuntu Server 12.04 LTS 64 bit from
http://www.ubuntu.com/download/server (http://www.ubuntu.com/download/server)
2. Install/compile memorycoind
https://github.com/memorycoin/memorycoin (https://github.com/memorycoin/memorycoin)
3. Use this configuration file under .memorycoin
Change 192.168.1.* for your worker ip where you run yam
Change setting rpcthreads >= 2*number of workers ( recommended by yvg1900)
memorycoin.conf
rpcuser=memorycoinrpc
rpcpassword=changepassword
rpcallowip=127.0.0.1
rpcallowip=192.168.1.*
rpcport=1925
rpcthreads=50
server=1
daemon=1
listen=1
4. Run
./memorycoind
5. Check
./memorycoind getinfo
And wait until blocks is equal to the current mmc block which you can find at
http://mmcexplorer.info/ (http://mmcexplorer.info/) current block
or
http://agran.net/memorycoin2_calc.html (http://agran.net/memorycoin2_calc.html) current block number
Or run this bash script to automatically download/compile memorycoind and create the yam-mmc.cfg file
#!/usr/bin/env bash
set -o errexit
set -o xtrace
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install libtool autotools-dev autoconf pkg-config
sudo apt-get -y install git build-essential libssl-dev libdb4.8-dev libdb4.8++-dev libboost1.48-all-dev
git clone https://github.com/memorycoin/memorycoin
cd memorycoin/src
make -f makefile.unix USE_UPNP=-
cp memorycoind ~
set +o errexit
./memorycoind 2> pass.out
set -o errexit
egrep "^rpcus|^rpcpassword" pass.out > ~/.memorycoin/memorycoin.conf
cat >> ~/.memorycoin/memorycoin.conf << EOF
rpcallowip=127.0.0.1
rpcallowip=192.168.1.*
rpcport=1925
rpcthreads=50
server=1
daemon=1
listen=1
EOF
chmod 400 ~/.memorycoin/memorycoin.conf
rm pass.out
USER=$(egrep "^rpcuser" ~/.memorycoin/memorycoin.conf | cut -d'=' -f2)
PASS=$(egrep "^rpcpassword" ~/.memorycoin/memorycoin.conf | cut -d'=' -f2)
cat > ~/yam-mmc.cfg << EOF
threads = 0
mining-params = mmc:av=0&aesni=on&m=1024&donation-interval=100
mine = getwork://$USER:$PASS@192.168.1.2:1925/mmc
EOF
Optional: Installing firewall if you have your wallet outside a firewall.
Please read through the script and modified the appropriate line.
You can accidentally lock yourself out if there is a mistake.
firewall.sh
#! /bin/bash
apt-get update
apt-get -y upgrade
ntpdate 0.pool.ntp.org
apt-get -y install ntp
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh
# change 192.168.1.0/24 to your workers network.
cat >> /etc/csf/csf.allow << EOF
tcp|in|d=1925|s=192.168.1.0/24
EOF
cat >> /etc/csf/csf.pignore << EOF
exe:$HOME/memorycoind
exe:/usr/bin/tmux
exe:/usr/bin/whoopsie
exe:/usr/sbin/atd
exe:/bin/bash
exe:/usr/sbin/rsyslogd
EOF
sed -i "s/^TESTING =\ .*$/TESTING = \"0\"/" /etc/csf/csf.conf
sed -i "s/^TCP_IN =\ .*$/TCP_IN = \"22,53,1968\"/" /etc/csf/csf.conf
sed -i "s/^TCP_OUT =\ .*$/TCP_OUT = \"22,53,80,443,1968\"/" /etc/csf/csf.conf
sed -i "s/^UDP_IN =\ .*$/UDP_IN = \"53\"/" /etc/csf/csf.conf
sed -i "s/^UDP_OUT =\ .*$/UDP_OUT = \"53,67,123\"/" /etc/csf/csf.conf
/etc/init.d/csf restart
/etc/init.d/lfd restart
run it like
sudo bash ./firewall.sh
II. Create 1 or more workers
1. Install Ubuntu Server 12.04 LTS 64 bit
2. Download the appropriate yam for your CPU from:
https://bitsharestalk.org/index.php?topic=2609.0 (https://bitsharestalk.org/index.php?topic=2609.0)
I use yam-yvg1900-M7n-linux64-sandy-bridge
Next, change 192.168.1.2 to your wallet IP Address
yam-mmc.cfg
threads = 0
mining-params = mmc:av=0&aesni=on&m=1024&donation-interval=100
mine = getwork://memorycoinrpc:changepassword@192.168.1.2:1925/mmc
3. Run the command below
tmux new-session -d './yam -c yam-mmc.cfg >> yam.out' \; detach
If everything works the way it should, yam.out should look like this
[2014-03-08 12:54:13.661017] MMC Agg. SPM: 22.010, HPM: 22.374; Rnds C/I: 12919/1744, Don. C/I: 158/32; Cfg/Wkr SPM: 22.010/1.3960, Cfg/Wkr HPM: 22.373/1.3983 13077 rnds AV=2, ART=42909
[2014-03-08 12:54:13.661094] 192.168.1.2: On-line, Shares Submitted 0, Accepted 0
[2014-03-08 12:54:14.612521] Found solution - 11687 / 1968 / 1031891111
[2014-03-08 12:54:16.363473] Found solution - 12773 / 1968 / 1956038710
[2014-03-08 12:54:17.168213] Found solution - 12816 / 1968 / 400115672
Depending on your total HPM when it finds a block the Shares Submitted 0, Accepted 0 will change to
Shares Submitted 1, Accepted 1
For example, I have an approximate total 470 HPM across 21 servers (dual 8 core) with this setup I managed to find 6 blocks in 3 days. It appears conclusive according to the mining calculator http://agran.net/memorycoin2_calc.html (http://agran.net/memorycoin2_calc.html)
Happy Mining
-
Incredible :D
Now everyone get off 1gh cause they have >65% Network Hashing Power!
-
Great! This was something a lot of people asked for.
What's your MMC address for a tip?
-
Please list my block explorer, it is more reliable than coinplorer, and more obvious than agrean!
http://mmcexplorer.info/
I have been (and still am) working very hard on it.
Great guide though.
-
To be on the safe side with potential rejections, i recommend setting rpcthreads >= 2*number of workers. Actually yam uses very efficient conn implementation and takes maximum benefit of keep-alive http sessions, so reserving extra rpcthreads shall not create recognizable overhead.
Follow @yvg1900 on Twitter to get updates on performance mining software
-
I add firewall script for those who have their wallet server outside a firewall.
-
He toonces,
just today I saw this topic and tried it out. That's a mavellous idea!!
I try it on one of my windows machines, on which the yam miner and the wallet are already installed.
From this machine I mine without problems at 1Gh or Dwarf.
The version of the MemoryCoin wallet is 0.8.583.0
I have a HPM of about 15. That is not much, but this HPM is shown at 1Gz.
It's a pity: Mining directly to the wallet doesn't work.
I try to explain my problem:
The miner gets the work from the wallet and begins to works.
It found a share and wants to send it to the wallet. Up to this, everything looks ok.
The message: "Found Solution" apears in the same way, as if I mine on 1Gh.
But the numbers of Shares Submitted and Accepted always keep at "0".
So I think, there must be a mistake in my configuration, but I can't figure out, what it is.
Perhaps someone can help me?
memorycoin.conf
===============
rpcuser=Hurlie
rpcpassword=OEK63YMOLFFXI7JZE284J3AFGYVHAX5U9R6LN4F2
rpcallowip=127.0.0.1
rpcallowip=192.168.1.*
rpcport=1925
rpcthreads=50
server=1
yam.cfg
=======
mining-params = mmc:av=1&aesni=on
mine = getwork://Hurlie:OEK63YMOLFFXI7JZE284J3AFGYVHAX5U9R6LN4F2@192.168.1.108:1925/mmc
compact-stats = 1
print-timestamps = 0
Output from yam
===============
Loading config file [yam-mmc.cfg]
Miner version: yam M7n-win64-ivy-bridge/yvg1900
Checking target [getwork://Hurlie:OEK63YMOLFFXI7JZE284J3AFGYVHAX5U9R6LN4F2@192.1
68.1.108:1925/mmc]...
Target OK
Checking params [mmc:av=1&aesni=on]...
Params OK
Checking MMC Stage 1 optimizations compatibility...
Checking MMC Stage 2 optimizations compatibility...
OK: MMC optimizations are compatible
MemoryCoin: Memory usage 1024M, Algorithm Variation 1
Using 3 mining threads as 1 workers
Error: Can not allocate hugepages memory, error=1450
Warning: MemoryCoin2 memory block for thread 0 allocated in non-hugepages memory
- thread performance may degrade
Will mine 4 rounds for miner developers to support development of the next ver
sion
Follow @yvg1900 on Twitter to get information on new version availability on t
ime
New MemoryCoin Block nTime 1396962615
MMC Agg. SPM: ?, HPM: ?; Rnds C/I: 0/0, Don. C/I: 0/0; Cfg/Wkr SPM: ?/?, Cfg/Wkr
HPM: ?/? 0 rnds AV=1, ART=?
192.168.1.108: On-line, Shares Submitted 0, Accepted 0
New MemoryCoin Block nTime 1396962621
New MemoryCoin Block nTime 1396962620
MMC Agg. SPM: ?, HPM: ?; Rnds C/I: 0/0, Don. C/I: 0/0; Cfg/Wkr SPM: ?/?, Cfg/Wkr HPM: ?/? 0 rnds AV=1, ART=?
192.168.1.108: On-line, Shares Submitted 0, Accepted 0
New MemoryCoin Block nTime 1396962696
MMC Agg. SPM: ?, HPM: ?; Rnds C/I: 1/0, Don. C/I: 0/0; Cfg/Wkr SPM: ?/?, Cfg/Wkr HPM: ?/? 1 rnds AV=1, ART=?
192.168.1.108: On-line, Shares Submitted 0, Accepted 0
... deleted
Found solution - 1237 / 1968 / 758476048
MMC Agg. SPM: 1.620, HPM: ?; Rnds C/I: 1/0, Don. C/I: 4/0; Cfg/Wkr SPM: 1.621/1. 8192, Cfg/Wkr HPM: 3.032/3.0320 5 rnds AV=1, ART=19789
192.168.1.108: On-line, Shares Submitted 0, Accepted 0
Found solution - 9688 / 1968 / 3494256067
Found solution - 13803 / 1968 / 553592857
Found solution - 14288 / 1968 / 3448703990
MMC Agg. SPM: 3.468, HPM: ?; Rnds C/I: 2/0, Don. C/I: 4/0; Cfg/Wkr SPM: 3.469/3. 5419, Cfg/Wkr HPM: 3.036/3.0359 6 rnds AV=1, ART=19764
192.168.1.108: On-line, Shares Submitted 0, Accepted 0
MMC Agg. SPM: 3.204, HPM: ?; Rnds C/I: 2/0, Don. C/I: 4/0; Cfg/Wkr SPM: 3.204/3. 5419, Cfg/Wkr HPM: 3.036/3.0359 6 rnds AV=1, ART=19764
192.168.1.108: On-line, Shares Submitted 0, Accepted 0
MMC Agg. SPM: 2.977, HPM: ?; Rnds C/I: 3/0, Don. C/I: 4/0; Cfg/Wkr SPM: 2.977/3. 0354, Cfg/Wkr HPM: 3.035/3.0354 7 rnds AV=1, ART=19766
192.168.1.108: On-line, Shares Submitted 0, Accepted 0
Found solution - 4771 / 1968 / 4119209988
MMC Agg. SPM: 2.780, HPM: ?; Rnds C/I: 3/0, Don. C/I: 4/0; Cfg/Wkr SPM: 2.780/3. 0354, Cfg/Wkr HPM: 3.035/3.0354 7 rnds AV=1, ART=19766
192.168.1.108: On-line, Shares Submitted 0, Accepted 0
MMC Agg. SPM: 2.980, HPM: 3.034; Rnds C/I: 4/0, Don. C/I: 4/0; Cfg/Wkr SPM: 2.98 0/3.0364, Cfg/Wkr HPM: 3.036/3.0364 8 rnds AV=1, ART=19760
192.168.1.108: On-line, Shares Submitted 0, Accepted 0
... and so on.
Sincerly,
Hurlie.
-
your wallet start with a O is it right?
-
Hello kanes,
No, that's not right.
The "O" comes from the memorycoin.conf.
rpcpassword=(O)EK63YMOLFFXI7JZE284J3AFGYVHAX5U9R6LN4F2
That's obvious for me too.
When mining at 1Gh, the Url is:
mine = getwork://"WalletAdresse"@mmcpool.1gh.com:8080:8081:8082:8083/mmc
So there seems to be a difference between mining at 1Gh or solo.
Sincerly,
Hurlie
-
Hello,
I tried two things:
1.
mine = getwork://memorycoinrpc:changepassword@192.168.1.2:1925/mmc
With this string I get a connection to the server. (but no shares)
2.
mine = getwork://MRFXczHjyv4id7iTz8NLsJRy8tXPRLg2pQ@192.168.1.108:1925/mmc
With this string I get an error message, that the server shall support HTTP/1.1
So this seems to be wrong.
Sincerly,
Hurlie
-
Hello,
I have another idea:
Is it possible, that I'm to impatient?
I see in the yam-log, that there is no share found (only solutions).
How long does it last, to find a share at your machine?
Sincerly,
Hurlie
-
Please list my block explorer, it is more reliable than coinplorer, and more obvious than agrean!
http://mmcexplorer.info/
I have been (and still am) working very hard on it.
Great guide though.
Hey KillerByte do you block the back ( firefox button ) on a transaction listing ?
-
Please list my block explorer, it is more reliable than coinplorer, and more obvious than agrean!
http://mmcexplorer.info/
I have been (and still am) working very hard on it.
Great guide though.
Hey KillerByte do you block the back ( firefox button ) on a transaction listing ?
Not intentionally. It is still a problem, and I have been trying to fix it for months.
ATM, you can just click on the block hash to go back.