Skip to content

Latest commit

 

History

History

core

NEM Core

Build Status

This Java package provides the cryptographic and serialization base methods used by NEM nodes. To deploy a complete node please examine the build script.

Package Organization

The main folders are:

Folder Content
org.nem.core.async Utilities for working with asynchronous timers.
org.nem.core.connect HTTP connection handling.
org.nem.core.crypto Hashing, key management, signing and verification.
org.nem.core.function Generic functional prototypes.
org.nem.core.i18n Handling of Unicode (UTF8) files.
org.nem.core.math Linear algebra matrix and vector utilities.
org.nem.core.messages Implementation of plain and encrypted transfer messages.
org.nem.core.metadata Application metadata handling and embedding into JAR files.
org.nem.core.model Basic data types for transactions and states.
org.nem.core.node Basic data types for node information.
org.nem.core.serialization Binary and JSON (de)serialization implementations and utilities.
org.nem.core.time Basic data types for time synchronization.
org.nem.core.utils Other utilities like collections or encoders.

Building the package

The package uses Apache Maven and minimum required Java SDK version to build is Java 11.

Please make sure that the Java version is 11+ by running the following command:

java -version
# openjdk version "11.0.2" 2019-01-15

Then build and install the package as usual:

mvn install

Then check that unit tests are passing by running:

mvn test

Optionally, check if the slower integration tests are passing by running:

mvn failsafe:integration-test

Coding style

If you want your changes to be considered for inclusion in the repository (see CONTRIBUTING.md), they must addhere to the coding style. You can check that the coding style and format are correct by running:

mvn spotless:check

If there is any problem, you can try to fix it automatically using:

mvn spotless:apply

Contributing

Before contributing please read the CONTRIBUTING instructions.

Getting Help

License

Copyright (c) 2014-2021 NEM Contributors, licensed under the MIT license.