代币中的decimal精度代表了什么

精度的意义在于允许发送小数的代币。举例,一个CAT代币合约的精度为6。那么 你拥有1个CAT就意味着合约中的balance = 1 * 10^6 , 转账 0.1CAT出去的话,就需要输入 0.1*10^6 = 10^5。 也就时在涉及代币时,查询到的余额、转账的代币数量 都和 代币合约的精度挂钩

ERC20 合约默认的精度为18,其余精度需要自己override重写

示例合约:

合约实现简单的mint 功能,但是精度=18,也就是在mint时,数量应该为:amount * 10^18

复制代码
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.19;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract QWER is ERC20 {
    address public owner;

    constructor(string memory name, string memory symbol) payable ERC20(name,symbol) {
        owner = msg.sender;
    }

    function mint(
        address receiver,
        uint256 amount
    ) public {
        _mint(receiver, amount * (10 **18));
    }
}

mint 1 个代币到特定账户:https://sepolia.etherscan.io/tx/0xa7c847f5295e40cd47443a9de6d7b3e0fe62125fff11fd3a8ae0dba898dc0b51

合约中显示的余额:

钱包中显示的余额,钱包会自动进行精度的除法:

有偿写各种逻辑合约,solidity move 语言都可以

相关推荐
区块block1 小时前
加密市场再添新势力,BUYCOIN生态代币BCT以多维赋能重构交易所生态价值
重构·区块链
终端域名3 小时前
数字货币:从“虚拟金库”到法定货币的进化
区块链·数字货币·加密货币
Joy T21 小时前
Solidity智能合约开发入门攻略
web3·区块链·智能合约·solidity·以太坊·共识算法
麻辣兔变形记21 小时前
Solidity 合约超限问题及优化策略:以 FHEFactory 为例
人工智能·区块链
Joy T1 天前
Solidity智能合约存储与数据结构精要
数据结构·区块链·密码学·智能合约·solidity·合约function
taxunjishu2 天前
DeviceNet 转 MODBUS TCP罗克韦尔 ControlLogix PLC 与上位机在汽车零部件涂装生产线漆膜厚度精准控制的通讯配置案例
人工智能·区块链·工业物联网·工业自动化·总线协议
终端域名2 天前
什么是区块链?如何读懂区块链技术?
区块链
0132 天前
013的加密世界权威指南_第一部分
区块链·虚拟币
CryptoRzz5 天前
越南k线历史数据、IPO新股股票数据接口文档
java·数据库·后端·python·区块链