OpenBazaar

From ArchWiki

The factual accuracy of this article or section is disputed.

Reason: No citation for experimental warning. Some sentences miss articles. (Discuss in Talk:OpenBazaar)

OpenBazaar is an open source project developing a protocol for e-commerce transactions in a fully decentralized marketplace using cryptocurrencies.

This is experimental software. Use at your own risk.

Installation

The openbazaarAUR package provides the client and openbazaardAUR provides the server.

Start server

You can view the configuration options with openbazaard start --help.

We will use Tor for more anonymity and --allowip=127.0.0.1 so only you have access to your server.

Also consider the options --password= to encrypt the database, and --disablewallet to disable the wallet functionality of the node.

As user

We will store the server files in ~/.local/share/openbazaar.

As user with Tor Browser

This setup requires less configuration but requires starting Tor Browser first. see torbrowser-launcher-gitAUR

Run as user:

$ openbazaard start -d ~/.local/share/openbazaar --tor --allowip=127.0.0.1 --verbose

with the --tor option, the server will use your Tor Browser as the Tor entry node.

As user with Tor

To use your system-wide Tor proxy, you must configure Tor first.

Choose a password to secure your Tor Control Port. Run

$ tor --hash-password password

to get the password hash.

Add to your /etc/tor/torrc file:

ControlPort 9051
HashedControlPassword hash

setting HashedControlPassword to your password hash.

Now you can start the server as user:

$ openbazaard start -d ~/.local/share/openbazaar --torpassword=your_tor_control_password --allowip=127.0.0.1 --verbose

setting --torpassword to your Tor password.

System-wide

We will store the server files in /var/lib/openbazaar.

openbazaard will run as user openbazaar in group openbazaar.

We will use system-wide Tor, not Tor Browser.

Read section #As user with Tor to configure Tor.

Edit server configuration file /etc/conf.d/openbazaard:

# OB_ARGS="-d /var/lib/openbazaar --torpassword=your_tor_control_password --allowip=127.0.0.1 --verbose"

To init the server files:

# mkdir /var/lib/openbazaar
# chown openbazaar:openbazaar /var/lib/openbazaar
# chmod 0700 /var/lib/openbazaar

The factual accuracy of this article or section is disputed.

Reason: This section was written 2018-10-10: is the following section still relevant? (Discuss in Talk:OpenBazaar)

The openbazaard systemd service seems broken at the moment. It will look good, but not start the server. openbazaard status will only show your database status, and whether tor is available. it will not show, whether server is running.

Instead, run as the openbazaar user:

[openbazaar]$ source /etc/conf.d/openbazaard
[openbazaar]$ openbazaard start $OB_ARGS

You should see some ASCII art:

________                      __________
\_____  \ ______   ____   ____\______   \_____  _____________  _____ _______
 /   |   \\____ \_/ __ \ /    \|    |  _/\__  \ \___   /\__  \ \__  \\_  __ \ 
/    |    \  |_> >  ___/|   |  \    |   \ / __ \_/    /  / __ \_/ __ \|  | \/
\_______  /   __/ \___  >___|  /______  /(____  /_____ \(____  (____  /__|
        \/|__|        \/     \/       \/      \/      \/     \/     \/

... along with error-free log messages.

Wait for:

[INFO] [cmd/newHTTPGateway] Gateway/API server listening on /ip4/127.0.0.1/tcp/4002

For more server configuration, see

$ openbazaard gencerts --help
$ openbazaard setapicreds --help

To generate SSL certificates, or set username and password for 'API access' to allow clients to connect. Both will need the option -d dir or --datadir=dir

Start client

Run openbazaar as user.

The default server configuration should be fine.

If your server admin did configure a login with openbazaard setapicreds then fill the Username and Password fields.

To connect to a tor-hidden server, set Server IP to the .onion address, activate Use Tor, and enter your_tor_control_password to connect via your system tor node.

Otherwise, when using the localhost server, the Use Tor setting should not be needed.

See also