✍️
HyperGraph-Decentralized Data Engine
  • 欢迎了解 HyperGraph
  • 💰Farm - 挖矿帮助
    • 了解挖矿
      • DeFi挖矿的本质
      • 挖矿需要的准备工作
      • DeFi挖矿与其他挖矿的异同
      • 挖矿产出、轮次
      • 矿池介绍
    • 钱包基本操作
      • 火币钱包注册Heco地址
      • TokenPocket(Heco)
      • MetaMask 的网页版
      • MetaMask 连接 Heco 主网
      • BitKeep 钱包
    • 挖矿资产准备
      • 如何转入HT或者其他主流资产
      • 兑换所需币种
      • 添加流动性
    • 质押挖矿
    • 常用术语
    • 合约操作
      • 合约操作介绍
      • 合约操作环境准备
      • 合约数据读取
      • 合约写操作执行
  • 🛠️Product - 产品帮助
    • 产品使用篇
      • HyperGraph 的产品业务
      • 控制台注册与登录
      • 添加子图
      • 查看子图
    • 程序开发
      • 业务交互流程
      • 快速入门
      • 远程部署
      • 开发部署 FAQ
      • 子图开发
      • GraphQL API
      • AssemblyScript API(一)
      • AssemblyScript API(二)
    • 项目范例
      • Uniswap subgraph 范例
      • Uniswap-info 范例
    • 常用子图
    • 服务用户
  • 🪜HyperBridge
    • HyperBridge
    • Token 跨链
    • 主流跨链
    • 主流流动性提供
    • 主流购买Gas
  • 🧩 Network - 节点网络
    • 总体介绍
    • 网络建设
    • 节点角色
    • 节点设备
    • 节点查看与管理
    • 节点托管类型
    • 定价方案第二版
    • 节点网络 FAQ
    • Heco 网络公开归档节点
  • 📖 INTRODUCTION - 项目介绍
    • HyperGraph 简介
    • HyperGraph 优势
    • 跨链支持
    • 常用合约地址
    • 通证分配
    • HyperGraph 审计报告
  • 🔬DApp开发教程
    • DApp开发基础认识
    • 开发前的准备
    • 基础开发环境
    • Web3与Solidity基础
    • ERC720 开发实例
    • ERC721 DApp 开发实例
  • 🔗 Links - 其他链接
    • HyperGraph 官网
    • HyperGraph White Paper
    • HyperGraph 挖矿页
    • Heco 区块浏览器
    • BSC 区块浏览器
    • English Document
Powered by GitBook
On this page

Was this helpful?

  1. Product - 产品帮助
  2. 程序开发

快速入门

Previous业务交互流程Next远程部署

Last updated 4 years ago

Was this helpful?

快速入门

本教程主要是引导您来通过示例和针对合约创建一个子图,以演示整个环境搭建的过程。

  1. 首先去 去添加一个子图,这个子图请选择部署方式为 API 方式,选择所部署的公链为火币生态链。

  1. 进入子图列表页,可以看到子图列表出现了刚加的子图,所给的提示也跟其他类型方式添加的子图不同,有一个提示按钮

  1. 点击提示按钮,显示出来了详细的部署开发过程中的命令

下面,我们就根据这些命令来开启子图开发。

  1. 初始化一个新子图

初始化新子图要安装 graph-cli 开发包,以使用graph命令来初始化新子图。

可以使用 npm 或者 yarn 来进行全局安装,命令如下:

# NPM

$ npm install -g @hgdotnetwork/graph-cli

# Yarn

$ yarn global add @hgdotnetwork/graph-cli

在安装的过程中,可能会出错找不到libsecret 库的情况,可以另行安装,比如在Ubuntu 上,通过apt search libsecret ,找到,然后再使用命令 apt install libsecret-1-dev 安装即可。

安装完成,我们执行 graph --help 会得到如下所示的内容:

graph version 0.20.2

graph -

build Builds a subgraph and (optionally) uploads it to IPFS

codegen Generates AssemblyScript types for a subgraph

create Registers a subgraph name

auth Sets the access token to use when deploying to a Graph node

init Creates a new subgraph with basic scaffolding

remove Unregisters a subgraph name

test Runs tests against a Graph Node environment (using Ganache by default)

help (h) -

version (v) Output the version number

deploy Deploys the subgraph to a Graph node

这些命令后面都有比较详细的说明,在后续的流程中,也会提到这些命令的用法,所以这里暂时不展开。

通过这些步骤,我们就安装好了graph 的命令行环境,就可以进行subgraph的开发和部署了。

首先我们通过graph init 创建一个示例项目来了解。

graph init [options] [subgraph-name] [directory]

Options:

--allow-simple-name Use a subgraph name without a prefix (default: false)

-h, --help Show usage information

Choose mode with one of:

--from-contract <address> Creates a scaffold based on an existing contract

--from-example Creates a scaffold based on an example subgraph

Options for --from-contract:

--abi <path> Path to the contract ABI (default: download from Etherscan)

--network <mainnet|kovan|rinkeby|ropsten|goerli|poa-core|poa-sokol|xdai|matic|mumbai|fantom|bsc|heco|clover>

Selects the network the contract is deployed to

--index-events Index contract events as entities

--contract-name Name of the contract (default: Contract)

从上面的参数可以看到,可以从示例项目创建项目的脚手架

$ graph init --from-example <SUBGRAPH_NAME> [<DIRECTORY>]

也可以从合约创建项目

$ graph init --from-contract <CONTRACT_ADDRESS> <SUBGRAPH_NAME> --network <NETWORK> [<DIRECTORY>]

<SUBGRAPH_NAME> 参数在HyperGraph网络中,建议就是在创建的“子图名称/公链名称”构成的,也就是在子图详情页看到的子图名称,比如“subgraphdemo/heco”。

<DIRECTORY> 就是项目的目录

<CONTRACT_ADDRESS> 就是合约地址,就是子图想要解析的合约地址

<NETWORK> 即想合约所部署公链所在的网络名称,比如币安智能链就是bsc、火币生态链就是 Heco

下面演示使用一下:

graph init --from-example subgraphdemo/heco --network heco

我们就可以成功地基于示例项目创建一个脚手架项目。

执行输出如下图所示:

如何基于合约创建也演示一下:

graph init subgraphdemo/heco --network heco --from-contract 0x0bb480582ecae1d22bbaeaccfbb849b441450026

如果正常运行,可以得到如下输出:

从上面的输出可以看到,指定合约和网络,生成一个子图项目,会连接相应的网络的公链浏览器,取回来相应的合约ABI 合约接口定义文件。

有了这个脚手架项目,我们就能正式进行子图开发,来在子图代码中,对合约的事情进行解析等,后续章节将继续进行讲解。

如果真的要部署此子图,请在HyperGraph控制台,即 也要提交此项目。

🛠️
https://dashboard.hg.network
https
://dashboard.hg.network