solidity

BufferedReader br = new BufferedReader(new InputStreamReader(
                    req.getInputStream(), "UTF-8")); // 编码
            String line = null;
            StringBuilder sb = new StringBuilder();
            while ((line = br.readLine()) != null) {
                sb.append(line);
                sb.append("\r\n");
            }
            br.close();
contract Config{
   struct configInfo{
        string sys;
        string name;
        string detail;

    }
    mapping(string=>configInfo) configInfos;
       
function setInfo(string sys, string name,string detail){
    configInfo  memory inf = configInfo(sys,name,detail);
    configInfos[name]= inf;

}
function getInfo(string name) constant returns(string ,string){
   return (configInfos[name].sys, configInfos[name].detail);
}   

}

pragma solidity ^0.4.0;
/*
contract ERC20 {
      function totalSupply() constant returns (uint totalSupply);
      function balanceOf(address _owner) constant returns (uint balance);
      function transfer(address _to, uint _value) returns (bool success);
      function transferFrom(address _from, address _to, uint _value) returns (bool success);
      function approve(address _spender, uint _value) returns (bool success);
      function allowance(address _owner, address _spender) constant returns (uint remaining);
      event Transfer(address indexed _from, address indexed _to, uint _value);
      event Approval(address indexed _owner, address indexed _spender, uint _value);
    }
*/
contract red {

    address god;
    uint    money;
   
   
   
   

    struct redStruct{
        string giveRedID;
        string getRedID;
      
        uint redMoney;
        address from;
        address to;
    }
    
    struct user{
        address addr;
        uint amount;
      }
      
    struct redEnvelope{
        address redAdd;
        uint    redAmount;
    }
    
    mapping (address => uint)  users;
    mapping (string =>uint) giveRedsForMoney;
     mapping (string =>address) giveRedsForAddress;
    mapping (string=>mapping(string=>redStruct))giveRedsDetail;   //抢完红包后的明细
    function red(){
        god =  msg.sender;
        money =  10000000000;    //100亿
    }



    modifier onlyOwner {
        require(msg.sender == god);
        _;
    }    
       modifier onlyUsers {
        require(msg.sender != god);
        _;
    }  
    
    function buyCoin(uint transMon) onlyUsers{
        uint tmp = users[msg.sender];
        users[msg.sender] = transMon + tmp;
        money = money-transMon;
        
    
    }
  function getCoin()onlyUsers returns(uint){
  
      
      return users[msg.sender];
  }
  




    function trans(address from,address to,uint transMoney)internal{
         users[from]=users[from] - transMoney;
         users[to]=users[to] + transMoney;
    }
 function giveRed(uint redMoney,uint presonNum,string id){
     uint tmpMoney = redMoney*presonNum;
      trans(msg.sender,god,tmpMoney);
      giveRedsForMoney[id] = tmpMoney;
      giveRedsForAddress[id] =msg.sender;
 }
 function whoGetRed(string giveRedID,string getRedID,address from,address to,uint redMoney){
   //  redStruct tmp = redStruct(giveRedID,getRedID,redMoney,from,to);
     //  mapping (string=>mapping(string=>redStruct))giveRedsDetail;
     giveRedsDetail[getRedID][giveRedID] =redStruct(giveRedID,getRedID,redMoney,from,to);
    trans(from,to,redMoney);
 }

}

pragma solidity ^0.4.0;


import "./Test2.sol";
contract Test1{
     event setStringEvent(string str1,string str2, string str3, string str4);
     event getStringEvent(string str1,string str2, string str3,string str4);
     
     string a ;
     string b ;
    function getBalance() public{
         getStringEvent("获得数值是多少-----a",a,"----b---",b);
       
    }
    function setBalance( string aa,string bb)  public {
        setStringEvent("设置数值是多少-----a",a,"----b---",b);
        a = aa;
        b = bb;
    }
}



pragma solidity ^0.4.0;

contract Test1ABI{ 

    function getBalance()public {}
    
    function setBalance( string aa,string bb)public {}
   
}


contract Test2{ 
      address public signersAddr;
      
      
    function setit(string aa,string bb){
       Test1ABI(signersAddr).setBalance(aa,bb);
    }
}

调用之前

pragma solidity ^0.4.0;



contract Test1{
     event setStringEvent(string str1,string str2, string str3, string str4);
     event getStringEvent(string str1,string str2, string str3,string str4);
     
     string a ;
     string b ;
    function getBalance() public{
         getStringEvent("获得数值是多少-----a",a,"----b---",b);
       
    }
    function setBalance( string aa,string bb)  public {
        setStringEvent("设置数值是多少-----a",a,"----b---",b);
        a = aa;
        b = bb;
    }
}




pragma solidity ^0.4.0;
import "./Test1.sol";
contract Test1ABI{ 

    function getBalance()public {}
    
    function setBalance( string aa,string bb)public {}
   
}


contract Test2{ 
      address public signersAddr;
      
      function getit(){
          signersAddr = to.address;
        //  signersAddr =0x692a70d2e424a56d2c6c27aa97d1a86395877b3a;
      }
    function setit(string aa,string bb){
       Test1ABI(signersAddr).setBalance(aa,bb);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近智能合约随着区块链技术的发展越发收到广大技术人员的重视! 其中最被看好的以太坊就是一个提供智能合约开发的平台,...
    追梦进行时阅读 10,825评论 4 51
  • iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 cocoa AsyncSocket库,用它...
    Ethan_Struggle阅读 6,700评论 2 12
  • 前言: 本文转自前同事casa的博文,这篇文章是基于runtime实现的iOS组件化方案,其实iOS组件化方案基本...
    monkey01阅读 5,589评论 1 2
  • 我以为我不提起,就可以不爱你。 寒假的时候,我在你家的那条街做的社会实践,一个学校,两个校区,于是我每天来往于...
    南国雪阅读 3,584评论 0 2
  • 今天早晨起床,看到儿子的留言,要我打电话给他。我立刻打回去。他一个人在家解决了不少麻烦。 孩子长大了,我觉得非常欣...
    SandyZhang_ce42阅读 1,202评论 0 0