ethereum transaction template
https://ethereum.stackexchange.com/questions/50042/why-does-sendsignedtransaction-return-a-tx-hash-but-does-not-post-to-the-rinkeby window.web3 = new Web3(new Web3.providers.HttpProvider(endpoint)); sendEther() { const fromAccount = **acct1**; const toAccount = **acct2**; const rawTransaction = this.makeRawTransaction(fromAccount, toAccount); const signedTransaction = this.makeSignedTransaction(rawTransaction); const serializedTransaction = `0x${signedTransaction.serialize().toString('hex')}`; window.web3.eth.sendSignedTransaction(serializedTransaction, (error, result) => { if(!error) { console.log(`Transaction hash is: ${result}`); this.setState({ etherscanUrl: `https://rinkeby.etherscan.io/tx/${result}`, error: null }); } else { this.setState({ error: error.message }) console.error(error); } }); } makeSignedTransaction(rawTransaction) { const privateKey = '**************'; const privateKeyX = new Buffer(privateKey, 'hex'); const transaction = new EthTx(rawTransaction); transaction.sign(privateKeyX); return transaction; } makeRawTransaction(fromAccount, toAccount) { const { exchangeRate } = this.props; const amount = (1 / exchangeRate) * 5; return ({ nonce: window.web3.utils.toHex(window.web3.eth.getTransactionCount(fromAccount)), to: toAccount, gasPrice: window.web3.utils.toHex(100000000000), gasLimit: window.web3.utils.toHex(100000), value: window.web3.utils.toHex(window.web3.utils.toWei(`${amount}`, 'ether')), data: '' }); }