Socket
Socket
Sign inDemoInstall

@graphprotocol/graph-cli

Package Overview
Dependencies
Maintainers
1
Versions
809
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@graphprotocol/graph-cli

CLI for building for and deploying to The Graph


Version published
Weekly downloads
18K
decreased by-0.65%
Maintainers
1
Weekly downloads
 
Created
Source

The Graph CLI (graph-cli)

Build Status

The Graph command line interface.

As of today, the command line interface consists of two commands:

  • graph codegen — generates TypeScript code for smart contract ABIs used in subgraphs.
  • graph build — compiles subgraphs to WebAssembly and deploys them to IPFS.

How It Works

graph takes a subgraph.yaml subgraph manifest with

  • references to a GraphQL schema,
  • smart contract ABIs, and
  • mappings written in TypeScript/AssemblyScript,

compiles the mappings to WebAssembly and deploys a ready-to-use version of the subgraph to IPFS or a local directory for debugging.

Usage

Subgraphs for The Graph are set up just like any regular TypeScript project. It is recommended to install graph-cli as a local dependency via package.json and use npm scripts for code generation and building.

An example of this can be found in the Decentraland repository.

  1. Create a project for the subgraph with a package.json etc.
  2. Add a subgraph.yaml subgraph manifest with a GraphQL schema etc.
  3. Add @graphprotocol/graph-cli as a local dependency with one of
    npm install --save-dev @graphprotocol/graph-cli # NPM
    yarn add --dev @graphprotocol/graph-cli         # Yarn
    
  4. Add the following tsconfig.json:
    {
      "extends": "./node_modules/graph-cli/tsconfig.json",
      "files": ["mapping.ts"]
    }
    
    Note: Replace "mapping.ts" with your own mapping fil(e)s.
  5. Add the following to package.json:
    {
      "scripts": {
        "codegen": "graph generate-types subgraph.yaml",
        "build": "graph build subgraph.yaml",
        "build-ipfs": "graph build --ipfs /ip4/127.0.0.1/tcp/5001 subgraph.yaml"
      }
    }
    
    Note: Replace the IPFS address with any IPFS node you want to deploy the subgraph to.
  6. Generate type definitions for contract ABIs used in the subgraph with:
    yarn codegen
    
  7. Develop your mapping.ts against these generated types.
  8. Build the subgraph with one of
    yarn build      # Will drop the results in dist/
    yarn build-ipfs # Will also deploy to IPFS and output an IPFS hash
    

License

Copyright © 2018 Graph Protocol, Inc. and contributors.

The Graph CLI is dual-licensed under the MIT license and the Apache License, Version 2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

FAQs

Package last updated on 17 Aug 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc