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

相关推荐
Shota Kishi2 小时前
SLV 新增 allnodes-jito 支持:Solana 验证者多客户端运维与 AI agent 自动化解析
运维·自动化·区块链
区块链小八歌9 小时前
Berachain ERA:公链排放资本化与链上增长融资的范式革命
人工智能·区块链
酿情师10 小时前
区块链网络与跨链操作03:区块链的分叉
网络·centos·区块链
CTA终结者11 小时前
Python 写期货自动交易:行情下单与成交回报怎么组织
开发语言·python·区块链
yzx99101312 小时前
ImToken智能合约交互避坑指南大纲
区块链
计算机安禾12 小时前
【算法分析与设计】第45篇:交互式证明系统与零知识证明
算法·区块链·零知识证明
酿情师13 小时前
区块链网络与跨链操作03:矿池网络协议
网络·网络协议·区块链
开源量化GO13 小时前
期货量化价差合约怎么订:天勤 SP 组合代码与订阅注意点
python·区块链
MartinYeung513 小时前
[论文学习] 全同态加密下的加密文字比较与子字串搜寻演算法延伸研究
学习·区块链·同态加密
Upsy-Daisy14 小时前
IOTA 学习笔记(十二):IOTA EVM 与 MoveVM 怎么理解?
区块链