Skip to main content

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 in ReferenceKeystore.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 the Transaction interface.
  • ReferenceSigner Implements Signer, accepting a single argument of type Keystore 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.

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)

Source distribution for crypto-dev-signer 0.4.11
File Size Uploaded Provenance
crypto-dev-signer-0.4.11.tar.gz 23.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for crypto-dev-signer 0.4.11
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page