📃
Graph Codex
  • Welcome to The Graph Codex
  • Getting Started
    • Websites
    • Resources
  • Meetings and Events
    • Core Developers Calls
    • Community Talks
    • Indexer Office Hours
    • NFT Community Calls
  • Workshops
    • Subgraph Development
      • Resources
        • Hackathon Workshops
          • Blockchain Development - Querying with Open APIs Course
          • Building a Custom NFT API with Filtering, Sorting, Full Text Search, and Relationships
          • Building a custom NFT API with The Graph
          • Building a Subgraph on Celo @ The Cross Chain Salon
          • Building a Subgraph with Subgraph Studio
          • Building an NFT API and Subgraph on NEAR with The Graph
          • Building an NFT API with the Graph - Nader Dabit
          • Building an NFT Subgraph - Kuneco April 2021
          • Building and Deploying Subgraphs on TheGraphProtocol
          • Building API's on Ethereum, with Nader Dabit
          • Building Apps on the Decentralized Web with Nader Dabit
          • Building Decentralised GraphQL APIs with The Graph
          • Building on Ethereum with GraphQL, The Graph, and Next.js
          • Building Rich APIs on top of Ethereum with The Graph
          • Building Subgraphs on The Graph - MarketMake
          • Building Subgraphs on The Graph
          • Building Subgraphs with The Graph
          • Defining the Web3 Stack - Nader Dabit - (Next.js Conf 2021)
          • How to build a dApp – Nader Dabit
          • How to Build a Full Stack NFT Marketplace on Ethereum with Polygon and Next.js
          • How to Build an NFT API with The Graph
          • Indexing Smart Contracts with OpenZeppelin Subgraphs & The Graph
          • NFT Dev Talk, GenerativeMasks, and Building NFT APIs with OpenZeppelin, GraphQL, and The Graph
          • Query Ethereum with GraphQL with The Graph
          • The Complete Guide to Full Stack Web3 Development
          • Web3 with Nader Dabit
          • Workshop on How to Build Subgraphs
        • Repositories
      • Developer Highlights
      • Developer Guides
      • Subgraph Testing (Matchstick)
    • Protocol Workshops
  • Ecosystem Updates
    • This Month in Indexing
    • This Month in Curation
    • Council Meeting Notes
    • Governance
      • Governance Resources
      • Graph Improvement Proposals (GIPs)
        • 0000-template
        • 0001-gip-process
        • 0002-gip-withdraw-indexer-rewards
        • 0003-gip-rewards-no-signal
        • 0004-gip-withdraw-indexer-rewards-thawing
        • 0005-gas-costing
        • 0006-gip-withdraw-helper
        • 0007-separate-slashing-percentages
        • 0008-subgraph-api-versioning-and-feature-support
        • 0009-arbitration-charter
        • 0010-rewards-snapshot-empty-poi-fix
        • 0011-stake-to-init-fix
        • 0012-cache-contract-addresses
        • 0013-reduce-curation-tax
        • 0014-batch-gns-transactions
        • 0015-allow-unstake-passing-larger-amount-available
        • 0016-revert-precision-assign-delegation-share
        • 0017-allow-batching-calls-staking-contract
        • 0018-subgraph-ownership-transfer
        • 0019-save-gas-initializing-subgraph-deployment
        • 0020-unattestable-indexer-responses
        • 0023-subgraph-ownership-transfer-nft
        • 0024-query-versioning
        • 0025-principal-protected-bonding-curves
        • 0026-decaying-curation-tax
      • Graph Request for Comments (GRCs)
        • 0001-data-edge
  • Repositories and Documentation
    • Official Repositories
    • Official Documentation
      • About
        • Introduction
        • Network Overview
      • Developer
        • Quick Start
        • Define a Subgraph
        • Create a Subgraph
        • Publish a Subgraph to the Decentralized Network
        • Query The Graph
        • Querying from an Application
        • Querying Best Practices
        • Distributed Systems
        • AssemblyScript API
        • AssemblyScript Migration Guide
        • GraphQL API
        • Unit Testing Framework
        • Deprecating a Subgraph
        • Developer FAQs
      • Indexer
      • Delegator
      • Curator
      • The Graph Explorer
      • Subgraph Studio
        • How to use the Subgraph Studio
        • Deploy a Subgraph to the Subgraph Studio
        • Billing on the Subgraph Studio
        • Managing your API Keys
        • Subgraph Studio FAQs
        • Multisig Users
      • Hosted Service
        • What is Hosted Service?
        • Deploy a Subgraph to the Hosted Service
        • Migrating an Existing Subgraph to The Graph Network
      • Supported Networks
        • NEAR
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Repositories and Documentation
  2. Official Documentation
  3. Subgraph Studio

Multisig Users

PreviousSubgraph Studio FAQsNextHosted Service

Last updated 2 years ago

Was this helpful?

Subgraph Studio currently doesn't support signing with multisig wallets. Until then, you can follow this guide on how to publish your subgraph by invoking the functions.

Create a Subgraph

Similarly to using a regular wallet, you can create a subgraph by connecting your non-multisig wallet in Subgraph Studio. Once you connect the wallet, simply create a new subgraph. Make sure you fill out all the details, such as subgraph name, description, image, website, and source code URL if applicable.

For initializing a starter subgraph, you can follow the commands shown in the UI, or simply run

graph init --studio <SUBGRAPH_SLUG>

SUBGRAPH_SLUG is the name of your subgraph that you can copy from the UI or the URL in the browser. This command should create a folder in your file system with all the necessary files to start developing a subgraph.

Deploy a Subgraph

Once your subgraph is ready to be deployed to the graph node, simply follow the commands shown in the UI, or run the following command:

graph deploy --studio <SUBGRAPH_SLUG>

Note: Make sure that you are inside the subgraph folder before running the command.

Publish a Subgraph or a Version

You can either publish a new subgraph to the decentralized network or publish a new version of the previously published subgraph.

Publish a New Subgraph

There are a couple of ways to publish a subgraph using multisig wallets. Here we'll describe invoking the function in the using Etherscan.

Before we use that function, we need to generate input arguments for it. Access in Subgraph Studio and provide the following:

  • Ethereum address of your multisig wallet

  • Subgraph that you want to publish

  • Version that you want to publish

After clicking on "Get Arguments", we'll generate all the contract arguments for you!

There should be 4 arguments:

  • graphAccount: which is your multisig account address

  • subgraphDeploymentID: the hex hash of the deployment ID for that subgraph

  • versionMetadata: version metadata (label and description) that gets uploaded to IPFS. The hex hash value for that JSON file will be provided.

  • subgraphMetadata: similar to version metadata, subgraph metadata (name, image, description, website, and source code URL) gets uploaded to IPFS, and we provide the hex hash value for that JSON file

With those 4 arguments, you should be able to:

  • Connect to Etherscan using WalletConnect via the WalletConnect Safe app of your multisig

  • Call the publishNewSubgraph method with the parameters that were generated by our tool

Publish a New Version

  • Ethereum address of your multisig wallet

  • Subgraph that you want to publish

  • Version that you want to publish

  • The ID of the subgraph you want to update in Graph Explorer

After clicking on "Get Arguments" we'll generate all the contract arguments for you!

On the right side of the UI under the Publish New Version title, there should be 4 arguments:

  • graphAccount: which is your Multisig account address

  • subgraphNumber: is the number of your already published subgraph. It is a part of the subgraph id for a published subgraph queried through The Graph Network subgraph.

  • subgraphDeploymentID: which is the hex hash of the deployment ID for that subgraph

  • versionMetadata: version metadata (label and description) gets uploaded to IPFS, and we provide the hex hash value for that JSON file

Now that we generated all the arguments you are ready to proceed and call the publishNewVersion method. To do so, you should:

  • Connect to Etherscan using WalletConnect via the WalletConnect Safe app of your Multisig

  • Call the publishNewVersion method with the parameters that were generated by our tool

Once the transaction is successful, your subgraph should have a new version of your subgraph in Graph Explorer which means that curators can start signaling on it and indexers can start indexing it.

Visit contract on Etherscan

To publish a new version of an existing subgraph we first need to generate input arguments for it. Access in Subgraph Studio and provide:

Visit contract on Etherscan

GNS contract
publishNewSubgraph
GNS contract
this page
our GraphProxy
this page
the GraphProxy