Skip to content

Commit

Permalink
New realease
Browse files Browse the repository at this point in the history
  • Loading branch information
nordicenergy committed Mar 26, 2020
1 parent f498baa commit 7237fe6
Show file tree
Hide file tree
Showing 2,253 changed files with 552,352 additions and 176,778 deletions.
9 changes: 8 additions & 1 deletion 3RD-PARTY-LICENSES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -101,4 +101,11 @@ JavaFX WebView debugger:

JavaFX WebView debugger https://github.com/mohamnag/javafx_webview_debugger
is licensed under the MIT license:
https://github.com/mohamnag/javafx_webview_debugger/blob/master/LICENCE
https://github.com/mohamnag/javafx_webview_debugger/blob/master/LICENCE


Apache Commons:

Apache Commons CLI https://commons.apache.org/proper/commons-cli/ and Apache
Commons Math http://commons.apache.org/proper/commons-math/ are licensed under
the Apache License 2.0: http://www.apache.org/licenses/LICENSE-2.0
46 changes: 23 additions & 23 deletions DEVELOPERS-GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,24 @@
- create pull requests
- review pull requests
- help users on issues
- ask us, the dev team
- mail us at [email protected]

----
## Tools and Tips ##
### Usable URLs ###

- **API** - http://localhost:7876/test
- **DB Interface** - http://localhost:7876/dbshell
- **Java Class Browser** - http://localhost:7876/doc
- **API** - http://localhost:27876/test
- **DB Interface** - http://localhost:27876/dbshell
- **Java Class Browser** - http://localhost:27876/doc

### Database ###

- H2 embedded database
- main database: `nxt_db/`
- test database: `nxt_test_db/`
- unit tests database: `nxt_unit_test_db/`
- the database directories do not contain user specific data and can be safely deleted
- but no need to delete them on upgrade, the DbVersion code takes care of schema updates
- use the nxt.db framework when accessing the database from your code

----
## Coding Process ##
Expand All @@ -35,7 +35,7 @@
- [Vincent Driessen's Branching Model](http://nvie.com/posts/a-successful-git-branching-model/)
- **tl;dr:**
- master is release branch
- develop is maintained by Jean-Luc
- develop is for integration and testnet
- feature/abc is yours

### Design ###
Expand All @@ -56,10 +56,10 @@

### Testing ###

- [to be filled by Lior, kushti]
- all API calls can be tested manually from the auto-generated http://localhost:7876/test page
- all API calls can be tested manually from the auto-generated http://localhost:27876/test page
- many tests need blocks to be generated, see the examples how to fake the forging process
- write your tests against the http API or the public java API, which are relatively stable
- review existing unit tests

### Documentation ###

Expand Down Expand Up @@ -149,18 +149,18 @@ For providing new translation strings on the platform for the community to trans

### Mobile App ###

The NXT wallet UI run as a mobile app.

To build the Android APK application follow these steps (Tested on Windows 7 64 bit):
1. Install node.js (tested with Node 4.4.7 and npm 2.15.8), Apache Cordova (tested with Cordova 6.3.1) - see https://cordova.apache.org/
2. Install Android SDK Manager (tested with version 25.2.2) - follow the guidelines regarding necessary USB device drivers and modules to install
3. Make sure the commands: node, npm and cordova are available from the command prompt
4. On Windows make sure the adb.exe is in your search path (c:\Users\<Username>\AppData\Local\Android\sdk\platform-tools), probably also required on Linux
5. Special care should be taken in order to work without root privileges on Linux and Mac (the current procedure assumes Windows administrator permissions), we recommend that you work with root privileges initially.
6. Under the <NXTRoot>\mobile\app folder execute the command:
createapp.bat
See that the process completes without errors and that a default Cordova application is deployed to your connected mobile device or the Android emulator

7. To run the app invoke runapp.bat and to update the app resources after making changes to the web wallet use the updateapp.bat

8. Debug the application on the device or emulator using Chrome desktop development tools, open the options menu, more tools --> Inspect Devices choose the device and click inspect
The Ardor wallet UI run as a mobile app.

To build the Android APK application follow these steps (Tested on Windows 10 64 bit):
1. Install node.js (tested with Node v8.11.3 and npm 5.6.0), Apache Cordova (tested with Cordova 8.1.1 ([email protected])) - see https://cordova.apache.org/
2. Install Android SDK Manager (tested with Android Studio 3.2) - follow the guidelines regarding necessary USB device drivers and modules to install to connect a physical mobile device or use the AVD Manager to setup an emulator.
2.1 Use the SDK Manager utility to download the necessary dependencies. Make sure to always accept the licenses.
3. Make sure the commands: node, npm, cordova are available from the command prompt.
4. On Windows make sure the adb.exe is in your search path (c:\Users\%Username%\AppData\Local\Android\sdk\platform-tools), probably also required on other platforms.
5 To generate icons and splash screens:
5.1 Install imagemagick https://www.imagemagick.org and check "install legacy utilities (e.g. convert)" in the "Select Additional Tasks" panel
5.2 Install node packages cordova-icon and cordova-splash
6. Under the <NXTRoot>\mobile\app folder execute the command: createapp.bat, see that all the plugins dependencies are downloaded and that the process completes without errors. If necessary adjust the plugin dependencies in
./html/config.xml this file is copied to the wallet folder by the script.
7. To run the app invoke the command: runapp.bat, to update the app resources after making changes to the web wallet use updateapp.bat
8. Debug the application on the device or emulator using Chrome desktop development tools, open the options menu, more tools --> Remote Devices choose the device and click "Inspect"
86 changes: 51 additions & 35 deletions LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ Copyright © 2013-2016 The Nxt Core Developers.
Copyright © 2016-2019 Jelurida IP B.V.

This program is distributed under the terms of the Jelurida Public License
version 1.1 for the Nxt Public Blockchain Platform.
version 1.2 for the Ardor Public Blockchain Platform.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Please contact Nordic Energy. at [email protected] for commercial licensing
Please contact Jelurida B.V. at [email protected] for commercial licensing
options if the Jelurida Public License does not fit your private blockchain
needs.

Expand All @@ -20,7 +20,7 @@ This software also uses third party code and libraries, distributed under
licenses described in 3RD-PARTY-LICENSES.txt.

Below is the full text of the Jelurida Public License version 1.1 for
the Nxt Public Blockchain Platform:
the Ardor Public Blockchain Platform:


JELURIDA PUBLIC LICENSE
Expand Down Expand Up @@ -88,7 +88,7 @@ Public License and any other license terms and conditions other than this JPL
are explicitly excluded.


JPL version: 1.1
JPL version: 1.2


Article 0. Definitions:
Expand Down Expand Up @@ -288,6 +288,11 @@ way distributes tokens to its users. The specific percentage of the airdrop
and the tokens to which it applies, which may also depend on how the new DLT
Instance relates to the original one, are defined in the Special Conditions.

3.4.2 For the avoidance of doubt, satisfying the requirements of article 3.4.1
for another work (i.e. a different DLT Instance) of the same or different
copyright holder, released under the JPL, does not give permission of copying
or porting any code from this one and vice versa.

3.5 All other provisions, designated in the Special Conditions and consistent
with the specific requirements arising from the architecture of each particular
decentralized ledger/consensus platform, are observed as well.
Expand Down Expand Up @@ -466,73 +471,83 @@ of liability accompanies a copy of the Covered Work in return for a fee.

II. Special Conditions

Article 0. The Copyright Holder of the Nxt Reference Software (NRS) is Jelurida
IP B.V.
Article 0. The Copyright Holder of the Ardor Software is Jelurida IP B.V.


Article 1. The airdrop requirement of Article 3.4.1 of the General Conditions,
as related to the Nxt Reference Software (NRS) is the following:
as related to the Ardor Software is the following:

1.1 The NXT holders from the original Nxt Public Blockchain Platform as
maintained by Jelurida Swiss SA must be allocated at least 10% (ten percent) of
the forging tokens in the new DLT Instance, proportional to their NXT holdings,
1.1 The IGNIS holders from the original Ardor Public Blockchain Platform as
maintained by Jelurida Swiss SA must be allocated at least 10% (ten percent)
of the forging tokens in the new DLT Instance, proportional to their IGNIS
holdings,

OR

1.2 The forging token holders from a DLT Instance which is based on the NRS that
has already satisfied the JPL airdrop requirement, are allocated 100% (one
hundred percent) of the forging tokens in that new DLT Instance, proportional to
their forging token holdings.
1.2 The ARDR holders from the original Ardor Public Blockchain Platform as
maintained by Jelurida Swiss SA, or the forging token holders from a DLT
Instance which is based on the Ardor Software that has already satisfied the
JPL airdrop requirements, are allocated 100% (one hundred percent) of the
forging tokens in that new DLT Instance, proportional to their forging token
holdings.

The first case covers clones of the Ardor platform, and ensures that IGNIS
owners will receive an airdrop from any such clone launched in the future, or
any existing Nxt clone that decides to either migrate to the Ardor Source Code
or copy or backport code from it.

The first case covers clones and forks of the Nxt platform, and ensures that NXT
owners will receive an airdrop from any such clone or fork launched in the
future, or any existing Nxt clone that decides to upgrade to this NRS version or
copy or backport code from it.
The second case is to cover forks, including forks of Ardor clones, as by
definition at the time of the hard fork all accounts start with the same
balances on either fork, and it would be difficult to make a hard fork satisfy
the first condition. In the case of an Ardor platform clone which undergoes a
fork, the original IGNIS holders who received the airdrop would still have the
same balances on either fork.

The second case is to cover forks of Nxt clones which have already satisfied the
JPL airdrop, as by definition at the time of the hard fork all accounts start
with the same balances on either fork, and it would be difficult to make a hard
fork satisfy the first condition. The Nxt holders who received the airdrop
would still have the same balances on either fork.

Article 2.

Article 2. In both cases (Articles 1.1 or 1.2 of the Special Conditions), token
2.1 In both cases (Articles 1.1 or 1.2 of the Special Conditions), token
holdings must be calculated based on a snapshot taken not earlier than 3 months
before the launch of the new DLT Instance. For a new DLT Instance, the snapshot
should also be taken not later than 24 h before the launch, to avoid the
uncertainty due to the 720 blocks rolling checkpoint.

2.2 The airdrop, and the fact that it is being done in order to satisfy this
license, should be clearly announced in any places or media that describe the
distribution of the tokens of the new DLT Instance, at least one month before
the snapshot date.


Article 3.

3.1 There should be under no circumstances any restrictions or any type of
discrimination against accounts receiving tokens as an airdrop.

3.2 If token distribution must be restricted by some criteria that not all
existing NXT holders can potentially satisfy, a specific exemption from the full
JPL airdrop requirements must be obtained in advance. The Copyright Holder
existing IGNIS holders can potentially satisfy, a specific exemption from the
full JPL airdrop requirements must be obtained in advance. The Copyright Holder
reserves the right to not grant such exemption, or to require a commercial
license in such situations, to be decided on a case by case basis.

3.3 As internal (private) use of Nxt software for evaluating and testing
3.3 As internal (private) use of Ardor software for evaluating and testing
purposes cannot satisfy the JPL airdrop requirement, any such use will also
require an evaluation license agreement with the Copyright Holder if it lasts
longer than 3 months.

3.4 Nothing in this license shall be understood as giving NXT token holders the
right to hold the Licensor, its affiliate parties, or sublicensors, liable in
case the NXT holders do not obtain any airdrop, or liable for not taking action
to enforce the airdrop requirement, or for not observing, verifying or
3.4 Nothing in this license shall be understood as giving IGNIS token holders
the right to hold the Licensor, its affiliate parties, or sublicensors, liable
in case the IGNIS holders do not obtain any airdrop, or liable for not taking
action to enforce the airdrop requirement, or for not observing, verifying or
monitoring the compliance with any airdrop. The Licensor also retains the right
to change the percentage of the airdrop requirement in Article 1.1 or to
completely eliminate this airdrop requirement at any time.


Article 4. DLT Instances that by design do not use a fixed number of tokens
issued all at once, or that have substituted the proof-of-stake algorithm with a
different one and as a result do not use forging tokens, have to contact the
Copyright Holder for a custom license agreement. However the Copyright Holder is
in no way obliged to provide such a custom license.
issued all at once, or that have substituted the proof-of-stake algorithm with
a different one and as a result do not use forging tokens, have to contact the
Copyright Holder for a custom license agreement. However the Copyright Holder
is in no way obliged to provide such a custom license.


Article 5. Interpretation
Expand All @@ -554,3 +569,4 @@ of the Netherlands. Any and all disputes arising out of or in connection with
this License, the documents related to it and any agreement that incorporates
any of these shall be exclusively referred to the competent court in Amsterdam,
the Netherlands.

15 changes: 5 additions & 10 deletions OPERATORS-GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
# OPERATORS GUIDE #

----
## How to verify the NRS? ##
Releases are signed by Jean-Luc using [GPG](https://en.wikipedia.org/wiki/GNU_Privacy_Guard). It is **highly** recommended to verify the signature every time you download new version. [There are some notes](https://bitcointalk.org/index.php?topic=345619.msg4406124#msg4406124) how to do this. [This script](https://github.com/nxt-ext/nxt-kit/blob/master/distrib/safe-nxt-download.sh) automates this process on Linux.
## How to verify the Guardian Software package? ##
Releases are signed by Jelurida using [GPG](https://en.wikipedia.org/wiki/GNU_Privacy_Guard). It is **highly** recommended to verify the signature every time you download new version. [There are some notes](https://bitcointalk.org/index.php?topic=5164586.0) how to do this. [This script](https://github.com/nxt-ext/-kit/blob/master/distrib/safe-nxt-download.sh) automates this process on Linux.

----
## How to configure the NRS? ##
## How to configure Guardian? ##

- config files under `conf/`
- options are described in config files
Expand All @@ -15,14 +15,9 @@
- only deviations from default config

----
## How to update the NRS? ##
## How to update Guardian? ##

- **if configured as described above**, just unpack a new version over the existing installation directory
- next run of NRS will upgrade database if necessary
- next run of Ardor will upgrade database if necessary

----

## How to manage multiple NRS-nodes? ##
Check [Nxt-Kit's homepage](https://github.com/nxt-ext/nxt-kit) for more information.

----
Loading

0 comments on commit 7237fe6

Please sign in to comment.