NDN.JS: A javascript client library for Named Data Networking

BASIC LIBRARY: NO BUILD REQUIRED. 
The basic NDN.JS library does not need to be "built".  For the library, you can manually
include the necessary scripts in a web page or include Helper.js to have it load all of
the scripts.

BUILD A COMBINED, COMPRESSED LIBRARY. 
A more efficient way to include the library is to used the combined, compressed library
ndn-js.js that can be made using the js/tools/build/make-js.sh script.  See the README in
that directly.  While we try to keep a built version in that directory for convenience, it
may fall out of sync with the library, so we recommend building it using the script if
possible.

WEBSOCKETS PROXY. 
If you wish to run your own WebSockets proxy instead of using the NDN testbed, you must
build and install Node.js (often on the machine also running the ccnd you wish to proxy
for, but that doesn't have to be the case).  See wsproxy/README.md

THE FIREFOX ADD-ON.
If the compressed library js/tools/build/ndn-js.js is out of date, first build it (see above).
Go to js/ndnProtocol and run make-ndnProtocol.sh which makes js/ndnProtocol.xpi .
