solidity 以太坊(Ether) 单位(很基础)

一个字面常数可以带一个后缀 wei, gwei 或 ether 来指定一个以太坊的数量, 其中没有后缀的以太数字被认为单位是wei。

在以太坊和许多其他基于以太坊的区块链系统中,以太币(Ether)是网络中的主要加密货币。

以太可以被划分为更小的单位,这些单位使得交易可以以不同的粒度进行。

这些单位从最小的wei到最大的ether,其中每个单位都比前一个单位大1,000,000,000(十亿)倍。

这些单位的使用允许用户在进行交易和智能合约操作时指定非常精确的金额。

  • Wei:

是以太币的最小单位,1 ether 等于 10 ** 18 wei。

  • Gwei:

也称为 gigawei, 是 wei 的更大的单位,1 ether 等于 10 ** 9 wei。

由于许多交易费用都是以 gwei 为单位衡量的,因此这个单位在交易费(gas费)时尤其常见。

  • Ether

是这些单位中最大的,通常用于表示在普通交易和投资中转移的较大金额。

基础声明,比较
复制代码
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract My {
    uint256 a = 1 ether;
    uint256 b = 10**9 * 1 gwei;
    uint256 c = 10**18 * 1 wei;

    function name() public view returns (bool) {
        return b == c;
    }
}

接收以太币例子

复制代码
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract My {
    uint256 a = 1 ether;
    uint256 b = 10**9 * 1 gwei;
    uint256 c = 10**18 * 1 wei;

    function name() public view returns (bool) {
        return b == c;
    }

    function name(address _addr) public payable {
        address payable ap = payable(_addr);
        require(msg.value == 1 ether, "message");
        ap.transfer(msg.value);
    }

    function name2(address _addr) public payable {
        address payable ap = payable(_addr);
        require(msg.value == 10 gwei, "message");
        ap.transfer(msg.value);
    }

    function name3(address _addr) public payable {
        address payable ap = payable(_addr);
        require(msg.value == 10 wei, "message");
        ap.transfer(msg.value);
    }

    function name4(address _addr) public payable {
        address payable ap = payable(_addr);
        require(msg.value == 0.001 ether, "message");
        ap.transfer(msg.value);
    }
}
相关推荐
Max_uuc1 小时前
【C++ 硬核】利用链接器魔法 (Linker Sections) 实现“去中心化”的自动初始化与插件系统
去中心化·区块链
devmoon1 小时前
在 Polkadot 上部署独立区块链Paseo 测试网实战部署指南
开发语言·安全·区块链·polkadot·erc-20·测试网·独立链
傻小胖1 小时前
22.ETH-智能合约-北大肖臻老师客堂笔记
笔记·区块链·智能合约
傻小胖17 小时前
21.ETH-权益证明-北大肖臻老师客堂笔记
笔记·区块链
硅基流动20 小时前
硅基流动 × ValueCell:8K+Star,去中心化金融智能体加速投资决策
金融·去中心化·区块链
devmoon20 小时前
使用 Hardhat 在 Polkadot Hub 测试网部署基础 Solidity 合约(完整实战指南)
web3·区块链·智能合约·波卡·hardhat
威胁猎人21 小时前
【黑产大数据】2025年全球KYC攻击风险研究报告
大数据·区块链
焦点链创研究所1 天前
去中心化实体基础设施网络的崛起:比较分析
网络·去中心化·区块链
MicroTech20251 天前
微算法科技(NASDAQ :MLGO)量子测量区块链共识机制:保障数字资产安全高效存储与交易
科技·安全·区块链
区块链蓝海1 天前
Ardor v2.6.0 正式发布:Nxt迁移完成,Ardor迈入多链协同新阶段
人工智能·区块链