mirror of
https://github.com/oceanprotocol/ocean-subgraph.git
synced 2024-12-02 05:57:29 +01:00
Create README.md (#698)
add deployment docs Co-authored-by: md00ux <54084524+md00ux@users.noreply.github.com>
This commit is contained in:
parent
ab62f18c3e
commit
bc56752f3c
685
deployment/README.md
Normal file
685
deployment/README.md
Normal file
@ -0,0 +1,685 @@
|
||||
<!--
|
||||
Copyright 2023 Ocean Protocol Foundation
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
|
||||
|
||||
|
||||
- [Kubernetes deployment](#kubernetes-deployment)
|
||||
* [Postgresql](#postgresql)
|
||||
* [IPFS](#ipfs)
|
||||
* [Graph-node](#graph-node)
|
||||
- [Docker Compose deployment](#docker-compose-deployment)
|
||||
* [Single systemd service (Graph-node+Postgresql+IPFS)](#single-systemd-service-graph-nodepostgresqlipfs)
|
||||
- [Ocean-subgraph deployment](#ocean-subgraph-deployment)
|
||||
|
||||
|
||||
|
||||
|
||||
#### Kubernetes deployment
|
||||
|
||||
[ocean-subgraph](https://github.com/oceanprotocol/ocean-subgraph) must be deployed on top of [graph-node](https://github.com/graphprotocol/graph-node) which has the following dependencies:
|
||||
|
||||
- PostgreSQL
|
||||
|
||||
- IPFS
|
||||
|
||||
|
||||
Templates (yaml files) provided and could be customized based on the environment's specifics.
|
||||
|
||||
|
||||
|
||||
##### Postgresql
|
||||
|
||||
It is recommended to deploy PostgreSQL as helm chart
|
||||
|
||||
References: https://github.com/bitnami/charts/tree/main/bitnami/postgresql/#installing-the-chart
|
||||
|
||||
Once PostgreSQL pods are running, a database must be created: eg. `mumbai`
|
||||
|
||||
##### IPFS
|
||||
|
||||
The following template can be customized to deploy IPFS statefulset and service:
|
||||
|
||||
```yaml
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
labels:
|
||||
app: ipfs
|
||||
name: ipfs
|
||||
spec:
|
||||
podManagementPolicy: OrderedReady
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
selector:
|
||||
matchLabels:
|
||||
app: ipfs
|
||||
serviceName: ipfs
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
app: ipfs
|
||||
spec:
|
||||
containers:
|
||||
- image: ipfs/go-ipfs:v0.4.22
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
httpGet:
|
||||
path: /debug/metrics/prometheus
|
||||
port: api
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 3
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 1
|
||||
name: s1-ipfs
|
||||
ports:
|
||||
- containerPort: 5001
|
||||
name: api
|
||||
protocol: TCP
|
||||
- containerPort: 8080
|
||||
name: gateway
|
||||
protocol: TCP
|
||||
readinessProbe:
|
||||
failureThreshold: 3
|
||||
httpGet:
|
||||
path: /debug/metrics/prometheus
|
||||
port: api
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 15
|
||||
periodSeconds: 3
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 1
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
volumeMounts:
|
||||
- mountPath: /data/ipfs
|
||||
name: ipfs-storage
|
||||
dnsPolicy: ClusterFirst
|
||||
restartPolicy: Always
|
||||
schedulerName: default-scheduler
|
||||
securityContext:
|
||||
fsGroup: 1000
|
||||
runAsUser: 1000
|
||||
terminationGracePeriodSeconds: 30
|
||||
updateStrategy:
|
||||
rollingUpdate:
|
||||
partition: 0
|
||||
type: RollingUpdate
|
||||
volumeClaimTemplates:
|
||||
- apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: ipfs-storage
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1G
|
||||
volumeMode: Filesystem
|
||||
status:
|
||||
phase: Pending
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: ipfs
|
||||
name: ipfs
|
||||
spec:
|
||||
clusterIP:
|
||||
clusterIPs:
|
||||
ipFamilies:
|
||||
- IPv4
|
||||
ipFamilyPolicy: SingleStack
|
||||
ports:
|
||||
- name: api
|
||||
port: 5001
|
||||
- name: gateway
|
||||
port: 8080
|
||||
selector:
|
||||
app: ipfs
|
||||
```
|
||||
|
||||
|
||||
|
||||
##### Graph-node
|
||||
|
||||
The following annotated templated can be customized to deploy graph-node deployment and service:
|
||||
|
||||
```yaml
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
labels:
|
||||
app: mumbai-graph-node
|
||||
name: mumbai-graph-node
|
||||
spec:
|
||||
progressDeadlineSeconds: 600
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mumbai-graph-node
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
type: RollingUpdate
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
app: mumbai-graph-node
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ipfs
|
||||
value: ipfs.<namespace>.svc.cluster.local:5001
|
||||
- name: postgres_host
|
||||
value: postgresql.<namespace>.svc.cluster.local
|
||||
- name: postgres_user
|
||||
value: < postgresql user >
|
||||
- name: postgres_pass
|
||||
value: < postgresql database password >
|
||||
- name: postgres_db
|
||||
value: < postgresql database >
|
||||
- name: ethereum
|
||||
value: mumbai:https://polygon-mumbai.infura.io/v3/< INFURA ID>
|
||||
- name: GRAPH_KILL_IF_UNRESPONSIVE
|
||||
value: "true"
|
||||
image: graphprotocol/graph-node:v0.28.2
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
httpGet:
|
||||
path: /
|
||||
port: 8000
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 1
|
||||
name: mumbai-graph-node
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
name: graphql
|
||||
protocol: TCP
|
||||
- containerPort: 8020
|
||||
name: jsonrpc
|
||||
protocol: TCP
|
||||
- containerPort: 8030
|
||||
name: indexnode
|
||||
protocol: TCP
|
||||
- containerPort: 8040
|
||||
name: metrics
|
||||
protocol: TCP
|
||||
readinessProbe:
|
||||
failureThreshold: 3
|
||||
httpGet:
|
||||
path: /
|
||||
port: 8000
|
||||
scheme: HTTP
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
timeoutSeconds: 1
|
||||
resources:
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: 1536Mi
|
||||
requests:
|
||||
cpu: 1500m
|
||||
memory: 1536Mi
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
dnsPolicy: ClusterFirst
|
||||
restartPolicy: Always
|
||||
schedulerName: default-scheduler
|
||||
terminationGracePeriodSeconds: 30
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: mumbai-graph-node
|
||||
name: mumbai-graph-node
|
||||
spec:
|
||||
clusterIP:
|
||||
clusterIPs:
|
||||
internalTrafficPolicy: Cluster
|
||||
ipFamilies:
|
||||
- IPv4
|
||||
ipFamilyPolicy: SingleStack
|
||||
ports:
|
||||
- name: graphql
|
||||
port: 8000
|
||||
- name: jsonrpc
|
||||
port: 8020
|
||||
- name: indexnode
|
||||
port: 8030
|
||||
- name: metrics
|
||||
port: 8040
|
||||
selector:
|
||||
app: mumbai-graph-node
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
#### Docker Compose deployment
|
||||
|
||||
##### Single systemd service (Graph-node+Postgresql+IPFS)
|
||||
|
||||
a) create */etc/docker/compose/graph-node/docker-compose.yml* file
|
||||
|
||||
*/etc/docker/compose/graph-node/docker-compose.yml* (annotated - example for `mumbai` network)
|
||||
|
||||
```yaml
|
||||
version: '3'
|
||||
services:
|
||||
graph-node:
|
||||
image: graphprotocol/graph-node:v0.28.2
|
||||
container_name: graph-node
|
||||
restart: on-failure
|
||||
ports:
|
||||
- '8000:8000'
|
||||
- '8020:8020'
|
||||
- '8030:8030'
|
||||
- '8040:8040'
|
||||
depends_on:
|
||||
- ipfs
|
||||
- postgres-graph
|
||||
environment:
|
||||
postgres_host: postgres-graph
|
||||
postgres_user: graph-node
|
||||
postgres_pass: < password >
|
||||
postgres_db: mumbai
|
||||
ipfs: 'ipfs:5001'
|
||||
ethereum: 'mumbai:https://polygon-mumbai.infura.io/v3/< INFURA ID >'
|
||||
GRAPH_LOG: info
|
||||
ipfs:
|
||||
image: ipfs/go-ipfs:v0.4.23
|
||||
container_name: ipfs
|
||||
restart: on-failure
|
||||
ports:
|
||||
- '5001:5001'
|
||||
volumes:
|
||||
- ipfs-graph-node:/data/ipfs
|
||||
postgres-graph:
|
||||
image: postgres:15.3
|
||||
container_name: postgres
|
||||
restart: on-failure
|
||||
ports:
|
||||
- '5432:5432'
|
||||
command: ["postgres", "-cshared_preload_libraries=pg_stat_statements"]
|
||||
environment:
|
||||
POSTGRES_USER: graph-node
|
||||
POSTGRES_PASSWORD: < password >
|
||||
POSTGRES_DB: mumbai
|
||||
volumes:
|
||||
- pgdata-graph-node:/var/lib/postgresql/data
|
||||
volumes:
|
||||
pgdata-graph-node:
|
||||
driver: local
|
||||
ipfs-graph-node:
|
||||
driver: local
|
||||
```
|
||||
|
||||
|
||||
|
||||
b) create */etc/systemd/system/docker-compose@graph-node.service* file
|
||||
|
||||
```shell
|
||||
[Unit]
|
||||
Description=%i service with docker compose
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
Environment="PROJECT=ocean"
|
||||
WorkingDirectory=/etc/docker/compose/%i
|
||||
ExecStartPre=/usr/bin/env docker-compose -p $PROJECT pull
|
||||
ExecStart=/usr/bin/env docker-compose -p $PROJECT up -d
|
||||
ExecStop=/usr/bin/env docker-compose -p $PROJECT stop
|
||||
ExecStopPost=/usr/bin/env docker-compose -p $PROJECT down
|
||||
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
|
||||
|
||||
c) run:
|
||||
|
||||
```shell
|
||||
$ sudo systemctl daemon-reload
|
||||
```
|
||||
|
||||
optional - enable service to start at boot:
|
||||
|
||||
```shell
|
||||
$ sudo systemctl enable docker-compose@graph-node.service
|
||||
```
|
||||
|
||||
|
||||
|
||||
d) start aquarius service:
|
||||
|
||||
```shell
|
||||
$ sudo systemctl start docker-compose@graph-node.service
|
||||
```
|
||||
|
||||
|
||||
|
||||
check status:
|
||||
|
||||
```shell
|
||||
$ sudo systemctl status docker-compose@graph-node.service
|
||||
● docker-compose@graph-node.service - graph-node service with docker compose
|
||||
Loaded: loaded (/etc/systemd/system/docker-compose@graph-node.service; disabled; vendor preset: enabled)
|
||||
Active: active (exited) since Sun 2023-06-25 17:05:25 UTC; 6s ago
|
||||
Process: 4878 ExecStartPre=/usr/bin/env docker-compose -p $PROJECT pull (code=exited, status=0/SUCCESS)
|
||||
Process: 4887 ExecStart=/usr/bin/env docker-compose -p $PROJECT up -d (code=exited, status=0/SUCCESS)
|
||||
Main PID: 4887 (code=exited, status=0/SUCCESS)
|
||||
CPU: 123ms
|
||||
|
||||
Jun 25 17:05:24 testvm env[4887]: Container ipfs Created
|
||||
Jun 25 17:05:24 testvm env[4887]: Container graph-node Creating
|
||||
Jun 25 17:05:24 testvm env[4887]: Container graph-node Created
|
||||
Jun 25 17:05:24 testvm env[4887]: Container ipfs Starting
|
||||
Jun 25 17:05:24 testvm env[4887]: Container postgres Starting
|
||||
Jun 25 17:05:24 testvm env[4887]: Container ipfs Started
|
||||
Jun 25 17:05:25 testvm env[4887]: Container postgres Started
|
||||
Jun 25 17:05:25 testvm env[4887]: Container graph-node Starting
|
||||
Jun 25 17:05:25 testvm env[4887]: Container graph-node Started
|
||||
Jun 25 17:05:25 testvm systemd[1]: Finished graph-node service with docker compose.
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
- check containers status
|
||||
|
||||
```shell
|
||||
$ docker ps --format "table {{.Image}}\t{{.Ports}}\t{{.Names}}\t{{.Status}}"
|
||||
IMAGE PORTS NAMES STATUS
|
||||
graphprotocol/graph-node:v0.28.2 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:8020->8020/tcp, :::8020->8020/tcp, 0.0.0.0:8030->8030/tcp, :::8030->8030/tcp, 0.0.0.0:8040->8040/tcp, :::8040->8040/tcp, 8001/tcp graph-node Up 55 minutes
|
||||
ipfs/go-ipfs:v0.4.23 4001/tcp, 8080-8081/tcp, 0.0.0.0:5001->5001/tcp, :::5001->5001/tcp ipfs Up 55 minutes
|
||||
postgres:15.3 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp postgres Up 55 minutes
|
||||
```
|
||||
|
||||
|
||||
|
||||
- check logs for graph-node container
|
||||
|
||||
```shell
|
||||
$ docker logs graph-node [--follow]
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### Ocean-subgraph deployment
|
||||
|
||||
- install Node.js locally
|
||||
|
||||
- download and extract [Ocean-subgraph](https://github.com/oceanprotocol/ocean-subgraph) (check [here](https://github.com/oceanprotocol/ocean-subgraph/releases) the available releases)
|
||||
- run inside the extracted directory:
|
||||
|
||||
```shell
|
||||
$ npm i
|
||||
```
|
||||
|
||||
then
|
||||
|
||||
(Note: in this example we are deploying on graph-node running for `mumbai` testnet )
|
||||
|
||||
Note: for `ocean-subgraph` deployment in kubernetes environment, both `graph-node` and `ipfs` services must be locally forwarded using `kubectl port-forward` command.
|
||||
|
||||
```shell
|
||||
$ npm run quickstart:mumbai
|
||||
|
||||
> ocean-subgraph@3.0.8 quickstart:mumbai
|
||||
> node ./scripts/generatenetworkssubgraphs.js mumbai && npm run codegen && npm run create:local && npm run deploy:local
|
||||
|
||||
Creating subgraph.yaml for mumbai
|
||||
Adding veOCEAN
|
||||
Skipping polygon
|
||||
Skipping bsc
|
||||
Skipping energyweb
|
||||
Skipping moonriver
|
||||
Skipping mainnet
|
||||
Skipping goerli
|
||||
Skipping polygonedge
|
||||
Skipping gaiaxtestnet
|
||||
Skipping alfajores
|
||||
Skipping gen-x-testnet
|
||||
Skipping filecointestnet
|
||||
|
||||
> ocean-subgraph@3.0.8 codegen
|
||||
> graph codegen --output-dir src/@types
|
||||
|
||||
Skip migration: Bump mapping apiVersion from 0.0.1 to 0.0.2
|
||||
Skip migration: Bump mapping apiVersion from 0.0.2 to 0.0.3
|
||||
Skip migration: Bump mapping apiVersion from 0.0.3 to 0.0.4
|
||||
Skip migration: Bump mapping apiVersion from 0.0.4 to 0.0.5
|
||||
Skip migration: Bump mapping apiVersion from 0.0.5 to 0.0.6
|
||||
Skip migration: Bump manifest specVersion from 0.0.1 to 0.0.2
|
||||
Apply migration: Bump manifest specVersion from 0.0.2 to 0.0.4
|
||||
✔ Apply migrations
|
||||
✔ Load subgraph from subgraph.yaml
|
||||
Load contract ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json
|
||||
Load contract ABI from abis/ERC20.json
|
||||
Load contract ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json
|
||||
Load contract ABI from abis/ERC20.json
|
||||
Load contract ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veAllocate.sol/veAllocate.json
|
||||
Load contract ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veOCEAN.vy/veOCEAN.json
|
||||
Load contract ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veDelegation.vy/veDelegation.json
|
||||
Load contract ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veFeeDistributor.vy/veFeeDistributor.json
|
||||
Load contract ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/df/DFRewards.sol/DFRewards.json
|
||||
✔ Load contract ABIs
|
||||
Generate types for contract ABI: ERC721Factory (node_modules/@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json)
|
||||
Write types to src/@types/ERC721Factory/ERC721Factory.ts
|
||||
Generate types for contract ABI: ERC20 (abis/ERC20.json)
|
||||
Write types to src/@types/ERC721Factory/ERC20.ts
|
||||
Generate types for contract ABI: FactoryRouter (node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json)
|
||||
Write types to src/@types/FactoryRouter/FactoryRouter.ts
|
||||
Generate types for contract ABI: ERC20 (abis/ERC20.json)
|
||||
Write types to src/@types/FactoryRouter/ERC20.ts
|
||||
Generate types for contract ABI: veAllocate (node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veAllocate.sol/veAllocate.json)
|
||||
Write types to src/@types/veAllocate/veAllocate.ts
|
||||
Generate types for contract ABI: veOCEAN (node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veOCEAN.vy/veOCEAN.json)
|
||||
Write types to src/@types/veOCEAN/veOCEAN.ts
|
||||
Generate types for contract ABI: veDelegation (node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veDelegation.vy/veDelegation.json)
|
||||
Write types to src/@types/veDelegation/veDelegation.ts
|
||||
Generate types for contract ABI: veFeeDistributor (node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veFeeDistributor.vy/veFeeDistributor.json)
|
||||
Write types to src/@types/veFeeDistributor/veFeeDistributor.ts
|
||||
Generate types for contract ABI: DFRewards (node_modules/@oceanprotocol/contracts/artifacts/contracts/df/DFRewards.sol/DFRewards.json)
|
||||
Write types to src/@types/DFRewards/DFRewards.ts
|
||||
✔ Generate types for contract ABIs
|
||||
Generate types for data source template ERC20Template
|
||||
Generate types for data source template ERC721Template
|
||||
Generate types for data source template Dispenser
|
||||
Generate types for data source template FixedRateExchange
|
||||
Write types for templates to src/@types/templates.ts
|
||||
✔ Generate types for data source templates
|
||||
Load data source template ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json
|
||||
Load data source template ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json
|
||||
Load data source template ABI from abis/ERC20.json
|
||||
Load data source template ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC20Roles.sol/ERC20Roles.json
|
||||
Load data source template ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json
|
||||
Load data source template ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC721RolesAddress.sol/ERC721RolesAddress.json
|
||||
Load data source template ABI from abis/ERC20.json
|
||||
Load data source template ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json
|
||||
Load data source template ABI from abis/ERC20.json
|
||||
Load data source template ABI from node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json
|
||||
Load data source template ABI from abis/ERC20.json
|
||||
✔ Load data source template ABIs
|
||||
Generate types for data source template ABI: ERC20Template > ERC20Template (node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json)
|
||||
Write types to src/@types/templates/ERC20Template/ERC20Template.ts
|
||||
Generate types for data source template ABI: ERC20Template > ERC20TemplateEnterprise (node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json)
|
||||
Write types to src/@types/templates/ERC20Template/ERC20TemplateEnterprise.ts
|
||||
Generate types for data source template ABI: ERC20Template > ERC20 (abis/ERC20.json)
|
||||
Write types to src/@types/templates/ERC20Template/ERC20.ts
|
||||
Generate types for data source template ABI: ERC20Template > ERC20Roles (node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC20Roles.sol/ERC20Roles.json)
|
||||
Write types to src/@types/templates/ERC20Template/ERC20Roles.ts
|
||||
Generate types for data source template ABI: ERC721Template > ERC721Template (node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json)
|
||||
Write types to src/@types/templates/ERC721Template/ERC721Template.ts
|
||||
Generate types for data source template ABI: ERC721Template > ERC721RolesAddress (node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC721RolesAddress.sol/ERC721RolesAddress.json)
|
||||
Write types to src/@types/templates/ERC721Template/ERC721RolesAddress.ts
|
||||
Generate types for data source template ABI: ERC721Template > ERC20 (abis/ERC20.json)
|
||||
Write types to src/@types/templates/ERC721Template/ERC20.ts
|
||||
Generate types for data source template ABI: Dispenser > Dispenser (node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json)
|
||||
Write types to src/@types/templates/Dispenser/Dispenser.ts
|
||||
Generate types for data source template ABI: Dispenser > ERC20 (abis/ERC20.json)
|
||||
Write types to src/@types/templates/Dispenser/ERC20.ts
|
||||
Generate types for data source template ABI: FixedRateExchange > FixedRateExchange (node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json)
|
||||
Write types to src/@types/templates/FixedRateExchange/FixedRateExchange.ts
|
||||
Generate types for data source template ABI: FixedRateExchange > ERC20 (abis/ERC20.json)
|
||||
Write types to src/@types/templates/FixedRateExchange/ERC20.ts
|
||||
✔ Generate types for data source template ABIs
|
||||
✔ Load GraphQL schema from schema.graphql
|
||||
Write types to src/@types/schema.ts
|
||||
✔ Generate types for GraphQL schema
|
||||
|
||||
Types generated successfully
|
||||
|
||||
|
||||
> ocean-subgraph@3.0.8 create:local
|
||||
> graph create oceanprotocol/ocean-subgraph --node http://127.0.0.1:8020
|
||||
|
||||
Created subgraph: oceanprotocol/ocean-subgraph
|
||||
|
||||
> ocean-subgraph@3.0.8 deploy:local
|
||||
> graph deploy oceanprotocol/ocean-subgraph subgraph.yaml -l $npm_package_version --debug --ipfs http://127.0.0.1:5001 --node http://127.0.0.1:8020
|
||||
|
||||
Skip migration: Bump mapping apiVersion from 0.0.1 to 0.0.2
|
||||
Skip migration: Bump mapping apiVersion from 0.0.2 to 0.0.3
|
||||
Skip migration: Bump mapping apiVersion from 0.0.3 to 0.0.4
|
||||
Skip migration: Bump mapping apiVersion from 0.0.4 to 0.0.5
|
||||
Skip migration: Bump mapping apiVersion from 0.0.5 to 0.0.6
|
||||
Skip migration: Bump manifest specVersion from 0.0.1 to 0.0.2
|
||||
Skip migration: Bump manifest specVersion from 0.0.2 to 0.0.4
|
||||
✔ Apply migrations
|
||||
✔ Load subgraph from subgraph.yaml
|
||||
Compile data source: ERC721Factory => build/ERC721Factory/ERC721Factory.wasm
|
||||
Compile data source: FactoryRouter => build/FactoryRouter/FactoryRouter.wasm
|
||||
Compile data source: veAllocate => build/veAllocate/veAllocate.wasm
|
||||
Compile data source: veOCEAN => build/veOCEAN/veOCEAN.wasm
|
||||
Compile data source: veDelegation => build/veDelegation/veDelegation.wasm
|
||||
Compile data source: veFeeDistributor => build/veFeeDistributor/veFeeDistributor.wasm
|
||||
Compile data source: DFRewards => build/DFRewards/DFRewards.wasm
|
||||
Compile data source template: ERC20Template => build/templates/ERC20Template/ERC20Template.wasm
|
||||
Compile data source template: ERC721Template => build/templates/ERC721Template/ERC721Template.wasm
|
||||
Compile data source template: Dispenser => build/templates/Dispenser/Dispenser.wasm
|
||||
Compile data source template: FixedRateExchange => build/templates/FixedRateExchange/FixedRateExchange.wasm
|
||||
✔ Compile subgraph
|
||||
Copy schema file build/schema.graphql
|
||||
Write subgraph file build/ERC721Factory/node_modules/@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json
|
||||
Write subgraph file build/ERC721Factory/abis/ERC20.json
|
||||
Write subgraph file build/FactoryRouter/node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json
|
||||
Write subgraph file build/FactoryRouter/abis/ERC20.json
|
||||
Write subgraph file build/veAllocate/node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veAllocate.sol/veAllocate.json
|
||||
Write subgraph file build/veOCEAN/node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veOCEAN.vy/veOCEAN.json
|
||||
Write subgraph file build/veDelegation/node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veDelegation.vy/veDelegation.json
|
||||
Write subgraph file build/veFeeDistributor/node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veFeeDistributor.vy/veFeeDistributor.json
|
||||
Write subgraph file build/DFRewards/node_modules/@oceanprotocol/contracts/artifacts/contracts/df/DFRewards.sol/DFRewards.json
|
||||
Write subgraph file build/ERC20Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json
|
||||
Write subgraph file build/ERC20Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json
|
||||
Write subgraph file build/ERC20Template/abis/ERC20.json
|
||||
Write subgraph file build/ERC20Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC20Roles.sol/ERC20Roles.json
|
||||
Write subgraph file build/ERC721Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json
|
||||
Write subgraph file build/ERC721Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC721RolesAddress.sol/ERC721RolesAddress.json
|
||||
Write subgraph file build/ERC721Template/abis/ERC20.json
|
||||
Write subgraph file build/Dispenser/node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json
|
||||
Write subgraph file build/Dispenser/abis/ERC20.json
|
||||
Write subgraph file build/FixedRateExchange/node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json
|
||||
Write subgraph file build/FixedRateExchange/abis/ERC20.json
|
||||
Write subgraph manifest build/subgraph.yaml
|
||||
✔ Write compiled subgraph to build/
|
||||
Add file to IPFS build/schema.graphql
|
||||
.. QmQa3a9ypCLC84prHGQdhbcGG4DHJceqADGxmZMmAAXuTz
|
||||
Add file to IPFS build/ERC721Factory/node_modules/@oceanprotocol/contracts/artifacts/contracts/ERC721Factory.sol/ERC721Factory.json
|
||||
.. QmSoG3r5vyWXqjEfKAQYjwtQcQkZCsZEcJXVFWVq1tT1dD
|
||||
Add file to IPFS build/ERC721Factory/abis/ERC20.json
|
||||
.. QmXuTbDkNrN27VydxbS2huvKRk62PMgUTdPDWkxcr2w7j2
|
||||
Add file to IPFS build/FactoryRouter/node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/FactoryRouter.sol/FactoryRouter.json
|
||||
.. QmcBVA1R3yi2167UZMvV4LvG4cMHjL8ZZXmPMriCjn8DEe
|
||||
Add file to IPFS build/FactoryRouter/abis/ERC20.json
|
||||
.. QmXuTbDkNrN27VydxbS2huvKRk62PMgUTdPDWkxcr2w7j2 (already uploaded)
|
||||
Add file to IPFS build/veAllocate/node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veAllocate.sol/veAllocate.json
|
||||
.. Qmc3iwQkQAhqe1PjzTt6KZLh9rsWQvyxkFt7doj2iXv8C3
|
||||
Add file to IPFS build/veOCEAN/node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veOCEAN.vy/veOCEAN.json
|
||||
.. QmahFjirJqiwKpytFZ9CdE92LdPGBUDZs6AWpsrH2wn1VP
|
||||
Add file to IPFS build/veDelegation/node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veDelegation.vy/veDelegation.json
|
||||
.. QmfU6kZ5sksLdj3q88n7SUP63C1cnhQjU8vuMmRYwf2v5r
|
||||
Add file to IPFS build/veFeeDistributor/node_modules/@oceanprotocol/contracts/artifacts/contracts/ve/veFeeDistributor.vy/veFeeDistributor.json
|
||||
.. QmVU51oBr62D4UFXTwnMcbzuBBAAeQssqmqM9jic7A6L3v
|
||||
Add file to IPFS build/DFRewards/node_modules/@oceanprotocol/contracts/artifacts/contracts/df/DFRewards.sol/DFRewards.json
|
||||
.. QmcckRMahzpL7foEFGpWfkDBsyoWbNRfLC32uFq8ceUV3a
|
||||
Add file to IPFS build/ERC721Factory/ERC721Factory.wasm
|
||||
.. QmVfDAgZdKWxMuNfT7kso1LbFre2xhYbEeHBGm3gH3R9oE
|
||||
Add file to IPFS build/FactoryRouter/FactoryRouter.wasm
|
||||
.. QmYCC9AcaYw3nGSqNXNFHVsuB67FQEyZ8twRjRXrprcgyp
|
||||
Add file to IPFS build/veAllocate/veAllocate.wasm
|
||||
.. QmUFaYDxChi5nKEJLvHQZP1cRoqqP5k3fYSwk2JjuSceiJ
|
||||
Add file to IPFS build/veOCEAN/veOCEAN.wasm
|
||||
.. QmRYCyYKwHdSeM55vuvL1mdCooDkFQm6d2TQ7iK2N1qgur
|
||||
Add file to IPFS build/veDelegation/veDelegation.wasm
|
||||
.. QmaTjRLirzfidtQTYgzxqVVD9AX9e69TN1Y8fEsNQ9AEZq
|
||||
Add file to IPFS build/veFeeDistributor/veFeeDistributor.wasm
|
||||
.. QmZCEp4yxiDyuksEjSaceogJwLMto2UGfV1KxVuJTJLTqg
|
||||
Add file to IPFS build/DFRewards/DFRewards.wasm
|
||||
.. QmRSxe52B836bdfoJbuDY4tUCawzqgkHRNxe9ucU1JdYm5
|
||||
Add file to IPFS build/ERC20Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json
|
||||
.. QmPkhFvnBbqA3You7NsK5Zsyh8kkizXUHF9pcC5V6qDJQu
|
||||
Add file to IPFS build/ERC20Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json
|
||||
.. QmZnogwnfr4TeBPykvmCL2oaX63AKQP1F1uBAbbfnyPAzB
|
||||
Add file to IPFS build/ERC20Template/abis/ERC20.json
|
||||
.. QmXuTbDkNrN27VydxbS2huvKRk62PMgUTdPDWkxcr2w7j2 (already uploaded)
|
||||
Add file to IPFS build/ERC20Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC20Roles.sol/ERC20Roles.json
|
||||
.. QmTWTzg4jTx4GxGApVyxirNRTxB7QovS4bHGuWnnW8Ciz2
|
||||
Add file to IPFS build/templates/ERC20Template/ERC20Template.wasm
|
||||
.. QmUcxes5La7n9481Vf9AoQ2Mjt1CrbS7T6tDhpnfF77Uh5
|
||||
Add file to IPFS build/ERC721Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/templates/ERC721Template.sol/ERC721Template.json
|
||||
.. QmPE82CiACicgu1WxEjeFrLmskiJADroQRnxH7owpK6jaP
|
||||
Add file to IPFS build/ERC721Template/node_modules/@oceanprotocol/contracts/artifacts/contracts/utils/ERC721RolesAddress.sol/ERC721RolesAddress.json
|
||||
.. Qmdhi7UK6Ww8vXH9YC3JxVUEFjTyx3XycF53rRZapVK5c3
|
||||
Add file to IPFS build/ERC721Template/abis/ERC20.json
|
||||
.. QmXuTbDkNrN27VydxbS2huvKRk62PMgUTdPDWkxcr2w7j2 (already uploaded)
|
||||
Add file to IPFS build/templates/ERC721Template/ERC721Template.wasm
|
||||
.. QmNhLws24szwpz8LM2sL6HHKc6KK4vtJwzfeZWkghuqn7Q
|
||||
Add file to IPFS build/Dispenser/node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/dispenser/Dispenser.sol/Dispenser.json
|
||||
.. QmdiN7Fhw9sjoVVJgHtTtzxv5fwtFMHLNH1x1yqbswsThW
|
||||
Add file to IPFS build/Dispenser/abis/ERC20.json
|
||||
.. QmXuTbDkNrN27VydxbS2huvKRk62PMgUTdPDWkxcr2w7j2 (already uploaded)
|
||||
Add file to IPFS build/templates/Dispenser/Dispenser.wasm
|
||||
.. QmTpn9wagpmH6byjjdCBZdgypFgcw2mva3bC52nC4z3eLW
|
||||
Add file to IPFS build/FixedRateExchange/node_modules/@oceanprotocol/contracts/artifacts/contracts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json
|
||||
.. Qmd2ToAptK74j8pGxe8mZXfAvY3AxstgmYH8JDMAfLtAGd
|
||||
Add file to IPFS build/FixedRateExchange/abis/ERC20.json
|
||||
.. QmXuTbDkNrN27VydxbS2huvKRk62PMgUTdPDWkxcr2w7j2 (already uploaded)
|
||||
Add file to IPFS build/templates/FixedRateExchange/FixedRateExchange.wasm
|
||||
.. QmRrwwoFF33LvPhnGCGgLBLyuLizrFgD44kW9io81tPZzX
|
||||
✔ Upload subgraph to IPFS
|
||||
|
||||
Build completed: QmVUKpgwuyDh9KgUxTzZvVNFJbdevc56YrZpZjQvu8Yp7q
|
||||
|
||||
Deployed to http://127.0.0.1:8000/subgraphs/name/oceanprotocol/ocean-subgraph/graphql
|
||||
|
||||
Subgraph endpoints:
|
||||
Queries (HTTP): http://127.0.0.1:8000/subgraphs/name/oceanprotocol/ocean-subgraph
|
||||
```
|
||||
|
||||
- This subgraph is deployed under `/subgraphs/name/oceanprotocol/ocean-subgraph/`
|
||||
|
||||
http://127.0.0.1:8000/subgraphs/name/oceanprotocol/ocean-subgraph/graphql
|
Loading…
Reference in New Issue
Block a user