solidity关于ecrecover函数在签名场景的应用
在solidity中有一个函数,这个函数主要使用签名的v,r,s值通过hash值还原地址信息,通常应用场景用于验证签名及内容是否为该地址签名。ecrecover(bytes32 hash,uint8 v,bytes32 r,bytes32 s) returns (address) 比如以太坊智能合约中,多签钱包构造交易需要几个重要的参数如下: 参数:to 发送地址;value 发送数额;data data参数;nonce 交易nonce;chainid 当前所属链的ID,防止重放;通常钱包会将这几个重要参数通过keccak256计算唯一摘要hash后再让签名人使用私钥签名。 交易参数摘要hash计算:function encodeTransactionData(address to,uint256 value,bytes memory data,uint256 _nonce,uint256 chainid) internal pure returns(bytes32 safeTxhash){ safeTxhash=keccak256( abi.encode(to, value, ...
solidity关于ecrecover函数在签名场景的应用
在solidity中有一个函数,这个函数主要使用签名的v,r,s值通过hash值还原地址信息,通常应用场景用于验证签名及内容是否为该地址签名。ecrecover(bytes32 hash,uint8 v,bytes32 r,bytes32 s) returns (address) 比如以太坊智能合约中,多签钱包构造交易需要几个重要的参数如下: 参数:to 发送地址;value 发送数额;data data参数;nonce 交易nonce;chainid 当前所属链的ID,防止重放;通常钱包会将这几个重要参数通过keccak256计算唯一摘要hash后再让签名人使用私钥签名。 交易参数摘要hash计算:function encodeTransactionData(address to,uint256 value,bytes memory data,uint256 _nonce,uint256 chainid) internal pure returns(bytes32 safeTxhash){ safeTxhash=keccak256( abi.encode(to, value, ...
hardhat使用笔记
安装创建hardhat工程开始使用mkdir hardhat-tutorial cd hardhat-tutorial npm init —yes npm install --save-dev hardhat 运行创建hardhat项目目录配置文件等安装hardhat测试插件npm install --save-dev @nomiclabs/hardhat-ethers ethers @nomiclabs/hardhat-waffle ethereum-waffle chai dotenv hardhat-deploy hardhat-abi-exporter keythereum 安装openzeppelin框架npm install --save-dev @openzeppelin/contracts@3.4.2 启动本地hardhat测试网络在hardhat项目中,还是使用hardhat的测试网络节点方便调试,ganache并不太适合hardhat。启动本地节点# fork mainnet and set block-number npx hardhat node --fo...
hardhat使用笔记
安装创建hardhat工程开始使用mkdir hardhat-tutorial cd hardhat-tutorial npm init —yes npm install --save-dev hardhat 运行创建hardhat项目目录配置文件等安装hardhat测试插件npm install --save-dev @nomiclabs/hardhat-ethers ethers @nomiclabs/hardhat-waffle ethereum-waffle chai dotenv hardhat-deploy hardhat-abi-exporter keythereum 安装openzeppelin框架npm install --save-dev @openzeppelin/contracts@3.4.2 启动本地hardhat测试网络在hardhat项目中,还是使用hardhat的测试网络节点方便调试,ganache并不太适合hardhat。启动本地节点# fork mainnet and set block-number npx hardhat node --fo...