py-sr25519-bindings

Python bindings for sr25519 library: https://github.com/w3f/schnorrkel

Reference to https://github.com/LocalCoinSwap/kusama-reference-implementation/tree/improve-trading-tests/bindings and https://gitlab.com/kauriid/schnorrpy/ for the initial work

Installation

Install from PyPI

pip install py-sr25519-bindings

Compile for local development

pip install -r requirements.txt maturin develop

Build wheelhouses

``` pip install -r requirements.txt

Build local OS wheelhouse

maturin build

Build manylinux1 wheelhouse

docker build . --tag polkasource/maturin docker run --rm -i -v $(pwd):/io polkasource/maturin build

```

Usage

```python import bip39 import sr25519

message = b"test"

Get private and public key from seed

seed = bip39.bip39tomini_secret('daughter song common combine misery cotton audit morning stuff weasel flee field','')

publickey, privatekey = sr25519.pairfromseed(bytes(seed))

Generate signature

signature = sr25519.sign( (publickey, privatekey), message )

print('Signature', signature.hex())

Verify message with signature

if sr25519.verify(signature, message, public_key): print('Verified') ```

License

https://github.com/polkascan/py-sr25519-bindings/blob/master/LICENSE