Githubwloxwlox fully functional multicurrency bitcoin exchange
39 commentsRigid collodion scarring liquid buy
As a whole I think Bitcoin and the Blockchain are both game changing technologies that are yet to see their full potential. So over the last few months rather than just watching the Bitcoin exchange rate bounce around the place.
I sought to get a deeper understanding of how the underlying technology works and how it can be extended further. As part of this learning process I decided to set up a Bitcoin node both to act as learning resource for myself and to help contribute something back to the larger Bitcoin network.
Unfortunately at the time of writing the Bitcoin software is not available for Debian Wheezy in the standard repositories. So we are going to use a Ubuntu PPA to get the source code and build a package from that instead. Before we get started though please be aware the Blockchain is huge, will use upwards of 30GB of storage and it will only continue to grow.
So keep this in mind if you are going to run your node on a VPS or similar to get one with enough disk space. Okay now that the initial warnings out of the way lets get started. First we need to add the key for the new repository you added to the sources. Then its time to update the package list and upgrade the existing libraries and packages that are installed on the system. Before we get too carried away though we need to install some supporting packages that the Bitcoin software requires to function.
Next we grab the source code for the Bitcoin project and get it ready to compile into a. The exact name of the Bitcoin directory will of course change over time as newer versions of the project are released. Then close the changelog saving the changes. Now clean the source tree by running the command below from the root of the project code base. If your system is like mine you may get some complaints back from the cleaning process about the locale not being set.
To fix this issue run the commands below to regenerate the system locales. Selecting the appropriate locales that you want on the system for your location then run the clean process again. If you run the build script as it stands you will get an error from the build process complaining about the version of Berkeley DB installed on the system. You can find out what version you have installed on your system by executing the following snippet.
My system had version 5. If you really want to use Berkeley DB v4. Continuing on, lets add a parameter for the build process to just use the newer version of Berkeley DB we already have. The flag above will allow the binary to compile but any wallets created on the system will not be portable. If you are not planning on using the wallet functionality and simply want to run a P2P node.
You can go one step further and simply disable the functionality altogether by appending the flag below instead. With the Berkeley DB issue fixed its time to run the actual build process. On completion of the build process you should have a freshly made.
Up to this point you have probably been logged into your machine as root either natively or using sudo to elevate you privileges for the build process. So lets add dedicated user account to run the service under so its not running with root privileges:. In this file at a minimum add two lines see below for example defining a user and password for the JSON RPC web service that allows you to interact with the node.
For an example file config file showing some of the other possible parameters I recommend taking a look at the Bitcoin Wiki to see all of the options available.
If you look in the same directory as the config file you created for the service you should also see a log file named debug. If you use the tail command to follow the log file i. The log will show your node syncing with the blockchain, running through all the old blocks to bring itself up to speed with where things are now. This is a slow process and could take up to a few days to fully sync with the network depending on the connection speed. Hardening your new node with some firewall rules is also a pretty good idea to help things secure.
Create yourself a script in an editor, with some iptables rules similar to below. If you are not planning on running a web server on the node then I recommend removing the two rules that allow HTTP traffic through on port After entering your firewall rules save the file, add change the file permissions so it can be executed.
Then simply run to activate your firewall rules. If you want to see how much bandwidth your node is using I also recommend installing the vnstat package.
This will give you some basic information on the amount of traffic your node is consuming on a daily, weekly, monthly basis. Replace eth0 with the interface you would like to track on your machine. The last command will just display a brief summary of what is happening traffic wise.
But you can pull this information in a number of different formations for the full options run vnstat —help. Are you still awake after reading all that? Are you feeling rich? Beer money is always greatly appreciated! The Offical home of Bitcoin. The Bitcoin project on GitHub. Mastering Bitcoin a solid book containing most of the things you need to know about Bitcoin and the Blockchain while still remaining easy enough to read.
A map of the Bitcoin nodes across the globe. Your email address will not be published. Getting Started Unfortunately at the time of writing the Bitcoin software is not available for Debian Wheezy in the standard repositories.
So lets add dedicated user account to run the service under so its not running with root privileges: Starting the Daemon Finally you are ready to start the service. Watching Bandwidth Usage If you want to see how much bandwidth your node is using I also recommend installing the vnstat package.
Android Debug Bridge Tricks. Raspberry Pi 2 Bitcoin Node. Leave a Reply Cancel reply Your email address will not be published.