2019:08:26   今天是星期一   00:34:46
APP下载 万链之家APP

Android

如何使用状态通道在以太坊创建可扩展的dApp和智能合约

07-11 13:50

标签    区块链   区块链技术    区块链服务   区块链应用   加密货币

文章来源: 万链之家

  有很多不同的解决方案可以创建Dapp,这些Dapp可以接触到数千甚至数百万实时用户,如Plasam和状态通道。在本文中,您将了解状态通道如何工作,以及如何在以太坊中创建可扩展的Dapp。


  什么是状态通道?


  状态通道是一种2层扩展解决方案,可以用于创建Dapp和智能合约,几乎可以被数百万用户实时使用。它们通过在2个或多个用户之间启动多个通道来工作,并执行事务的信息交换加密的签名消息。


区块链


  它们被称为“状态”,是因为每个交互都必须具有可以更新的状态。例如游戏得分或银行余额。


  我们需要什么来建立一个状态通道?


  1. 一个状态通道需要至少2个或多个用户同时交互才能打开。类似即时聊天工具一样。


  2. 具有打开和关闭状态通道逻辑的智能合约。


  3. 如果将在游戏中使用状态通道,则两个用户都需要进行托管。在打开状态通道时,以太网中的托管都将存储在智能合约中。


  4. 一个javascript应用程序,它将生成签名消息,这些消息将在用户之间的链外交换。


  5. Metamask或用于签名消息的类似工具。签名消息不需要损耗gas,并会立即执行。两个用户都需要对消息进行签名,以保证tehy是生成此类事务的人。


  6. 通过电子邮件或任何外部应用程序交换这些签名邮件。


  状态通道如何工作?


  状态通道设置起来有点复杂,因为你必须确保两个玩家都受到保护,以防出现任何问题,这就是为什么我们需要一个智能合约。步骤如下:


  1. 在2个用户之间的状态通道中,第一个用户部署智能合约,该合约将“打开”该通道。


  2. 第二个执行智能合约的以“加入”功能进入该状态通道。


  3. 然后他们可以开始为应用程序交换签名的消息。两个用户都可以访问自定义javascript应用程序,以生成链外消息,这些消息包含他们在智能合约中可以执行的信息。


  4. 事务的速度取决于每个用户创建和签署这些消息的速度。他们需要不停地交换信息,不停地玩,直到他们决定游戏结束。


  5. 当他们结束游戏后,他们中的任何一人都可以进入智能合约并执行一个功能来完成它,这将开始“协商”阶段。


  6. 在此阶段,两个用户都有超时1天的时间将最新的2条消息上传到智能合约。智能合约检查最新消息并释放资金以基于该信息结束游戏。每条消息都包含先前交互的结果,因此只检查最新的消息是安全的。


  如何在现实世界中应用状态通道?


  在本文中,我将向您展示如何在两个用户之间为一个以太坊游戏创建一个状态通道。请记住,状态通道可以用于具有“状态”或“计数器”的任何类型的应用程序。这就是为什么状态通道应用于游戏是非常理想的。因为你可以追踪每一场比赛的胜利者,所以每一场比赛都有一个状态可以更新。


  我们将创建一个骰子游戏,玩家1选择指定自己想要的数字,玩家2必须猜测该数字才能获胜。他们可以任意进行游戏,而无需在区块链上执行交易。我们还有一个Web应用程序来显示游戏界面。


  这是我们要创建Dapp的索引:


  1. 创建可视化Web应用程序。它将用作交换状态通道的签名消息的媒介。


  2. 创建签名和加密消息所需的功能。


  3. 创建智能合约。


  1.创建可视化Web应用程序


  在开始编写代码之前,我想确保我们弄清楚了Web应用程序的完整细节。它看起来怎么样,关注的焦点是什么。


  在这种情况下,我们希望为两个玩家展示类似的东西。玩家1将看到骰子的6个面并且他将必须选择哪个面为结果展示出来,然后第二个玩家,还必须在这些面之间进行选择并且他将能够看到结果。


  所以框架是这样的:


  1、玩家1进入应用程序,点击一个按钮说“开始新游戏”,然后他做一个metamask事务来部署和设置智能合约。他收到一个智能合约地址,可以发送给其他玩家开始游戏。


  2、玩家2进入应用程序,点击一个显示“加入现有游戏”的按钮,其中包含从玩家1收到的合同地址,然后他进行metamask交易以设置现有游戏并发送一个托管。


  那么让我们开始,在Web应用程序的中间创建一个带有2个按钮的框。创建一个名为dice的文件夹和一个名为index.html的文件


声明:万链之家登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。

◣謝ィ夋◥

0打赏金币 11所得总金币

    最新发表    最高金币  最高点击量

特约作者

7x24h快讯更多 >>
  • 08.24 20:31

    SCM将于2019年8月30日上线QB.COM交易所据公告... [快讯详情]

  • 08.24 17:11

    IOTF首日上涨312%IOTF(Internet Of ... [快讯详情]

  • 08.24 16:33

    币对集团投资DEEPLINK3000万美金近日,币对集团完... [快讯详情]

  • 08.24 15:19

    投资界黑马“布比资本”宣布投资硅谷某优质项目据布比资本官方... [快讯详情]

  • 08.24 13:36

    WBFex巅峰首发,THBC暴涨500%引爆区块链名品商业... [快讯详情]