Generated and Converted Keys with any Type Foundation from Private Key [WIF Hexed Mnemonic and Binary Bytes seed] in Python
Project description
SECP256k2: A Modern Library for Elliptic Curve Cryptography
Introduction
SECP256k2 is a high-performance and easy-to-use library for working with the SECP256k1 elliptic curve. This library is meticulously designed to provide a robust set of functionalities needed for the development of secure, fast, and efficient cryptographic applications.
Features
- Optimized Performance: Leveraging optimized algorithms and efficient code structures for high-speed operations on the SECP256k1 curve.
- Comprehensive Toolset: Offering a wide array of functionalities ranging from basic arithmetic operations to advanced cryptographic protocols.
- Cross-Platform: Written in
C
&Python
, SECP256k2 is designed to be used on multiple operating systems including Windows and Linux & Mac.
Getting Started
Installation
windows with pip
pip install secp256k2
linux and Mac with pip3
pip3 install secp256k2
Usage
A quick example to get you started with SECP256k2:
from secp256k2 import Contactor
cont = Contactor()
dec = 0x00000000000000000000000000000000000000000000001
wif_compress = cont.Decimal_To_Wif(dec, True)
wif_uncompress = cont.Decimal_To_Wif(dec, False)
compressed and uncompressed bitcoin address wallet from decimal (integer).
from secp256k2 import Contactor
# added Contactor class to project script
co = Contactor()
# dec
dec = 0xffffffffffffffffffffff880000000000000
compress_address = co.Decimal_To_Addr(dec, addr_type=0, compress=True)
uncompress_address = co.Decimal_To_Addr(dec, addr_type=0, compress=False)
Convert Decimal (Number) To Ethereum Address (Maximum Range: 115792089237316195423570985008687907852837564279074904382605163141518161494337
):
from secp256k2 import Contactor
cont = Contactor()
dec_num = 1 # example , can use any range number to
# ethereum address generated from decimal number
eth_address = cont.Decimal_To_ETH_Addr(dec_num)
convert and Generated Wif Key from decimal Number:
from secp256k2 import Contactor
co = Contactor()
dec = 0xffffffffffffffffffffffffff8999999999333666666
wif_compress = co.Decimal_To_Wif(dec, True)
wif_uncompress = co.Decimal_To_Wif(dec, False)
Decimal to RIPEMD160
from secp256k2 import Contactor
co = Contactor()
dec = 0xfffffffffffffffffff99999999999
ripemd160 = co.Decimal_To_RIPEMD160(dec)
convert wif key to private key (hex):
from secp256k2 import Contactor
co = Contactor()
WIF = "WIF_KEY_HERE"
privatekey = co.Wif_To_Hex(WIF)
Convert Private Key To Wif Compressed and Uncompressed
from secp256k2 import Contactor
cont = Contactor()
privatekey = "PRIVATE_KEY_HERE"
wif_compress = cont.btc_pvk_to_wif(privatekey, True)
wif_uncompress = cont.btc_pvk_to_wif(privatekey, False)
Convert Wif to Private Key (integer/decimal):
from secp256k2 import Contactor
cont = Contactor()
wif = "WIF_KEY_HERE"
privatekey = cont.btc_wif_to_pvk_int(wif)
Convert Wif to Private Key (hex):
from secp256k2 import Contactor
cont = Contactor()
wif = "WIF_KEY_HERE"
privatekey = cont.btc_wif_to_pvk_hex(wif)
Convert Private Key (decimal) To RIPEMD160 (h160)
from secp256k2 import Contactor
cont = Contactor()
privatekey = 12345678901234567891234567891234567789
ripemd160 = cont.privatekey_to_h160(privatekey)
Convert Private Key (Decimal) To Compressed and uncompressed Address
- addr_type (int) : P2PKH =
0
, P2SH =1
, P2WPKH =2
- compress (bool) :
True
: Compress,False
: Uncompress - private key (decimal) :
0
-115792089237316195423570985008687907852837564279074904382605163141518161494337
from secp256k2 import Contactor
cont = Contactor()
privatekey = 12345678901234567891234567891234567789
address_compress = cont.privatekey_to_address(0, True, privatekey)
address_uncompress = cont.privatekey_to_address(0, False, privatekey)
Documentation
For more detailed information and advanced usage, please refer to the full documentation.
Contribution
We welcome contributions from the open-source community. If you find any issues or would like to propose enhancements, please feel free to open an issue or submit a pull request.
License
SECP256k2 is licensed under MIT. For more information, please see the LICENSE file.
Donate:
Bitcoin:1MMDRZA12xdBLD1P5AfEfvEMErp588vmF9
Programmer And Owner : PyMmdrza
official website : MMDRZA.COM
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file secp256k2-1.4.3.tar.gz
.
File metadata
- Download URL: secp256k2-1.4.3.tar.gz
- Upload date:
- Size: 6.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f3e741883336983036da976a2b9780334548d31ac8918f3ab2f715e533d040c |
|
MD5 | 2367c412ade232f4dec1a552798b5406 |
|
BLAKE2b-256 | 16a19b8ede8ca8834319128fdc7da806ee3042dbeaa72182d12a5655acfafa6d |
File details
Details for the file secp256k2-1.4.3-py3-none-any.whl
.
File metadata
- Download URL: secp256k2-1.4.3-py3-none-any.whl
- Upload date:
- Size: 6.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7027798f09acd96ae3eeea0a8ec4f069457b71618523e3851c1975e1bac3b1c0 |
|
MD5 | 5a966d467670505d38fc3aabce94cabd |
|
BLAKE2b-256 | 79edac78853f884ab520e45aa5eb15e2db74cbed82bfbabdcc5e138cde18d5b0 |