NCC is the initial client provided with NEM. It provides a web interface for managing wallets and interacting with the NEM Infrastructure Server (NIS).
There are two NCC maven packages:
- nem-client-api: Contains all NCC functionality as well as the web UX.
- nem-monitor: Monitors NCC and local NIS, provides visual feedback on actual status of those apps.
There two more packages
- nem-client-download: Used by WebStart to download NCC and NIS. (deprecated, switched to installer version)
- nem-console: A command-line tool providing utility functionality.
nem.core is required to build NCC. Most recent version, can be found here nem.core documentation can be found here
In order to run the client with full functionality, a NEM Infrastructure Server (NIS) instance should be running on the local machine.
The NCC client can be started by running the org.nem.deploy.CommonStarter class.
The monitor programm is started via org.nem.monitor.NemMonitor
The NCC API is available as a swagger.json file here.
A rendered version is available here.
(The deprecated version of the NCC REST API can be found here).
The javadoc documentation can be created via the maven goal "javadoc:javadoc" on the project "nem-client-api".
NCC is fully open-sourced and looking for contributors. Please take a fork and add a feature :).
The NEM core development team will be managing pull requests into master. Please try to follow the guidelines outlined here.
Please use the intellij settings checked in under settings/nem_project_settings.jar. A non-comprehensive list of style guidelines follow, but the checked in settings should take precedence.
- Use lowerCamelCase.
- Prefix booleans with "is" / "has" / "are".
- Precede access of instance members with "this.".
- Camel case acronyms at least three letters (i.e. prefer "Nis" to "NIS").
- Always use braces (even for single line statement bodies).
- Follow '}' with a blank line.
- Do not precede '}' with a blank line.
- Wildcard import package if more than one class is used from a package.
- Sort imports alphabetically.
- Document all public and protected members.
- Getter documentation should start with "Gets".
- All documentation should start with capital letter and end with period (for members documentation too).
- Try to avoid testing composite classes.
- Use Act / Arrange / Assert.
- Use the final keyword aggressively.
- Avoid the use of trailing whitespace.
- Keep functions short and understandable :).
- Do not introduce consecutive blank lines.