/core

Nimiq: the browser-based blockchain

Primary LanguageJavaScriptOtherNOASSERTION

Nimiq Blockchain Build Status

Nimiq is a frictionless payment protocol for the web.

Resources

Demo

Check out our Testnet.

Prebuilt binaries

See our Downloads page for Linux and Windows binaries.

Quickstart

  1. Install Node.js v8.0.0 or higher.
  2. On Ubuntu and Debian, install git and build-essential: sudo apt-get install -y git build-essential.
  3. Install yarn globally: sudo npm install -g yarn.
  4. Install gulp globally: yarn global add gulp.
  5. Clone this repository: git clone https://github.com/nimiq-network/core.
  6. Build the project: cd core && yarn && yarn build.
  7. Open clients/browser/index.html in your browser.

Web Developers

Simple Web Application on top of Nimiq

A good way to get started is to have a look at the most simple web application on top of the Nimiq Blockchain.

Getting Started

Follow the Quickstart guide or make use of our CDN:

<script src="https://cdn.nimiq.com/nimiq.js"></script>

Browser client

Open clients/browser/index.html in your browser or include <script src="dist/nimiq.js"></script> in your project.

Node.js client

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.

Test and Build

Run Testsuite

  • 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.

Run ESLint

yarn lint runs the ESLint javascript linter.

Build

Executing yarn build concatenates all sources into dist/{web,web-babel,web-crypto,node}.js

Build binary packages for Linux distributions

After completing the Quickstart, follow the steps below to build a Linux package. After the build process:

  • the package will be located in the dist/ directory,
  • once the package has been installed,
    • a configuration file will be located in /etc/nimiq/nimiq.conf and
    • a systemd service will be avialable which you can manage with systemctl start|stop|restart nimiq.

Debian/Ubuntu (deb package format)

  1. Make sure you have dpkg, jq and fakeroot installed (otherwise, install with apt).
  2. Run yarn run build-deb.
  3. The deb package will be located in the dist/ directory.

Note: creating deb packages only works on Debian-based distributions and has been tested extensively on Ubuntu and Debian.

Fedora/CentOS/RHEL (rpm package format)

  1. Make sure you have rpm-build installed (otherwise, install with yum or dnf).
  2. Run yarn run build-rpm.
  3. The rpm package will be located in the dist/ directory.

Note: creating rpm packages only works on rpm-based distributions and has been tested extensively on Fedora only.

Contribute

If you'd like to contribute to the development of Nimiq please follow our Code of Conduct and Contributing Guidelines.

License

This project is under the Apache License 2.0.