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

相关推荐
IvorySQL16 小时前
PG 日报|优化缓冲区批量扫描,降低多套接字并发竞争
数据库·人工智能·postgresql·开源·区块链
mrbande20 小时前
Vatee万腾:把信息透明度做扎实,更谨慎的使用者更容易感受到的清单
区块链
Web3李李20 小时前
Web3 创业最大误区:DApp 能跑≠能上线!无数项目死在这个
金融·web3·区块链·智能合约·软件开发·dapp开发·defi开发
ithadoop1 天前
CLOB-FIRST:当永续合约把“订单簿“重新变成主角
区块链·clob·amm·永续合约·hyperliquid·dydx v4·gmx v2
ZDGJ60992 天前
外盘期货与内盘期货交易时间核心区别
区块链
cd_949217212 天前
数据使用控制的工程实现:数字合约、策略引擎与沙箱环境
区块链
Bczheng12 天前
三十六.区块链网络(7)--修复net与测试例子
区块链
LedgerNinja2 天前
WEEX API 稳定性实战:限频、重试与风控的工程化清单
运维·区块链
IvorySQL2 天前
PG 日报|修复高 IO 并发场景,解决预读机制耗尽本地缓冲区缺陷
数据库·人工智能·sql·postgresql·区块链
北冥you鱼4 天前
OpenZeppelin Contracts 完全指南:从入门到精通,构建安全的智能合约
安全·区块链·智能合约