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: Instructions on setting up a Nimiq Node using Docker.
- Packaging Documentation: Instructions on how to build binary packages for Linux (.deb and/or RPM) from this source code.
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 (includes the same files that are available from our CDN).
- Install Node.js >= v16.20.2.
- On Ubuntu and Debian, install
git
andbuild-essential
:sudo apt-get install -y git build-essential
.- On other Linux systems, install
git
,python3
,make
,gcc
andgcc-c++
. - For MacOS or Windows, check here for git and here for compilation tools.
- On other Linux systems, install
- Install
yarn
globally:sudo npm install -g yarn
. - Install
gulp
globally:yarn global add gulp
. - Clone this repository:
git clone https://github.com/nimiq/core-js
. - Build the project:
cd core-js && yarn && yarn build
. - Open
clients/browser/index.html
in your browser.
A good way to get started is to have a look at the most simple web application on top of the Nimiq Blockchain.
Follow the Quickstart guide or make use of our CDN:
<script src="https://cdn.nimiq.com/latest/nimiq.js"></script>
Open clients/browser/index.html
in your browser or include <script src="dist/nimiq.js"></script>
in your project.
To run a Node.js client you will need a publicly routable IP, Domain, and SSL Certificate (get a free certificate at letsencrypt.org). Start the client by running clients/nodejs/nimiq
with the respective configuration.
yarn test
runs browser and Node.js tests.yarn test-browser
runs the testsuite in your browser only.yarn test-node
runs the testsuite in Node.js only.
yarn lint
runs the ESLint javascript linter.
Executing yarn build
concatenates all sources into dist/{web,web-babel,web-crypto,node}.js
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.