ethereumjs-tx
Advanced tools
Changelog
[2.1.0] - 2019-06-28
Using testnets and custom/private networks is now easier
This release is focused on making this library easier to use in chains other than mainnet
.
Using standard testnets can be as easy as passing their names to the Transaction
constructor. For
example, new Transaction(rawTx, {chain: 'ropsten', hardfork: 'byzantium'})
is enough to use this
library with Ropsten on Byzantium.
If you are using a custom network, you can take advantage of ethereumjs-common,
which contains all the network parameters. In this version of ethereumjs-tx
you can use its new
Common.forCustomNetwork
to create a Common
instance based on a standard network with some
parameters changed. You can see an example of how to do this here.
List of changes:
^1.3.0
Changelog
[2.0.0] - 2019-06-03
TypeScript / Module Import / Node Support
First TypeScript
based release of the library, see
PR #145 for details.
This comes along with some changes on the API, Node import of the exposed classes now goes like this:
const EthereumTx = require('ethereumjs-transaction').Transaction
const FakeEthereumTx = require('ethereumjs-transaction').FakeTransaction
The library now also comes with a type declaration file distributed along with the package published.
Along with this release we drop official support for Node
versions 4
,5
and 6
. Officially tested versions are now Node
8
, 10
and 11
(see PRs #138 and
#146).
Hardfork Support / Official Test Updates
Along with a long overdue update of the official Ethereum Transaction tests
(see PRs #131 and
#138 for
FakeTransaction
) and
an introduction of setting chain and hardfork by using our shared
ethereumjs-common class
(see PR #131) the
transaction library now supports all HFs up to the Petersburg
hardfork,
see constructor option docs for information on instantiation and default values (current hardfork default: petersburg
).
API Changes:
data.chainId
parameter, use the opts.chain
parameter or a custom Common
instanceDefault EIP-155 Support
Along with defaulting to a post-Spurious Dragon
HF replay protection from
EIP-155 is now activated by default. Transactions are subsequently also by default signed with EIP-155
replay protection,
see PRs #153,
#147 and
#143.
This comes with some changes in how different v
values passed on instantation
or changed on runtime are handled:
v
value is present, indicates that EIP-155
was enabled, and the chain id it indicates doesn't match the one of the
internal common
objectv
is set. If a transaction isn't signed, it would be an empty
bufferv
is changed after construction its value is validated in its setterFor activating non-EIP-155
behavior instantiate the transaction with a
pre-Spurious Dragon
hardfork option.
Changelog
[1.3.6] - 2018-07-02
FakeTransaction.hash()
function by reverting the introduced signature handling changes in Fake transaction hash creation from PR #94 introduced in v1.3.5
. The signature is now again only created and added to the hash when from
address is set and from
is not defaulting to the zero adress any more, see PR #110Changelog
[1.3.3] - 2017-07-12
v
,r
,s
signature valuesbrowserify
transform from package.json