# fast-curve
`ctypes` implementation for bitcoin curve `secp256k1`. It is 100 times faster than pure python implementation and may be even faster if used in lower level development languages.
# Dependencies
## Ubuntu
```shell
sudo apt-get install python3-dev libgmp3-dev libgmp3
```
## Windows
Download [Msys2](https://www.msys2.org) and [install](https://www.msys2.org/#installation)
it into `C:\Msys` folder, run `MSYS2` and execute:
```bash
pacman -Syu
```
Download [libgmp](https://gmplib.org/) archive and extract it into `C:\Msys\home\{USER}`
folder. Then, runing MSYS2 from libgmp root folder execute:
```bash
./condigure
make
make check
make install
```
Use `C:\Msys\mingw64\python.exe` to run install command. The built package
can be moved into any python 3.x distribution path.
# install command
```shell
python -m pip install git+https://github.com/Moustikitos/fast-curve.git
```
For **Windows users**, a built package is available
[here](https://github.com/Moustikitos/fast-curve/raw/master/download/cSecp256k1-1.1.1-win64.7z).
Exctract content anywhere in python path defined by `sys.path`.
# Versions
## 1.1.2
- [x] typing update
## 1.1.1
- [x] exclusive use of `hash_sha256_s` in `schnorr.c`
## 1.0.6
- [x] bugfix in `bcrypto410_*` schnorr signature
## 1.0.5
- [x] minor C code tweaks
- [x] minor `setup.py` module tweaks
## 1.0.4
- [x] C code improvement
- [x] code coverage improvement
- [x] pydoc-markdown documentation added
## 1.0.3
- [x] ecdsa signature support
- [x] bcrypto 4.10 schnorr signature support
- [x] [BIP0340 sipa](https://github.com/sipa/bips/tree/3b1fb9600b938172dd98a63e4906a861af9c3ab0/bip-0340) shnorr signatures support
## Support this project
<!-- [![Liberapay receiving](https://img.shields.io/liberapay/goal/Toons?logo=liberapay)](https://liberapay.com/Toons/donate) -->
[![Paypal me](https://img.shields.io/badge/PayPal-toons-00457C?logo=paypal&logoColor=white)](https://paypal.me/toons)
[![Bitcoin](https://img.shields.io/badge/Donate-bc1q6aqr0hfq6shwlaux8a7ydvncw53lk2zynp277x-ff9900?logo=bitcoin)](https://github.com/Moustikitos/python-mainsail/blob/master/docs/img/bc1q6aqr0hfq6shwlaux8a7ydvncw53lk2zynp277x.png)
Raw data
{
"_id": null,
"home_page": "https://github.com/Moustikitos/fast-curve",
"name": "cSecp256k1",
"maintainer": "Toons",
"docs_url": null,
"requires_python": null,
"maintainer_email": "moustikitos@gmail.com",
"keywords": "ctypes, curve, bitcoin",
"author": "Toons",
"author_email": "moustikitos@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/cc/c4/1e06dc354bb20a7be8e4f4b525e38d89eacb6046c901e5bbe4beb6a8a78b/cSecp256k1-1.1.2.tar.gz",
"platform": null,
"description": "# fast-curve\n\n`ctypes` implementation for bitcoin curve `secp256k1`. It is 100 times faster than pure python implementation and may be even faster if used in lower level development languages.\n\n\n# Dependencies\n\n## Ubuntu\n\n```shell\nsudo apt-get install python3-dev libgmp3-dev libgmp3\n```\n\n## Windows\n\nDownload [Msys2](https://www.msys2.org) and [install](https://www.msys2.org/#installation)\nit into `C:\\Msys` folder, run `MSYS2` and execute:\n\n```bash\npacman -Syu\n```\n\nDownload [libgmp](https://gmplib.org/) archive and extract it into `C:\\Msys\\home\\{USER}`\nfolder. Then, runing MSYS2 from libgmp root folder execute:\n\n```bash\n./condigure\nmake\nmake check\nmake install\n```\n\nUse `C:\\Msys\\mingw64\\python.exe` to run install command. The built package\ncan be moved into any python 3.x distribution path.\n\n# install command\n\n```shell\npython -m pip install git+https://github.com/Moustikitos/fast-curve.git\n```\n\nFor **Windows users**, a built package is available\n[here](https://github.com/Moustikitos/fast-curve/raw/master/download/cSecp256k1-1.1.1-win64.7z).\nExctract content anywhere in python path defined by `sys.path`.\n\n# Versions\n\n## 1.1.2\n - [x] typing update\n\n## 1.1.1\n - [x] exclusive use of `hash_sha256_s` in `schnorr.c`\n\n## 1.0.6\n - [x] bugfix in `bcrypto410_*` schnorr signature\n\n## 1.0.5\n - [x] minor C code tweaks\n - [x] minor `setup.py` module tweaks\n\n## 1.0.4\n - [x] C code improvement\n - [x] code coverage improvement\n - [x] pydoc-markdown documentation added\n\n## 1.0.3\n - [x] ecdsa signature support\n - [x] bcrypto 4.10 schnorr signature support\n - [x] [BIP0340 sipa](https://github.com/sipa/bips/tree/3b1fb9600b938172dd98a63e4906a861af9c3ab0/bip-0340) shnorr signatures support\n\n## Support this project\n\n<!-- [![Liberapay receiving](https://img.shields.io/liberapay/goal/Toons?logo=liberapay)](https://liberapay.com/Toons/donate) -->\n[![Paypal me](https://img.shields.io/badge/PayPal-toons-00457C?logo=paypal&logoColor=white)](https://paypal.me/toons)\n[![Bitcoin](https://img.shields.io/badge/Donate-bc1q6aqr0hfq6shwlaux8a7ydvncw53lk2zynp277x-ff9900?logo=bitcoin)](https://github.com/Moustikitos/python-mainsail/blob/master/docs/img/bc1q6aqr0hfq6shwlaux8a7ydvncw53lk2zynp277x.png)",
"bugtrack_url": null,
"license": "Copyright 2021, MIT licence",
"summary": "Fast python implementation for bitcoin curve",
"version": "1.1.2",
"project_urls": {
"Download": "https://github.com/Moustikitos/fast-curve/archive/master.zip",
"Homepage": "https://github.com/Moustikitos/fast-curve"
},
"split_keywords": [
"ctypes",
" curve",
" bitcoin"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ccc41e06dc354bb20a7be8e4f4b525e38d89eacb6046c901e5bbe4beb6a8a78b",
"md5": "aeb9d753e1a985ff7c7930f8d1e13a51",
"sha256": "b2e45c949a9a3cb99d57ad64fbd4d1f09b67f5dc4abf6f6ee71e36f360a32c5b"
},
"downloads": -1,
"filename": "cSecp256k1-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "aeb9d753e1a985ff7c7930f8d1e13a51",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16460,
"upload_time": "2024-04-08T20:19:45",
"upload_time_iso_8601": "2024-04-08T20:19:45.788603Z",
"url": "https://files.pythonhosted.org/packages/cc/c4/1e06dc354bb20a7be8e4f4b525e38d89eacb6046c901e5bbe4beb6a8a78b/cSecp256k1-1.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-08 20:19:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Moustikitos",
"github_project": "fast-curve",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "csecp256k1"
}