OpenBazaar Tester’s Guide

OpenBazaar
OB1 — Trade Free
9 min readFeb 29, 2016

This article is to help OpenBazaar testers install the software, test it, and report any bugs or feedback to the development team. Thank you to all the testers out there helping us make OpenBazaar the best it can be!

If you’ve already been testing and have a bug report to file or feedback to deliver, you can skip right to the reporting bugs section.

Overview

To use OpenBazaar, you will need to run the OpenBazaar server and client. If you use the pre-built packages, these will be installed together. If you build OpenBazaar manually, they will be installed separately. The server is the program doing the work of communicating with other OpenBazaar nodes and managing your Bitcoin keys. The client is the visual interface you need to interact with the rest of the network. The server and client do not need to be run on the same machine; you can set up a server on a remote machine, run your client locally, and connect them together.

In the initial testing period, the OpenBazaar network will solely be running on the testnet and using testnet Bitcoins. You can receive a small amount of testnet coins from this faucet; please return them when done with testing. You can use a mobile app such as Copay or testnet3 to receive and spend the testnet coins. Listings, sales, and purchases on the testnet should be assumed to be for testing purposes only. After this period we’ll transition to testing with real Bitcoin and real listings; please read the disclaimer at the beginning of the onboarding process.

There are three user roles on the OpenBazaar network. Any user can fill any role or any combination of roles.

Buyer

A buyer will access the network solely to purchase goods or services, check on their order status, release funds to the vendor or dispute a transaction they’re involved with, and leave reviews on vendors.

Buyers don’t need to run the OpenBazaar server or client regularly. They only run them when they want to access the network.

Vendor

A vendor will access the network in order to manage their online store. This include listing their goods or services, tracking order status, marking products as shipped, engaging in communication with buyers about open orders (or prospective clients’ questions), and managing disputes with the buyer and/or the moderator.

Vendors need to run the OpenBazaar server continually in order for other users to see their listings. This can be done by running the server on local computer (anything from a typical PC to a Raspberry Pi Zero) and keeping it running 24/7, or by using a VPS such as Digital Ocean to host the server for them. Here is a guide to installing the server on a VPS.

The server is not a ‘heavy-duty’ server but a lightweight program that shouldn’t interfere with the normal operation of your computer, but if users have an unstable internet connection or aren’t willing to run their computer continually, they should consider hosted solutions.

A vendor can run the client locally and connect to a server running locally or running remotely. The client doesn’t need to run for other users to see their store, purchase items, or receive chat messages, but without the client running you will be unaware of these events occurring until you connect the client to server later.

Moderators

A moderator will access the network in order to offer dispute resolution services to vendors and buyers, engage in dispute resolution if it occurs, and join with the winning party to release funds from the multisignature account.

OpenBazaar uses a 2-of-3 multisig escrow to prevent scams on the network. Instead of a buyer sending Bitcoin directly to a vendor (which is also an option for buyers if they want to), the default transaction in OpenBazaar is to have the vendor choose a third party called a moderator. If the buyer agrees with the vendor’s choice of moderator, then they buy the item and send the Bitcoin to a multisig address with all three parties containing one signing key. If the transaction goes smoothly and the product is delivered or service rendered, then both buyer and vendor sign to release the money to the vendor (two of three signatures). If there’s a dispute, then both buyer and vendor make their case to the moderator. The moderator makes a decision and joins with the winning party to release the funds to them, or splits funds among the parties. This means the moderator plays a vital role in preventing bad actors from scamming people, and both vendors and buyers should select them with care.

Just like vendors, moderators need to have their server running in order for other users to see them. They cannot be chosen to provide dispute resolution services if their store is offline.

Installation

You can install OpenBazaar either by using a prebuilt package, or by manually installing via the command line. We want testers to use whichever they prefer, though we anticipate that most people will install OpenBazaar with a package.

If you encounter an error with a package, installer, or manual installation, skip to the reporting bugs section to learn how to file a bug report.

Packages

The packages for release can be found on our Github releases page at this link:

Download OpenBazaar

Windows users use the OpenBazaar-1.X.X_Setup.exe file. After downloading and opening the file, Windows users will be guided through an installation process which should go very quickly.

OS X users use the OpenBazaar-1.X.X.dmg file.

Linux users use the .deb file. Once downloaded, open your terminal, change directory to where the .deb is located, and run “sudo dpkg -i [deb package]”. Then enter “openbazaar” in terminal and it will load.

Manual installation

Manual installation uses the command line, and git. Users will need to use git in order to update their code; it will not update automatically. We recommend manual installation only for users who are familiar with using the command line.

If you have some technical expertise and want to manually install OpenBazaar, read these instructions.

Testing

Once OpenBazaar is properly installed, you can begin testing. Please ensure you are testing the latest code; if using the Windows installer or OSX package then the client should ask you to restart the client in order to use the latest code automatically. If using a manual installation on any platforms, please make sure to run ‘git pull’ on both server and client occasionally to keep updated.

Feel free to play any role on the network, or all of them at once. If you are already a vendor online, consider trying to set up a store as you would if the platform were live. If you want a more methodical approach, you can use this testing script.

You will first go through a brief on-boarding process where the client asks a few questions to create a better commerce experience. After that you can set up your own store and begin listing products, or start buying products from other stores (or both). Keep in mind that if you are still early in the testing phase that the network will still be using the Bitcoin testnet (using testnet coins which have no value), and all products and services should be considered only examples for testing. If a user tests off the testnet and uses real Bitcoin, they are recommended to engage in smaller trades to reduce risk of lost coins.

While testing you should be keeping an eye out for two things:

1. Bugs. These are problems with the software that prevent it from acting as it is supposed to. It might be a visual bug in the client which inhibits the user experience, or it might be a bug in the back end which prevents a user from participating in the network properly. Whatever the bug is, follow the instructions below about reporting bugs.

2. Suggestions for improvement. We don’t only want to know when something goes wrong. We’re building OpenBazaar to allow anyone to engage in trade for free with anyone else in the world. That’s an ambitious goal, and we don’t expect that the first version of the software will have everything users want. We want to hear from you how we can improve the platform. This includes both small and big-picture improvements. What feature is missing? Which feature isn’t necessary? We will be releasing new versions constantly after the initial release, and we want to hear from you in order to know what is most important to work on next besides bug fixes.

Reporting Bugs and Feedback

Bugs

You’ve found a bug and want to report it. Thanks for your help! Please follow these steps to make the process easier for you and for the developers.

1. Check to see if this bug has already been reported. You don’t want to waste your own time or the time of the developers if this bug is already a known issue. Take note of the details around the bug, and then take two steps to ensure this bug isn’t already known. First, ask users in the #testers-room channel in the OpenBazaar Slack if they’ve seen the bug. Other testers or developers will be in the room and should be able to respond if it’s a known issue. If those users are unfamiliar with the bug, or if you don’t get a response, then the next step is to check the Github issues to look for the bug. You can view issues for the Client here and issues for the Server here. Scan the titles of the last few dozen issues, and/or use the search feature to find keywords related to your issue.

If you find someone has already filed your issue, you can leave a Github comment in the thread mentioning that you have encountered the same issue. Include details of your operating system and any other details which might be helpful.

If you don’t find the issue, continue to step two.

2. Gather as much information as you can about the problem. Take note of what you were doing before you noticed the problem, during it, and after as well. Try to be specific. If it’s a visual bug in the client, take a screenshot or video if possible. If you are able to view the terminal readout, include any errors you can see along with ~20 lines before and after the error (errors will usually start with ‘Traceback’). If you don’t use the terminal, you can check for errors in the debug log (debug.log file in the /home/OpenBazaar/ folder). You can include the error messages in the bug report, or if it is a lot of text, you can upload the error text to Pastebin or other services and include a link to them in the report.

3. File the issue on Github. This requires you to create an account on Github if you don’t already have one. You can open new issues for the Client here and for the Server here.

Bug reports should include all the information mentioned in step two, as well as information about your operating system (which type and version), how you installed OpenBazaar and what version of the code you’re currently running, and how severe you consider the bug. Attach the ‘bug’ label to the issue and then decide which other labels to apply, ranging from ‘low priority’ for minor problems to ‘showstopper’ for bugs that completely block functionality. Use your judgement as to how severe the problem is; if they developers disagree they’ll simply change the label you’ve added.

If the bug is a major security flaw, please contact the developer team in Slack to ensure it is addressed properly and in a timely manner.

If you’re unable to file an issue yourself for some reason, please contact a developer in the Slack and relay your information to them directly. They will file an issue.

Feedback

You have some feedback for us on how to make OpenBazaar better. Excellent; we want to hear it. Please use the following format to make it easier to review incoming feedback.

New feature or change to existing feature: (Do you want new functionality completely or a change to something that already exists?)
Back-end or the front-end: (Is this change in how OB works at the core, or in what the end user sees, or both?)
Magnitude of change: (Trivial, Significant, or Massive. What type of effort would it take to bring about these changes?)
Description of suggestion: Describe your suggestion.

You have several options for delivering this feedback.

1. Github issues. You can open a new issue with your feedback. We recommend this option for users who have a specific and detailed feature request or enhancement, and one that doesn’t describe a massive magnitude of change. Please use the “enhancement” label.

2. Subreddit post. You can post to our subreddit with your feedback. We recommend this for feedback that doesn’t have a specific feature request in mind, or for changes describing a massive magnitude of change. Please begin the title of your post with the tag [Feedback].

3. Slack. You can give feedback in our community Slack. Use the #feedback channel. We recommend using Slack if the feedback doesn’t describe a specific feature request, and is more general feedback (‘overview’ type comments).

4. Email. If for some reason you prefer for your feedback to be private instead of public, you can email the developers at project@openbazaar.org with your thoughts.

Reminder

Please be patient during the testing phase; it’s possible that bugs may require you to delete your current installation entirely and reinstall. Also don’t forget that your page, store or listings will not transition from the testnet over to the live net.

Thanks again for your help.

--

--

OpenBazaar
OB1 — Trade Free

An open source, decentralized marketplace for peer-to-peer commerce using cryptocurrency. No fees. No restrictions. Browse now @ https://openbazaar.com