book icon indicating copy to clipboard operation
book copied to clipboard

Improve Torii documentation

Open ponderingdemocritus opened this issue 1 year ago • 8 comments

  • [ ] Architecture decisions of Torii server and Torii client and why they both exist
  • [ ] Explanation of torii indexing individual worlds and examples of multiple toriis on a network
  • [ ] Torii P2P explanation and production examples
  • [ ] Detailed example using dojo.js, torii and graphql
  • [ ] Detailed example using dojo.js, torii and grpc
  • [ ] Detailed example using unity and torii
  • [ ] Contributing to torii Core
  • [ ] Plans and roadmap post 1.0.0
  • [ ] Running a torii on slot

ponderingdemocritus avatar Feb 27 '24 23:02 ponderingdemocritus

@ponderingdemocritus Hello , I believe i can work on this documentations

Samuel1-ona avatar May 02 '24 18:05 Samuel1-ona

Hello @ponderingdemocritus! I'd love to tackle the issue "Detailed example using unity and torii". I'm thinking in this ideas to abord the problem: I propose developing an example in Unity using Torii, including research on both tools, as well as documenting this example with clear and concise steps. Lastly, I'll seek feedback for further refinements.

jimenezz22 avatar May 14 '24 05:05 jimenezz22

Hi @ponderingdemocritus @milancermak @ptisserand, I'm interested in contributing to the "Contributing to torii Core" issue. I've been exploring Torii's innovative use of Rust and its advanced GraphQL and gRPC interfaces. I have an idea to enhance the system's scalability by implementing a caching layer that could reduce load times and improve data retrieval efficiency. Looking forward to collaborating on this and contributing to the project's success.

juandiegocv27 avatar May 14 '24 05:05 juandiegocv27

Hi @ponderingdemocritus, I'm interested in contributing to the "Explanation of torii indexing individual worlds and examples of multiple toriis on a network" issue.

mariocodecr avatar May 16 '24 05:05 mariocodecr

Hi @ponderingdemocritus, I would like to be assigned to the "Architecture decisions of Torii server and Torii client and why they both exist" issue

coxmars avatar May 16 '24 05:05 coxmars

@coxmars please go ahead

ponderingdemocritus avatar May 30 '24 08:05 ponderingdemocritus

@ponderingdemocritus Can I work on this?

PedroRosalba avatar Jun 26 '24 15:06 PedroRosalba

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

hi

How I plan on tackling this issue

hi

miinaab avatar Jul 11 '24 11:07 miinaab

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

i'm a frontend dev i'm i have skills in react, typescript, javascript, tailwind etc

How I plan on tackling this issue

i would easily solve this problem

Supa-mega avatar Aug 20 '24 13:08 Supa-mega

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have a strong background in building scalable and performance-optimized web applications, I believe I can make valuable contributions to the Hylé project, particularly in the areas of the Torii server and Torii client

How I plan on tackling this issue

I would approach this issue with following steps Architecture Decisions of Torii Server and Torii Client: Understand the distinct roles and responsibilities of the Torii server and Torii client within the overall Hylé architecture. Analyze the reasons behind the separation of the server and client components, such as scalability, flexibility, and clear delineation of concerns. Identify the key communication mechanisms and interactions between the Torii server and Torii client. Torii Indexing and Multi-Torii Networks: Examine the Torii's indexing capabilities and how it manages the registration and discovery of individual worlds. Provide examples of how the Torii server handles scenarios with multiple Toriis on a network, including aspects like load balancing, fault tolerance, and seamless world navigation. Demonstrate the underlying protocols, data structures, and algorithms used to enable efficient indexing and world discovery. Torii P2P Explanation and Production Examples: Delve into the Torii's P2P (Peer-to-Peer) capabilities, explaining the benefits and use cases of the decentralized communication model. Create production-ready examples showcasing the implementation of Torii-based P2P interactions, including features like real-time collaboration, data synchronization, and secure communication. Highlight the integration of the Torii P2P features with the broader Hylé ecosystem, demonstrating their seamless interoperability. Detailed Examples with Dojo.js, Torii, and GraphQL/gRPC: Develop comprehensive examples that demonstrate the integration of the Torii client with popular frontend frameworks like Dojo.js. Showcase how to leverage the Torii client's capabilities in conjunction with GraphQL and gRPC for efficient data fetching, real-time communication, and seamless user experiences. Provide detailed code samples, configuration files, and step-by-step instructions to guide developers through the integration process. Unity and Torii Integration: Collaborate with Unity developers to create a detailed example showcasing the integration of the Torii client with the Unity game engine. Demonstrate how to establish bidirectional communication between the web-based Torii client and the 3D world within Unity, enabling seamless interactions and data exchange. Highlight best practices, performance considerations, and any unique challenges encountered during the integration process. Contributing to Torii Core: Identify areas within the Torii core codebase where I can contribute, such as improving performance, enhancing indexing capabilities, or implementing new features. Propose and discuss potential improvements or new functionalities that align with the Hylé platform's roadmap and the needs of the community. Provide sample code, test cases, and documentation to facilitate the review and integration of my contributions. Plans and Roadmap Post 1.0.0: Analyze the current Torii features and capabilities, and identify areas for potential improvement or expansion. Propose ideas and recommendations for the Torii's future roadmap, taking into account the evolving needs of the Hylé ecosystem and emerging trends in web and metaverse technologies. Collaborate with the Hylé team to prioritize and plan the implementation of these roadmap items. Running a Torii on Slot: Develop a detailed guide on deploying and running a Torii server on the Slot layer of the Hylé platform. Provide instructions on the necessary configurations, infrastructure requirements, and integration steps to ensure the Torii server's seamless operation within the Slot environment. Demonstrate best practices for monitoring, scaling, and maintaining the Torii server running on Slot.

ScottyDavies avatar Aug 23 '24 18:08 ScottyDavies

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

My background in technical writing and software development has equipped me with a unique blend of skills that are directly applicable to improving Torii documentation. I have a strong understanding of technical concepts and the ability to translate complex information into clear and concise language.

How I plan on tackling this issue

i would Analyze: Assess the current documentation to identify its strengths and weaknesses. Set Goals: Clearly define what I want to achieve Plan: Create a detailed plan outlining the steps needed to improve the documentation. Write and Edit: Create high-quality content that is easy to understand and free of errors. Review and Test: Ensure the documentation is accurate and helpful by getting feedback from others. Maintain: Keep the documentation up-to-date as Torii evolves.

onlyoneAlexia avatar Sep 08 '24 22:09 onlyoneAlexia

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I’ve been working on blockchain projects, especially on StarkNet, where I’ve gained solid experience using tools like dojo.js and Starkli. I’m familiar with the architecture behind distributed systems and P2P networks, which makes me well-suited to document and explain Torii’s server-client structure and its P2P model. I’ve worked with protocols like GraphQL and gRPC, and I can bring in-depth examples on how Torii interacts with these technologies.

Recently, I was involved in documenting a P2P system using libp2p, and the experience will be very helpful in explaining how Torii indexes individual worlds and interacts across the network. I also have experience in writing developer-friendly documentation that balances detail and clarity, ensuring that both beginners and advanced users can benefit.

How I plan on tackling this issue

Understand the Torii server/client architecture First, I d dive into how the Torii server and client are set up and why they re needed. I d start by creating diagrams (using tools like Graphviz or Mermaid.js) to visualize the architecture, showing how the server manages state synchronization between nodes and how the client sends asynchronous messages. Example: I d include diagrams that break down how the server handles communication in a P2P network and how it optimizes latency in real-time on-chain games. for example, Torii might use event-driven patterns to update game states across nodes, and I would map out how these processes work step by step.

Indexing individual worlds and network examples Next, I d walk through how Torii indexes individual worlds and how that information is shared across the network. I d provide detailed examples of how worlds are created, indexed, and communicated between multiple Toriis in a distributed environment.

Example: Let s say we want to index a world using dojo.js. I d include a step-by-step example where developers can run a simple curl command to index a world and retrieve the state via GraphQL. curl -X POST http://localhost:8080/index_world -d '{"world_id": "world123", "state": {...}}' Explain the P2P model and real-world production scenarios I’d focus on how Torii’s P2P architecture works and give examples of its use in production. For instance, running multiple Torii instances on a network and demonstrating how they maintain state across different nodes. I’d create an example using Docker Compose or Kubernetes to show how Torii can be deployed in real-world applications with scaling in mind.

yaml: services: torii1: image: torii:latest
ports:

  • "8080:8080" torii2:
    image: torii:latest ports:
  • "8081:8080" GraphQL Example: query { world(id: "world123") { state } }

Contribute to Torii Core To help people contribute, I d provide an easy-to follow guide on setting up a development environment for Torii Core. This would include details on how to run tests, submit pull requests, and follow the coding standards used in the project. I d also explain key parts of the codebase to help newcomers quickly get involved.

Roadmap post 1.0.0 Finally, I d outline the plans for Torii after version 1.0.0, giving users a heads-up on upcoming features and improvements. This might include better scalability, enhanced P2P protocols, or deeper integration with other tools like dojo.js and Unity.

FroDev-CR avatar Sep 17 '24 03:09 FroDev-CR

Hi @ponderingdemocritus , can I work on

  1. Architecture decisions of Torii server and Torii client and why they both exist
  2. Explanation of torii indexing individual worlds and examples of multiple toriis on a network?

od-hunter avatar Sep 17 '24 04:09 od-hunter

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hi I'm a front end and also a blockchain developer

How I plan on tackling this issue

I will love to work on this

CollinsC1O avatar Sep 20 '24 18:09 CollinsC1O