Warp field of focus: Primary & Secondary – Achievement
So I did a thing…
As a part of playing to my strengths I decided to act on my curiosity. Validators. With XRP, all the coins are pre-mined and distributed at the time the public ledger goes live. The technology is still the same; blockchain. Instead of miners there are validators. A number of computers run the “rippled” software server. This software is publically available on GitHub. Anybody can download it and run the software. It’s like mining without getting paid, but you do it because it’s for a good cause.
There are very few people running a ripple validator in the world as opposed to those mining for a sliver of Bitcoin these days. Anybody can verify this looking at the validator list on Ripple’s website; here. Naturally, I wanted to be involved. I found @WiesteWind’s article for setting up a validator on a Virtual Private Server (VPS). He did a great job telling one how to set up a validator using a docker image but I didn’t want to pay for a VPS. That left me with my rig at home and, honestly, I mine with it so I didn’t want the thing to be overtaxed with tasks.
I was short on machines to operate one of these things. Combined with my aversion to spending loads of money or subscribing to services I thought about other options. Necessity is the mother of all innovation. I did, however, have a little nugget of hardware lying around known as a Raspberry Pi 3. The lights in my head were going off. Why don’t I make this little guy run a validator.
To the google machine! I went and looked on the interwebs to see if anybody had set this up for a Raspberry Pi already. I found a thread on XRP chat that indicated otherwise. There had been attempts by some community members to give this a whirl but there was no success. You can read this thread here. I looked around. Trying to find if others had found success but I came up empty. I was encouraged, however, because David Schwartz, @JoelKatz, himself wrote in on the chat forum that running a validator on a Raspberry Pi 3 should be possible.
So, I set out to make it happen. Immediately I hit some walls. There are instructions for building the rippled software online and I was following it. The Raspberry Pi 3 only has 1GB of RAM and there are only 32-Bit Operating Systems for it. Finding a 64-bit OS for a Pi is possible but at the moment, very difficult to deploy. I figured I’d try it out anyway wit ha 32-bit OS. After waiting half a day for boost to build on the platform I got excited, copied the rippled software to the machine and proceeded to build that. No sooner than executing the command. Halted! The rippled software only builds on a 64-bit machine. There went my plan.
Many days of research later, I came across a suitable single board computer that had larger amounts of RAM, was physically similar in size to a Raspberry Pi 3, and most importantly had a 64-bit operating system too! And the best part is the machine didn’t cost an arm and a leg, since it was close to the price of a Pi. I found the Pine 64 website that sold the Rock64 computer. The highlights are the machine had 4GB of RAM and has a 64-bit processor to run with a 64-bit OS that was easily available. Nice! So, I bought one and patiently waited.
Here are the specs:
If you want to check out the board, you can find it here.
Repeating my previous progress I built boost, download the rippled software, and this time I was able to build it. Turns out that was half the battle. From there, I had to turn the executable program into a linux service and create myself some keys. I might write another post in the future with all the nitty gritty details, but the point is I was able to complete them and configure the software to operate sucessfully.
All rippled servers acting as validators have a public key to identify it. You configure your validator by generating one with the key generator tool that ripple also makes available. However, that is still not the entire solution. If you set your validator loose at the point then it is considered unverified. The validator is still validating transactions on the public ledger but other verified validators might not use it for consensus. I went through a process to have it validated. Ripple requires that you prove the machine running the validator is in your control by requiring your public domain be signed against your public facing validator key. Mine is as of yet, unverified but is currently under consideration. I generated the appropriate key signatures and submitted an online form to Ripple.
Until then, my validator remains unverified but is still chugging away at transactions. Here’s my validator online:
I remember watching the film Armageddon. Yes, the one where an asteroid is about to impact earth and a team of deep water oil drillers led by Bruce Willis goes into space to blow it up. I love that movie just because it’s fun to watch. When the big asteroid is found, the discoverer gives it a name. So, I want to give my creation a name as well. I call this the XRPine! And, for the record, my wife is not a life sucking bitch named dotty. She is an amazing woman equal to any man that can write a line a code!
In lieu of the XRPine I am also revealing my new domain name. I had to get one to get my validator verified:
The domain simply points to my blog. I thought voyage was a good ending to the dot because it fit so well. CoinTrek is inspired by Star Trek and we’re all on a voyage anyway so I took it!
That’s not all. I asked a good friend of mine help me make up a case for the XRPine with a 3d printer. I thought the new XRP logo was fitting and of course blue made the most sense. I am grateful to him for his help.
This creation is still in its earliest stage, but my intent is to make these available to the community so those who want to run a validator with a minimal footprint may do so. Parts of this are specific to the person deploying the validator; the keys to the validator are secret and so is a domain name. Therefore I cannot make one fully configured since I would know the keys! That part of configuration must be done alone.
One can still run an unverified validator so a domain name is not totally necessary. I’m glad to be able to give something back to this wonderful group of people. If anybody has comments or suggestions please let me know. If there is interest within the community for others to run one of these little guys I’d be interested in setting them up for folks; time permitting of course.
I look forward to seeing how this thing works out. As I continue to tinker with it I’m sure I’ll be learning more and make further improvements. I encourage others to learn and find ways to advance the community at large. This technology would not live without a fervent following.
As always, second star to the right; Warp 8!