ethereum / interfaces

Interface Specifications inside Ethereum
36 stars 175 forks source link

Add signTransaction call to sign transactions offline #11

Closed Georgi87 closed 7 years ago

Georgi87 commented 7 years ago

With the changes proposed in this PR (https://github.com/ethereum/go-ethereum/pull/2940), the signing of transactions with eth_sign becomes impossible as a transaction incompatible prefix is added to every signed data.

The option to sign transactions without sending them immediately to the network is important as it allows to sign transactions offline, which can increase security significantly.

Proposed function signature: eth_signTransaction(tx_object)

The transaction object has the same JSON structure as eth_sendTransaction.

https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sendtransaction

Georgi87 commented 7 years ago

This feature was already implemented by parity (https://github.com/ethcore/parity/blob/master/rpc/src/v1/traits/eth_signing.rs) and geth (https://github.com/ethereum/go-ethereum/blob/master/internal/web3ext/web3ext.go).

It is in both master branches but has not been added to web3.js yet.