We’re very proud to unveil a small project we’ve been working on for the last month: Deploy. Deploy is the fastest and easiest way to create an OpenBazaar store that will stay-up 24/7, auto-update, and operate securely.
All you need is a Digital Ocean account and with 1-click, your store will be automatically created on a virtual private server.
Why we made this
OpenBazaar began as a fork of the DarkMarket project, born out of an overnight hackathon in 2014. One feature that has carried-over since the DM codebase is the requirement for a user’s node to be online for other peers to access their listings and images, which aren’t distributed between peers on the network.
The first version of OpenBazaar, released in April this year, focused on:
- Improving the peer-to-peer networking stack
- Developing the OpenBazaar protocol (i.e. the Ricardian contract system and trade flow)
- Creating a more robust reference client for the desktop
One thing that didn’t change is the requirements for vendors to have their stores online 24/7. This creates a few problems for users who only have a laptop, or don’t know anything about servers or how to set them up.
The real solution to this problem is OpenBazaar 2.0, which uses IPFS to distribute store data between peers so that your store is available 24/7 even if you’re offline. But until this is released, we wanted to help anyone create a permanently online store, whatever your skill level is!
How it works
Step 1. Sign-up to Digital Ocean
- Join Digital Ocean using our referral link and you’ll receive $10 credit for your account, which is about 2 months of free runtime for your OpenBazaar store
- You’ll need to add your billing details to join
- After your 2 months of free credit has expired, your node will only cost $5/month
Step 2. Create an API Key
- Sounds scary but this is really easy to do… so easy we made a GIF to show you how to do it below
- Copy the key
- Deploy is a client-side tool, which means we never see your API key! But after you have created your OpenBazaar store, you should delete this key from your account anyway.
Step 3. Click a Button
- Go to Deploy, paste in your API key, and click ‘Deploy’
- After clicking deploy, it will take about 5 minutes to provision a Digital Ocean droplet and install OpenBazaar with our standardised configuration, which is optimised for security and performance.
- At the end of the installation process, you will see the connection details for your droplet and most importantly, your OpenBazaar node
Step 4. Connect to your store
- If you have already downloaded the OpenBazaar desktop app, you can connect to your Deploy node by adding a new server
- Alternatively, you can download the client-only desktop OpenBazaar app and add store details to establish a connection
That’s it. You have a shiny new OpenBazaar store that you’re ready to access!
How does this work
Using the Digital Ocean API key, the browser makes an authenticated REST API call to your account that will provision a new Ubuntu 14.04.5 virtual private server (a ‘droplet’).
During the creation of the droplet, an installation script installs all of the necessary dependencies and configures the droplet to run securely.
In addition to OpenBazaar-Server, the script also installs a small server called ‘ob-relay’, which initially monitors the Deploy setup progress and reports if the installation was successful or if it encountered errors.
All of the code is open-source and MIT licensed.
The second part of our announcement today is the release of a client-only desktop application.
Up until now, when you downloaded the OpenBazaar application, you received both the server and client. For users who are only running a node in the cloud, this was a little awkward as the application would run a local node in the background.
Starting today we’ll be supporting a client-only application that lets you connect directly to remotely hosted store, like the ones you can create via Deploy!
You can download it here!
- Deploy will eventually support the 1-click creation of a OpenBazaar 2.0 store when it is released
- Tyler Smith, for taking Washington’s n00b code and making it great again
- Josh Jeffryes, for the code review
- Brian Hoffman, for making the client-only binaries
- Sam Patterson and Jenn Cloud, for reviewing this article and correcting Washington’s writing
- Chris Pacia, for saying ‘cool’ that one time we told him
- Mike Wolf, for not giving us a hard time because we initially designed the website using Twitter Bootstrap
- Angel Leon and friends, for originally inspiring this effort with Provistor