<div dir="ltr">Thank you Philipp and Junxiao!<br>This was a good start, please keep it coming :)<br><br>Davide, if I understand correctly the blog post (which was great, thanks Junxiao!), the missing features are not actually any missing from the NDN implementation, but more like library features? The Endpoint's retransmission and producer parallelism.<br><br>Do you know what's the status of the Go library <a href="https://github.com/go-ndn/ndn">https://github.com/go-ndn/ndn</a> or Rust <a href="https://github.com/imp/ndn-rs">https://github.com/imp/ndn-rs</a>?<br><br><div>I got from this already following valuable information (please correct me if I'm wrong):<br>- Getting started with NDNts looks nice and simple<br>- There's at least basic libraries C++, Python, Java, NodeJS, Go(?), and Rust(?) which includes basic implementation but library implementation features vary.<br>- You need NFD to make simple consumer/producer setup (is it required or can consumer/producer communicate directly without any daemon between?)<br>- miniNDN looks nice if you want to simulate actual network topology (for more hardcore needs see ndnSIM)<br><br>So should I get next familiar with the NDN Packet Format Specification (v0.3) or what would be the next steps when you know how to implement simple producer / consumer?</div><div><br></div><div>Thanks for all the help! :)</div><div><br></div><div>- Erno</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">ma 11. toukok. 2020 klo 8.43 Junxiao Shi (<a href="mailto:shijunxiao@email.arizona.edu">shijunxiao@email.arizona.edu</a>) kirjoitti:<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 dir="ltr"><div>Dear folks</div><div><br></div><div>I wrote a blog post about how to get started with NDNts.</div><div><font size="4"><a href="https://yoursunny.com/t/2020/NDNts-node-start/" target="_blank">https://yoursunny.com/t/2020/NDNts-node-start/</a></font></div><div><br></div><div>It explains how to send and receive Interest and Data, and introduces two powerful features of NDNts that other libraries do not have.<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 11:48 AM Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu" target="_blank">shijunxiao@email.arizona.edu</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 dir="ltr">
<div>Hi Erno</div><div><br></div><div><a href="https://yoursunny.com/p/NDNts/" target="_blank">NDNts</a> (JavaScript and TypeScript) and <a href="https://python-ndn.readthedocs.io/" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">@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" target="_blank">nightly packages</a> as shown in the demo.<br></div><div><br></div><div>Yours, Junxiao<br></div><br></div>
</blockquote></div></div>
</blockquote></div>