我将一些ERC20令牌发送到trezor中的ethereum地址,我可以使用MEW成功地看到它。我想用这个作为空隙钱包,但经常使用(即,不是冷钱包)。
假设我创建了一个原始事务,如何调用trezorconnect来对其进行签名?
编辑:方法可能是在trezor中调用signtx,并让密码元素v,r,S返回,然后以某种方式转换为格式,以便广播.如果正确,请给我密码?
发布于 2018-04-29 20:33:29
如果您有R,S,V,使用ethereumjs库:
let signedTransaction = _.clone(unsignedTransaction)
signedTransaction.r = Buffer.from(rsv.r, 'hex')
signedTransaction.s = Buffer.from(rsv.s, 'hex')
signedTransaction.v = Buffer.from(rsv.v, 'hex')
let tx = new ethTx(signedTransaction);
const serializedTx = tx.serialize();
const rawTx = '0x' + serializedTx.toString('hex');然后将rawTx发送到:
web3.eth.sendSignedTransaction(rawTx)请注意,当您与分类帐(可能也与trezor)签署交易时,您必须在签名前将链式id放入"v“中,如下所示:
transactionCopy.v= "0x0" + chainId.toString(16)
transactionCopy.r="0x00"
transactionCopy.s="0x00"https://ethereum.stackexchange.com/questions/46074
复制相似问题