<div dir="ltr">
<div>Hi Erno</div><div><br></div><div><a href="https://yoursunny.com/p/NDNts/">NDNts</a> (JavaScript and TypeScript) and <a href="https://python-ndn.readthedocs.io/">python-ndn</a> (Python 3) are two modern and up-to-date libraries.</div><div>The three libraries mentioned in Philipp's message are either missing important features, or no longer maintained.<br></div><div></div><div><br></div><div>A quick start of sending a few packets locally, using NDNts in JavaScript:</div><div><ol><li>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:<br>sudo add-apt-repository ppa:named-data/ppa<br>sudo apt install --no-install-recommends nfd</li><li>Install Node.js 14.x. It's best to install with <a href="https://github.com/nvm-sh/nvm">NVM</a>. On Ubuntu 18.04 execute the following commands:<br>wget -qO- <a href="https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh">https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh</a> | bash<br>nvm use 14<br>In case NVM installation doesn't work, you may also use <a href="https://github.com/nodesource/distributions#deb">NodeSource packages</a>.<br></li><li>Download the three files in the attachment, and save them into an empty directory.</li><li>cd to that directory, and execute:<br>npm install</li><li>In the first console window, run the producer:<br>NDNTS_NFDREG=1 node ./producer.mjs</li><li>In the second console window, run the consumer:<br>node ./consumer.mjs<br></li></ol></div><div>To develop applications with NDNts, you can start looking at <a href="https://github.com/yoursunny/NDNts/tree/master/packages/endpoint">@ndn/endpoint</a> package.</div><div>Note that NDNts doesn't often publish to NPM, so that you should use the <a href="https://ndnts-nightly.netlify.app">nightly packages</a> as shown in the demo.<br></div><div><br></div><div>Yours, Junxiao<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 10, 2020 at 5:56 AM Philipp Moll <<a href="mailto:philipp.moll@itec.aau.at">philipp.moll@itec.aau.at</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div><br><p>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:</p>
    <ul><li>C++: <a href="https://github.com/named-data/ndn-cxx" target="_blank">https://github.com/named-data/ndn-cxx</a></li><li>Python: <a href="https://github.com/named-data/PyNDN2" target="_blank">https://github.com/named-data/PyNDN2</a></li><li>Java: <a href="https://github.com/named-data/jndn" target="_blank">https://github.com/named-data/jndn</a></li></ul>
    <p>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
      (<a href="https://github.com/named-data" target="_blank">https://github.com/named-data</a>).</p><br>
</div></blockquote></div>

</div>