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

Top 5 Modular Blockchain Tokens Less Than $1 Price Mark To Monitor In August 2025

As the blockchain ecosystem continues to evolve, modular blockchains are emerging as a promising frontier,…

41 minutes ago

MetaMask Proposes Stablecoin Launch, Taps Stripe to Bridge TradFi and DeFi

MetaMask wants its own stablecoin. It’s calling it MetaMask USD (mmUSD). And if the recent…

1 day ago

Spartan, Stake & Betway: Top 2025 Crypto Gambling Prizes

Spartan’s $250K Lambo Challenge Tops 2025’s Crypto Gambling Prize War with Stake & Betway Crypto…

1 day ago

SharpLink’s Ethereum Accumulation Hits High Top With Staking Strategy

SharpLink is leaning hard into Ethereum. They buy. They stake. They hold. Ethereum currently trades…

2 days ago

Cardano Price Prediction: Is a Return to $2 Imminent or Just a FOMO Fantasy?

After months of consolidation, Cardano (ADA) is regaining investor attention thanks to renewed forecasts projecting…

3 days ago

Bitcoin and Ethereum Whales Quietly Accumulating—What Does This Mean for the Market?

Whales are back—and this time, they’re not making noise. Despite the relative calm in prices,…

3 days ago