<commit_before># Fork Description

This is a fork for a final project for cs339 at Williams College. We intent to use a DHT to modify this system so that one's site does not need to be locally hosted, but rather is hosted somewhere in the network as determined by the DHT. THis allows for users to not need a persistant connection to the network to remain running. encrypted orders will be stored by others and then can be read by the owner of the site when they do connect. Community incentives, such as favorable rates with escrow figures and better reviews or ratings, could be associated with uptime and the amount of data that they are hosting so that there is an incentive for users to be connected when possible. Replication is also crucial with the ability to update and synchronize a site in respone to cnahges from its owner.

We intent to use the Entangled inplementation of the Kademlia DHT design, which runs on the Twisted library.

Entangled: http://entangled.sourceforge.net
Kademlia Specs: http://xlattice.sourceforge.net/components/protocol/kademlia/specs.html#replication
Twisted: https://twistedmatrix.com/trac/

==============

## Project folder purposes

- ecdsa: 
- html: contains the actual website that the service uses, including a basic index.html and all the supporting files
- ident:
- msig: sx test files for playing with multisig. folder contains README with a link for more info
- node: contains the files that run the node on the client
 - files here handle all server interactions and communication with the outside world
- obelisk:
- ppl: Contains information on other users in the market. each other user has their own file with nickname, keypair, and description.
 - uncertain as to who's private key is stored for each. our's to communicate with them? Are they just test users?
- pyelliptic: 
- shop: Contains the files for the user's website and homepage within the marketplace
- test: Contains code to test certain encryption functionality
- util: Contains a single file for bitcoin keypair generation. 

==============

OpenBazaar is a decentralized marketplace proof of concept. It is based off of the POC code by the darkmarket team and protected by the GPL.

See a demonstration of the Proof Of Concept here: https://www.youtube.com/watch?v=lHVqH8XO1Pk#t=86
Try out a demonstration at: http://seed.openbazaar.org:8888

This project is alpha and all feedback is welcome at: http://www.reddit.com/r/Bitcoin/comments/23y80c
 
Official site: http://openbazaar.org (currently a placeholder)

### IRC Chat 
We are continually on IRC chat at #OpenBazaar on Freenode


## Features (Notional)
- Full market editor for management of items catalog
- Order management system
- Escrow-based transactions
- Arbiter management
- Private messaging
- Identity/Reputation system

## Project Status

All features are currently in alpha stage. Current functionality includes starting a connection to the distributed marketplace and viewing content in a browser. Transactions are not possible.

## Quick Start

These instructions download a VirtualBox image (Ubuntu Trusty) and use Vagrant to configure an OpenBazaar node inside the virtual environment. When the node is running, you can navigate to http://localhost:8888 on your local machine to access the client. This setup should take less than 10GB and about an hour. These instructions should include all necessary code for starting OpenBazaar.

1. This example is built on an Ubuntu Trusty host. Doesn't work from inside a virtual machine. 

    `sudo apt-get update`

    `sudo apt-get install virtualbox git vagrant`

2. clone openbazaar:

    `git clone https://github.com/OpenBazaar/OpenBazaar.git`

    `cd OpenBazaar`
    
3. Set up vagrant: (this will take a while!)

    `vagrant up`

4. Log into the vagrant instance:

    `vagrant ssh`

5. Start the OpenBazaar node:

    `cd /vagrant && ./run_dev.sh`

6. Now return to your host and open your web browser to:

    `http://127.0.0.1:8888`


## Dependencies

**NOTE:** These dependencies are for reference, they do not need to be manually installed if the Quick Start guide is used.
<commit_msg>updates to README<commit_after># Fork Description

This is a fork for a final project for cs339 at Williams College. We intent to use a DHT to modify this system so that one's site does not need to be locally hosted, but rather is hosted somewhere in the network as determined by the DHT. THis allows for users to not need a persistant connection to the network to remain running. encrypted orders will be stored by others and then can be read by the owner of the site when they do connect. Community incentives, such as favorable rates with escrow figures and better reviews or ratings, could be associated with uptime and the amount of data that they are hosting so that there is an incentive for users to be connected when possible. Replication is also crucial with the ability to update and synchronize a site in respone to cnahges from its owner.

We intend to use the Entangled inplementation of the Kademlia DHT design, which runs on the Twisted library.

Entangled: http://entangled.sourceforge.net
Kademlia Specs: http://xlattice.sourceforge.net/components/protocol/kademlia/specs.html#replication
Twisted: https://twistedmatrix.com/trac/

==============

## Project folder purposes

- ecdsa: 
- html: contains the actual website that the service uses, including a basic index.html and all the supporting files
- ident:
- msig: sx test files for playing with multisig. folder contains README with a link for more info
- node: contains the files that run the node on the client
 - files here handle all server interactions and communication with the outside world
- obelisk:
- ppl: Contains information on other users in the market. each other user has their own file with nickname, keypair, and description.
 - uncertain as to who's private key is stored for each. our's to communicate with them? Are they just test users?
- pyelliptic: 
- shop: Contains the files for the user's website and homepage within the marketplace
- test: Contains code to test certain encryption functionality
- util: Contains a single file for bitcoin keypair generation. 

==============

OpenBazaar is a decentralized marketplace proof of concept. It is based off of the POC code by the darkmarket team and protected by the GPL.

See a demonstration of the Proof Of Concept here: https://www.youtube.com/watch?v=lHVqH8XO1Pk#t=86
Try out a demonstration at: http://seed.openbazaar.org:8888

This project is alpha and all feedback is welcome at: http://www.reddit.com/r/Bitcoin/comments/23y80c
 
Official site: http://openbazaar.org (currently a placeholder)

### IRC Chat 
We are continually on IRC chat at #OpenBazaar on Freenode


## Features (Notional)
- Full market editor for management of items catalog
- Order management system
- Escrow-based transactions
- Arbiter management
- Private messaging
- Identity/Reputation system

## Project Status

All features are currently in alpha stage. Current functionality includes starting a connection to the distributed marketplace and viewing content in a browser. Transactions are not possible.

## Quick Start

These instructions download a VirtualBox image (Ubuntu Trusty) and use Vagrant to configure an OpenBazaar node inside the virtual environment. When the node is running, you can navigate to http://localhost:8888 on your local machine to access the client. This setup should take less than 10GB and about an hour. These instructions should include all necessary code for starting OpenBazaar.

1. This example is built on an Ubuntu Trusty host. Doesn't work from inside a virtual machine. 

    `sudo apt-get update`

    `sudo apt-get install virtualbox git vagrant`

2. clone openbazaar:

    `git clone https://github.com/kujenga/OpenBazaar.git`

    `cd OpenBazaar`
    
3. Set up vagrant: (this will take a while!)

    `vagrant up`

4. Log into the vagrant instance:

    `vagrant ssh`

5. Start the OpenBazaar node:

    `cd /vagrant && ./run_dev.sh`

6. Now return to your host and open your web browser to:

    `http://127.0.0.1:8888`


## Dependencies

**NOTE:** These dependencies are for reference, they do not need to be manually installed if the Quick Start guide is used.

{'fraction_non_alphanumeric': 0.059015600435360985, 'fraction_numerical': 0.008949086951263755, 'mean_word_length': 4.139838408949658, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7159134', 'n_tokens_mistral': 2267, 'n_tokens_neox': 2116, 'n_words': 1176}