美文网首页区块链研习社区块链大学
DApp Developer Guide - 5 - 完整的步骤

DApp Developer Guide - 5 - 完整的步骤

作者: 空乱木 | 来源:发表于2019-08-29 09:33 被阅读0次

    原文链接:https://developer.bandprotocol.com/devs/walkthrough.html

    我们总结了一个dapp开发人员指南通过完整的流程,以建立一个简单的智能合约,使用来自Band Protocol的数据。

    安装MetaMask

    如果已经安装了MetaMask浏览器扩展,请切换到Kovan 网络并跳到下一节。

    MetaMask是一个浏览器钱包,允许你通过网络浏览器(Chrome或Firefox)与Ethereum交互。使用MetaMask,您可以在真实网络(mainnet)和测试网络中拥有以太,以太是以太的原生代币。您还可以使用ETH部署智能合约或将事务发送到网络。要安装MetaMask,请访问https://metamask.io并下载浏览器扩展。

    创建新的账号,您将面对屏幕,屏幕顶部显示您的地址(可以单击复制)和0 ETH。将网络选择更改为Kovan测试网络。假设您连接到Kovan,我们将继续下一步。

    Screen Shot 2019-08-29 at 9.04.43 AM.png

    申请Kovan测试以太

    如果您已经拥有Kovan测试网以太(KETH),请跳到下一节。

    现在已经安装了MetaMask并连接到Kovan测试网络,下一步是请求测试以太与Ethereum网络交互。导航到https://faucet.kovan.network进入Kovan水龙头。

    Screen Shot 2019-08-29 at 9.08.11 AM.png

    使用Github登录后,您将能够输入您的Ethereum地址。这个地址将由Kovan测试以太(KETH)提供资金(代币)。

    很遗憾:https://faucet.kovan.network 异常发生

    Screen Shot 2019-08-29 at 9.11.20 AM.png

    怎么办呢?

    1. 点击Depoist按钮


      Screen Shot 2019-08-29 at 9.12.48 AM.png
    2. 点击Get Ether(获取以太)按钮
      然后跳转到https://github.com/kovan-testnet/faucet

    里边有2个链接:
    1- https://faucet.kovan.network/
    2- https://gitter.im/kovan-testnet/faucet

    第一个链接不可以;所以用第二个链接;具体操作如下:注册账号,并进行登录,然后加入聊天群然后发送你的以太地址(从Metamask中获取);具体如下:

    • 剩下的可能你需要耐心的等待了;


      Screen Shot 2019-08-29 at 9.17.03 AM.png

    写你的第一个智能合约

    为了简化本教程,我们不打算设置一个完整的开发环境。相反,我们将使用Remix编写智能合约,这是一种浏览器内的智能合约开发工具。访问https://remix.ethereum.org,您将看到一个空的编辑空间。

    将以下代码粘贴到编辑器。这个示例智能合约包含一个函数update,它将从Band Protocol的Kovan financial feeds获取Ethereum和美元之间的汇率,并更新状态变量ethusd中的结果。

    pragma solidity ^0.5.0;
    
    interface Oracle {
      enum QueryStatus { INVALID, OK, NOT_AVAILABLE, DISAGREEMENT }
      function query(bytes calldata input)
        external payable returns (bytes32 output, uint256 updatedAt, QueryStatus status);
      function queryPrice() external view returns (uint256);
    }
    
    contract ExampleContract {
      uint256 public ethusd;
    
      function update() public payable {
        Oracle oracle = Oracle(0x07416E24085889082d767AF4CA09c37180A3853c);
        (bytes32 raw,,) = oracle.query.value(oracle.queryPrice())("ETH/USD”);
        ethusd = uint256(raw);
      }
    }
    

    部署和测试契约

    合约实现后,转到“Deploy and Run Transaction”选项卡,单击Deploy部署智能合约。请注意,必须选择Injected Web3才能通过MetaMask部署环境。另一个提醒是必须将MetaMask network设置为Kovan

    remix-deploy.png

    成功部署合约之后,单击左边按钮上的update按钮发送事务来调用update函数。要成功调用此函数,调用者必须使用0.001 ETH作为查询费。可以在Value选项卡下指定。

    remix-click-update

    确认交易后,单击ethusd按钮查询合同状态变量ethusd的值。你会看到它从零变成了以美元为单位的ETH的当前价格,用乘以10^18的值表示。在这个例子中,当前的以太坊价格大约是200.55美元。

    remix-get-ethusd.png

    相关文章

      网友评论

        本文标题:DApp Developer Guide - 5 - 完整的步骤

        本文链接:https://www.haomeiwen.com/subject/qznvectx.html