{"repo":"nbd-wtf/dart-bip340","free":true,"listed":false,"github":"https://github.com/nbd-wtf/dart-bip340","clone":"git clone https://github.com/nbd-wtf/dart-bip340.git","description":"naïve implementation of BIP-340 Schnorr Signatures in Dart","language":"Dart","stars":14,"topics":["bitcoin","nostr","schnorr","schnorr-signatures","taproot"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"bip340 ====== Implements basic signing and verification functions for the BIP-340 Schnorr Signature Scheme. It passes the tests attached to the BIP ( dart test to run that), but no guarantees are made of anything and this is not safe cryptography , do not use to store Bitcoins. Provides these functions: 1. String sign(String privateKey, String message, String aux) Generates a schnorr signature using the BIP-340 scheme. privateKey must be 32-bytes lowercase hex-encoded, i.e., 64 characters. message must also be lowercase hex-encoded (a hash of the actual message). aux must be 32-bytes random bytes, generated at signature time. Returns the signature as a string of 64 bytes hex-encoded, i.e., 128 characters. 2. bool verify(String publicKey, String message, String signature) Verifies a schnorr signature using the BIP-340 scheme. publicKey must be 32-bytes lowercase hex-encoded, i.e., 64 characters (if you have a pubkey with 33 bytes just remove the first one). message must also be lowercase hex-encoded (a hash of the actual message). signature must be 64-bytes lowercase hex-encoded, i.e., 128 characters. Returns true if the signature is valid, false otherwise. 3. String getPublicKey(String privateKey) Produces the public key from a private key privateKey must be a 32-bytes hex-encoded string, i.e. 64 characters. Returns a public key as also 32-bytes hex-encoded. Made for integration with Nostr.","default_branch":null,"files":null,"tree":[],"storefront":"/r/nbd-wtf","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/nbd-wtf/dart-bip340/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}