OpenBazaar Client v2
This is the reference client for the OpenBazaar network. It is an interface for your OpenBazaar node, to use it you will need to run an OpenBazaar node either locally or on a remote server.
For full installable versions of the OpenBazaar app, with the server and client bundled together, go to the OpenBazaar download page.
To create a local development copy of the reference client, clone the client repository into a directory of your choice:
git clone https://github.com/OpenBazaar/openbazaar-desktop
Make sure you have Node.js and NPM installed. Node versions older than 8.9.2 or NPM versions older than 5.5.1 may not work.
- Navigate to the directory you cloned the repo into.
npm start will:
- compile your Sass / re-compile on changes
- run BrowserSync in watch mode so the app automatically refreshes on JS and HTML changes and dynamically injects any CSS / Sass changes**.
- launch the Electron app
** At this time, the app will not refresh on main.js (or other root folder JS changes). This would require the entire Electron app to refresh and BrowserSync is only refreshing our browser.
If you see an ENOSPC error after trying
npm start and you are using Linux, you may need to do the following:
- Enter this on the command line:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
For Arch Linux add this line to /etc/sysctl.d/99-sysctl.conf:
- Execute: sysctl --system
This will prevent your system from having errors due to too many files being watched.
npm run lint will run eslint on the JS files.
npm run lint:watch will run eslint on any JS file changes.
npm run test will execute test files in the test folder.
npm run test:watch will execute the tests on any file changes.
We welcome contributions to the reference client. The best way to get started is to look for an issue with the Help Wanted label.
You can also look for issues with the bug label. These are confirmed bugs that need to be fixed.
Contributions are expected to match the coding style already present in this repo, and must pass es-lint with no errors.
Contributions that make visual changes are also expected to match the repo's current style.
If you want to help with translations, please request to join the translation team at https://www.transifex.com/ob1/openbazaar.
You can request new languages there, and contribute to the translation of existing languages.
New languages are usually added when they reach 80% or more completion, and not removed from the client unless they fall below 60% for several releases.
This project is licensed under the MIT License. You can view LICENSE.MD for more details.