zoukankan      html  css  js  c++  java
  • 智能合约 拍卖

    pragma solidity ^0.4.18;
    
    contract Auction {
        event newBid();
        address owner;
        address public leader;
        address public winner;
        string public item;
        uint public leadingBid;
    
        function Auction(string name, uint price) public {
            owner = msg.sender;
            item = name;
            leadingBid = price;
        }
        function placeBid() payable public{
            if (msg.value > leadingBid) {
                returnPrevBid();
                leader = msg.sender;
                leadingBid = msg.value;
                newBid();
            }
        }
        function returnPrevBid() private{
            if (leader != 0) {
                leader.transfer(leadingBid);
            }
        }
        function endAuction() public {
           if (msg.sender == owner) {
               winner = leader;
               owner.transfer(leadingBid);
           }
       }
    }
    
    var event = myAuction.newBid(function(error, result){
      if (!error)
        console.log("New bid placed for " + web3.fromWei(myAuction.leadingBid(),"ether") + " Ether from " +  myAuction.leader());
    });

    流程:

    拍卖猫 10以太币

    A 创建拍卖智能合约(cat ,10)

    B竞价20(B转账到合约20)

    C竞价40(C转账到合约40,并且返还B 20)

    A结束拍卖 (合约转账40到A)

  • 相关阅读:
    【转】教你爱上Blocks(闭包)
    【转】iOS Developer:真机测试
    bzoj1231 混乱的奶牛
    bzoj2064 分裂
    洛谷P2051 中国象棋
    洛谷P2607 骑士
    洛谷P1879 玉米田
    洛谷P3694 邦邦的大合唱
    openjudge dp水题记录
    bzoj1191 超级英雄
  • 原文地址:https://www.cnblogs.com/ahuo/p/8177434.html
Copyright © 2011-2022 走看看