广州列举网 > 商务服务 > 网站/软件服务 > Heco火币生态链DAPP智能合约系统开发
广州
[切换城市]

Heco火币生态链DAPP智能合约系统开发

更新时间:2022-11-28 17:26:19 浏览次数:110次
区域: 广州 > 天河 > 黄村
类别:软件开发
地址:广州天河区
  20世纪90年代,Nick Szabo首次提出,I8I合约2591开发3365,智能合约的概念。当时,他把智能合约定义为通过结合协议与用户界面,规范和保障计算机网络安全的工具。

  Szabo探讨了把智能合约运用于合同协议相关各领域的潜在用途,例如信用体系、支付流程和内容版权管理。

  在加密货币领域,智能合约可界定为运行在区块链中的应用或程序。通常,它们作为一种遵循特定规则强制执行的数字化协议发挥作用。这些规则由计算机代码预定义,经所有网络节点复制和执行。

  区块链智能合约支持创建去信任化协议。这意味着合约双方通过区块链做出承诺,而无需相互了解或信任。双方确定,如果没有达到条件,合约不会执行。此外,使用智能合约不再需要中间机构,从而显著降低运行成本。

  虽然智能合约已由协议支持多年,但借由以太坊创造者兼联合创始人Vitalik Buterin之手才普及开来。值得注意的是,各个区块链实施智能合约的方式有所不同。

  本文将重点介绍运行在以太坊虚拟机(EVM)中的智能合约,而以太坊虚拟机是以太坊区块链的重要组成部分。

  pragma solidity^0.4.11;

  contract Purchase{

  uint public value;

  address public seller;

  address public buyer;

  enum State{Created,Locked,Inactive}

  State public state;

  //确保'msg.value'为偶数

  //如果是奇数,使用除法

  //通过乘法检查,它不是一个奇数

  function Purchase()payable{

  seller=msg.sender;

  value=msg.value/2;

  require((2*value)==msg.value);

  }

  modifier condition(bool _condition){

  require(_condition);

  _;

  }

  modifier onlyBuyer(){

  require(msg.sender==buyer);

  _;

  }

  modifier onlySeller(){

  require(msg.sender==selller);

  _;

  }

  modifier inState(State _state){

  require(state==_state);

  _;

  }

  event Aborted();//失败

  event PurchaseConfirmed();//购买确认

  event ItemReceived();//项目获得

  ///终止购买并回收ether

  ///在合约被锁之前可被购买者回调

  function abort()

  onlySeller

  inState(State.Created)

  {

  Aborted();

  state=***active;

  seller.transfer(this.balance);

  }

  ///作为买方确认购买

  ///事务必须包括'2*value'ether

  ///ether被锁直到确认收货被回调

  function confirmPurchase()

  inState(State.Created)

  condition(msg.value==(2*value))

  payable

  {

  PurchaseConfirmed();

  buyer=msg.sender;

  state=State.Locked;

  }

  ///确认买家收到货

  ///然后释放被锁的ether

  function confirmReceived()

  onlyBuyer

  inState(State.Locked)

  {

  ItemReceived();

  //首先改变状态很重要,否则合约可以使用'using'被再次调用

  state=***active;

  //NOTE:实际上允许买方和卖方阻止退款——撤回模式可以使用

  buyer.transfer(value);

  seller.transfer(this.balance);

  }

  }

  智能合约如何运行?

  简单来说,智能合约是一种确定性程序,会在满足某些条件时,执行特定任务。因此,智能合约系统通常遵循“如果……就……”的条件语句。虽然“智能合约”这个概念已广为人知,但它其实既非法定合约,也不智能。它们只是运行在区块链分布式系统中的一段代码。

  在以太坊网络中,智能合约负责执行和管理用户(地址)彼此交互时的区块链操作。智能合约以外的地址称为“外部账户(EOA)”。因此,智能合约由计算机代码控制,而外部账户(EOA)由用户掌控。

  以太坊智能合约基本上由合约代码和两个公钥组成。个公钥由合约创建者提供,另一个公钥即为合约本身,用作每个智能合约的数字标识符。

  所有的智能合约部署都通过区块链交易进行,只有在外部账户(EOA)或其他智能合约被调用时才会。但是,智能合约一般由外部账户(EOA),即用户首次触发。
广州网站/软件服务相关信息
11月11日
11月11日
11月11日
11月11日
11月11日
11月9日
11月9日
注册时间:2022年07月01日
UID:739123
---------- 认证信息 ----------
手机已认证
查看用户主页