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

相关推荐
IT大白鼠1 天前
2026年Kelp DAO攻击事件深度解析:LayerZero漏洞、闪电贷与DeFi系统性风险
区块链·安全漏洞
重明链迹实验室1 天前
重明链迹丨每周区块链安全要闻(0427-0503)
安全·web3·区块链
Tattoo_Welkin1 天前
Solidity 智能开发知识点记录
区块链
StockTV1 天前
新加坡股票API 实时行情、K 线及指数数据
android·java·spring boot·后端·区块链
ZFJ_张福杰1 天前
【区块链】我实现了 UTXO 自动选择算法(最小手续费策略)
区块链·交易·utxo·手续费
搬砖的小码农_Sky1 天前
比特币区块链的算法架构
算法·架构·去中心化·区块链
小王毕业啦2 天前
(1990-2024年)个股交易活跃度、个股换手率
大数据·人工智能·数据挖掘·数据分析·区块链·社科数据
app软件定制开发173770910722 天前
世界杯应用开发的关键要点与注意事项
大数据·区块链
OneBlock Community2 天前
经济模型大升级 + 首只 DOT ETF 落地,Polkadot 的新周期来了?
区块链
区块链小八歌2 天前
链上资本的“工业革命”:拆解 Berachain “Bera Builds Businesses” 的真实业务版图
区块链