Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated README for OSX users #1

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions README

This file was deleted.

30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#OpenBazaar

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.

`pip install pyzmq`
`pip install tornado`
`pip install pyelliptic`

1. Install python-obelisk
2. git clone https://github.com/darkwallet/python-obelisk
3. python setup.py install


## OSX Users

For OSX there is a CLANG error when installing pyzmq but you can use the following command to ignore warnings:

`sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install pyzmq`

## Issues with ./run_dev.sh
If you're getting errors saying `ZMQError: Can't assign requested address` then you probably need to bring up some loopback adapters for those
IPs higher than 127.0.0.1.

sudo ifconfig lo0 alias 127.0.0.2 up
sudo ifconfig lo0 alias 127.0.0.3 up
sudo ifconfig lo0 alias 127.0.0.4 up

## Screenshot

![Screen 1](http://i.imgur.com/PaemnhJ.png)
3 changes: 3 additions & 0 deletions html/css/dark.css
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,6 @@ body {
width: 700px;
}
}

.panel-default{border-color:#696969}
.panel { background-color:#696969;}
123 changes: 89 additions & 34 deletions html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,15 @@
<link href="/html/css/bootstrap.min.css" rel="stylesheet">
<link href="/html/css/dark.css" rel="stylesheet">
<link href="/html/less/css/app.css" rel="stylesheet">



</head>

<body ng-controller="Market">
<div ng-show="warningMessage" class="alert alert-warning"></div>
<div class="container">

<div ng-show="warningMessage" class="alert alert-warning"></div>
<div class="container">



Expand All @@ -26,9 +31,7 @@

<div class="masthead clearfix">
<div class="inner">
<h3 class="masthead-brand">
<img src="/html/img/logo.png" alt="DarkMarket" />
</h3>
<h3 class="masthead-brand">OpenBazaar</h3>
<ul class="nav masthead-nav">
<li class="active"><a href="#">Home</a></li>
<li><a ng-click="started=true">Search</a></li>
Expand All @@ -38,7 +41,7 @@ <h3 class="masthead-brand">
</div>

<div class="inner cover">
<h1 class="cover-heading">The Dark Side of the Market</h1>
<h1 class="cover-heading"></h1>
<img class="img-responsive" src="/html/img/dsotm-link.png" alt="DarkMarket Mascot" id="mascot" />

<p class="lead">Here you can share your creations as freely as you can share an idea.</p>
Expand All @@ -49,8 +52,7 @@ <h1 class="cover-heading">The Dark Side of the Market</h1>

<div class="mastfoot">
<div class="inner">
<p>DarkMarket is a safe untouchable marketplace for the planet Earth.</p>
<p>Distributed free from tyranny and protected by the GPL.</p>
<p>OpenBazaar</p>
</div>
</div>

Expand All @@ -63,10 +65,10 @@ <h1 class="cover-heading">The Dark Side of the Market</h1>


<div id="search" class="search-area" ng-show="started">
<a href="../../">
<img class="search-logo" src="/html/img/logo.png" alt="DarkMarket" />
</a>
<div class="search-area panel panel-default">
<div style="float:left;">
<h1>OpenBazaar</h1>
</div>
<div class="search-area panel panel-default" style="text-align:right;margin-left:275px">
<form class="search-form form-inline panel-body">
<label class="sr-only" for="search">Search:</label>
<input class="form-control" size="60" ng-model="search" type="text" placeholder="Search for nicknames.."></input>
Expand All @@ -75,15 +77,33 @@ <h1 class="cover-heading">The Dark Side of the Market</h1>
</div>
<div class="row">
<div class="col-sm-8">
<h3>Peers</h3>
<h3>Markets</h3>
<div class="peers-area" ng-repeat="peer in peers">
<identicon icon-size="38" hash="peer.pubkey" title="{{peer.pubkey}}"></identicon><span title="{{peer.pubkey}}">{{peer.uri}} {{peer.nickname ? peer.nickname : peer.pubkey?peer.pubkey.slice(0,16):'unknown'}}... </span><button ng-click="queryShop(peer)" class="btn btn-sm btn-primary">Find Shop</button></div>
<table class="peers-table">
<tr>
<td width="40"><identicon icon-size="38" hash="peer.pubkey" title="{{peer.pubkey}}"></identicon></td>
<td>
<span title="{{peer.pubkey}}">URI: {{peer.uri}} <BR> <span style="font-style:italic;">PubKey: {{peer.nickname ? peer.nickname : peer.pubkey?peer.pubkey.slice(0,56):'unknown'}}...</span></span>
</td>
<td align=right><button ng-click="queryShop(peer)" class="btn btn-sm btn-primary">Visit Shop</button>
</tr>
</table>
</div>
</div>
<div class="anon-profile-area col-sm-4">
<h3>Myself</h3>
<identicon icon-size="64" hash="myself.pubkey" title="{{myself.pubkey}}"></identicon>
<div title="{{myself.pubkey}}">{{myself.pubkey.slice(0,16)}}... {{myself.uri}}</div>
<h3>My Store</h3>
<table>
<tr>
<td width=64><identicon icon-size="64" hash="myself.pubkey" title="{{myself.pubkey}}"></identicon></td>
<td valign=top>
Reputation: TBD<BR>
<div title="{{myself.pubkey}}">PubKey: {{myself.pubkey.slice(0,16)}}... {{myself.uri}}</div>
</td>
</tr>
</table>

<div class="reviews-area">

<h4>Reviews</h4>
<div ng-repeat="review in myself.reputation">[{{review.rating}}] {{review.text}}</div>
</div>
Expand All @@ -92,15 +112,10 @@ <h4>Reviews</h4>
<div class="row">
<div class="col-sm-8">
<div ng-show="page" class="panel panel-default">
<div class="panel-heading">
<identicon icon-size="64" hash="page.pubkey" title="{{page.pubkey}}"></identicon>Shop
<button ng-click="showReviewForm=true" ng-show="!showReviewForm" class="btn btn-default navbar-btn">Review</button>
<form ng-show="showReviewForm">
Text: <input class="form-control" type="text" ng-model="review.text" placeholder="Write a review"></input>
Rating: <input class="form-control" type="number" ng-model="review.rating" placeholder="Rating"></input>
<a class="btn btn-primary navbar-btn" ng-click="addReview()" type="submit">Submit</a>
<a class="btn btn-warning navbar-btn" ng-click="showReviewForm=false" type="cancel">Cancel</a>
</form>

<identicon icon-size="64" hash="page.pubkey" title="{{page.pubkey}}"></identicon>


<!-- Buy -->
<button ng-click="creatingOrder=true" class="btn btn-success btn-xl navbar-btn">Buy Now</button>
<form ng-show="creatingOrder">
Expand All @@ -110,8 +125,8 @@ <h4>Reviews</h4>
</form>


</div>
</div>


<h3 ng-show="Object.keys(orders).length">Orders</h3>
<!-- Orders -->
<div class='panel-body' ng-repeat="(orderId, order) in orders" ng-show="order.seller == page.pubkey || order.seller == myself.pubkey">
Expand All @@ -138,28 +153,68 @@ <h3 ng-show="Object.keys(orders).length">Orders</h3>

<div class="panel-body" ng-show="page">
<div id="page-content"></div>


<!-- TODO: Pagination of comments -->
<h3>Reviews</h3>
<div ng-repeat="review in currentReviews">{{review.rating}} {{review.text}} {{review.pubkey.slice(0,16)}}...</div>

<div title="page.pubkey"><h2>Owner:</h2> {{page.pubkey.slice(0,32)}}...</div>
<div title="{{page.signature}}"><h2>Signature</h2> {{page.signature.slice(0,32)}}...</div>
<div ng-repeat="review in currentReviews.slice().reverse()" style="padding:3px;background-color:#333;margin-bottom:5px;">
<table><tr><td><identicon icon-size="50" hash="review.pubkey" title="{{review.pubkey}}"></identicon></td><td>
<div style="word-wrap:break-word;width:600px;font-size:14px;"><span style="color:#999;"><em>{{review.pubkey}}</em></span></div>
</td></tr></table>
<div>
<table><tr><td width=60 valign=top style="font-size:200%">{{review.rating}}</td><td>"{{review.text}}"</td></tr></table></div>
</div>
<button ng-click="showReviewForm=true" ng-show="!showReviewForm" class="btn btn-default navbar-btn">Add Review</button>
<form ng-show="showReviewForm">

<div style="margin:20px 10px">
<h4>Add a Review</h4>
<select class="form-control" type="number" ng-model="review.rating" placeholder="Rating" style="width:10%;">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
<div style="margin-top:5px">
<textarea class="form-control" ng-model="review.text" cols="50" id="new-review" name="comment" placeholder="Enter your review here..." rows="5"></textarea>
</div>
<a class="btn btn-default navbar-btn" ng-click="addReview()" type="submit">Submit</a>
<a class="btn btn-default navbar-btn" ng-click="showReviewForm=false" type="cancel">Cancel</a>
</div>

</form>



<div title="page.pubkey" style="word-wrap:break-word"><h2>Owner:</h2> {{page.pubkey}}</div>
<div title="{{page.signature}}" style="word-wrap:break-word"><h2>Signature</h2> {{page.signature}}</div>
</div>
</div>

</div>
<div class="shoutbox-area col-sm-4">
<div>
<h3>Shout</h3>
<form class="form-inline">
<input class="shout-input form-control" type="text" ng-model="newShout" placeholder="Say something anonymously"></input>
<button ng-click="createShout(newShout)" class="btn btn-danger btn-block">Shout!</button>
<button ng-click="createShout(newShout)" class="btn btn-danger">Shout!</button>
</form>
<div class="shout-chats">
<div ng-repeat="shout in shouts">{{shout.text}}</div>
<div ng-repeat="shout in shouts.slice().reverse()">{{shout.text}}</div>
</div>
</div>
</div>
</div>
</div>

</div> <!-- container -->


</body>
</html>
Loading