openbazaar-go

command module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2016 License: MIT Imports: 45 Imported by: 0

README

openbazaar-go

banner OpenBazaar Server Daemon in Go

Build Status Coverage Status Go Report Card

This repository contains the OpenBazaar server daemon which handles the heavy lifting for the OpenBazaar desktop application. The server combines several technologies: A modified IPFS node, which itself combines ideas from Git, BitTorrent, Kademlia. A lightweight SPV Bitcoin wallet for interacting with the Bitcoin network. And a JSON API which can be used by a user interface to control the node and browse the network. If you are looking for the OpenBazaar user interface code see here.

Table of Contents

Install

A typical install of OpenBazaar contains a bundle of the server deamon and user interface. If this is what you are looking for you can find an installer at https://openbazaar.org/download.html. If you're looking to run the server daemon by itself or to contribute to developement see below for instructions.

Install prebuilt packages

The easiest way to run the server is to download a pre-built binary. You can find binaries of our latest release for each operating system here.

Build from Source

To build from source you will need to have Go installed and properly configured. Detailed instructs for installing Go and openbazaar-go on each operating system can be found in the docs package.

Dependency Management

We use Godeps with vendored third-party packages.

IPFS Dependency

We are using a fork of go-ipfs in the daemon. The primary changes include different protocol strings to segregate the OpenBazaar network from the main IPFS network and an increased TTL on certain types of DHT data. You can find the full diff in the readme of the forked repo. The fork is bundled in the vendor package and will be used automatically when you compile and run the server. Note that you will still see github.com/ipfs/go-ipfs import statements instead of github.com/OpenBazaar/gp-ipfs despite the package being a fork. This is done to avoid a major refactor of import statements and make rebasing IPFS much more easy.

Updating

You can either pull in remote changes as normal or run go get -u github.com/OpenBazaar/openbazaar-go

Usage

You can run the server with go run openbazaard.go start

Options
Usage:
  openbazaar-go [OPTIONS] start [start-OPTIONS]

The start command starts the OpenBazaar-Server

Help Options:
  -h, --help               Show this help message

[start command options]
      -p, --password=      the encryption password if the database is encrypted
      -t, --testnet        use the test network
      -l, --loglevel=      set the logging level [debug, info, notice, warning,
                           error, critical]
      -a, --allowip=       only allow API connections from these IPs
      -s, --stun           use stun on µTP IPv4
      -d, --datadir=       specify the data directory to be used
          --disablewallet  disable the wallet functionality of the node
          --storage=       set the outgoing message storage option
                           [self-hosted, dropbox] default=self-hosted

Documentation

When ready we will put up a full documentation of the OpenBazaar protocol and the JSON API at https://docs.openbazaar.org

TODO

The server is currently under heavy development. Most of the underlying networking is complete and what remains is to build out the order/purchase flow. We expect to have a development release which will be capable of browsing the network in a few weeks.

Contributing

Contributions are welcome. // TODO: make contribute.md guidlines

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package classification OpenBazaar REST API.
Package classification OpenBazaar REST API.
net
Package api is a generated protocol buffer package.
Package api is a generated protocol buffer package.
db

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL