Thanks!
đź”” This profile hasn't been claimed yet. If this is your Nostr profile, you can claim it.
Edit
Thanks!
Hi!
There’s a Nostr workshop in Santa Cruz this month. I’ll probably do it there…
Assuming, of course, that you are running Nix.
Getting started with secp256k1-jdk in a note!
To run the Schnorr Signature example with JVM: nix run github:msgilligan/secp256k1-jdk-flake#secp256k1-jdk To run it the natively-compiled version: nix run github:msgilligan/secp256k1-jdk-flake#secp256k1-jdk-native If you want to play with source, do: nix shell nixpkgs#jbang enter the below code into a file named SecpEcdsa.java and then `jbang SecpEcdsa.java`. (Schnorr sig is little trickier to run in JBang because you need libsecp256k installed, but the flakes above handle it.) —— ///usr/bin/env jbang "$0" "$@" ; exit $? //JAVA 17+ //REPOS mavencentral, secpjdk=https://gitlab.com/api/v4/projects/55956336/packages/maven //DEPS org.bitcoinj.secp:secp-bouncy:0.2 import org.bitcoinj.secp.*; byte[] message = sha256("Hello World!"); void main() { IO.println("secp256k1-jdk ECDSA Sample"); try (Secp256k1 secp = Secp256k1.getById("bouncy-castle")) { var pair = secp.ecKeyPairCreate(); var sig = secp.ecdsaSign(message, pair).get(); var isValid = secp.ecdsaVerify(sig, message, pair.publicKey()).get(); IO.println("Valid ECDSA signature = " + isValid); } } byte[] sha256(String message) { try { return MessageDigest.getInstance("SHA-256").digest(message.getBytes()); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); // Can't happen. } } ——
The best tech is usable tech!
Next week!
I really need to start posting here.
Developer at bitcoinj.org, ConsensusJ