You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need to assemble the structure of repository: /github.com/hashgraph/hedera-cryptography
This is a separate repository for hosting cryptography-related libraries. It is necessary to facilitate our build process, which includes Rust libraries. It also provides independent release cycles between consensus and block node codes.
Its current content should be replaced by the following structure:
swirlds-native-support: Gradle module that enables loading into memory compiled native libraries to be used with JNI. swirlds-crypto-signatures: Gradle module for the Bilinear Pairings Signature Library. swirlds-crypto-pairings-api: Gradle module for the Bilinear Pairings API. Minimizes the impact of adding or removing implementations. swirlds-crypto-altbn128: Gradle module that will implement the Bilinear Pairings API using alt-128 elliptic curve. That curve has been chosen due to EVM support. The arkworks rust library will provide the underlying cryptography implementation. The module will include Java and Rust codes that will be compiled for all possible system architectures and distributed in a jar under a predefined structure.
Build logic should be similar to hedera-services except for swirlds-crypto-altbn128
swirlds-crypto-altbn128
This module will be a multilanguage module following the structure:
Rust code will be compiled first and the build process will create the following folder structure where binaries files will be placed and then distributed.
They will be arranged by platform identifier, as returned by System.getProperty("os.name") and System.getProperty("os.arch").
resources/software
├── LIBRARY_VERSION (Contains the version number or information for the original native library)
├── darwin
│ ├── amd64
│ │ ├── native_lib.dylib **
│ │ └── jni_bindings.dylib
│ └── arm64
│ │ ├── native_lib.dylib **
│ │ └── jni_bindings.dylib
├── linux
│ ├── amd64
│ │ ├── native_lib.so **
│ │ └── jni_bindings.so
│ ├── arm
│ │ ├── native_lib.so **
│ │ └── jni_bindings.so
│ └── arm64
│ │ ├── native_lib.so **
│ │ └── jni_bindings.so
└── windows
└── amd64
├── native_lib.dll **
└── jni_bindings.dll
** NOTE: native_lib is only required if not statically linked to the native JNI binding library
The text was updated successfully, but these errors were encountered:
mxtartaglia-sl
changed the title
Move the Hedera Crypto Module API to its own gradle module
Create Hedera Crypto Repository and necessary gradle modules
Jun 7, 2024
mxtartaglia-sl
changed the title
Create Hedera Crypto Repository and necessary gradle modules
Organize Hedera-Cryptography Repository and create necessary gradle modules
Jun 25, 2024
mxtartaglia-sl
changed the title
Organize Hedera-Cryptography Repository and create necessary gradle modules
Organize Hedera-Cryptography Repository and create necessary gradle modules and plugins
Jul 1, 2024
We need to assemble the structure of repository: /github.com/hashgraph/hedera-cryptography
This is a separate repository for hosting cryptography-related libraries. It is necessary to facilitate our build process, which includes Rust libraries. It also provides independent release cycles between consensus and block node codes.
Its current content should be replaced by the following structure:
swirlds-native-support: Gradle module that enables loading into memory compiled native libraries to be used with JNI.
swirlds-crypto-signatures: Gradle module for the Bilinear Pairings Signature Library.
swirlds-crypto-pairings-api: Gradle module for the Bilinear Pairings API. Minimizes the impact of adding or removing implementations.
swirlds-crypto-altbn128: Gradle module that will implement the Bilinear Pairings API using alt-128 elliptic curve. That curve has been chosen due to EVM support. The arkworks rust library will provide the underlying cryptography implementation. The module will include Java and Rust codes that will be compiled for all possible system architectures and distributed in a jar under a predefined structure.
Build logic should be similar to hedera-services except for swirlds-crypto-altbn128
swirlds-crypto-altbn128
This module will be a multilanguage module following the structure:
Generated resources folder structure
Rust code will be compiled first and the build process will create the following folder structure where binaries files will be placed and then distributed.
They will be arranged by platform identifier, as returned by
System.getProperty("os.name")
andSystem.getProperty("os.arch")
.The text was updated successfully, but these errors were encountered: