solidity 第三天

简介: solidity 第三天
pragma solidity ^0.4.0;
contract TransTest {
      //
      address public owner;
      address[] public aaddress  = new address[](1);
      mapping(address=>uint)  amoneycount;
    address[] public baddress  = new address[](1);
    mapping(address=>uint)  bmoneycount;
    address[] public caddress  = new address[](1);
     mapping(address=>uint)  cmoneycount;
    
     bool isvoting = false;
       
     function TransTest() public {
         owner = msg.sender;
     }
     
    function voting(uint a) payable public returns (uint){
        //地址===》投票 金额 
         require(isvoting);
        if(a== 1){
          aaddress.push(msg.sender);
          amoneycount[msg.sender] = msg.value;
           return aaddress.length;
        }else if(a==2){
            baddress.push(msg.sender);
            bmoneycount[msg.sender] = msg.value;
            return baddress.length;
     }else if(a==0){
            caddress.push(msg.sender);
            cmoneycount[msg.sender] = msg.value;
            return caddress.length;
     }else{
         return  0;
     }
     
    }
    
    modifier isOwner(){
        if(msg.sender==owner){
            _;
        }
    }
    function setVoting(bool isvoting2) public isOwner returns(bool){
        isvoting = isvoting2;
        return isvoting;
    }
   function getAL()public constant returns (uint){
        return aaddress.length;
   }
   function getBL()public constant returns (uint){
        return baddress.length;
   }
   function getCL()public constant returns (uint){
        return caddress.length;
   }
     function getA(uint i) public constant returns (address,uint){
          require(i<aaddress.length);
          return (aaddress[i],amoneycount[aaddress[i]]);
     }
     function getB(uint i) public constant returns (address,uint){
          require(i<baddress.length);
          return (baddress[i],bmoneycount[baddress[i]]);
     }
     function getC(uint i) public constant returns (address,uint){
          require(i<caddress.length);
          return (caddress[i],cmoneycount[caddress[i]]);
     }
     
     function clearData()  public returns (bool) {
         require(msg.sender==owner);
         aaddress.length = 0;
         baddress.length = 0;
         caddress.length = 0;
         
         return true;
         
     }
     
      
   
}
pragma solidity ^0.4.18;
 
 
interface token {
    function transfer(address _to, uint256 _value) public returns (bool);
}
 
contract Sale {
   
    token public tokenReward;    // 要卖的token
    address public owner;  
    
    function Sale(address addressOfTokenUsedAsReward) public{
         tokenReward = token(addressOfTokenUsedAsReward);
         owner = msg.sender;  
     }
     
     //通过eth买代币
    function buy() payable public returns(bool) {
        return tokenReward.transfer(msg.sender, msg.value*10000);
    }
    
    function () payable public {
        
    }
    //查询当前的余额  
    function getBalance() constant public returns(uint){  
          return this.balance;  
     }
     //直接转账  
    function transferETH(address _to)  public returns (bool){ 
            require(msg.sender==owner); 
            _to.transfer(this.balance);  
             return true;  
    }  
}
 
相关文章
|
JavaScript 前端开发 区块链
|
8月前
|
存储 供应链 安全
《Solidity 简易速速上手小册》第1章:Solidity 和智能合约简介(2024 最新版)
《Solidity 简易速速上手小册》第1章:Solidity 和智能合约简介(2024 最新版)
241 1
|
安全 区块链 数据安全/隐私保护
迪斯卡(Disca)众筹质押挖矿系统项目开发/Solidity编写
迪斯卡(Disca)众筹质押挖矿系统项目开发/Solidity编写
|
C语言
C语言期末程序基础复习题(一)
C语言期末程序基础复习题(一)
|
区块链
以太坊竞猜合约开发源码规则
以太坊竞猜合约开发源码规则
|
人工智能 区块链 安全
区块链BSC币安链DAPP发行代币合约项目系统开发正式版丨DAPP币安链BSC代币发行合约系统开发(源码详情)
 本质上来说,智能合约是一段程序,它以计算机指令的方式实现了传统合约的自动化处理。智能合约程序不只是一个可以自动执行的计算机程序,它本身就是一个系统参与者,对接收到的信息进行回应,可以接收和储存价值,也可以向外发送信息和价值。
币币合约丨永续合约丨交割合约丨秒合约丨交易所系统开发(案例开发)/实现方案/成熟技术/稳定版及源码
 合约交易是一种金融衍生品,它是相对于现货市场的交易,用户可以在期货合约交易中通过判断涨跌,选择买入做多或者卖出做空合约,To gain the benefits of price increases or decreases.
|
存储 前端开发 Unix
一文聊透 Solidity 语法:助你成为智能合约专家(二)
一文聊透 Solidity 语法:助你成为智能合约专家
111 0
|
存储 Rust JavaScript
一文聊透 Solidity 语法:助你成为智能合约专家(一)
一文聊透 Solidity 语法:助你成为智能合约专家
260 0
|
区块链
PtahDao普塔道智能合约分红系统开发(详细及说明)丨PtahDao普塔道智能合约分红源码正式版
  区块链通过时间戳保证每个区块依次顺序相连,而这个时间戳就像数据的生产日期,证明这个数据在什么时间点就已经存在,时间戳是区块元数据的一部分,这使得区块具有天然的时间属性。