017.Solidity入门——04地址类型

文章介绍了Solidity编程语言中的地址类型,它是20字节的整数,用于标识Ethereum网络上的智能合约或账户。通过示例代码展示了如何在合约中声明和使用地址类型,包括构造函数中设置合约所有者,以及转账功能的实现,涉及到require语句的安全检查和address(this).balance的余额查询。
摘要由CSDN通过智能技术生成

Solidity的地址类型是用于存储 Ethereum 区块链上的地址。它是一个20字节的整数,用于标识在 Ethereum 网络上的智能合约或帐户。

地址类型在 Solidity 中是内置的,不需要额外的定义。下面是一个使用地址类型的示例代码:

pragma solidity ^0.8.7;

contract Example {
  // 定义一个地址类型变量
    address public owner;

    // 构造函数,将调用者的地址设置为 owner
    constructor() public {
        owner = msg.sender;
    }

    // 返回 owner 的地址
    function getOwner() public view returns (address) {
        return owner;
    }

    // 从当前合约地址转账给指定地址
    function transfer(address payable _to, uint256 _value) public {
        // 检查是否有足够的余额
        require(address(this).balance >= _value, "Not enough balance.");
        // 转账
        _to.transfer(_value);
    }
}

其中:

  • 我们声明了一个名为owner的地址类型的变量,用于存储当前合约的所有者地址。

  • 构造函数constructor在合约部署时自动被调用,此时我们使用msg.sender属性将调用者的地址设置为owner。

  • 我们定义了一个名为getOwner的函数,用于返回owner的值。

  • 我们定义了一个名为transfer 的函数,用于从当前合约地址转账给指定地址。

注释:

  • address 是 Solidity 中的地址类型,用于存储以太坊地址。

  • address payable 表示该地址可以接收以太坊代币。

  • require 函数用于检查条件是否满足,如果不满足则抛出错误。

  • transfer 函数用于从当前合约地址转账给指定地址。

  • address(this).balance 表示当前合约地址的余额。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值