bullno1 / eth-offline-tx

Offline ETH transaction signing tool with no dependencies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eth-offline-tx

License

eth-offline-tx is a simple offline transaction signing tool for Ethereum using only web3.js and no other dependencies.

Usage

  1. (Optional) If you do not want to run your own ETH node, get an RPC URL from INFURA.
  2. Open prepare-tx.html in one internet-accessible computer.
  3. Fill in the relevant details, "data" can be left blank.
  4. "Network parameters" session can be auto-filled by pressing "Recommend".
  5. Click "Prepare", a long string will be copied to your clipboard, you can also copy it manually.
  6. Transfer that string to an airgapped computer.
  7. On the airgapped wallet, run ./sign-tx <transaction string>. Note: sign-tx and sign-tx.js must be in the same directory as the geth executable if geth is not in PATH.
  8. Verify the transaction details and enter the passphrase to sign it.
  9. Transfer the signed transaction string back to the online computer and paste it into "Signed transaction".
  10. Click "Send".

FAQ

Why another tool?

Because the official geth client does not support offline transaction and all existing solutions are bloated. eth-offline-tx does not have any external dependency except for the official web3.js.

On the cold wallet side, I'm running geth in an extremely limited computer with no software except for common unix tools so browser is not an option.

Why should I trust you?

You should not.

Read and verify the code for yourself. It is less than 100 lines and does not use any external code except for the official library. Download your own copy of web3.js and replace the bundled one if you need to.

Why is the unsigned transaction object encoded to base64?

To prevent the shell from doing stupid things with characters like { and ".

About

Offline ETH transaction signing tool with no dependencies

License:BSD 2-Clause "Simplified" License


Languages

Language:JavaScript 61.1%Language:HTML 31.4%Language:Shell 4.8%Language:CSS 2.7%