GIP-0001 and Getting Started with GIPs, GRPs, GRCs, etc

The Graph community recently adopted a GIP Process that uses a git repo that is hosted on Radicle, a decentralized code collaboration tool.

This post explains the high-level steps for downloading the repo and submitting a GIP, GRC, GRP, etc. More detailed explanations of how the GIP process works can be found in the GIP repo itself under “GIP-0001.”

Steps for accessing the GIPs repo:
1. Download the Radicle Upstream Client
2. Add The Graph’s Custom Radicle Seed: hyn98iuryyotyt8aarux16mqeh7k5sbznot8wpgaqt4nhue5fekqqa@radicle.thegraph.com:7001
3. Fork the GIP repo from one of the editors’ copies (my copy has the following project ID: rad:git:hnrkrhnth6afcc6mnmtokbp4h9575fgrhzbay ).

Once you have the repo locally, you can follow the instructions in GIP-0001 for creating one of the following proposal types:

  • Graph Improvement Proposal (GIP) - Describes a protocol improvement.
  • Graph Request for Comment (GRC) - Describes an application-layer community standard.
  • Graph Request for Proposal (GRP) - Specifies the requirements for basic research, ecosystem tooling, or a possible protocol improvement. Focuses on the problem rather than the solution.

Once you have written your proposal, you will need to push it to your Radicle repo.

Once you’ve pushed your changes, then create a post under either the “GIPs”, “GRCs” or “GRPs” sub-categories in this forum, depending on the type of your proposal. Your post should include:

- Your Radicle Device ID

  • The branch you have deployed your proposal to.
  • A link to any thread where discussion for this proposal is already happening.
  • A forum post title in the following format: <GIP | GRC | GIP>:<Proposal Title>.

Posting the proposal in The Graph’s Discourse forum will help it to get the attention of the GIP editors and provide a place for discussion if there isn’t already an active thread.

Eventually, as Radicle builds out their Ethereum-based features such as decentralized pull requests and issues, this workflow may change, but for now, this is the informal “pull request” process for getting a proposal included in the repo.

Feel free to ask questions or post suggestions below!

Update [03/08/22]

This workflow has been updated see the latest workflow here.

11 Likes

@Brandon thanks for setting this up – i have a radicle-seed node running as well and happy to add it here for others to leverage

My Radicle Seed node is:
hynigj3cxods3uairkx143icaroxzetggbpgui5e8zhex4zggpo9wg@seed.w3m.one:12345

Tried to fork the GIP repo from you copy but looks it is unable to see it for some reason – let me know if you have any tips?

3 Likes

@pkr I have the same problem now. How did you resolve it?

@xarborial there is some problem w/ prior versions of Radicle Upstream …try upgrading your client to the most current version 0.1.12 and it should work.

It is working for me now, here is a screenshot

2 Likes

In response to another forum discussion on arbitration ( An Arbitration Charter to clarify Arbitrator behavior - Research & Protocol Improvements - The Graph), I am struggling to find the specified branch “zerim/arbitration-charter”, maybe someone can provide helpful tips.

Here is what I’m seeing:

The left dropdown box only shows GIP branches, not the specified arbitration chapter:
Screen Shot 2021-04-25 at 8.15.28 AM

The top dropdown box only shows the maintainer selection:
Screen Shot 2021-04-25 at 8.16.37 AM

Curious whether I somehow need to add the arbitration chapter branch, but have not found a way to do that. Thanks for any help in advance!

1 Like

Thanks for following up on this @Oliver. Looks like the new branch made it to my Radicle Upstream client but the client is failing to connect to any peers.

I’m going to try updating to the latest version, restarting, and seeing if that fixes. Stay tuned.

1 Like

Update: updating my client didn’t seem to fix things, even though I can see the branch in my Radicle client and I can see that my client is connected to The Graph’s community seed. I’ve reached out to the Radicle team to troubleshoot.

2 Likes

Update: Radicle team says many of the replication issues will be solved in the upcoming 0.2 release, which is a breaking lease. Documentation for upgrading will be available coinciding with the release.

There is some additional troubleshooting steps involving our Radicle Seed we can try out that we’ve blocked out some time tomorrow to work through.

In the meantime, @Oliver I’ll post the full contents of the Arbitration Charter in the post you’ve linked.

1 Like

Update: Radicle released a new minor version, 0.2.X, which is supposed to be far more stable for replication.

Can read more about the release here.

This was a breaking change for all clients and seed nodes. We have upgraded our seed node and I’ve confirmed (w/ @Oliver 's help) that the GIP repo is now propagating correctly again.

As part of the breaking change, project IDs have to be recreated. The new one for the GIP repo is: rad:git:hnrkrhnth6afcc6mnmtokbp4h9575fgrhzbay (I have also updated this in the OP).

Thanks everyone for you patience as we dogfood the bleeding edge of decentralized tech! :globe_with_meridians:

4 Likes

It appears that Radicle is only available for Mac and Linux. What route should someone using windows take to interact with the repo?

1 Like

Btw, on my Mac, it also doesn’t work, at least for new users. Or maybe I do something wrong. If someone could check Radicle and help me with getting access to it, it will be super nice :slight_smile:

2 Likes

Still no luck to connect to this project. Radicle keeps saying: "This project haven't been found yet", while one of the connected peers is ..qqa@radicle.thegraph.com:7001

1 Like

Updated Workflow (as of March 2022)

  • The Radicle team has pivoted towards a new workflow centered around the newly released Radicle CLI
    • Instructions for getting started with the Radicle CLI can be found here.
    • Documentation for the new CLI can be found by running man rad in your terminal or on the web here.
  • The Graph’s GIP Editors now have an org page at app.radicle.network!
    • The GIPs repo can now also be viewed in the browser here!
    • The GIP repo can be cloned from that public repo page.
    • If you rad push your contributions to The Graph’s seed node (git.radicle.thegraph.com), then they can also be viewed at that page and permalinked when you post to the forums.
      • Note: Cloning the repo from the repo link above using rad clone should automatically configure the cloned repo w/ The Graph’s radicle seed node.

The above bullets can be used in lieu of the Radicle Upstream worfklow described above, although I believe the Radicle team is working to also make the Upstream client adopt the new syncing strategy pioneered by the CLI.

If you have any issues with the above workflow, the Radicle team is incredibly responsive. You can find there their support channel here.

6 Likes

Omg this is AWESOME!!!

2 Likes

When I click on the link to the GIP repo viewable in the browser here it shows This project was not found.

2 Likes

Also had that issue with Firefox, but it did work with Edge. May be browser/security settings related

1 Like

That’s strange. The link is working for me on both Chrome and Firefox. May have been a temporary blip, but if it continues I’d recommend reaching out to the Radicle team.

I believe app.radicle.network proxies some requests to The Graph’s seed node, so it’s possible there were intermittent liveness issues on that side.

1 Like

Radicle found the issue. If MetaMask is set to some other network besides mainnet, the project will fail to load.

4 Likes

I’m also getting the “this project was not found” error. @That3Percent, I followed the steps they gave you on the Radicle Discord to no avail. It looks like git.radicle.thegraph.com may be down. This is my network log when trying to access the URL that Radicle returned after I pushed my GIP.

1 Like

What is the prefered way to access the GIPs on radicle? I tried the web interface, and the rad CLI and can’t get it to work. Is the correct repo address still rad:git:hnrkrhnth6afcc6mnmtokbp4h9575fgrhzbay ?