In the last year, I have developed many things for many clients. One of the more important apps I was stiffed on was a web app to turn a micro-PC (rasb pi, odroid) into a physical cryptocurrency wallet (bitcoin wallet).
Convenience of the cloud, under the security of your own home.
Was the quote I recommended he market it with. At the time we were calling it a Staker.
At the time I was planning on going into business with the client at the time and share profits of the device. For this I allowed my rates to be cut over 50%. As you can imagine, the client stopped communicating with his users, and me. Once we sold our first device, I was never provided parts (micro PC, case, cords) to complete the order.
I’m releasing this project open source, as I feel it can help other people secure their money all the more. Having a dedicated device for your money is a preferred option among many people. This web app makes it convenient to use as well as safe.
This web app is designed to be deployed to a computer that already has a cryptocurrency wallet installed and running on it. It works on top of the daemon, using the JSON-RPC interface to get information regarding the wallet. Of course it’s expected to be a micro-PC, but it does not have to be. It can be any PC realistically that resides on a trusted LAN (home, office, private spaces) and has the cryptocurrency of choice installed and running.
A java developer will be able to customize and deploy as needed. I will be giving instructions on deploying to a tomcat server using tomcat manager. My instructions will also be for an ubuntu OS. The instructions will not include installing any cryptocurrency.
Once you have a wallet/daemon installed on the device you plan to use for your cryptocurrency, begin the instructions below. They can be started before the blockchain is completely downloaded, and the web app will show you what block you are currently on as it progresses.
- Install tomcat7 and tomcat admin
sudo apt-get install tomcat7 sudo apt-get install tomcat7-admin
- Confirm the installation using the IP address of the device you are installing tomcat to. Using the browser of any device on the same network, head to the following URL:
http://[ip address of your device]:8080
You should get a page showing “It Works!” at the top
- You will then want to remove this default ROOT web app. To do this, you will need to manually remove (rm) it. Run the following commands to change directories and remove the ROOT.war web app
You can then continuously view the contents of the directory (ls) and watch the ROOT/ directory disappear automatically.
- You will now need to set up the tomcat manager admin user. Edit the tomcat-users.xml file using the following command
sudo nano /etc/tomcat7/tomcat-users.xml
You will then want to look for the part of the file that looks like this
In between these two tags/lines, you will want to put a new line and add the following code to it
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
NOTE: Change this password to something you will remember. Leaving it as password will expose your web app and your wallet
Then exit the file and save it by pressing CTRL-X and hitting ENTER twice. You will find yourself back at the command line interface
- Once the ROOT web app is removed, and you have set up the admin tomcat user, you will want to then go back to the browser where you found the “It Works!” page. Except, this time, visit the following URL instead:
http://[ip address of your device]:8080/manager/
NOTE: If you need another version, other than bitcoin, you will need to edit the application using a Java IDE such as eclipse and edit the files mentioned in the README on github.
Login with the username and password set up in step 4
- At this point, you will either need the customized war file produced from editing the project on your own and exporting it to a war file
OR, you can download the bitcoin version war file here: http://kamronk.com/ROOT.war
- With your ROOT.war file, use the Deploy section of the Tomcat Web App Manager to choose your file and have it deployed. You will then see it in the applications list above represented by a “/”. Clicking on this slash will take you to your newly installed cryptocurrency wallet UI where it will ask you to set a password for its first time use.
For any and all help, please consult with me here in the comments. You can also find me on most social media outlets, and via email at the email listed here in my blog.
Everything is subject to change, and I’ll continue to update the instructions here and project itself with more helpful information as needed.