npm 包 @realitio/realitio-cli 使用教程

介绍

@realitio/realitio-cli 是一个基于命令行的工具,用于方便地生成和部署 Realitio 策略合约。Realitio 是一种基于区块链的去中心化预言机,可以提供可信赖的实时信息。由于 Realitio 策略合约的编写过程比较复杂,使用 @realitio/realitio-cli 可以大大简化这个过程。

安装

在使用 @realitio/realitio-cli 前,需要先安装 Node.jsnpm。安装完成后,可以使用以下命令全局安装 @realitio/realitio-cli

--- ------- -- ----------------------

安装完成后,可以使用以下命令来验证是否安装成功:

-------- -------

如果输出了版本号,说明安装成功。

使用教程

初始化项目

在使用 @realitio/realitio-cli 前,需要先初始化一个项目,使用以下命令:

-------- ---- ----------

其中,my-project 是你的项目名。@realitio/realitio-cli 会在当前目录下创建一个 my-project 的文件夹,并将初始化后的项目复制到该文件夹中。

编写策略合约

在初始化项目后,可以开始编写策略合约。首先需要在项目根目录下创建一个名为 RealitioQuestion.sol 的文件,然后使用以下代码进行编写:

------ -------- -------

------ ------------------------------------------------------

-------- ---------------- -- ---------- -

    ------------------- ----------- ------- --------- ------- -------- ------ -------- ------- --------- ------- -------------- ------ ---------------------- --------- -------- -------- --------- -------------- --

-

其中,arbitrator 是仲裁人地址,question 是问题的哈希值,content 是问题的内容,timeout 是问题超时时间,templatecustomContent 是可选参数。

编译策略合约

在编写完策略合约后,需要使用以下命令来编译合约:

-------- -------

如果编译成功,@realitio/realitio-cli 会在项目根目录下创建一个名为 build 的文件夹,并将编译后的策略合约放在该文件夹中。

部署策略合约

在编译成功后,可以使用以下命令来部署策略合约:

-------- ------

如果部署成功,@realitio/realitio-cli 会输出策略合约的地址和交易哈希值。

使用策略合约

在部署成功后,我们可以使用以下代码来调用策略合约:

------ -------- -------

------ ------------------------------------------------------
------ -----------------------------------------

-------- -------------------- -

    ---------------- ------ ---------

    ------------------- -------- ------- ---------- ------- --------- ------ --------- ------ -
        -------- - --- ------------------------- ---------- --------- --------- ----------- ------------
    -

    -------- ----------- ------ ---- ---------------- -
        ------ ------------------------
    -

    -------- ------------- ------ ---- ------------- -
        ------ -----------------------
    -

-

其中,TestRealitioQuestion 是我们自己定义的测试合约,_oracle 是仲裁人地址,_question 是问题的哈希值,_content 是问题的内容,_timeout 是问题超时时间。使用 question = new RealitioQuestion(_oracle, _question, _content, _timeout, address(0), address(0)) 可以创建一个新的策略合约实例。

在使用 getResult()isFinalized() 函数时,需要先使用 question.resultFor(0x0) 来获取问题的回答。

总结

通过本教程,我们学习了如何使用 @realitio/realitio-cli 工具来编写、编译、部署和使用 Realitio 策略合约。作为一个前端开发者,了解和掌握 Realitio 的相关知识,将有助于我们更好地开发出基于区块链的去中心化应用。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/112954


猜你喜欢

  • npm包@types/html2canvas使用教程

    1. 前言 html2canvas是一款很优秀的用于将网页截屏为图片的JavaScript库,可以在不需要浏览器插件的情况下获取当前网页的呈现。不过它是一个非常原始的JavaScript库,其函数类型...

    5 年前
  • npm 包 @types/hammerjs 使用教程

    在现代 web 开发中,手势交互已经成为了其中的重要一环。而在实现这一功能时,Hammer.js 是一款非常优秀的手势识别库。但在使用 TypeScript 编写代码时,我们需要额外安装一个类型声明文...

    5 年前
  • npm 包 @stencil/router 使用教程

    介绍 @stencil/router 是一款轻量级的客户端路由库,用于在 Web 应用中实现多路由的前端导航。它是由 StencilJS 团队开发的,非常适合 StencilJS 应用的使用。

    5 年前
  • npm包 @byteowls/capacitor-sms 使用教程

    前言 随着时代的发展,手机短信成为了一种重要的通信方式,而在前端领域,我们也可以使用 @byteowls/capacitor-sms 这个npm包来实现发送短信的功能。

    5 年前
  • npm 包 @angular-devkit/build-angular 使用教程

    前言 在现今的前端开发中,使用 AngularJS 已经成为了一种非常流行的技术。同时,AngularJS 也有很多的插件和工具,其中 @angular-devkit/build-angular 就是...

    5 年前
  • npm 包 @angular/service-worker 使用教程

    随着前端技术的不断发展,现代 Web 应用变得越来越复杂,更加类似于原生应用。因此,为了提高 Web 应用的性能和用户体验,服务端缓存技术也开始逐渐被广泛应用。而 @angular/service-w...

    5 年前
  • npm 包 @angular/pwa 使用教程

    简介 @angular/pwa 是一个用于构建渐进式 Web 应用(PWA)的官方 Angular 模块。它简化了 PWA 开发的过程,使得 Web 应用可以通过添加桌面图标、离线访问、推送通知等功能...

    5 年前
  • npm 包 @vue/eslint-config-prettier 使用教程

    前置要求 在学习使用 @vue/eslint-config-prettier 之前,需要了解以下知识: 前端开发基础知识 ESLint 的基础知识 Prettier 的基础知识 npm 包管理器的基...

    5 年前
  • npm 包 @vue/cli-service 使用教程

    介绍 在使用 Vue.js 开发项目时,我们经常需要使用到各种各样的工具来构建、调试和部署项目。其中一个非常重要的工具就是 @vue/cli-service。 @vue/cli-service 是一个...

    5 年前
  • npm 包 @vue/cli-plugin-eslint 使用教程

    介绍 ESLint 是一个常用的代码检查工具,它可以用来检查 JavaScript 代码的质量,并提供一些规范化的代码风格。在 Vue.js 的开发中,我们通常会使用 @vue/cli 来构建项目。

    5 年前
  • npm 包 @vue/cli-plugin-babel 使用教程

    前言 在现代 Web 开发过程中,使用好的工具和技术可以帮助我们大量节省时间,提高开发效率。其中,Vue.js 是一门非常优秀的前端框架,它能够有效地帮助我们构建复杂、高质量的 Web 应用。

    5 年前
  • npm 包 feathers-bee-queue 使用教程

    简介 Feathers-bee-queue 是一个对 Bee-queue 消息队列的封装,能够在 Feathers 框架中使用。它提供了一个可扩展的 Job Service,可以与您的 Feather...

    5 年前
  • npm 包 @types/mongodb 使用教程

    在前端开发中,MongoDB 是一种常用的 NoSQL 数据库,而 @types/mongodb 是一个针对 MongoDB 数据库类型定义的 npm 包。它为使用 TypeScript 编写 Mon...

    5 年前
  • npm 包 @casual-simulation/causal-tree-client-socketio 使用教程

    前言 @casual-simulation/causal-tree-client-socketio 是一个基于 Socket.io 实现的客户端库,它用于连接到 Causal Tree 服务器并与之交...

    5 年前
  • npm 包 @c4fl/chat-room 使用教程

    前端领域中,实现聊天室功能是不可或缺的一项技能。使用 npm 包 @c4fl/chat-room 可以在项目中快速搭建一个聊天室,本文将介绍如何使用该 npm 包。

    5 年前
  • npm包@blockware/ui-web-context 使用教程

    简介 @blockware/ui-web-context 是一款基于 React 编写的前端组件库,旨在提供一种方便快捷的开发方案,该组件库提供了多种 UI 组件以及一些工具函数,可以轻松地在 Rea...

    5 年前
  • npm 包 @berrywallet/core 使用教程

    在前端开发中,我们经常需要使用各种各样的 npm 包来加快开发效率,其中 @berrywallet/core 就是一款非常实用的 npm 包。在本文中,我们将介绍如何使用 @berrywallet/c...

    5 年前
  • npm 包 @atpar/ap.js 使用教程

    简介 @atpar/ap.js 是一个基于 Axios 封装的用于前端开发中处理 API 请求的 JavaScript 库。其核心设计思路为简单、灵活且易于使用。在本文中,我们将学习如何使用 @atp...

    5 年前
  • npm包@atlas-engine/atlas_engine.api.contracts使用教程

    简介 @atlas-engine/atlas_engine.api.contracts是一个前端库,旨在帮助开发者构建 Atlas Engine 平台上的自定义组件。

    5 年前
  • npm 包 @aspecto/core 使用教程

    在前端开发过程中,我们经常需要使用各种各样的包来简化我们的工作,并提供更好的效率和功能。@aspecto/core 是一个非常实用的 npm 包,它可以大大提高我们的调试和性能优化的效率。

    5 年前

相关推荐

    暂无文章