[Ndn-interest] How to develop & run an appplication program on NDNx ?

Burke, Jeff jburke at remap.ucla.edu
Sun Feb 2 00:15:04 PST 2014

Hi Daiki,

Thanks for your interest!

There are a few different libraries for NDN development right now:

Included in the NDNx package are a C library and Java library, which are
older and do not follow the CCL API.  These are based on the original CCNx
libraries (of which NDNx is a fork) and will be deprecated. However, you
could use these for application development of simple applications - and
the apps in the NDNx distribution use them.

The NDN-CCL is an emerging set of libraries for general purpose
application development that have the advantage of being largely wire
format independent but simpler than the NDNx Java library. They will be
supported into the future as the codebase evolves.  There is a C++
library, a Python library, and a Javascript library, referred to here:
For the CCL, we also have a preliminary but incomplete Java library -

All of the libraries (NDNx C and Java, NDN-CCL C++, Javascript, Python and
eventually Java) work with the NDNx forwarder (ndnd).  So you can take
your pick.  There are also other libraries that we use for development,
but I would stick with these for simplicity.  Example code for serving
files can be found in these projects: https://github.com/named-data/NDNFS
 and  https://github.com/named-data/ChronoShare.

I hope this helps. Please let us know more about your language preferences
and we can point you to some good starting places.


On 1/30/14, 11:51 PM, "Daiki Kaneko" <kaneko_daiki at y.akane.waseda.jp>

>Hello, all.
>I would like to develop and run an application program over NDN, using
>I built NDNx, and succeeded to put a file in a repository, and to let
>a colleague retrieve the file.
>However, when it comes to develop an application software that runs on
>NDNx, I don't know what to do at all.
>I found "NDN Common Client Libraries API"
>(http://named-data.net/codebase/platform/documentation/ndn-ccl-api/ ),
>and I think I can use this API to develop a program running on NDNx.
>Is it right?
>Even if it's right, the question is still remaining: how to run my
>Besides, I wonder why the ndnChat program (in /apps directory) is
>written in Java, though the API supports only C++, JS, and Python,
>"Function and class documentation" is available only for C, C++, and JS ?
>Dept. of Comp. Sci. and Eng., Waseda Univ., Japan
>Daiki Kaneko  (金子 大希)
>kaneko_daiki at y.akane.waseda.jp
>Ndn-interest mailing list
>Ndn-interest at lists.cs.ucla.edu

More information about the Ndn-interest mailing list