npm install moac-tx
const EthereumTx = require('moac-tx')
const privateKey = Buffer.from('e331b6d69882b4cb4ea581d88e0b604039a3de5967688d3dcffdd2270c0fd109', 'hex')
const txParams = {
nonce: '0x00',
gasPrice: '0x09184e72a000',
gasLimit: '0x2710',
to: '0x0000000000000000000000000000000000000000',
value: '0x00',
data: '0x7f7465737432000000000000000000000000000000000000000000000000000000600057',
// EIP 155 chainId - mainnet: 1, ropsten: 3
chainId: 3
}
const tx = new EthereumTx(txParams)
tx.sign(privateKey)
const serializedTx = tx.serialize()Note: this package expects ECMAScript 6 (ES6) as a minimum environment. From browsers lacking ES6 support, please use a shim (like es6-shim) before including any of the builds from this repo.
For a browser build please see https://github.com/ethereumjs/browser-builds.
Creates a new MOAC transaction object.
Parameters
dataBuffer or Array or Object a transaction can be initiailized with either a buffer containing the RLP serialized transaction or an array of buffers relating to each of the tx Properties, listed in order below in the exmple.Or lastly an Object containing the Properties of the transaction like in the Usage example.For Object and Arrays each of the elements can either be a Buffer, a hex-prefixed (0x) String , Number, or an object with a toBuffer method such as Bignumdata.chainIdNumber EIP 155 chainId - mainnet: 1, ropsten: 3data.gasLimitBuffer transaction gas limitdata.gasPriceBuffer transaction gas pricedata.toBuffer to the to addressdata.nonceBuffer nonce numberdata.dataBuffer this will contain the data of the message or the init of a contractdata.vBuffer EC recovery IDdata.rBuffer EC signature parameterdata.sBuffer EC signature parameterdata.valueBuffer the amount of ether sent
Properties
rawBuffer The raw rlp encoded transaction
Examples
var rawTx = {
nonce: '0x00',
gasPrice: '0x09184e72a000',
gasLimit: '0x2710',
to: '0x0000000000000000000000000000000000000000',
value: '0x00',
data: '0x7f7465737432000000000000000000000000000000000000000000000000000000600057',
v: '0x1c',
r: '0x5e1d3a76fbf824220eafc8c79ad578ad2b67d01b0c2425eb1f1347e8f50882ab',
s: '0x5bd428537f05f9830e93792f90ea6a3e2d1ee84952dd96edbae9f658f831ab13'
};
var tx = new Transaction(rawTx);the minimum amount of gas the tx must have (DataFee + TxFee + Creation Fee)
Returns BN
returns the public key of the sender
Returns Buffer
The amount of gas paid for the data in this tx
Returns BN
returns the sender's address
Returns Buffer
returns the public key of the sender
Returns Buffer
the up front amount that an account must have for this transaction to be valid
Returns BN
Computes a sha3-256 hash of the serialized tx
Parameters
includeSignature[Boolean] whether or not to inculde the signature (optional, defaulttrue)
Returns Buffer
sign a transaction with a given a private key
Parameters
privateKeyBuffer
If the tx's to is to the creation address
Returns Boolean
validates the signature and checks to see if it has enough gas
Parameters
stringError[Boolean] whether to return a string with a dscription of why the validation failed or return a Bloolean (optional, defaultfalse)
Returns Boolean or String
Determines if the signature is valid
Returns Boolean
Properties
fromBuffer (read only) sender address of this transaction, mathematically derived from other parameters.
Returns the rlp encoding of the transaction
Returns Buffer