Skip to content

Getting started

Visit the main Noumena Protocol Language (NPL) page for an overview of what NPL is and its applications.

Language Concepts

NPL has many different concepts to learn about.

NPL Plugin for IntelliJ IDEA

For an optimal development experience, it's recommended to use IntelliJ IDEA because of the NPL-Dev plugin. This plugin provides a myriad of features to facilitate your NPL development, such as:

  • Compilation
  • Navigation
  • Autocompletion
  • Quick Fixes
  • Error and warning highlighting
  • Refactoring
  • Testing
  • Debugging
  • Sandboxing

Creating an NPL Protocol

After installing the plugin, you're set to create NPL files. As a starting point, refer to this IOU example to design your first protocol.

Protocol Composition

The IOU is a straightforward example for newcomers. However, protocols can increase in complexity by incorporating/referencing other protocols. This modular approach aids in distinguishing different business domain concepts. Explore the Protocol Composition page to see how NPL can help you encapsulate comprehensive business logic.

Next steps with NPL

  • For a quick reference, download the pdf cheat sheet.
  • Dive into the Coding Conventions to familiarize yourself with idiomatic NPL practices.
  • Explore the authorization guide to see how NPL interacts with your Identity and Access Management (IAM) through Parties.
  • Learn about Ownership Transfer to understand how protocol ownership transitions can be managed.
  • Finally, familiarize yourself with Migrations to understand their role in upgrading existing NPL protocols within applications.

Next steps with the Platform

Once your protocols are in place, you might wish to deploy the sources to a platform instance. For guidance on this, consult the platform getting started guide.

NPL Contributor Library

If you wish to contribute to the NPL community, you can! An NPL contributor library lets you package NPL constructs such as types and functions and share them with the world! See npl-contrib getting started guide.