0

I am new to ethereum and curious about interacting with dApps while keeping a private key in cold storage.

I like the idea of keeping the private key for an Ethereum wallet on an air-gapped computer. I have done this with bitcoin using a program called electrum. Electrum enables a workflow where you 1) generate transactions on an online computer, 2) transfer them to an air-gapped computer for signing, and 3) transfer the signed transaction back to an online computer for broadcasting. I know that there are similiar programs that can achieve this for Ethereum, such as MyCrypto.

Most of the Ethereum dApps I have come across (Compound, Uniswap, MakerDAO vaults) offer several options to connect to a wallet. The options are usually browser based wallet extensions (like metamask) mobile apps (like coinbase wallet) or hardware wallets (like trezor or ledger.)

Are there any solutions that enable using dApps with arbitrary cold wallets? For instance, some kind of browser extension that will generate the transactions to sign, and allow you to process them manually? That is, I envision that after being presented with the transction, the user would transfer them manually to an air gapped computer, sign the transaction, and then transfer back to this extension/app for broadcasting onto the Ethereum network.

If this is nonsensical then please don't hesitate to let me know :)

0

A common solution is to have two separate wallets, one "hot" wallet, and a "cold" wallet. You keep the majority of your funds on the cold wallet, and keep the private key fully offline/airgapped. If you want to interact with a dApp, you move some of your funds to the hot wallet (e.g. MetaMask or a mobile app). Once you are done, you can move the funds back to your cold wallet.

If you're looking for a more user-friendly solution, the best option is to get a hardware wallet like a Ledger or Trezor. These devices store the private key fully isolated, so it's not possible to extract the private key from the device. To sign a transaction, you need to give explicit approval (usually by pressing a button).

Some mobile apps (like Parity Signer and WallETH) can do something similar, by storing the private key on an airgapped mobile device, and signing transactions using QR codes. Unfortunately, support for those apps is very limited at the moment.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.