You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The library current uses a local python implementation of the necessary ECC functions for signature creation and verification. The library coincurve provides faster implementations of these functions but at the cost of requiring a system dependency.
Some users will value being able to do a vanilla install without futzing with system dependencies
Some users will value speed and be willing to install the necessary system dependencies to get it.
How can it be fixed?
Implement a pluggable backend system for all of the ECC functionality. This should start with a default backend which only delegates the current ECC functionality.
Implementation Details
Since we don't have a formal configuration spec for Py-EVM yet, lets use environment variables. for this one, lets use PYEVM_ECC_BACKEND
https://www.pivotaltracker.com/n/projects/2066033
What is wrong?
The library current uses a local python implementation of the necessary ECC functions for signature creation and verification. The library
coincurve
provides faster implementations of these functions but at the cost of requiring a system dependency.How can it be fixed?
Implement a pluggable backend system for all of the ECC functionality. This should start with a default backend which only delegates the current ECC functionality.
Implementation Details
PYEVM_ECC_BACKEND
import_string
function from populus: https://github.com/pipermerriam/populus/blob/master/populus/utils/module_loading.pyget_ecc_backend_class
function which reads thePYEVM_ECC_BACKEND
value fromos.environ
and imports the class.get_ecc_backend
function which returns the instantiated ECC backend class.BaseECCBackend
class which implements the base needed for ECC operations.PurePythonECCBackend
class which uses the functions found atevm.utils.ecdsa
.The text was updated successfully, but these errors were encountered: