blst-bindings-java provides a thin Java package for supranational/blst — SWIG-generated wrappers only, no bundled native libraries. The native library is built from source on the target system giving full control over CPU optimizations, compiler flags, and security patches.
The Waves node requires BLS12-381 operations. Existing Maven packages bundle pre-built native libraries that crash on older CPUs without BMI2/ADX (e.g. Intel Atom). This package ships only Java wrappers — the native library is built from source on the target machine, so it always matches the CPU.
bash build.shMissing dependencies (swig, gcc, g++, default-jdk) are installed automatically via apt-get.
bash build.sh
bash verify.shExpected output:
BLS12-381 keygen: OK
BLS12-381 sign: OK
BLS12-381 verify: OK
CI:
- All tests run in GitHub Actions on every push and on tag releases.
- Linux (amd64)
- Java 11 or higher
This project is licensed under the MIT License - see the LICENSE file for details.
Dmitrii Pichulin (@deemru)
- supranational/blst - Upstream BLS12-381 library