Skip to content

Instantly share code, notes, and snippets.

View drwasho's full-sized avatar

Dr Washington Sanchez drwasho

View GitHub Profile
drwasho /
Last active August 15, 2023 21:46
Proposal for Ricardian Contracts in Open Bazaar


Ricardian Contracts in OpenBazaar

What is a Ricardian Contract

A Ricardian Contract can be defined as a single document that is a) a contract offered by an issuer to holders, b) for a valuable right held by holders, and managed by the issuer, c) easily readable by people (like a contract on paper), d) readable by programs (parsable like a database), e) digitally signed, f) carries the keys and server information, and g) allied with a unique and secure identifier.
- Ian Grigg

The Ricardian contract is a means of tracking the liability of one party to another when selling goods to each other in OpenBazaar. Fundamentally, a contract represents a single unit of a good or service. Ricardian contracts should be used in OpenBazaar as they are means of effectively tracking legitimately signed agreements between two parties, which cannot be forged afte

drwasho / Install IPFS from Source in
Last active March 22, 2023 21:55
How to install IPFS from source in Windows

Install IPFS in Windows

Install Go

  • Head to the download website
  • Click the latest version and download the .msi file

Create Paths

  • Create GOROOT system variable if it doesn't exist in C:\Go
drwasho / Dispute Resolution in
Last active February 19, 2021 21:17
Dispute Resolution in OpenBazaar

Dispute Resolution in OpenBazaar

1.0 Introduction

Multisignature escrow addresses are the key to managing risk for trades between peers on OpenBazaar. These addresses mathematically ensure that a single agent is incapable of stealing funds from an address using their private key alone. Furthermore, multisignature addresses can be designed to accommodate several parties within a voting pool as previously discussed.

In a typical 2-of-3 multisignature transaction in OpenBazaar, the first two signers are the buyer and seller. The third signature is a 'trusted' third party who has the power to sign a transaction in combination with the buyer or seller in the event of an accident, key theft, or dispute. The third party signer, a notary, in OpenBazaar also acts as the third signer of Ricardian contracts for the sale o

drwasho /
Last active November 18, 2020 22:50
Install OpenBazaar-Go on a Linux Digital Ocean Droplet

Install OpenBazaar-Go on Linux Digital Ocean Droplet

First off I'm going to assume you have created a user with sudo permissions, and that you're not running from root. I'm also assuming you have a satisfactory knowledge of the Linux terminal/bash commands.

If you have any trouble, join our OpenBazaar Slack group, and pop into the #openbazaar-ipfs channel.

Step 1: Create the install script

  • In your terminal, type: sudo nano
  • Paste in the following script:
drwasho /
Last active November 18, 2020 22:50
Install the OpenBazaar server in one simple script for Ubuntu 15 (Vivid)
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git
sudo apt-get install build-essential libssl-dev libffi-dev python-dev openssl python-pip libzmq3-dev
sudo add-apt-repository ppa:chris-lea/libsodium
sudo apt-get update
sudo apt-get -f install
sudo apt-get install libsodium-dev
sudo pip install cryptography
"data": {
"name": "OB1",
"description": "",
"link": ""
"types": [
"name": "standard",
"description": "A moderator that has been vetted by OB1",
"name": "OB1",
"logo": "",
"links": {
"self": "*\u0026sortBy=relevance\u0026network=mainnet\u0026nsfw=false\u0026mobile\u0026type=physical_good\u0026type=service",
"listings": "",
"vendors": "",
"reports": ""
"options": {},
drwasho / killIndicator.ps1
Created November 7, 2019 00:06
War of Rights audio kill indicator
GET-Content .\game.log -Tail 1 -Wait | ForEach-Object { # Add this script to C:\Program Files (x86)\Steam\steamapps\common\War of Rights
If($_ -like '*steamUsername killed*') { # Replace 'steamUsername' with your Steam username
Write-Host "Enemy killed" -ForegroundColor Green
$player = New-Object -TypeName System.Media.SoundPlayer
$player.SoundLocation = "$PSScriptRoot\burp_x.wav" # Use your own wave file to play a sound when you kill someone and update the filename here; put it in the same directory as the script
drwasho / listing.json
Created September 30, 2019 07:09
Create listing body JSON
"slug": "",
"metadata": {
"contractType": "PHYSICAL_GOOD",
"format": "FIXED_PRICE",
"expiry": "2037-12-31T05:00:00.000Z",
"acceptedCurrencies": [
drwasho / OpenBazaar REST API - GET
Last active July 27, 2019 14:22
Documentation for the OpenBazaar REST API

OpenBazaar REST API Documentation

OpenBazaar has two distinct components: a server and a client. 

The ‘server’ is the network daemon that connects with the OpenBazaar P2P network and contains the node’s database. It is the ‘business end’ of the OpenBazaar application, as it connects directly with other nodes on the network, caches data, digital signs contracts, and holds private keys etc. The server can either run locally (i.e. on your computer) or remotely on a virtual private server (e.g. Digital Ocean, Docker, Heroku).

The ‘client’ is what the user interacts with operate the functions of the server. The client uses a combination of REST and Websocket (WS) APIs to control the network and market function of the server. This enables developers to create alternative or feature-specific clients for OpenBazaar.

If the OpenBazaar server is running locally, the base URL will be: