A signer and keystore daemon and library for cryptocurrency software development
Project description
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
Keystore
interface, 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
signTransaction
method expects an object implementing theTransaction
interface. - ReferenceSigner Implements
Signer
, accepting a single argument of typeKeystore
interface.
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.
Project details
Release history Release notifications | RSS feed
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 crypto-dev-signer-0.4.11.tar.gz
.
File metadata
- Download URL: crypto-dev-signer-0.4.11.tar.gz
- Upload date:
- Size: 23.9 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 520e771f7d566055b65bcbb6d6e0193fc65d576ecdae5d0f4d7a4fecd6d08606 |
|
MD5 | def74ad4aa5948c0fbb7a2fc03a74d40 |
|
BLAKE2b-256 | 0dbc9bdfaeadc6545965560f22da9e478ec80400206c0b2566152fcbf824d6f0 |
File details
Details for the file crypto_dev_signer-0.4.11-py3-none-any.whl
.
File metadata
- Download URL: crypto_dev_signer-0.4.11-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6385569e210bb139154776540102731df49187c5b768c09bccbf7619aa18a3d |
|
MD5 | 25797b433a5a052c6821d14f4d4f10cd |
|
BLAKE2b-256 | 5a5621c5d077ae3e9786a581b74930798b8698fe3ab5c3ce271825f85b136f18 |