All Projects → OpenBazaar → Openbazaar Go

OpenBazaar / Openbazaar Go

Licence: mit
OpenBazaar 2.0 Server Daemon in Go

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Openbazaar Go

Awesome Decentralized
🕶 Awesome list of distributed, decentralized, p2p apps and tools 👍
Stars: ✭ 358 (-61.04%)
Mutual labels:  bitcoin, p2p, ipfs
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (-82.05%)
Mutual labels:  bitcoin, p2p, ipfs
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (-80.41%)
Mutual labels:  bitcoin, p2p, ipfs
Bisq
A decentralized bitcoin exchange network
Stars: ✭ 3,800 (+313.49%)
Mutual labels:  bitcoin, p2p
Ipdr
🐋 IPFS-backed Docker Registry
Stars: ✭ 312 (-66.05%)
Mutual labels:  p2p, ipfs
Zeronet
ZeroNet - Decentralized websites using Bitcoin crypto and BitTorrent network
Stars: ✭ 17,227 (+1774.54%)
Mutual labels:  bitcoin, p2p
js-http-client
[DEPRECATED] Official Textile JS HTTP Wrapper Client
Stars: ✭ 29 (-96.84%)
Mutual labels:  ipfs, p2p
Peergos
A p2p, secure file storage, social network and application protocol
Stars: ✭ 895 (-2.61%)
Mutual labels:  p2p, ipfs
Ipfs
Peer-to-peer hypermedia protocol
Stars: ✭ 20,128 (+2090.21%)
Mutual labels:  p2p, ipfs
Peer Pad
📝 Online editor providing collaborative editing in really real-time using CRDTs and IPFS.
Stars: ✭ 564 (-38.63%)
Mutual labels:  p2p, ipfs
Orbit Db
Peer-to-Peer Databases for the Decentralized Web
Stars: ✭ 6,381 (+594.34%)
Mutual labels:  p2p, ipfs
Ipfs Log
Append-only log CRDT on IPFS
Stars: ✭ 269 (-70.73%)
Mutual labels:  p2p, ipfs
Ipfs Desktop
An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux.
Stars: ✭ 3,710 (+303.7%)
Mutual labels:  p2p, ipfs
orbit-core
Orbit communication protocol and library
Stars: ✭ 70 (-92.38%)
Mutual labels:  ipfs, p2p
Js Ipfs
IPFS implementation in JavaScript
Stars: ✭ 6,129 (+566.92%)
Mutual labels:  p2p, ipfs
Rust Ipfs
The InterPlanetary File System (IPFS), implemented in Rust.
Stars: ✭ 739 (-19.59%)
Mutual labels:  p2p, ipfs
Berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network
Stars: ✭ 5,101 (+455.06%)
Mutual labels:  p2p, ipfs
Ebookcoin
Ebookcoin has been updated to DDN Blockchain,please get it from https://github.com/ddnlink/ddn
Stars: ✭ 789 (-14.15%)
Mutual labels:  bitcoin, p2p
example-orbitdb-todomvc
TodoMVC with OrbitDB
Stars: ✭ 17 (-98.15%)
Mutual labels:  ipfs, p2p
meanOs
Mean Operating System - The first decentralized, artificially intelligent, MEAN.js stack, operating system. Mean OS is the only operating system hosted anonymous using a P2P network and a suite of non-standard in-browser delivery mechanisms. Mean OS proudly supports Brave and Tor, be free!
Stars: ✭ 62 (-93.25%)
Mutual labels:  ipfs, p2p

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, and Kademlia. A lightweight wallet for interacting with several cryptocurrency networks. And a JSON API which can be used by a user interface to control the node and browse the network. Find the user interface for the server at github.com/OpenBazaar/openbazaar-desktop.

Table of Contents

Install

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

Install Pre-built 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 instructions for installing Go and openbazaar-go on each operating system can be found in the docs package.

Run via Docker image

You can also use our Docker Hub image to run openbazaar-go. latest points to the latest release, but you can run any other version by matching the release tag to the Docker image tag.

docker run -it openbazaar/server:latest [OPTIONS] start [start-OPTIONS]

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/go-ipfs despite the package being a fork. This is done to avoid a major refactor of import statements and make rebasing IPFS much easier.

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. Ensure you are using at least version 1.10 of Golang, otherwise you might get errors while running.

Options

Usage:
  openbazaard [OPTIONS] start [start-OPTIONS]

The start command starts the OpenBazaar-Server

Application Options:
  -v, --version                   Print the version number and exit

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
      -r, --regtest               run in regression test mode
      -l, --loglevel=             set the logging level [debug, info, notice, warning, error, critical] (default: debug)
      -f, --nologfiles            save logs on disk
      -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
      -c, --authcookie=           turn on API authentication and use this specific cookie
      -u, --useragent=            add a custom user-agent field
      -v, --verbose               print openbazaar logs to stdout
          --torpassword=          Set the tor control password. This will override the tor password in the config.
          --tor                   Automatically configure the daemon to run as a Tor hidden service and use Tor exclusively. Requires
                                  Tor to be running.
          --dualstack             Automatically configure the daemon to run as a Tor hidden service IN ADDITION to using the clear
                                  internet. Requires Tor to be running. WARNING: this mode is not private
          --disablewallet         disable the wallet functionality of the node
          --disableexchangerates  disable the exchange rate service to prevent api queries
          --storage=              set the outgoing message storage option [self-hosted, dropbox] default=self-hosted
          --forcekeypurge         repair test for issue OpenBazaar/openbazaar-go#1593; use as instructed only

Documentation

Documentation of the OpenBazaar protocol has not been formalized yet. If you would like to help, please reach out on Slack or via a new issue on GitHub.

openbazaar-go exposes an HTTP API which permits high-level interactions on the network and the internal wallet. Find the HTTP API documentation at https://api.docs.openbazaar.org.

Contributing

Contributions are definitely welcome! Please read the Contributing Guidelines before starting.

License

MIT.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].