首先要先了解一下以太坊的chainid
CHAIN_ID | Chain(s) |
---|---|
1 | Ethereum mainnet |
2 | Morden (disused), Expanse mainnet |
3 | Ropsten |
4 | Rinkeby |
30 | Rootstock mainnet |
31 | Rootstock testnet |
42 | Kovan |
61 | Ethereum Classic mainnet |
62 | Ethereum Classic testnet |
1337 | Geth private chains (default) |
特别是在直接开启dev的情况下,默认id为1337
但是,要是你按web3的写法直接写(在tx为2.0版本的情况下)
let account = '0x8e5761C0eeB594daF316161aFdc55914D8aB40DC'
let user2 = '0xB7BEA2D94f06353a15CCE8ab4AF5e98b2F3b87a3'
let strdata = '0x' + Buffer.from('asd').toString('hex')
var rawTx = {
from: account,
to: user2,
//gasPrice: "20000000000", //可以默认,有需要可以查下如何设置gas节省旷工费
gas: 27052, //如果报错gas过小,请把值调大
nonce:21, //每次交易不能重复,不然会报错{"code":-32000,"message":"nonce too low"}
value:4052500000, //单位转换web3.utils.toWei('0.1', 'ether')
data: strdata //十六进制数据
};
var tx=new Tx(rawTx)
//开发节点其实可以直接使用web3.eth.sendTransaction,正式节点会报错,可能需要解锁,所以直接使用私