当前位置: 首页 > news >正文

湖北什么是网站建设做外贸网站代理商

湖北什么是网站建设,做外贸网站代理商,单位门户网站建设存在问题,wordpress分类链接两个概念 ERC(Ethereum Request for Comment) 以太坊意见征集稿EIP(Ethereum Improvement Proposals)以太坊改进提案 ERC和EIP用于使得以太坊更加完善#xff1b;在ERC中提出了很多标准#xff0c;用的最多的标准就是它的Token标准; 有哪些标准详细见https://eips.ethereum…两个概念 ERC(Ethereum Request for Comment) 以太坊意见征集稿EIP(Ethereum Improvement Proposals)以太坊改进提案 ERC和EIP用于使得以太坊更加完善在ERC中提出了很多标准用的最多的标准就是它的Token标准; 有哪些标准详细见https://eips.ethereum.org/erc 常见ERC标准 ERC-20Token StandardERC-721Non-Fungible Token StandardERC-165Standard Interface DetectionERC-777Token StandardERC-1155Multi Token Standard ERC-20 主要是指同质化代币标准不同人持有的一个代币是等值的。 ERC-20标准中主要有6个函数和两个事件 其中这6个函数表达的意义是 totalSupply总发行量 balanceOf账户余额 transfer转账 transferFrom针对授权进行转账 approve授权 allowanceowner授权给spender余额 具体的详细见https://eips.ethereum.org/EIPS/eip-20 实现ERC20标准代币 想要发现ERC20标准的代币就需要实现ERC20标准接口中的函数 先写ERC20标准接口 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0;interface IERC20 {function name() external view returns (string memory);function symbol() external view returns (string memory);function decimals() external view returns (uint8);function totalSupply() external view returns (uint256);function balanceOf(address _owner) external view returns (uint256 balance);function transfer(address _to, uint256 _value) external returns (bool success);function transferFrom(address _from, address _to, uint256 _value) external returns (bool success);function approve(address _spender, uint256 _value) external returns (bool success);function allowance(address _owner, address _spender) external view returns (uint256 remaining);//_from和_to两个参数有indexed关键字修饰表示这些参数可以作为过滤条件来搜索事件。event Transfer(address indexed _from, address indexed _to, uint256 _value);event Approval(address indexed _owner, address indexed _spender, uint256 _value); }再实现ERC20标准代币 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0;import ./IERC20.sol;contract ERC20 is IERC20{string ercName;string ercSymbol;uint8 ercDecimals;uint256 ercTotalSupply;mapping(addressuint256) ercBalances;//一个人可以有多个委托人授权者被授权者授权金额mapping (addressmapping (addressuint256)) ercAllowance;//合约部署者address public owner;constructor(string memory _name, string memory _symbol,uint8 _decimals){ercName_name;ercSymbol_symbol;ercDecimals_decimals;ownermsg.sender;}//token名称function name() override external view returns (string memory){return ercName;}//token符号function symbol() override external view returns (string memory){return ercSymbol;}//token可以拆分到的精度function decimals() override external view returns (uint8){return ercDecimals;}//token发行总量function totalSupply() override external view returns (uint256){return ercTotalSupply;}//账户余额function balanceOf(address _owner) override external view returns (uint256 balance){return ercBalances[_owner];}//给某人转账function transfer(address _to, uint256 _value) override external returns (bool success){require(_value0,_value must 0);require(_to!address(0),_to is null);require(ercBalances[msg.sender]_value,users balance not enough);ercBalances[msg.sender]-_value;ercBalances[_to]_value;emit Transfer(msg.sender, _to, _value);return true;}//被授权用户用我的token转账;_from: 授权者_to:转给谁function transferFrom(address _from, address _to, uint256 _value) override external returns (bool success){require(ercBalances[_from] _value,users balance not enough);require(ercAllowance[_from][msg.sender]_value,approves balance not enough);require(_value0,_value must 0);require(_to!address(0),_to is null);ercBalances[_from]-_value;ercBalances[_to]_value;ercAllowance[_from][msg.sender]-_value;emit Transfer(_from, _to, _value);return true;}//授权其他用户可以花费我多少tokenfunction approve(address _spender, uint256 _value) override external returns (bool success){// require(_value0,value must 0);//让_value可以等于0当其为0时表示收回授权require(_spender!address(0),_spender can not be null);require(ercBalances[msg.sender]_value,users balance not enough);ercAllowance[msg.sender][_spender]_value; emit Approval(msg.sender, _spender, _value);return true;}//获取授花费的余额tokenfunction allowance(address _owner, address _spender) override external view returns (uint256 remaining){return ercAllowance[_owner][_spender];}//代币发行机制function mint(address _to,uint256 _value) public{require(msg.senderowner,only owner can mint);require(_value0,_value must 0);require(_to!address(0),_to is invalid); ercBalances[_to]_value;ercTotalSupply_value;emit Transfer(address(0), _to, _value);} }ERC165 是一个标准接口检测的标准用于检测合约是否符合规范 注意函数选择器 函数参数只保留类型计算 hash(函数名(类型1, 类型2, ...))并取哈希结果的前4个字节 举例如下函数的函数选择器是计算hash(“Transfer(address,uint256)”)并取哈希结果的前4个字节 function Transfer(address to,uint256 value){//函数体 }注意接口ID: 将一个接口里面的所有函数选择器做异或处理得到接口的ID 如何判断一个接口支持了ERC165? ERC-721 主要是指非同质化代币标准不同人持有的一个代币的价值不一样如艺术品
http://www.hkea.cn/news/14552897/

相关文章:

  • 做空调的网站做淘宝货源网站
  • 有哪些做外贸网站可拖拽网站
  • 创业中文网站模板商城网站设计定制
  • 网站用户互动可以做砍价活动的网站
  • 用oracle做网站数据库开发软件的应用
  • 小企网站建设解决方案响应式网站psd尺寸
  • 网站开发合同审核要点设计吧
  • 彩票网站开发风险鄂州网站建设设计
  • h5网站建设图标智能小程序下载
  • 互联网网站备案表wordpress主git题
  • php是用来做网站的吗最强商城系统
  • 360免费建站搜索引擎收录吗28网站制作
  • 网站 排版模板点击app图标进入网站怎么做
  • 九江巿建设局网站做公司标志用哪个网站
  • 怎么做交易猫钓鱼网站无锡做网站设计的公司
  • 建设银行交罚款网站麦包包网站建设特点
  • 网站建设优化服务策划智慧团建平台登录入口官网
  • 地方网站商城怎么做广州网站开发多少钱
  • 济南网站建设优化网站开发需要编程吗
  • 北海做网站公司做网站公司负责修图吗
  • 好看云在线网站模板下载 迅雷下载 迅雷下载地址兰州微信小程序制作公司
  • 谁会网站开发专业微信网站
  • 网站账户上的余额分录怎么做iis怎么添加网站
  • 网站托管服务适合用于哪种类型的网站京东商城网站建设
  • 机械网站建设营销ppt设计接单
  • 免费网站统计工具电脑培训班附近有吗
  • 个人网站如何做女生做网站运营累不累
  • 亿建联网站是谁做的宁波网络营销方式
  • 网格系统网站微信导入wordpress
  • ps做网站连接白酒网站源码