I recently built a staking/minting wallet on a 0.99 per month Ubuntu 12.01 (32bit) machine at
https://www.atlantic.net.
I had to use a larger Ubuntu 12.01 machine to actually build the wallet, then, I moved the binary over and started the wallet.
You'll need intermediate terminal knowledge to get this working.
You will want to encrypt your wallet (after the blockchain sync completes).
Here are my notes:
# login as root# install stuff you needapt-get update
apt-get upgrade
apt-get install python-software-properties software-properties-common nano locate iptables iptables-persistent
add-apt-repository ppa:boost-latest/ppa
apt-get update
apt-get install build-essential libboost1.55-all-dev libcurl4-openssl-dev libdb5.1-dev libdb5.1++-dev libminiupnpc-dev git
# change your timezonedpkg-reconfigure tzdata
# add some swap for the tiny machinedd if=/dev/zero of=/swapfile bs=1024 count=256k
mkswap /swapfile
swapon /swapfile
echo 10 | tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | tee -a /etc/sysctl.conf
chmod 0600 /swapfile
# edit your fstab to activate on bootsudo nano /etc/fstab
# add the line
/swapfile none swap sw 0 0
# add your user so you don't work as root anymore# $user = your intended username
useradd $user -s /bin/bash
mkdir /home/$user&&chown $user:$user /home/$user
passwd $user
# enter your password
edit /etc/sudoers
# add line below root ALL (ALL:ALL) ALL
$user ALL=(ALL:ALL) ALL
# some firewall rules to keep out the riff-raffiptables -N CENTRALCHAIN
iptables -A CENTRALCHAIN -i lo -j ACCEPT
iptables -A CENTRALCHAIN -p icmp -m icmp --icmp-type any -j ACCEPT
iptables -A CENTRALCHAIN -p esp -j ACCEPT
iptables -A CENTRALCHAIN -p ah -j ACCEPT
iptables -A CENTRALCHAIN -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A CENTRALCHAIN -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A CENTRALCHAIN -p tcp -m tcp --dport 17771 -j ACCEPT
iptables -A CENTRALCHAIN -j REJECT --reject-with icmp-host-prohibited
iptables -N SSH_CHECK
iptables -A SSH_CHECK -m recent --set --name SSH --rsource
iptables -A SSH_CHECK -m recent --update --seconds 600 --hitcount 4 --name SSH --rsource -j REJECT --reject-with icmp-host-prohibited
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j SSH_CHECK
iptables -A INPUT -j CENTRALCHAIN
iptables -A FORWARD -j CENTRALCHAIN
/etc/init.d/iptables-persistent save
# logout and login as $user# create a cron job to keep your Diamond debug.log small(ish)crontab -e
# first run should prompt for editor, choose nano
#add this line
0 1 * * * cat /dev/null > /home/$user/.Diamond/debug.log
# the wallet stuffmkdir ~/.Diamond
echo "rpcuser=diamondrpc
rpcpassword=`date | md5sum | grep -Eio '\w+'`
rpcallowip=127.0.0.1
listen=1
noirc=1
daemon=1
addnode=193.68.21.19
bantime=600" > ~/.Diamond/Diamond.conf
# grab the diamond wallet binary from google, and place in your home directory#
https://drive.google.com/file/d/0B0NqMbA-2YNVbEF3bTZRRzNiU28/view?usp=sharing# upload it to your home dir and tar xzf dmdbin.tar.gz, and make sure it's executable with chmod 775 ~/diamondd
# start the wallet with ~/diamondd# I had to let the blockchain sync itself, I couldn't get any of the provided blockchain downloads to work# encrypt with ~/diamondd encrypt wallet $yourpassword!! Make sure you issue history -c after the wallet encrypt to clear your password from your history !!# bash script to check your wallet's progress/status# make sure to alter the permissions on your script with chmod 775 scriptname.sh
#!/bin/bash
BINF="/home/dave/diamondd"
echo "DIAMONDCOIN"
echo
echo "Receive address' -"
$BINF listreceivedbyaddress 0 true
#echo "#################"
#$BINF listunspent
echo "#################"
$BINF getinfo;
#echo "#################"
echo "#### Peer block heights ######"
$BINF getpeerinfo | grep 'startingheight'
Feel free to hit me up with questions, or comments for changes.
Missing a startup script and daemon watcher, but I have a poker game
-d