Nimiq is a frictionless payment protocol for the web.
For a high-level introduction checkout the Nimiq White Paper.
Check out our betanet Browser Miner.
- Clone this repository
git clone https://github.com/nimiq-network/core. - Run
npm installoryarn - Run
npm run buildoryarn build - Open
clients/browser/index.htmlin your browser to access the Browser Client.
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 use our CDN:
<script src="https://cdn.nimiq.com/core/nimiq.js"></script>
Open clients/browser/index.html in your browser.
To run a NodeJs Client you will need a publicly routable IP, Domain and SSL Certificate (get a free one at letsencrypt.org). Start the client by running clients/nodejs/index.js.
cd clients/nodejs/
node index.js --host <hostname> --port <port> --key <privkey> --cert <certificate>| Argument | Description |
|---|---|
| host | Hostname of the NodeJs client. |
| port | Port used to communicate with the peers. |
| key | Private key for the client |
| cert | SSL certificate of your Domain. |
| wallet-seed | Your wallet seed (optional) |
Just include <script src="dist/nimiq.js"></script> in your project.
Visit the API Documentation.
Developers are free to choose between npm and yarn for managing the dependencies.
-
NodeJs latest version (> 7.9.0)
-
Dependencies:
npm install -
NodeJs dependencies:
cd src/main/platform/nodejs/ npm install cd clients/nodejs/ npm install
-
NodeJs latest version (> 7.9.0)
-
Dependencies:
yarn -
NodeJs dependencies:
cd src/main/platform/nodejs/ yarn cd clients/nodejs/ yarn
npm testoryarn testruns browser and NodeJS tests.npm run test-browseroryarn test-browserruns the testsuite in your browser only.npm run test-nodeoryarn test-noderuns the testsuite in NodeJS only.
npm run lint or yarn lint runs the ESLint javascript linter.
Executing npm run build or yarn build concatenates all sources into dist/{web,web-babel,web-crypto,node}.js
A Dockerfile is provided which allows for creating your own backbone image using the following arguments.
| Argument | Description |
|---|---|
| BRANCH | Defaults to master but can be any available git branch |
| PORT | Defaults to TCP port 8080 |
| DOMAIN | Domain to be used for hosting the backbone node |
| KEY | Path to an existing certificate key for the DOMAIN |
| CRT | Path to an existing signed certificate for the DOMAIN |
| WALLET_SEED | Pre-existing wallet private key |
docker build \
--build-arg DOMAIN=<DOMAIN> \
--build-arg BRANCH=<BRANCH> \
--build-arg WALLET_SEED=<WALLET_SEED> \
--build-arg KEY=<KEY> \
--build-arg CRT=<CRT> \
--build-arg PORT=<PORT> \
-t nimiq .
docker run -d -p 8080:8080 -v /etc/letsencrypt/:/etc/letsencrypt/ --name "nimiq" nimiq
Note that you can override any of the arguments which were baked into the image at runtime with exception to the BRANCH. The -v flag here allows for mapping a local system path into the container for the purpose of using the existing DOMAIN certificates.
docker logs -f <instance_id_or_name>
If you'd like to contribute to development Nimiq please follow our Code of Conduct and Contributing Guidelines.
This project is under the Apache License 2.0.