Package org.bitcoinj.secp.ffm


package org.bitcoinj.secp.ffm

Implementation of org.bitcoinj.secp using libsecp256k1 and Java Foreign Function & Memory API.

libsecp256k1 is described as:

High-performance high-assurance C library for digital signatures and other cryptographic primitives on the secp256k1 elliptic curve.

Foreign Function & Memory (FFM), nicknamed Panama, allows Java programs to "efficiently invoke foreign functions and safely access foreign memory." FFM is a "concise, readable, and pure-Java API" that replaces the earlier Java Native Interface (JNI.)

FFM was introduced with Java 22 and org.bitcoinj.secp.ffm (currently) requires JDK 23 or later -- the 1.0 release of org.bitcoinj.secp.ffm will require JDK 25 LTS or later. org.bitcoinj.secp.ffm is the recommended implementation of org.bitcoinj.secp for applications running on recent JDK versions and platforms supported by libsecp256k1.