Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Cross-platform Python libsecp256k1 for ElectrumSV

Project description

Licence: MIT Licence / Apache v2.0 (dual licensed)
Maintainers: Neil Booth, Roger Taylor
Project Lead: Roger Taylor
Language: Python (>=3.6)
Homepage: https://electrumsv.io/

Build status on Azure Pipelines


This library provides a wrapped pre-compiled libsecp256k1, the heavily optimized C library used by Bitcoin Core for operations on elliptic curve secp256k1. It effectively encapsulates a libsecp256k1 fork and allows ElectrumSV developers to have a vetted build, with selected public modifications, available on pypi to treat as a first classed dependency which can be obtained and verified against a known hash, like any other Python dependency.

Table of Contents

Features

  • Linux, macOS, and Windows all have binary packages for both 64 and 32-bit architectures
  • Linux & macOS use GMP for faster computation
  • Implements a fix for https://bugs.python.org/issue28150 to support Python 3.6+ on macOS

Installation

electrumsv-secp256k1 is distributed on PyPI and is available on Linux/macOS and Windows and supports Python 3.6 and Python 3.7.

$ pip install electrumsv-secp256k1

If you are on a system that doesn’t have a precompiled binary wheel (e.g. FreeBSD) then pip will fetch source to build yourself. You must have the necessary packages.

On Debian/Ubuntu for example the necessary packages are:

  • build-essential
  • automake
  • pkg-config
  • libtool
  • libgmp-dev (optional)

API

Anything importing this should be familiar with the underlying libsecp256k1 api.

Credits

  • Contributors of coincurve. At this time this project is for the most part a adapted and stripped down version of coincurve for Azure Pipelines.
  • Contributors of libsecp256k1.
  • Contributors of secp256k1-py. While Coincurve is nearly a complete rewrite, much of the build system provided by ulope remains.

History

Coincurve history available here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for electrumsv-secp256k1, version 0.9.1
Filename, size File type Python version Upload date Hashes
Filename, size electrumsv_secp256k1-0.9.1-cp36-cp36m-macosx_10_13_x86_64.whl (134.5 kB) File type Wheel Python version cp36 Upload date Hashes View hashes
Filename, size electrumsv_secp256k1-0.9.1-cp36-cp36m-manylinux1_i686.whl (520.6 kB) File type Wheel Python version cp36 Upload date Hashes View hashes
Filename, size electrumsv_secp256k1-0.9.1-cp36-cp36m-manylinux1_x86_64.whl (513.8 kB) File type Wheel Python version cp36 Upload date Hashes View hashes
Filename, size electrumsv_secp256k1-0.9.1-cp37-cp37m-macosx_10_13_x86_64.whl (134.5 kB) File type Wheel Python version cp37 Upload date Hashes View hashes
Filename, size electrumsv_secp256k1-0.9.1-cp37-cp37m-manylinux1_i686.whl (520.6 kB) File type Wheel Python version cp37 Upload date Hashes View hashes
Filename, size electrumsv_secp256k1-0.9.1-cp37-cp37m-manylinux1_x86_64.whl (513.8 kB) File type Wheel Python version cp37 Upload date Hashes View hashes
Filename, size electrumsv_secp256k1-0.9.1-py2.py3-none-win32.whl (253.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size electrumsv_secp256k1-0.9.1-py2.py3-none-win_amd64.whl (230.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size electrumsv-secp256k1-0.9.1.tar.gz (937.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page