用mist部署智能合约遇到的问题

无端黎明 发布于 2017/05/08 11:18
阅读 216
收藏 0

各位大神,最近找到一个智能合约,我在在线编译的时候通过了,但是在mist上面部署的时候出现了问题

pragma solidity ^0.4.8;
contract Purchase{
//定义价格,卖家,买家状态变量
 uint public value;
 address public seller;
 address public buyer;
//订单状态枚举类型
 enum State { Created,Locked,Inactive }
//定义订单状态变量
 State public state;

//定义Purchase构造函数,初始化卖家,价格信息
 function Purchase() payable
 {
  seller=msg.sender;
  value=msg.value/2;
  if(2*value!=msg.value)throw;
 }
 modifier require(bool _condition) 
 {
  if(!_condition)throw;
  _;
 }
 modifier onlyBuyer() 
 {
  if(msg.sender!=buyer)throw;
  _;
 } 
 modifier onlySeller() 
 {
  if(msg.sender!=seller)throw;
  _;
 } 
 modifier inState(State _state) 
 {
  if(state!=_state)throw;
  _;
 } 
//订单状态变化时调用的事件函数
 event aborted();
 event purchaseConfirmed();
 event itemReceived();

//订单处于锁定之前,卖家可以终止购买并退回以太币
 function abort()
  onlySeller
  inState(State.Created) 
 {
  aborted();
  seller.send(this.balance);
  state=State.Inactive;
 }
//买家确认购买,以太币将被暂时锁定,直到买家确认收货。
 function confirmPurchase() payable
  inState(State.Created)
  require(msg.value==2*value)
 {
  purchaseConfirmed();
  buyer=msg.sender;
  state=State.Locked;
 }
//买家确认收货,锁定的以太币将被激活,分别发送给买卖家。
//订单状态变为关闭
function confirmReceived()
 onlyBuyer
 inState(State.Locked)
{
 itemReceived();
 buyer.send(value);
 seller.send(this.balance);
 state=State.Inactive;
}
//当交易没有数据或者数据不对时,触发此函数。
//重置操作,确保参与者不会丢失资金
 function()
{
throw;
}
}

 

在这一行seller.send(this.balance);出现了错误

Return value of low-level calls not used.

请问各位这是什么意思?

还有刚刚发现,在线编译的analysis栏在这行address public seller;提示了一个错误

type address not supported for state variable.   

是不是跟这个也有关系?

请问各位怎么解决。。。。

加载中
返回顶部
顶部