Hacks Proposals

1.NDNts documentation and tutorial

Project Lead:

  • Xinyu Ma

Prefered Team Size:

  • 2-4

Targeted participant

  • People new to NDN

How does your proposal benefit NDN?

  • Make NDNts easier to use

Briefly describe the tasks

  • Document functions in a more detailed way
  • Write examples for frequently used classes
  • Write tutorials for basic applications

Any specific tools or language

  • TypeScript, TSDoc

Expected outcomes

  • More detailed documentation at https://ndnts-docs.ndn.today/

2. Improving NDN Workspace Application with OpenIDConnect

Project Lead:

  • Tianyuan Yu

Prefered Team Size:

  • 2-4

Targeted participant

  • People with previous NDN experience

How does your proposal benefit NDN?

  • The NDN Workspace users currently obtain their application certificates via proving they own a NDN Testbed certificate. Since NDN Workspace is a web application, a more intuitive approach is to utilize users’ existing web identities to authenticate users. OpenIDConnect is a good fit in this case.

Briefly describe the tasks

  • Implement the following process: the user asks for their web identity provider for authentication, obtain the token (or equivalent) from the provider, sends it to Workspace CA/server, then the CA/server validates the token, assigns name, and issue certificate.

Any specific tools or language

  • TypeScript, Python

Expected outcomes

  • A Github PR

3. OpenAPI Equivalent over NDN

Project Lead:

  • Xinyu Ma

Prefered Team Size:

  • 2-4

Targeted participant

  • People with previous NDN experience

How does your proposal benefit NDN?

  • Provide general API for application use.

Briefly describe the tasks

  • Explore the possibilities of implementing OpenAPI equivalent over NDN. It consists of two parts: the serialization with protobuf or JSON (with schema), and the RPC with SVS or modified RICE.

Any specific tools or language

  • TypeScript, Python

Expected outcomes

  • Prototype of OpenAPI over NDN and future development plan.

4. NDN Workspace Development

Project Lead:

  • Xinyu Ma

Prefered Team Size:

  • 2-4

Targeted participant

  • People with previous NDN experience

How does your proposal benefit NDN?

  • Further development of a (basically) usable NDN web app.

Briefly describe the tasks

  • Discuss and solve on GitHub issues of the NDN workspace app.

Any specific tools or language

  • NDNts and SolidJS

Expected outcomes

  • Discussions and PRs on GitHub

5. Testbed-in-a-box

Project Lead:

  • Varun Patil

Prefered Team Size:

  • 2-4

Targeted participant

  • People with previous NDN experience

How does your proposal benefit NDN?

  • Make it easy to run an NDN network

Briefly describe the tasks

  • Containerize NDN components and make it easily configurable

Any specific tools or language

  • Docker, python3 or another scripting language

Expected outcomes

  • An NDN testbed, in a box

6. Define NDN Services in Extensible Markup Language

Project Lead:

  • Tianxing Ma

Prefered Team Size:

  • 2-4

Targeted participant

  • People with previous NDN experience

How does your proposal benefit NDN?

  • A quick solution to bulld NDN services

Briefly describe the tasks

  • Explore the possibility to define NDN service interfaces (input, output, and their data structures) in a standard format(xml), and explore the possibility to create a code generator to generate runnable code from these definitions. Also, think about its security. To begin with, the input and out would be defined as MAVlink messages in a xml file.

Any specific tools or language

  • C++, NDNCXX, MAVlink, XML, NAC-ABE

Expected outcomes

  • Some experience, maybe a standard to define the services

7. Containerize all the things!

Project Lead:

  • Davide Pesavento

Prefered Team Size:

  • 2-4

Targeted participant

  • People with previous NDN experience

How does your proposal benefit NDN?

  • Make the NDN stack easier to run on your machine and/or to deploy on a network of nodes.

Briefly describe the tasks

  • Write a Dockerfile for NFD. Write a Dockerfile for a sample application (e.g., ndnpingserver). Write GitHub Actions workflows to build and publish the container images. Make sure other NDN applications can transparently use a containerized NFD. Write a sample docker-compose.yml that showcases how to integrate NFD with other services/applications.

Any specific tools or language

  • docker, docker-compose, github actions

Expected outcomes

  • A set of Dockerfiles and CI pipelines to automatically build and publish container images of the core NDN software.

8. OpenTelemetry in NFD

Project Lead:

  • Davide Pesavento

Prefered Team Size:

  • 2-4

Targeted participant

  • People with previous NDN experience

How does your proposal benefit NDN?

  • Improve the observability of NFD via OpenTelemetry (OTel)

Briefly describe the tasks

  • Instrument NFD to export a few basic but useful traces and metrics in OTel-compliant format

Any specific tools or language

  • C++, OpenTelemetry

Expected outcomes

  • Upstreamable patches that implement basic OTel telemetry features in NFD. Demo a simple but functional setup that shows telemetry being collected from NFD and displayed in a web UI.