Git Product home page Git Product logo

bitmarkets's Introduction

#Note

This OSX repo has been deprecated as we are working on a Javascript/Electron implementation of Bitmarkets now. We'll be releasing that repo when it's ready.

#Bitmarkets

Bitmarkets is a protocol and client used to implement a p2p online marketplace client using Bitmessage for communications and Bitcoin for payments.

#compiling

After cloning the git repo, you'll need to init and pull all the submodules by running init.sh and pull.sh. Then you should be able to build and run in Xcode.

To verify/audit the build you'll need to download and compile some of the statically built executables (e.g. python and tor in BitmessageKit) seperately.

#security notes

Bitmarkets talks to the network in three ways:

  • BitcoinJ talks to other Bitcoin nodes via Tor
  • Bitmessage talks to other Bitmessage nodes via Tor
  • HTTP requests to blockchain.info are used get the current Bitcoin exchange rate.

Client side files are not currently encrypted. We recommend at least using FileVault.

#dev path high priority

  • GNUstep port to Linux and Windows
  • ability to choose between bid addresses
  • auto-updates
  • app store release
  • automated tests
  • encrypt all local data files and add password login
  • deterministic builds (see https://gitian.org)
  • use tor for blockchain.info bitcoin price updates

#dev path low priority

  • UI for accepting multiple sales on a single post?
  • support stores with namecoin (a namecoin name to bitmessage address entry)
  • option for using separate pubkey for each post
  • ui update, image browsing view option within a category
  • use ntimelock to avoid utx pollution for transactions that fail to reach agreement?

#links

#architecture notes

On starting, the app launches three child processes:

  1. a Tor server, which is used by the Bitmessage and BitcoinJ servers use to route their communications to the Bitmessage network and Bitcoin network (respectively) through the Tor network.

  2. a Bitmessage server, which is used for posting sales to a public Bitmessage channel and for sending messages between buyers and sellers to 1) place and accept bids 2) setup escrow 3) send physical delivery address to seller 4) release escrow via payment or refund

  3. a BitcoinJ server, which is used as the app's' Bitcoin wallet and to construct and trackthe escrow transactions.

#versions

v0.8.9:

  • BitcoinJ now uses Tor
  • POW limited to 1 core
  • image attachments auto resized to fit in 32kb JPEG

v0.8.8

  • server launch fix
  • performance improvements -- caching address valid requests -- coallessing node notifications

bitmarkets's People

Contributors

stevedekorte avatar richcollins avatar awt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.