Before digging into the guide I'm going to give a little background as to why I like PreSearch and believe it is a great project to get involved with. If you're just here to look at the technical details then feel free to skip ahead, otherwise hope you enjoy my thoughts on the topic of "Why PreSearch?".
Given the recent news that Europe/UK will now see PreSearch as one of the default options on factory-reset android devices it is not a surprise that we've seen some serious bullish momentum in this projects native token.
However, rather than just this one piece of news alone we should actually attribute a substantial portion of the recognition, for building the foundation and momentum that sustains this bullish outlook, to the core PreSearch team themselves. The team have worked (and continue to work) tirelessly to take something as simple as the concept of searching the internet, and shifted the paradigm offering the world an alternative privacy focused solution that actively encourages network participation. Furthermore, to most of us here in the crypto-world it cannot be understated just how important real-world (non-financial focused) decentralized solutions are for our general cause set in motion by the Bitcoin movement.
The ethos of decentralization stems from a generalized understanding that for perhaps too long we have all handed over a substantial portion of our right to privacy, personal data and control to centralized entities, which (for better or worse) do not always have the same alignment of priorities that we may have. This isn't to say that all centralized entities are evil, far from it, for the most part their goals are to provide solutions that cater to the wants/needs of the masses and improve customer experience. In recent years, however, we've become more acutely aware that of risks due to the misuse of this kind of data which, in turn, has led to the emergence of creations like PreSearch and Brave to try and redress the balance.
In my mind one of the easiest ways to participate in and to actively promote the adoption of a more decentralized future is to support and participate in project like PreSearch and help them to build a network capable of sustaining the increase demand/apatite for alternative technology solutions. That said even if you're not as idealistic as I am, I still strongly encourage you to consider taking part in this process and following the guide below. "Why?" I hear you ask, well because this is one of the easiest ways to dip your toes into learning/being part of a decentralized network and, there is a substantial potential financial upside as well. PreSearch has built a good following so far but with around 93% of all web-traffic coming through search engines every day there is some serious space for growth.
Anyway, enough of my meandering thoughts, let's see this process in action and plug ourselves into the network!
Step 1: Setting up AWS
For this guide we're going to start with AWS. You may be thinking here why not just run the node on your own PC. Well, the answer to that is about cost effective electricity usage for me, I used to run the node on my PC but would only have it on for 10-15 hours a day. Instead now I run via AWS cloud service and I can leave the node on 24/7, meaning better rewards and better network support. Plus amazon already have a ton of data on me already so better the devil I know. If anyone is aware of a better decentralized cloud computing network, then I'm all ears.
- 1.) First head over to: https://aws.amazon.com/. If you've not got an account already go ahead and sign up, following the basic on screen info
- 2.) The free tier will give you 12months free access to the basic stuff (which is all we need).
- 3.) When your signup is complete (or when you log in again) you'll be take to the following home page. Click on "Launch a Virtual Machine"
- 4.) There are lots of possible options with machines and a fair few settings. We're going to just stay simple and within the free tier and keep the detailed settings down to the basics. If you want to explore more then make sure to look at the AWS reference link at the bottom of this article.
- 4a.) First we want the Ubuntu machine (this is the default selection) and click "Select"
- 4b.) Then again the default selection of storage, CPU etc. is already done for us so we can click "Review and Launch"
- 5.) Review the selection and click on the "Launch" button in the bottom right corner of the next page. If you want to go back and adjust any setting (for example, change it so only your specific IP will be able to access the connection) then be sure to go back there. This isn't 100% necessary but can be a useful security feature.
- 6.) You will then be faced with one final decision (to generate key pairs), for this example we're not going to do this as we're not going to be accessing the instance through SSH. If you want to be able to do that though please take a look at the AWS guide. For now, go ahead and press "Launch Instances".
- 7.) At this point we should see a Launch Status page that looks like this. Click on the "View Instances" to move to the overview of your instances.
- 8.) Once on the instances page this is where we'll connect to the machine and get the node up and running.
- 8a.) Wait for the instance state to show "Running"
- 8b.) Select the tick box next to instance
- 8c.) Click "Connect" in the top action bar and then connect again on the next page
- 9.) All being well a new webpage should open up for you with a terminal window that looks like this.
This is us now ready to move on to the next step with AWS set up and a virtual machine instance running where we can deploy our PreSearch Node.
Step 2: Setting up Docker
PreSearch nodes run in Docker so the next stage for the process is to install Docker onto our virtual machine. For this we can go to the Docker installation guide (see reference links). I've just lifted directly out the guide the exact code that we need to execute in our terminal window. Just execute each command one at a time waiting for them to finish and answering "Y" to any questions.
- 1.) Set up the repository and add Docker’s official GPG key
sudo apt-get update
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 2.) Install the Docker engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 3.) Once it is all finished execute the following code to check that Docker has installed. You should get a response in the terminal like the image below
sudo docker version
Great, so now we have Docker installed and ready to go. What it is nice to do here is type "clear" into the terminal and hit enter. This will just clean up the terminal a bit so we don't have too much going on on the screen.
Step 3: Setting up / running PreSearch Node
I'm going to assume for this next step you're already a PreSearcher, however, if not remember that PreSearch are still running a 25PRE (~$6) sign-up bonus so here is my link - https://www.presearch.org/signup?rid=1704854
- 1.) First let's go to our node dashboard: https://nodes.presearch.org/dashboard the info we need to copy from here are the node registration code.
- 2.) With that to hand we need to put together the commands we need to start our PreSearch note on our virtual machine. I found this easiest to do in notepad or something similar first.
- 2a.) Copy the below commands and replace "$YOUR_REGISTRATION_CODE_HERE" with the registration code from the dashboard
- 2b.) Execute each command into the console or string them together as a " ; " separated list and execute them all in one go. This perform the following actions
- Run docker and set up the PreSearch auto-updater (to make sure your node stays up to date)
- Pull the current latest version of the node software
- Run the node instance and assign it to your registration ID
- Print the logs to the terminal for your node status
sudo docker run -d --name presearch-auto-updater --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --interval 300 presearch-node
sudo docker pull presearch/node
sudo docker run -dt --name presearch-node --restart=unless-stopped -v presearch-node-storage:/app/node -e REGISTRATION_CODE=$YOUR_REGISTRATION_CODE_HERE presearch/node
sudo docker logs -f presearch-node
All together in one:
sudo docker run -d --name presearch-auto-updater --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --interval 300 presearch-node ; sudo docker pull presearch/node ; sudo docker run -dt --name presearch-node --restart=unless-stopped -v presearch-node-storage:/app/node -e REGISTRATION_CODE=$YOUR_REGISTRATION_CODE_HERE presearch/node ; sudo docker logs -f presearch-node
- 3.) If everything went well you should see the follow. Congratulations you're running your own PreSearch Node!!!
- 4.) While we have the instance up and running there are still a few other bits we can do. Namely making sure we stake any PRE we have to start earning more PRE for contributing. Also set up an automatic email in case the node goes offline. To do this go back to the node dashboard in PreSearch to the "Current Nodes" section and click "Stake" next to the node.
- 5.) From the stake page we should do the following:
- 5a.) Add our stake amount (note a min. of 1000 PRE)
- 5b.) Give our node a name (something like Node101_AWS)
- 5c.) Tick the box to get an email if the node disconnects
- 5d.) Click update
That is it, we're up and running with everything set up. Just a couple of other useful bits of info to know and a few commands:
- The PRE generated by searches don't automatically compound so you'll need to claim them then manually go to the stake page and update the stake amount
- If the node stops you can just use the same startup command as before, but for good measure (or if you want to stop it manually) then use the following commands
sudo docker stop presearch-node ; sudo docker rm presearch-node ; sudo docker stop presearch-auto-updater ; sudo docker rm presearch-auto-updater ;
I do hope that even though this process can look a little complex on the surface you can see just how easy it is to get up and going with AWS and run your own PreSearch node to support the network. The whole benefit of the decentralized movement is that it is accessible to all and that the more we get involved the stronger the network is. I've been running my PreSearch nodes since the beta testing phase and have really been impress with just how far the team have come a short space of time and how 'hands on' they are with development. As I said in the introduction, if you (like me) believe in the future of Bitcoin and the trustless, privacy protecting, economy it promotes, then supporting projects like PreSearch (that are focused on real application of decentralization, rather than just monetary speculation) is critical to promoting our vision of the future.
Have a go, get involved, and enjoy the learning experience. Also pick up your free PRE tokens along the way:
Thank you very much for reading, I hope you found the guide useful any feedback or corrections are always welcome, good luck y'all!