Nimiq is a frictionless payment protocol for the web.
- Nimiq White Paper: High-level introduction of the Nimiq payment protocol.
- Nimiq Developer Reference: Details of the protocol architecture.
- Core API Documentation: Documentation of the Nimiq Core library API.
- Node.js Client Documentation: Usage and configuration documentation for the Nimiq Node.js Client.
- JSON-RPC Client Documentation: Usage instructions for the Nimiq JSON-RPC Client.
- Docker Documentation: Instuctions on setting up a Nimiq Node using Docker.
Check out our Testnet.
For users looking to run a standalone Nimiq node (which is also capable of mining), see our Downloads page for installable Linux and Windows binary packages.
For developers looking to include Nimiq support on their applications, there are two npm packages available:
-
@nimiq/core
: Module for use in node.js applications. -
@nimiq/core-web
: Module for use in client-side (browser) applications.
A good way to get started is to have a look at the most simple web application on top of the Nimiq Blockchain.
Import Nimiq
as an ES6 module:
// With a package.json-aware module loader:
import Nimiq from '@nimiq/core-web';
// Otherwise:
import Nimiq from 'node_modules/@nimiq/core-web/web.esm.js';
To use Nimiq's cryptographic functions (for hashing, signing, derivation),
you have to make the following files from this package available to the browser
(for e.g. Vue, this means copying them into the public
folder, or getting them
otherwise into the output directory):
worker.js
worker-js.js
worker-wasm.js
worker-wasm.wasm
You can then load the Nimiq worker by calling Nimiq.load()
with the URL of the folder containing the files:
// Important: must be a full URL, a trailing slash is required.
const workerURL = location.origin + '/assets/nimiq/';
Nimiq.load(workerURL).then(async function() {
// All Nimiq functionality is available here.
});
Include the nimiq.js
file from this package into your project:
<script src="node_modules/@nimiq/core-web/nimiq.js"></script>
If you do not need networking support, you can also use the smaller offline build:
Nimiq.loadOffline().then(...);
If you'd like to contribute to the development of Nimiq please follow our Code of Conduct and Contributing Guidelines.
This project is under the Apache License 2.0.