mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2024-11-20 02:11:40 +01:00
268e235b4d
Add documentation for TxBuilder Try to fix links on core/README.md add readme badges for bintray Nits and formatting of README (#23) ran scalafmt, fixed format in secp readme |
||
---|---|---|
.. | ||
natives | ||
src | ||
build.sbt | ||
README.md |
Secp256k1jni
This project gives people a conviinent way to use libsecp256k1 on the JVM without compiling natives themselves.
Currently we have support for natives on
This uses a zero depdency library called native-lib-loader
. The does the appropriate loading of the library onto your classpath to be accessed. To tell if you have access to libsecp256k1 you can do the following
sbt:root> project secp256k1jni
[info] Set current project to bitcoin-s-secp256k1jni (in build file:/home/chris/dev/bitcoin-s-core/)
sbt:bitcoin-s-secp256k1jni> console
[info] Starting scala interpreter...
Welcome to Scala 2.12.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_191).
Type in expressions for evaluation. Or try :help.
scala> import org.bitcoin.Secp256k1Context;
scala> Secp256k1Context.isEnabled()
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
res0: Boolean = true
Adding secp256k1jni to your project
To add bitcoin-s-secp256k1jni
to your project you add it like this
"org.bitcoins" % "bitcoin-s-secp256k1jni" % "0.0.1"
or with maven
<dependency>
<groupId>org.bitcoins</groupId>
<artifactId>bitcoin-s-secp256k1jni</artifactId>
<version>0.0.1</version>
</dependency>
Using secp256k1
The file NativeSecp256k1.java contains basic functionality for
- Verifying digital signatures
- Producing digital signatures
- Computing a public key from a private key
- tweaking keys
- Checking public key validity