[Ndn-interest] [EXT] Tips for getting started?

Junxiao Shi shijunxiao at email.arizona.edu
Sun May 10 08:48:27 PDT 2020

 Hi Erno

NDNts <https://yoursunny.com/p/NDNts/> (JavaScript and TypeScript) and
python-ndn <https://python-ndn.readthedocs.io/> (Python 3) are two modern
and up-to-date libraries.
The three libraries mentioned in Philipp's message are either missing
important features, or no longer maintained.

A quick start of sending a few packets locally, using NDNts in JavaScript:

   1. You need to install NFD locally. It's best to install from binary
   packages, not source code. On Ubuntu 18.04 execute the following commands:
   sudo add-apt-repository ppa:named-data/ppa
   sudo apt install --no-install-recommends nfd
   2. Install Node.js 14.x. It's best to install with NVM
   <https://github.com/nvm-sh/nvm>. On Ubuntu 18.04 execute the following
   wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh
   | bash
   nvm use 14
   In case NVM installation doesn't work, you may also use NodeSource
   packages <https://github.com/nodesource/distributions#deb>.
   3. Download the three files in the attachment, and save them into an
   empty directory.
   4. cd to that directory, and execute:
   npm install
   5. In the first console window, run the producer:
   NDNTS_NFDREG=1 node ./producer.mjs
   6. In the second console window, run the consumer:
   node ./consumer.mjs

To develop applications with NDNts, you can start looking at @ndn/endpoint
<https://github.com/yoursunny/NDNts/tree/master/packages/endpoint> package.
Note that NDNts doesn't often publish to NPM, so that you should use
the nightly
packages <https://ndnts-nightly.netlify.app> as shown in the demo.

Yours, Junxiao

On Sun, May 10, 2020 at 5:56 AM Philipp Moll <philipp.moll at itec.aau.at>

> Based on my own experiences, I would recommend to start with creating a
> simple application. Something like a producer that provides files in a
> local directory to consumers. This way, you learn how the NDN protocol
> primitives work and you'll see NDN in a small application in action. NDN
> libraries providing API's for client applications are available for various
> programming languages. A few examples:
>    - C++: https://github.com/named-data/ndn-cxx
>    - Python: https://github.com/named-data/PyNDN2
>    - Java: https://github.com/named-data/jndn
> All the libraries on GitHub include small examples showing how to use the
> libraries. I think APIs for more languages are available and can be found
> on the named-data GitHub page (https://github.com/named-data).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20200510/4dd27aa3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: package.json
Type: application/json
Size: 382 bytes
Desc: not available
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20200510/4dd27aa3/attachment.json>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: consumer.mjs
Type: application/x-javascript
Size: 799 bytes
Desc: not available
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20200510/4dd27aa3/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: producer.mjs
Type: application/x-javascript
Size: 685 bytes
Desc: not available
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20200510/4dd27aa3/attachment-0001.bin>

More information about the Ndn-interest mailing list