Categories: Tutorials

How to install coinpunk on Centos 6.5

Coinpunk is a bitcoin wallet platform. It is open source and is available for free, you can see the repository HERE

In the docs section there are available tutorials on how to install coinpunk on OSX and Ubuntu. However there isn’t one on how to install coinpunk on Centos. While Ubuntu and Centos are both linux distros the installation procedure must be modified. In this tutorial I will try to walk you through how to  install coinpunk on Centos.

The first thing you must do on CentOS 6.5 is install bitcoind. For coinpunk you must use/install a specific version of bitcoind which can be found here:

wget https://github.com/sipa/bitcoin/archive/watchonly.tar.gz

now we will untar the tarball and start installing dependencies.

tar -zxf watchonly.tar.gz
 cd bitcoin-watchonly

You can find a tutorial on how to install the necessary dependencies HERE I will briefly walk through how to do that. If you don’t already have it you will need to install git.

yum install git-core

first we update yum and make sure your original deps are up to date:

yum update

We will need to install some dependencies from source so lets get to it, create a working directory and start compiling

Berkeley DB 4.8.30

wget http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz
tar zxvf db-4.8.30.tar.gz
cd db-4.8.30/build_unix
../dist/configure --prefix=/home/bitcoind/bitcoind/deps --enable-cxx
make && make install

OpenSSL

wget https://www.openssl.org/source/openssl-1.0.1g.tar.gz
tar zxvf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./config --prefix=/home/bitcoind/bitcoind/deps --openssldir=/home/bitcoind/bitcoind/deps/openssl -fPIC shared
make && make install

Boost

wget http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2/download -O boost_1_55_0.tar.bz2
tar jxvf boost_1_55_0.tar.bz2
cd boost_1_55_0
./bootstrap.sh
./b2 --prefix=/home/bitcoind/bitcoind/deps link=static runtime-link=static install

Next we need to compile bitcoind. Navigate to the bitcoin-watch directory and run

./autogen.sh
./configure --without-qt
make
make install

If you get an error that looks something like this:

c:/deps/boost_1_52_0/boost/thread/detail/thread_group.hpp:74: undefined reference to `boost::thread::join()'
obj/bitcoinrpc.o: In function `thread<boost::_bi::bind_t<unsigned int, boost::_mfi::mf0<unsigned int, boost::asio::io_service>, boost::_bi::list1<boost::_bi::value<boost::asio::io_service*> > > >':

Then you will need to link the boost directory where the libraries are installed. Here is how you would run your compile commands:

./autogen.sh
./configure --with-boost-libdir=/usr/lib/ --without-qt
make
make install

If everything compiles then we will now configure the bitcoin.conf file

mkdir -p ~/.bitcoin
vim ~/.bitcoin/bitcoin.conf

Now in the bitcoin.conf file put

rpcuser=YOURUSERNAME
rpcpassword=YOURPASSWORDDONTUSETHISORYOUWILLGETROBBED
txindex=1
testnet=1

This will make sure that bitcoind starts up in the testnet so you can test functionality. I would let bitcoind run overnight not on the testnet and synchronize with the blockchain before continuing but it is up to you.

If you get an error or still having problems compiling check out this OTHER tutorial on how to install bitcoind on CentOS 5.5 just remember that you need a specific version of bitcoind for coinpunk so when following the instructions download the right version. Still all of the commands are the same.

Once you have bitcoind up and running and the blockchain updated lets start installing coinpunk.

First we need to clone the repository and then install the nodejs dependancies:

Related Post
git clone https://github.com/kyledrake/coinpunk.git
cd coinpunk
npm install

Now we will setup the config files. Navigate to ~/coinpunk and add the config files from the templates.

cp config.template.json config.json

go ahead and do the same to the config template in ~/coinpunk/public

cp config.template.json config.json

Now we will edit the config files to connect to bitcoind. The ports are 18332 for testnet and 8332 for prodcution.

vim ~/coinpunk/config.json
{
"default": {
"bitcoind": "http://rpcuser:rpcpass@127.0.0.1:18332",
"pricesUrl": "https://bitpay.com/api/rates",
"testnet": true,
"httpPort": 18332,
"httpsPort": 8081,
"sslKey": "./coinpunk.key",
"sslCert": "./coinpunk.crt"
}

Now we will also have to setup the config file in the public folder, which looks like this:

{
"network": "testnet",
"transactionFee": 0.0005
}

Since we will be first launching coinpunk on the tesnet then keep the line network:testnet, otherwise if you will compile for production change it from testnet to prod.

 

Now navigate back to the coinpunk folder in ~/coinpunk and fire it up

node start.json

Hopefully coinpunk starts, you might get the following error:

Error: listen EADDRINUSE
at errnoException (net.js:904:11)
at Server._listen2 (net.js:1042:14)
at listen (net.js:1064:10)
at Server.listen (net.js:1138:5)
at /root/coinpunk/start.js:36:24
at b (domain.js:183:18)
at Domain.run (domain.js:123:23)
at Object.<anonymous> (/root/coinpunk/start.js:31:8)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)

 

This means that the port is already in use by another program. If that is the case then you must kill whatever process is using that port or choose a different port. bitcoind is most likely the process using it so go ahead and check with:

lsof -i :18332

if you received the EADDRINUSE error then a process should show up. kill it by using it pid

kill [put your process id here]

Now go ahead and try again to start coinpunk.

The way to check if coinpunk is successfully installed is navigating to:

http://YOURADDRESS:18332

So for example since my domain name is www.coiniv.com then I would navigate to http://coiniv.com:18332

If you are using chrome it should give you a warning about the ssl certificate and how its not trusted click proceed and you should see this:

coinpunk on the testnet

 

This is it, now you are hosting a wallet on the network just like blockchain or coinbase. Thanks to the existing tutorials provided by coinpunk.com which can be found HERE

If any of you are facing issues feel free to post a comment and I will help you get it resolved.

Mark Arguinbaev

I'm a 29 year old cryptocurrency entrepreneur. I was introduced to Bitcoin in 2013 and have been involved with it ever since. Fun Fact: I mined cryptocurrency using my college dorm room's free electricity.

Share
Published by
Mark Arguinbaev

Recent Posts

BOME & WIF Now Loanable on Binance! Is Raboo Joining the Rally as the Next Hottest Crypto?

Book of Meme and Dogwifhat have undoubtedly been two of the hottest cryptos of 2024—so…

3 hours ago

The Ultimate Guide to BEFE Coin: Your Key to Crypto Success

As we progress in the crypto space, the need to invest in promising projects has…

3 hours ago

Bitgert Coin: Making Waves in the Crypto Community

The new cryptocurrency develops every day because several companies join it and thus people have…

3 hours ago

CORE and Jupiter See Big 30-Day Gains. New Crypto Raboo Presale Offers 100X Potential

As cryptos like Core and Jupiter experience outstanding 30-day gains, a new crypto presale has…

1 day ago

Is MEME Hype Dead? BEFE Coin Says Otherwise

BEFE Coin lights a new fire in meme cryptocurrency, blending humor with profitable possibilities. This…

1 day ago

Bitgert Coin: How It’s Capturing the Cryptocurrency Spotlight

The cryptocurrency space has been associated with the volatility that comes with constant innovations. New…

1 day ago