Skip to main content

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 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.

Project details


Download files

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

Source Distribution

crypto-dev-signer-0.4.11.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

crypto_dev_signer-0.4.11-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

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

Hashes for crypto-dev-signer-0.4.11.tar.gz
Algorithm Hash digest
SHA256 520e771f7d566055b65bcbb6d6e0193fc65d576ecdae5d0f4d7a4fecd6d08606
MD5 def74ad4aa5948c0fbb7a2fc03a74d40
BLAKE2b-256 0dbc9bdfaeadc6545965560f22da9e478ec80400206c0b2566152fcbf824d6f0

See more details on using hashes here.

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

Hashes for crypto_dev_signer-0.4.11-py3-none-any.whl
Algorithm Hash digest
SHA256 d6385569e210bb139154776540102731df49187c5b768c09bccbf7619aa18a3d
MD5 25797b433a5a052c6821d14f4d4f10cd
BLAKE2b-256 5a5621c5d077ae3e9786a581b74930798b8698fe3ab5c3ce271825f85b136f18

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page