The Vault Ethereum Cold Wallet Signer for ethers.js is a signer implementation that integrates with the Vault Ethereum Cold Wallet Plugin. It allows you to securely sign Ethereum transactions using private keys stored in the Vault cold wallet.
- Securely sign Ethereum transactions using the Vault Ethereum Wallet Plugin
- Seamless integration with ethers.js library
- Supports multiple Ethereum chains
Before using the Vault Ethereum Wallet Signer, ensure that you have the following:
- A running instance of HashiCorp Vault with the Ethereum Wallet Plugin installed
- An Ethereum account stored in the Vault wallet
npm install @bliiitz/vault-ethereum-wallet-signer
-
Import the necessary packages:
const ethers = require('ethers'); const { VaultColdWalletSigner } = require('@bliiitz/vault-eth-cold-wallet-signer');
-
Create a provider instance:
const provider = new ethers.providers.JsonRpcProvider('https://your-rpc-url');
-
Initialize the signer with the Vault Ethereum Cold Wallet Plugin details:
const signer = new VaultColdWalletSigner({ accountId: 'my-wallet', vaultUrl: 'https://your-vault-url', vaultToken: 'your-vault-token', });
-
Set the provider for the signer:
signer.setProvider(provider);
-
Use the signer to sign transactions:
const tx = { to: '0x123...', value: ethers.utils.parseEther('1.0'), }; const signedTx = await signer.signTransaction(tx);
For more detailed usage examples and available methods, please refer to the Vault Ethereum Cold Wallet Signer Documentation.
-
SHA256=$(cat /plugins/SHA256)
-
vault plugin register
-sha256=$SHA256
-command=vault-ethereum
secret
vault-ethereum -
vault secrets tune -plugin-version=v1.0.1 my-secret-plugin
-
vault write sys/plugins/catalog/secret/vault-ethereum sha_256=$SHA256 command="vault-ethereum"
-
vault plugin reload -plugin vault-ethereum -scope global
The Vault Ethereum Wallet Signer ensures the security of private keys by leveraging the Vault Ethereum Wallet Plugin's secure storage capabilities. It protects the private keys with HashiCorp Vault's access control policies and authentication mechanisms.
Please ensure that you have properly configured and secured your HashiCorp Vault instance. Refer to the Vault Documentation for more information on securing and configuring HashiCorp Vault.
Contributions to the Vault Ethereum Wallet Signer for ethers.js are welcome! If you find any issues or have suggestions for new features, please open an issue or submit a pull request. Make sure to follow the Contributing Guidelines when making contributions.
The Vault Ethereum Wallet Signer for ethers.js is licensed under the MIT License. Please see the LICENSE file for more information.