IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 2021-09-15 -> 正文阅读

[区块链]2021-09-15

TheGraph 智能合约

  • 下载相应依赖
 npm install -g @graphprotocol/graph-cli
 yarn global add @graphprotocol/graph-cli
  • 配置文件 subgraph.yaml
specVersion: 版本
description: 描述
repository: 子图git仓库地址
schema:
  file: 子图数据目录结构文件 (相对路径 ./)
dataSources:
  - kind: ethereum/contract  (子图类型 合约)
    name: 合约名称
    network: 网络 (bsc,eth 等)
    source:
      address: 子图对应合约地址
      abi: abi名称
      startBlock: 开始查询的区块数
    mapping:
      kind: ethereum/events (子图类型 合约里的事件)
      apiVersion: 0.0.4 (版本)
      language: wasm/assemblyscript
      entities:
        - OptionNft
      abis:
        - name: OptionNft
          file: ./abis/OptionNft.json (相对路径)
      eventHandlers:
        - event: Transfer(indexed address,indexed address,indexed uint256) (查询事件名称)
          handler: handleTransfer (对应函数)
      file: ./src/OptionNft.ts (对应函数文件 相对路径)
type Option @entity {
  id: ID!
  from: Bytes!
  to: Bytes!
  tokenId: BigInt!
}

或(单层数据结构 多层数据结构)

type Option @entity {
  id: ID!
  creator: Bytes!
  collateral: Bytes!
  underlying: Bytes!
  strikePrice: BigInt!
  expiry: BigInt!
  long: Bytes!
  short: Bytes!
  asks: [OrderAsk!]! @derivedFrom(field: "option")
}

type OrderAsk @entity {
  id: ID!
  askID: BigInt!
  binds: [OrderBid!]! @derivedFrom(field: "orderAsk")
  seller: Bytes!
  long: Bytes!
  volume: BigInt!
  settleToken: Bytes!
  price: BigInt!
  isCancel: Boolean!
  option: Option!
}

type OrderBid @entity {
  id: ID!
  bidID: BigInt!
  askID: BigInt!
  buyer: Bytes!
  volume: BigInt!
  amount: BigInt!
  orderAsk: OrderAsk!
}  
  • 命令行运行 graph codegen
npm i @graphprotocol/graph-ts
yarn add @graphprotocol/graph-ts
  • 配置子图函数文件
import { Transfer } from '../generated/OptionNft/OptionNft'
import { Option } from '../generated/schema'
export function handleTransfer(event: Transfer): void {
    let option = new Option(event.params.tokenId.toHex())
    option.from = event.params.from
    option.to = event.params.to
    option.tokenId = event.params.tokenId
    option.save()
}
  • 命令行运行 graph build
  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:11:36  更:2021-09-18 10:14:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:19:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码