29.Solidity-注册-使用modifie_2

pragma solidity ^0.4.0;

contract MappingTest{
    //定义mapping idmapping代表地址与id映射到一起;namemapping代表id与姓名映射到一起
//id
    mapping(address => uint) idmapping; //0x5B38Da6a701c568545dCfcB03FcB875f56beddC4  ==》 1
    mapping(uint => string) namemapping;// 1  =》 张三  进行绑定
    //注册总量
    uint public  sum = 0;
    
    //用户只能注册一次账户
    modifier control{
        require(idmapping[msg.sender] == 0);


        _;
    }


    function register(string name) public control{
        
        //msg.sender代表当前合约的调用者
        address account = msg.sender;
        sum++;
        //将合约的调用者的地址和注册总量id联系到一起
        idmapping[account] = sum;
        //当前用户的id与注册的名字绑定到一起
        namemapping[sum] = name;
    }
    
    //通过关键字地址获取和他绑定在一起的id值
    function getIdbyaddress(address are) public returns(uint){
        return idmapping[are];
    }
    //通过id值获取和他绑定在一起的名字
    function getNameById(uint id)  public returns(string memory){
        return namemapping[id];
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值