hero

Nimbus Libraries

Documentation for Nim libraries produced by the Nimbus team

Learn more

Performance

Leveraging Nim's performance makes these components significantly faster than their non-Nim counterparts

Security

Originally designed to power the world's programmable money, Ethereum, these components have been built with security in mind from day 0

Portability

Each library is independent - whether it's a cryptocurrency wallet or a mobile game, your project can easily make use of them.

How the Documentation is organized

Each library will (eventually) have four sections: tutorials, overviews, API references and how-to guides.

  • Tutorials take you by the hand through a series of steps to put a library / module to use. Start here if you’re new to a library.
  • Overviews discuss key topics and concepts at a fairly high level and provide useful background information and explanation. Those are the things you usually see in READMEs of repos.
  • API references contain technical reference for APIs and other aspects of a module's machinery. They describe how it works and how to use it but assume that you have a basic understanding of key concepts. These are auto-generated from the code, and depend heavily on the programmer's verbosity and the technical writer's persistence.
  • How-to guides are recipes. They guide you through the steps involved in addressing key problems and use-cases. They are more advanced, shorter, and more specific than tutorials and assume some previous knowledge.

Get Started

Use the search field in the header, or find a desired library in the sections below. Each library has its own documentation with a full API reference and guides. If you'd like to contribute to these docs with your own work or some corrections, please file issues or PRs in the Github repo.

Chroniclesloggingstable

Chronicles is a library for structured logging. It adheres to the philosophy that log files shouldn't be based on formatted text strings, but rather on well-defined event records with arbitrary properties that are easy to read for both humans and machines.

Nimcryptocryptographydevelopment

Nimcrypto is Nim's cryptographic library. It implements several popular cryptographic algorithms and their tests with some examples.

Chronosasyncstable

Chronos is an efficient library for asynchronous programming and an alternative to Nim's asyncdispatch.

Nim-libp2plibp2pnetworkingdevelopment

A Nim wrapper for the Go Libp2p daemon.

Nim-Ethethkeysbloomrlpencodingformattingcryptographydevelopment

Ethereum-related utilities written in Nim. Includes things like Bloom filters, private/public key utilities, devp2p, RLP, and more.