代币中的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 语言都可以

相关推荐
黄焖鸡能干四碗4 小时前
IT数据架构规划设计方案(PPT文件)
大数据·网络·数据库·人工智能·架构·区块链
cmes_love1 天前
CME、LME、CBOT、NYMEX等交易所外盘期货tick和分钟历史行情数据下载和分析
数据库·区块链
应用市场1 天前
# 从零搭建一个 Kraken 永续合约量化交易机器人:架构设计、踩坑实录与风险思考
区块链
双缝观察者1 天前
现金兑换虚拟资产,技术追溯与角色切割
区块链
北冥you鱼2 天前
ERC-20 代币实战:从铸造到转账的完整开发指南
区块链
怒放de生命20102 天前
【web3基础】go-zero环境搭建(一)
开发语言·后端·golang·web3·区块链
醉颜凉3 天前
“三把钥匙开一把锁”:多签钱包深度解析与资产安全提升指南
安全·区块链
北冥you鱼3 天前
智能合约 Struct 与 Map 最佳实践:从入门到优化
区块链·智能合约
cmes_love3 天前
期货Level2与股票逐笔行情数据有什么,如何下载
数据库·区块链
小果因子实验室4 天前
量化研究--编写第一个回测算法策略研究
大数据·区块链