Creating an external signer for EthSigner¶
EthSigner supports the addition of more external signers in same way as HashiCorp Vault.
To create an external signer:
Clone the EthSigner repository.
Create a Gradle module for the new signer in the
To ensure the module for the new signer is built, add the module to the
In the new module, create a concrete child class of
SignerSubCommandmust include the parameters (tagged with PicoCLI annotations) to initialize your signer.
createSigner()function to be the entry point to create and return your signer. Your signer is exposed only as a
The new signing class is responsible for fulfilling the
TransactionSignerinterface. To fulfill the
TransactionSignerinterface, the class must be able to create a signature for a block of bytes and provide the address associated with the key pair in the signer.
EthSignerApp.java, register the new
cmdLineParseras for existing signers.
Update the EthSigner::app module dependency list to include the module created in step 2.