我试图理解如何从零开始创建Ethereum事务,但我不确定我应该签署什么。
我是应该签署哈希rlp编码的事务,还是仅仅签署rlp编码的原始事务?
f83a1854a817c80821458a83730393937393730433531383132646333413031304337643031623530653064313764633739433885174876e8080Hash(f83a1854a817c80821458a83730393937393730433531383132646333413031304337643031623530653064313764633739433885174876e8080)谢谢!
发布于 2022-12-21 19:35:41
您应该对事务哈希进行签名。散列为32个字节。
该散列由returned的Hash()函数返回,它是一个依赖于块号的复杂函数。块号将显示etc目前使用的是哪种叉(伦敦、柏林、EIP155等)。您需要签名的这32个字节(哈希)的生成过程将根据Ethereum叉的不同而不同,当然它将在内部进行rlp编码(字段的顺序/数量根据叉的不同而变化)。
签名必须由ECDSA算法生成,并符合其格式(正如标准所指定的)。这些是R/S/V字段,它们是在您的事务签署后由API设置的(我们都使用公共库)。
所有这些都是由库完成的,所以您只需调用适当的函数就可以避免重新发明轮子了。
https://ethereum.stackexchange.com/questions/141614
复制相似问题