Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TASK] Revamp developer docs #58

Open
drewstone opened this issue Sep 20, 2024 · 1 comment
Open

[TASK] Revamp developer docs #58

drewstone opened this issue Sep 20, 2024 · 1 comment
Assignees

Comments

@drewstone
Copy link
Contributor

Gadget docs

Tells you what the gadget is, how to build using the blueprint API, links to CLI/SDK READMEs. Tells you have to use the CLI to create a new project (this needs to work obviously).

  • Building a blueprint small video/gif. Using the CLI commands or manual. Showing a really quick download, create gadget, build job, test succeeding.
  • CLI docs need to work. We should have an install script and not a cargo install command. wget or curl to get the latest release of the CLI. Cargo commands fine as long as they work!
  • CLI README covers all commands. If we can get this in CI to ensure it works, let’s do this.
  • SDK doc overview covers the list of modules. 1-2 sentences. Describes things.
  • SDK docs cover most important modules and dives slightly deeper, not highest priority but must keep up-to-date.
  • Blueprint Template - Tells you how to build a blueprint. Has absolutely nothing to do with the CLI. Links you to CLI if you want to read about it. Otherwise, it documents the manual process for cloning this repo and getting started developing. Deployment and testing should link to CLI docs/Gadget usage docs.

Tangle Documentation site.

  • Section for the gadget that removes old content and adds this new content in. Should effectively share similar docs as github repo but have even more detail.
  • Section for CLI and ways to install.
  • Videos are a plus if we can make small videos of development lifecycle.
@drewstone
Copy link
Contributor Author

drewstone commented Sep 20, 2024

Diving a bit deeper

Dev docs on Blueprint development

  • Getting starting | 0 to 1 Blueprint Development - A video on getting started, a small walkthrough tutorial. CC @Serial-ATA @shekohex.
  • Job macro - for Tangle + for Eigenlayer
  • Report macro - for Tangle + Eigenlayer
  • Registration Hook - for Tangle + Eigenlayer
  • Request Hook - for Tangle
  • Benchmarking - for Tangle
  • Testing - for Tangle
  • Event handlers/listeners - for Tangle + Eigenlayer
    for many of these things, we need docs independent of any additional tooling like the CLI. It needs to be clear how to test things without the CLI or if that is not possible. Obviously if not possible, then it's imperative the CLI works!

We can break the docs directory/organization down by supported protocol or by feature and then subdividing by protocol within, i.e.

Jobs
  - Tangle API
  - Eigenlayer API
Reports
  - Tangle API
  - Eigenlayer API

OR

Tangle
  - Jobs
  - Reports
  - ...
Eigenlayer
  - Jobs
  - Reports
  - ...

Tangle BlueprintServiceManager

  • All hooks - this is currently defined nowhere except in code, deep in our repos. What are the supported hooks? What gets called from the runtime into the EVM. Code links to these functions? Add them to the docs! Where is the protocol specification. CC @shekohex let's get it out of our heads and into the tangle docs. When we update, we need to be updating the docs here on out. There are devs using our tooling now!
  • Interaction between runtime and EVM - What communicates with what? How do I protect my functions from the outer world (use onlyRootRuntime origin).
  • Job Verification - Describe process / flow, code links, etc. These docs will be extra useful for auditors too!
  • Job Reporting - Even if this is unimplemented we need to get our ideas out and specify this is not implemented.
  • Access control - How do we envision interacting with this contract? For starters, we clearly have runtime interacting with contract, but I also see users / reporters / operators interacting directly with the contract too to trigger events (such as admin functionality) for the services. CC @1xstj I'm curious to dive deeper with you here, specifically on access control re-Gaia node. https://github.com/webb-tools/gaia-ai-agent-template

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants