Pages:
Author

Topic: [XPM] Noobproof VPS Primecoin All-In-One EZ Setup Script (Updated) - page 3. (Read 17729 times)

full member
Activity: 168
Merit: 100
It's asking me to set:
rpcpassword= in the configuration file.

When I started it up.
How do I set a password??


That was a mistake on my behalf.  I've updated the script, so please try it again.  Sorry for the hassle.
full member
Activity: 172
Merit: 100
It's asking me to set:
rpcpassword= in the configuration file.

When I started it up.
How do I set a password??
full member
Activity: 168
Merit: 100
24 July, 2013 - Major updates!  See main post for additional info.


If you'd like to remotely backup your wallet.dat modify the following segment of code...
Code:
cat << "SCRIPT" > ~/notify-wallet
#!/bin/bash
# YOUR SCRIPT HERE

so that it does something like...

Code:
cat << "SCRIPT" > ~/notify-wallet
#!/bin/bash
cp ~/.primecoin/wallet.dat ~/${HOSTNAME}.bak
curl -T ~/${HOSTNAME}.bak ftp://your_remote_location --user your_ftpusername:your_ftppassword
SCRIPT

The script triggers based on primecoind's -walletnotify="~/notify-wallet" flag.  It should trigger whenever the wallet file changes, which includes when a new block is minted.
full member
Activity: 168
Merit: 100
The script has been updated.

Here's the relevant section:
Code:
echo "Downloading and building primecoin..."
cat << "SCRIPT" > ~/build-primecoin
#!/bin/bash
[[ -f ~/stop-primecoind ]] && ./stop-primecoind
rm ~/primecoin*.tar.bz2
rm -rf ~/primecoin*
wget http://sourceforge.net/projects/primecoin-hp/files/latest/download -O ~/primecoin.tar.bz2
tar xjvf ~/primecoin.tar.bz2
cd ~/primecoin*/src
sed -i -e 's/$(OPENSSL_INCLUDE_PATH))/$(OPENSSL_INCLUDE_PATH) \/usr\/local\/include)/' makefile.unix
sed -i -e 's/$(OPENSSL_LIB_PATH))/$(OPENSSL_LIB_PATH) \/usr\/local\/lib)/' makefile.unix
sed -i -e 's/$(LDHARDENING) $(LDFLAGS)/$(LDHARDENING) -Wl,-rpath,\/usr\/local\/lib $(LDFLAGS)/' makefile.unix
make -f makefile.unix USE_UPNP=-
sudo cp primecoind /usr/local/bin/
cd
SCRIPT
chmod +x ~/build-primecoin
~/build-primecoin

It will automatically download and compile the newest version of primecoin-hp from SourceForge (as to not overload git).
full member
Activity: 168
Merit: 100
Good catch.  I've modified the script so that it only clones once and uses git pull to catch up.
The initial pull will be ~15MB, but after that just a few KB.  Much lighter and quicker than ~15MB each time.

I would still prefer you didn't clone it at all. SourceForge has tons of mirrors which can handle load much more effectively.

My concern with that is that the path of the newest release can change without notice.

I don't want to put your bitbucket account in jeopardy though.  I'll start working on a way to dynamically pull from SourceForge, regardless of how hackish it turns out.  Once it's finished and tested, I'll update the setup script.
hero member
Activity: 616
Merit: 500
sr. member
Activity: 301
Merit: 250
Nice initiative. However, I would prefer that people wouldn't post instructions that automatically clone the git repository.

Good catch.  I've modified the script so that it only clones once and uses git pull to catch up.
The initial pull will be ~15MB, but after that just a few KB.  Much lighter and quicker than ~15MB each time.

I would still prefer you didn't clone it at all. SourceForge has tons of mirrors which can handle load much more effectively.
full member
Activity: 168
Merit: 100
Nice initiative. However, I would prefer that people wouldn't post instructions that automatically clone the git repository.

Good catch.  I've modified the script so that it only clones once and uses git pull to catch up.
The initial pull will be ~15MB, but after that just a few KB.  Much lighter and quicker than ~15MB each time.
hero member
Activity: 874
Merit: 1000
something the OP didn't mention.. VPS's / DigitalOCean / Others are no longer profitable at difficulty 9.2+.  The days of renting online servers to make XPM are over... unless you like to lose $.
sr. member
Activity: 301
Merit: 250
Nice initiative. However, I would prefer that people wouldn't post instructions that automatically clone the git repository. Those instructions already probably got my github repo disabled. It puts quite a lot of load on the repository hosting service too.
full member
Activity: 168
Merit: 100
What is approximate amount of primecoins you can mine in a day by using 512MB/1core ?

0 or less.  In a week or month you may get some. However if you ran it for just 1 day i would predict zero coins.

Per day, you're probably technically correct.  Then again, your statement also applies to just about any non-cluster setup.




Then wat is the point in paying 5$ for this ? Cheesy

With the way DigitalOcean works, you pay by the hour regardless of what configuration you've selected.
What that means is that you can run one 512mb/1core for a month or you can run four of them for a week.

You can have up to five droplets per account, but you can open a ticket to raise the cap.
Using the setup script, I managed to get a handful of droplets running in under 30 minutes and can update them with a single command.



Worst case scenario, I'm out $5.
member
Activity: 84
Merit: 10
What is approximate amount of primecoins you can mine in a day by using 512MB/1core ?

0 or less.  In a week or month you may get some. However if you ran it for just 1 day i would predict zero coins.

Then wat is the point in paying 5$ for this ? Cheesy
legendary
Activity: 2100
Merit: 1167
MY RED TRUST LEFT BY SCUMBAGS - READ MY SIG
What is approximate amount of primecoins you can mine in a day by using 512MB/1core ?

0 or less.  In a week or month you may get some. However if you ran it for just 1 day i would predict zero coins.
member
Activity: 84
Merit: 10
What is approximate amount of primecoins you can mine in a day by using 512MB/1core ?
full member
Activity: 168
Merit: 100
full member
Activity: 168
Merit: 100
After reading mikaelh's Primecoin setup guide I decided to automate as much of the process as possible to make it noob friendly.

The result is this!

Setting up a Primecoin Miner on VPS for Absolute Noobs
Donations welcome!
BTC: 1E2egHUcLDAmcxcqZqpL18TPLx9Xj1akcV
Ψ: AWHJbwoM67Ez12SHH4pH5DnJKPoMSdvLz2

Before You Begin
  • Download PuTTY (putty.exe) so you can connect to your VPS when the time comes.
  • Sign up for a DigitalOcean or Linode account.
    • During the creation process, be sure to create a node running Ubuntu 13.04 x64 (not x86)
  • If you signed up for DigitalOcean, check your email for your root password.  If you signed up for Linode, your password will be what you specified.
  • Run PuTTY and paste the node's IP address into the "Host Name" slot, then hit "Open" at the bottom. (figure 1)
  • PuTTY will ask you to confirm the SSH key, press Yes (it will only ask once) (figure 2)
  • Type or paste your password into PuTTY and press enter.  To paste, simply right click.
    • Note: You will not see the password characters!  This is normal.


Getting Down to Business
  • If you chose DigitalOcean, it's time to change the root password!  Type passwd, press enter, then enter a new password.  Just like before, the password characters will not show up. (figure 3)
  • Copy this automated setup script to notepad. (highlighted version)
  • At the top of the script, there are fields starting with "PRIMECOIN_".  Fill these out with your desired info.  Be sure to keep the quotes!
    • PRIMECOIN_USERNAME is your primecoind username.  It's required for primecoind to work properly!
    • PRIMECOIN_SIEVESIZE, PRIMECOIN_SIEVEPCT, PRIMECOIN_SIEVEEXTENSIONS are parameters used by mikaelh's high-performance primecoin client (see link for info)
  • Copy the entire modified script from notepad and paste it into your PuTTY window (right click), then hit enter.
  • The setup is now running.  It will take approximately 10 minutes to complete.
  • Once the script completes, you will see a brief help message and list of commands. (figure 4)

Congratulations!  You're now mining for primecoins!
It may take a few minutes before you actually begin mining.  This is normal.  Primecoin needs to download the blockchain before it can begin doing work.  After it's caught up, you should be able to run ./peek and see that it's generating primes.

If you'd like to maximize your mining potential, please see my mini-guide on How to Clone DigitalOcean Droplets.



What Now?
  • If you haven't already, download the latest version of the Primecoin client.
  • To "merge" your primecoin accounts into one, you'll need to gather the private keys from your VPS nodes
    • Log into your droplet like you did at the beginning of the setup.  This time your password will be what you set it to.
    • Run ./peek to verify that primecoind is running.  If it isn't, run ./start-primecoind and wait a few moments.
    • Run ./myinfo to dump your addresses and private keys values. (figure 5)
    • Copy the private key value (the random text after "PrivKey:") by highlighting it with your cursor.
    • On your main computer, open Primecoin and import the private key.
      • From the main Primecoin screen, click Help -> Debug Window
      • In the new popup, select Console
      • Type importprivkey YOUR_PRIVKEY SOME_LABEL and wait a few seconds.  YOUR_PRIVKEY is what you copied from PuTTY and SOME_LABEL is what you want the address to appear as in your address book. (figure 6)
      • Repeat this for as many private keys you wish to import.  Once finished, close and re-run the Primecoin client.  You should see the new addresses under "Receive".
    • Note: if an instance of primecoind mines a block, it may not be under the address you exported.  Wait for the block to be confirmed, then dump your addresses again.  Alternately, modify the notify-wallet script to FTP a backup of your wallet.dat file.
  • Occasionally you may wish to update your primecoin miner when new versions or patches are released.  To do this...
    • Log into your DigitalOcean droplet
    • Run ./stop-primecoind to stop the primecoind process
    • Run ./build-primecoin to update and rebuild primecoind
    • Run ./start-primecoind to start your primecoind process again
    • Wait a few minutes and run ./peek to make sure it's running correctly
  • If you'd like to remotely backup your wallet.dat file whenever you mint a new block, check this short guide.

Changelog
  • 27 August, 2013
    • Cron reboot script now works properly.  (Damn you cron and your newlines!)
    • ~/peek no longer shows orphaned blocks.  Balance will only include transactions with one or more confirmations.
    • ~/myinfo now shows all addresses, not just those in the last ~100 transactions.  The pattern matching has been made more generic, so it works with just about any coin on main/testnet.  It also only does a lookup on addresses that generated a block or received currency.
    • PRIMECOIN_ROUNDSIEVEPERCENTAGE has been removed, replaced with PRIMECOIN_SIEVEEXTENSIONS
    • Now includes a ~/restart-primecoind script
  • 20 August, 2013
    • Tweaked apt-get package names to grab most compatible package for the given install setup
    • Package list now includes fail2ban by default for some semblance of security
    • Package list now includes nano as a text editor.  Why some installs don't come with this is beyond me.
    • Swapfile now persists after reboot.
    • Auto reboot on kernel panic
  • 15 August, 2013 - Now Amazon EC2 compliant and primecoin runs at startup.
  • 12 August, 2013
    • Updated default parameters to match the newer hp9 client (1mil / 10% / 70%)
    • Runs apt-get update before installing things
    • ~/start-primecoind should no longer accidentally kill itself
    • Initial package install includes bc so ~/peek correctly shows all balances
    • Fixed haveged not running after setup.  There's been some debate on the usefulness haveged, but until it's definitively proven to be harmful, it will remain.
    • Post-install help screen now uses absolute paths instead of relative
    • Minor formatting chagnes
  • 01 August, 2013
    • ./peek now includes the chains/day metric (still in development).  It also shows "Immature Balance" instead of "Unconfirmed" to more accurately match the Primecoin-Qt client.
    • ./myinfo now correctly dumps all keys, not just confirmed
    • ./notify-wallet now has example headings
    • Install includes HAVEGED for increased entropy pool (thank you blackboy)
  • 29 July, 2013 - Lots of new stuff!
    • Added option: PRIMECOIN_ROUNDSIEVEPCT
    • PRIMECOIN_USERNAME is now required (I'm an idiot), but PRIMECOIN_PASSWORD is auto-generated.
    • Installs newest version of GMP before starting
    • notify-wallet now includes example on how to FTP a wallet backup
    • peek now dumps averages of "primemeter" stats.  This method provides much more accurate results than a single getmininginfo.  See an example here.
    • start-primecoind shouldn't kill itself anymore
  • 24 July, 2013
    • ./peek now shows confirmed/unconfirmed balance and pending "immature" transactions
    • ./config now reboots primecoind after config changes have been made
    • ./stop-primecoind now pauses after killing primecoind process to prevent running ./start-primecoind too early.  It will also force-kill primecoind if it's misbehaving.
    • When building primecoin, intermediate .tar.bz2 file is now removed
    • RPC username/password config removed.  They're not exactly "noob" features.
    • New Feature: run script when blockchain is updated or when wallet is updated.  By default it make a backup of wallet.dat whenever the wallet updates (usually from mining a block)
    • New Feature: whenever primecoind crashes, the time of crash is logged in ~/crash.log
  • 23 July, 2013
    • When updating primecoin, pull from SourceForge instead of bitbucket.

If you have any questions or comments, feel free to speak up.
Pages:
Jump to: