CRYPTO DEV SIGNER
This package is written because at the time no good solution seemed to exist for solving the following combined requirements and issues:
- A service has custody of its users' private keys.
- The are a large number of private keys involved (hundreds of thousands and up).
- Need to sign transactions conforming to EIP-155, with the ability to arbitrarily specify the "chain id".
- Do not want to store the keys inside an ethereum node, especially not the one connected to the network.
- Want to use the "standard" web3 JSON-RPC interface, so that the component can be easily replaced later.
- Multiple providers don't work on either web3.js and/or web3.py.
- As a bonus, provide a practical keystore solution for testing in general for web3 projects.
TECHNICAL OVERVIEW
Scripts
When installed with pip/setuptools, this package provides a Unix socket IPC server as crypto-dev-daemon implementing the following web3 json-rpc methods:
- web3.eth.personal.newAccount
- web3.eth.personal.signTransaction
- web3.eth.signTransaction
Classes
The classes and packages provided are:
keystore
- Keystore: Interface definition
- ReferenceKeystore: Implements the
Keystoreinterface, with a postgresql backend expecting sql schema as defined inReferenceKeystore.schema
transaction
- Transaction: Interface definition.
- EIP155Transaction: Creates transaction serializations appropriate for EIP155 replay protected signatures. Accepts a web3 format transaction dict as constructor argument together with nonce and optional chainId.
signer
- Signer: Interface definition. Its
signTransactionmethod expects an object implementing theTransactioninterface. - ReferenceSigner Implements
Signer, accepting a single argument of typeKeystoreinterface.
VERSION
This software is in alpha state.
Current version is 0.2.5
LICENSE
GPLv3
LEGAL MUMBO-JUMBO
No responsibility assumed for any use of this software. You're on your own, as usual.
Metadata
Release files for crypto-dev-signer 0.4.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| crypto-dev-signer-0.4.11.tar.gz | 23.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crypto_dev_signer-0.4.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 48.3 kB
Release files / crypto-dev-signer-0.4.11.tar.gz
| Download URL | crypto-dev-signer-0.4.11.tar.gz |
|---|---|
| Size | 23.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
520e771f7d566055b65bcbb6d6e0193fc65d576ecdae5d0f4d7a4fecd6d08606
|
|
BLAKE2b-256 checksum How to use checksums |
0dbc9bdfaeadc6545965560f22da9e478ec80400206c0b2566152fcbf824d6f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
|
Release files / crypto_dev_signer-0.4.11-py3-none-any.whl
| Download URL | crypto_dev_signer-0.4.11-py3-none-any.whl |
|---|---|
| Size | 24.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d6385569e210bb139154776540102731df49187c5b768c09bccbf7619aa18a3d
|
|
BLAKE2b-256 checksum How to use checksums |
5a5621c5d077ae3e9786a581b74930798b8698fe3ab5c3ce271825f85b136f18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
|
Security for crypto-dev-signer 0.4.11
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.