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

相关推荐
CryptoPP6 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
栗子~~7 小时前
ethers - 区块链变更链上状态与在确认(对账)说明
区块链
Jinkxs7 小时前
Java 跨域14-Java 与区块链(Hyperledger)集成
java·开发语言·区块链
cmes_love8 小时前
期货Level 2五档Tick历史数据详解
区块链
Man on the moon8 小时前
Solidity 零基础入门:从语法到实战,快速掌握智能合约开发
web3·区块链·智能合约
电报号dapp1199 小时前
DApp经济模型设计:2026年反泡沫完全指南
区块链·智能合约·哈希算法
CTA终结者10 小时前
期货开仓前保证金够吗:get_account 可用与占用字段对照
python·区块链
开源量化GO11 小时前
夜盘白盘衔接几分钟误下单:天勤交易时段与行情过滤
python·区块链
CTA量化套保15 小时前
一个账户跑多个期货策略:仓位与报单隔离思路
python·区块链
zhuhai_xigedian18 小时前
区块链技术加持:源网荷储系统的能源数据安全与溯源
大数据·区块链·能源