Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ethereum EIP712:hashStruct的编码成员值顺序_Ethereum_Solidity_Smartcontracts - Fatal编程技术网

Ethereum EIP712:hashStruct的编码成员值顺序

Ethereum EIP712:hashStruct的编码成员值顺序,ethereum,solidity,smartcontracts,Ethereum,Solidity,Smartcontracts,我最近被介绍使用EIP712散列和数据签名 我发现以下两种实现方式: 第一: bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"); bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, ow

我最近被介绍使用EIP712散列和数据签名

我发现以下两种实现方式:

第一:

bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");

bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, rawAmount, nonces[owner]++, deadline)); 
第二:

bytes32 public immutable PERMIT_TYPEHASH = keccak256("Permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)");

bytes32 hashStruct = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline));
文件上说,

在第二个实现中,hashStruct encodeData具有nonce值,但未在typehash中定义。同样地,vrs也未在编码数据中定义

一切都好吗