Nimiq: the browser-based blockchain
Clone or download
terorie and styppo Fix typo in consensus/base/block/Block.js
In line 245, "predecessor.height.height" is a typo and should be
"predecessor.header.height".
Latest commit 96b1791 Sep 15, 2018
Permalink
Failed to load latest commit information.
.github Update CODE_OF_CONDUCT.md Feb 6, 2018
clients Improve local time offset warning Aug 31, 2018
dist Release 1.3.1 Aug 27, 2018
doc Update json-rpc-client.md Jun 26, 2018
packaging Release 1.3.1 Aug 27, 2018
spec/support add node tests to build matrix May 14, 2017
src Fix typo in consensus/base/block/Block.js Sep 17, 2018
.editorconfig Test lint on Travis CI May 27, 2017
.esdoc.json ESDoc: Switch from esdoc-standard-plugin to seperate plugins Dec 13, 2017
.eslintignore Initial BigNumber usage May 5, 2018
.eslintrc.json for now, we do not require parameter/return value descriptions Jul 16, 2017
.gitignore Make packaging compatible with latest core changes May 4, 2018
.npmignore Support for publishing an npm library package (#117) Jun 5, 2017
.travis.yml Use gcc 4.9 in testing phase jobs too Sep 14, 2018
Dockerfile_deb * Dockerfile_deb: Do not execute the client as root user Aug 24, 2018
Dockerfile_git * Dockerfile_deb: Do not execute the client as root user Aug 24, 2018
Dockerfile_repo * Dockerfile_deb: Do not execute the client as root user Aug 24, 2018
LICENSE.md Set copyright owner to "Nimiq Foundation" in LICENSE.md (#327) Feb 9, 2018
README.md Update README (#374) Apr 26, 2018
binding.gyp Target Generic, SSE2, AVX2 and AVX512F for nimiq_native Sep 15, 2018
gulpfile.js Update packaging tools to support the UI changes Aug 18, 2018
karma.conf.js Cleanup offline build target Apr 8, 2018
package.json Use cpuid-git to select the best variant of nimiq_native Sep 15, 2018
travis-script.sh Use cpuid-git to select the best variant of nimiq_native Sep 15, 2018
yarn.lock Use cpuid-git to select the best variant of nimiq_native Sep 15, 2018

README.md

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.