a native library implementing secp256k1 purely for the crystal language.
APACHE-2.0 License
lib secp256k1.cr v0.5.0 is a complete rewrite of the secp256k1.cr
shard.
notables:
v
.changes:
full changelog: https://github.com/q9f/secp256k1.cr/compare/v0.3.6...v0.5.0
Published by q9f about 3 years ago
lib secp256k1.cr v0.3.6 is a service release that ensures compatibility with crystal 1.1.1.
changes:
Published by q9f over 3 years ago
lib secp256k1.cr v0.3.5 is a service release which ensures compatibility with crystal 0.36.1.
changes:
Published by q9f about 4 years ago
lib secp256k1.cr v0.3.4 is a service release which ensures compatibility with crystal 0.35.1.
changes:
Published by q9f over 4 years ago
lib secp256k1.cr v0.3.3 is a service release which ensures compatibility with crystal 0.35.0.
changes:
Published by q9f over 4 years ago
lib secp256k1.cr v0.3.2 is a service release which ensures compatibility with crystal 0.34.0.
changes:
Published by q9f over 4 years ago
lib secp256k1.cr v0.3.1 is a service release which ensures compatibility with crystal 0.33.0.
changes:
Published by q9f over 4 years ago
this minor release improves stability. the following api renames shall be noted:
EC_Point
is now ECPoint
ECDSA_Signature
is now ECDSASignature
_string
are renamed now overloadable with String
changes:
Published by q9f almost 5 years ago
this feature release improves keypair and account management by introducing data structures for
Secp256k1::Keypair
Secp256k1::Bitcoin::Account
Secp256k1::Ethereum::Account
Secp256k1::Ethereum::Enode
changes:
Published by q9f almost 5 years ago
this release significantly improves the documentation at https://q9f.github.io/secp256k1.cr/ and applies some minor enhancements to the exposed apis of the library, namely:
Secp256k1::Bitcoin.wif_from_private_uncompressed
wrapper for uncompressed wifSecp256k1::Bitcoin.wif_compressed_from_private
to .wif_from_private_compressed
BigInt
instead of a String
literals wherever possible, e.g., Secp256k1::Bitcoin.address_from_private
or Secp256k1::Ethereum.address_from_private
EC_PARAM_PRIME
to EC_PRIME_P
BASE_57
in favor of BASE_56
by removing the o
from the alphabet as recommended by the Bitcoin Wiki.Bytes
instead of String
literals, e.g., Secp256k1::Hash.sha3
, .sha256
, .keccak256
, .ripemd160
Secp256k1::Hash.ripemd160_string
for RIPEMD-160 hashes on String
literals to complement .sha3_string
, .sha256_string
, and .keccak256_string
Secp256k1::Hash.base58_char
to complement .base56_char
prime
through Secp256k1::Util.restore_public_key
changes:
Published by q9f almost 5 years ago
this release refactors the entire library and entangles some of the submodules exposed by the library.
this library now exposes the following modules (in logical order):
Secp256k1
: necessary constants and data structuresSecp256k1::Core
: the entire core mathematics behind the elliptic curve cryptographySecp256k1::Util
: all tools for the handling of private-public key-pairsSecp256k1::Hash
: implementation of various hashing algorithms for convenienceSecp256k1::Signature
: allows for signing messages and verifying signaturesSecp256k1::Bitcoin
: for the generation of bitcoin addressesSecp256k1::Ethereum
: for the generation of ethereum addressesdocs are now published on github pages: q9f.github.io/secp256k1.cr
changes:
Published by q9f almost 5 years ago
this is a feature release that allows for basic ecdsa signature generation and verification.
changes:
Published by q9f almost 5 years ago
this is a feature release that allows for retrieving bitcoin addresses from wallet import format by honoring the compressed byte.
changes:
Published by q9f almost 5 years ago
this is a feature release that allows for generation of mini private keys and proper handling of bitcoin's wallet import format.
changes:
Published by q9f almost 5 years ago
this is a feature release that allows for generation of bitcoin and ethereum addresses.
changes:
Published by q9f almost 5 years ago
this is a feature release adding the ability to encode and decode the different public key formats
changes:
Published by q9f almost 5 years ago
this is a bugfix release that improves performance and stability.
changes:
Published by q9f almost 5 years ago
initial release for the secp256k1 crystal library
containing:
Secp256k1::
key functions for ec_mul
, ec_add
, ec_double
, and ec_mod_inv
#1EC_Point
#1