区块链研习社区块链大学

DApp Developer Guide - 5 - 完整的步骤

2019-08-29  本文已影响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中获取);具体如下:

写你的第一个智能合约

为了简化本教程,我们不打算设置一个完整的开发环境。相反,我们将使用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
上一篇下一篇

猜你喜欢

热点阅读