建设网站赚钱吗,网站界面设计软件,网络营销工具分析,做网站怎么加视频官方文档#xff1a; https://thegraph.com/docs/zh/quick-start/
简介
The Graph 可以干什么#xff0c;记录区块链上数据#xff0c;以前都要有个后端服务和数据库#xff0c;维护和开发成本大#xff0c;使用The Graph#xff0c;方便快捷节省成本
部署
核心…官方文档 https://thegraph.com/docs/zh/quick-start/
简介
The Graph 可以干什么记录区块链上数据以前都要有个后端服务和数据库维护和开发成本大使用The Graph方便快捷节省成本
部署
核心 the graph node将合约的事件索引存入数据库 自己部署 TheGraphNode rust 实现 ,依赖IPFSpostgrest, geth 归档节点 火币部署文档
使用
合约部署
以一个ERC20代币的合约为例
// SPDX-License-Identifier: agpl-3.0pragma solidity 0.8.0;import openzeppelin/contracts/token/ERC20/ERC20.sol;import openzeppelin/contracts/access/Ownable.sol;contract MockToken is ERC20 {string internal NAME Mock Token;string internal SYMBOL MT;uint256 internal constant TOTAL_SUPPLY 1e28;uint8 public decimal;constructor(uint8 _decimal) public ERC20(NAME, SYMBOL) {_mint(msg.sender, TOTAL_SUPPLY);decimal _decimal;}function decimals() public view override returns (uint8) {return decimal;}}将这个合约部署在mumbai测试网上 部署的地址是 https://mumbai.polygonscan.com/address/0x011c747be9439031b5f3f52ebff12c3109f03aa6 并做一笔转账交易后面我们将通过graph来索引并查询到这笔转账交易。
graph 创建
打开graph studio 后台 https://thegraph.com/studio/
![[Pasted image 20240305144447.png]]
选择Add Subgraph 填上Subgraph Name, 点击最下方的创建即可
![[Pasted image 20240305144615.png]]
接下来就是我们创建好的样子了 ![[Pasted image 20240305145425.png]]
graph 配置
按照上述命令在本地进行graph 安装配置先进行安装 ![[Pasted image 20240305145801.png]]
执行初始化命令这里选择 ethereum我部署的在mumbai 测试网与etherum一样。 ![[Pasted image 20240305145552.png]]
接着按提升一步步选择即可 ![[Pasted image 20240305153808.png]]
最后这里有个让选自己的合约地址的选择如果开源了合约就可以选择graph 会抓取开源的ABI如果没开源就抓取不到可以不填
![[Pasted image 20240305154243.png]]
在执行init 安装的时候可能会遇到一些版本或依赖上的错误一点点按照提示解决即可。
安装完成之后就可以graph codegen 和build了 graph codegen 命令是根据subgraph.yaml 中的配置文件和abis中的合约ABI文件生成文件 并存放在generated目录中在这个模板下的文件开发者可以根据自己的需求处理事件逻辑。 graph build 是将编写好的generated生成wasm文件。 部署的时候需要进行认证可以设部署key在环境里只需要设置一次或者是每次部署的时候带上要部署的key。 最后就是graph deploy指定好要部署的名称部署是会将wasm上传到ipfs 上进行保存。
![[Pasted image 20240305163731.png]]
部署完成后会生成一个IPFS的存储id, ![[Pasted image 20240305165338.png]]
部署完成后可以在graph 控制台看到结果 ![[Pasted image 20240305165452.png]]
playground 可以进行查询如图所示可以查到在这个合约上发生过的一笔转账交易信息。 ![[Pasted image 20240305165618.png]]
以上就完成了一个graph的完整使用流程。
graph进阶使用