拍卖竞拍智能合约

pragma solidity^0.4.24;
contract auction{
    address public seller;//卖家
    //最高出价者
    address public buyer;
    uint public auctionAmount;//最高价
    
    uint auctionEndTime;//竞拍结束时间
    bool isFinished;//shi fou wnacheng
    //1卖家 2,时间间隔  构造函数
    constructor(address _seller,uint _duration)public {
    seller  =_seller;
    auctionEndTime =_duration +now;//jie'shu结束de结束的shi'jian结束的时间 
    isFinished =false;
        
    }
    //竞拍
    function bid() public payable{
        require(!isFinished);//是否结束
        require(now<auctionEndTime);//还没有竞拍结束
        require(msg.value>auctionAmount);//买家出价大于最高出价
        if (auctionAmount>0&&address(0)!=buyer){
            buyer.transfer(auctionAmount);//钱将退回给买家 
            
        }
        buyer=msg.sender;//新的买家
        auctionAmount=msg.value;//买家的最高价
    }
    //结束竞拍
    function auctionEnd() public payable{
        require(now>auctionEndTime);//过了竞拍时间
        require(!isFinished);
        isFinished=true;
        seller.transfer(auctionAmount);//将钱转回到卖家钱包
    }
    
    //获取出价最高买家的价钱
    function getBalance() public view returns(uint){
        return address(this).balance;
    }
}
发布了36 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_40098405/article/details/102828980