scrtlabs / Grants

Repository for grant proposal submissions
38 stars 28 forks source link

Gelotto Threads #158

Open Rizbe opened 2 months ago

Rizbe commented 2 months ago

Gelotto Threads

Project Description

Gelotto Threads (“Threads”) is a blockchain-based social application that is usable not only for communication, but can be integrated with a variety of other applications. Each “thread” (e.g., an initial message or other type of content) is stored on-chain as its own smart contract, along with replies, votes, or other types of interactions with the thread. The interface for Threads also includes tipping functionality (to send tokens to the creator of a thread), and controls to save, link, or sort threads. To reduce transaction fees and resource utilization, certain interactions (such as votes or selecting a thread to be saved) may be batched and executed as a single transaction.

An alpha version of Threads has been deployed and may be accessed at: https://gelotto.io/app/threads (alpha version is deployed on the Archway network)

Gelotto intends to deploy an improved version of Threads on the Secret network, with additional functionality and improvements, that utilizes the privacy-preserving features of Secret for various activities.

In the alpha version, content may include text, links, images, video, and audio. Future plans for the improved version of Threads include enabling thread content to include interactive applications, such as games, bets, OTC trades or other token transfers, and more. (Many other existing applications could potentially be integrated with Threads in this manner and accessed from the Threads interface.)

Future plans also include an improved user interface with added quality-of-life features, such as categories or labels for organizing content based on topic, type, or other characteristics, and improved search functionality.

Deploying Threads on the Secret network would enable use of the privacy-preserving features of Secret in conjunction with various types of content and interactions. For example, a Threads application on Secret network may enable users to:

Problem/Solution

Deployment of on-chain applications that are intended for continuous periods of interaction by users, a large number of transactions, and large amounts of data, such as social/communication platforms, is challenging due in part to the costs associated with blockchain transactions and the use of compute resources. As a result, the majority of social/communication platforms that exist are built in the web2 space, with even crypto communities using web2 platforms to discuss governance and other issues.

An on-chain social/communication platform built on the Secret network would provide improved security, the opportunity for improved privacy, and would enable more seamless integration with other on-chain applications.

Gelotto Threads stores each “thread” (an initial message or other type of content) on-chain as its own smart contract, with replies, votes, or other types of interactions with the thread also stored in the contract. Interactions with one or more threads, such as votes or saving threads, may be batched and executed as a single transaction to reduce transaction fees and resource use. Enabling the integration of Threads with other applications and on-chain content such as games, bets, OTC trades (or other transfers of assets), and more will increase the use cases for Threads, especially when combined with the privacy-preserving features of Secret.

Detailed Project Description

An alpha version of Gelotto Threads has been deployed at https://gelotto.io/app/threads. Screen captures of various portions of this version will be referenced below to illustrate the concepts and functionality described. The improved version of Threads intended for Secret network will have similar functionality and a similar interface, but with various additions and improvements described below.

Gelotto Threads enables a user to view content with or without connecting a wallet simply by accessing the Threads interface, however a connected wallet is required to create content or interact with existing content. Threads includes user account/customization functionality (e.g., to select a name, image, colors, and other characteristics to represent a wallet, and to view information for an account). Future developments on Secret network will include the ability for user accounts to be made private, and for posted content to be made private (e.g., accessible only to certain users or users having certain characteristics). For example, users will be able to create private communities, share information with only a selected user or group of users, sell private content or access to private content, etc.

Figure 1 (below) depicts two example threads, in which the first thread includes an image, while the second thread includes text. Threads also supports video and audio content, and the future version for deployment on Secret network is intended to support integrations with other applications, such as games, bets, trades or other transfers of crypto assets, and so forth.

FIGURE 1 GelottoThreadsScrtGrant-Image1

Each thread is presented with bibliographic information, such as a title, author (e.g., the wallet that submitted the content), and a timestamp indicating when the contact was created. Optionally, a user may add labels (e.g., hashtags) when posting content, which may enable the content to be searched using a search control located at the top of Figure 1. Currently, Threads supports searching using hashtags, but enhanced search functionality is intended for the future version.

The Threads interface also includes, at the top of each thread, a tip control that may be used to send assets to the wallet that submitted the thread (e.g., a “tip” for the content creator), alongside a tip status indicator showing the total amount of assets transferred in this manner, and vote controls that may be used to indicate positive or negative sentiment (e.g., “upvotes” and “downvotes”) with regard to the content, alongside a vote status indicator showing a score indicative of the total votes received.

The Threads interface includes, at the bottom of each thread, a link control (used to copy a link to the thread that includes the thread’s contract address), a save control (adds a link to access the thread to the “Saved Threads” section on the right side of Figure 1), and a reply control (used to submit text or other content that is saved and displayed in association with the original content).

The right side of the interface also includes links to threads submitted using the currently-connected wallet (“My Threads”), and a “Pending Actions” section that indicates a set/batch of actions that a user has selected but not yet executed (described with reference to Figure 3 below).

Figure 2 (below) depicts the portion of the Threads interface that a user may use to submit a thread, and a set of sorting controls that may be used to control the order in which existing threads are presented in the interface. In the current version, these features are located at the top of the interface, but the future version may include these features being accessible from other locations in the interface.

FIGURE 2 GelottoThreadsScrtGrant-Image2

To submit a thread, a user may type a title for the thread into the title field and any desired text in the text field, shown above. Content controls in the interface may be used to add other types of content such as images, audio, or video. The interface includes various text controls that may be used to add formatting to text (e.g., boldface, italics, justification, font), special characters such as emojis, or format selected text as code or links. The text controls also include the ability to associate labels (e.g., hashtags) with the thread, and the functionality to associate an opt-in/obscured status to the thread using the “#NSFW” or “#Spoiler” controls. Threads where this functionality is used may be obscured when another user accesses the interface, until the accessing user affirmatively selects the thread to cause the obscured content to be revealed. (The future version may allow threads to be created where revealing of obscured content is allowed only by certain users or under certain conditions, such as for privacy purposes.)

Once the content to be included in a thread has been input into the interface, the depicted submission controls include a button that may be used to save the thread on-chain. Selection of this control will cause the Threads application to interface with the user’s wallet so that a network transaction to save the thread on-chain may be approved. The submission controls also include a button to cancel or discard a current thread that is being input.

The sorting controls (also located near the top of the Threads interface) include a series of buttons that may be selected to control the order in which existing threads are presented. For example, threads having the largest number of positive votes or largest number of replies may be presented in descending order, or threads posted the most recently may be presented in descending order. These controls may differ in the future version when categories or labels are added to facilitate the organization of threads.

Figure 3 (below) depicts an example thread that includes nested replies, and the batched actions functionality used to execute multiple actions (e.g., votes or saved threads) as a single network transaction.

FIGURE 3 GelottoThreadsScrtGrant-Image3

When the reply control is selected, an interface similar to that shown in Figure 2 is presented that may be used to input text, use text controls, and complete a network transaction to save the reply on-chain in association with the smart contract for the thread. For example, Figure 3 above depicts two example replies shown in an indented/nested position relative to the initial thread. As shown in the lower right corner of the thread, the interface may include controls to hide replies associated with the thread (or to display the replies if hidden).

Certain interactions, such as submitting a reply, are not suitable for performing as a batch of transactions due to the need to maintain synchronous content. However, other actions, such as selecting positive or negative votes or selecting a control to add a thread to the “Saved Threads” associated with a wallet, may be batched and executed as a single transaction. For example, Figure 3 depicts the interface after the save control for the thread, the positive vote control for the thread, the positive vote control for the first reply, and the positive vote control for the second reply have been selected. As these controls are selected, such as while a user is viewing and interacting with content over a period of time, the “Pending Actions” section of the interface updates in real-time with each selection. For example, after selection of three positive vote controls (e.g., “Up Votes”) and one save control (e.g., “Saves), the Pending Actions section shown in Figure 3 indicates three Up Votes, one Save, and four Total Actions, above a set of action controls that may be used to execute these actions as a single network transaction, or to clear the selected actions. When the control is selected to execute the actions, the user may complete a transaction using their wallet, and the changes in votes or saved thread status may be saved on-chain.

As described above, in addition to the features described with regard to the alpha version shown in the screen captures, the future version of Gelotto Threads may incorporate additional types of content including integration with other applications, improvements to the user interface, and incorporation of privacy-specific features of the Secret network.

Go to Market Plan

  1. Determine improvements/modifications to the alpha version of Gelotto Threads suitable for deployment of an improved (beta) version of Gelotto Threads on the Secret network
  2. Deploy an initial beta version of Gelotto Threads
  3. Enlist the Gelotto community and Secret network to announce and spread awareness of this deployment on various platforms. This may include joint participation by the Gelotto team and associates selected by the Secret network in various public discussions, presentations, etc.
  4. Solicit feedback from users regarding changes/improvements to Threads, both generic and specific to Secret network
  5. Solicit feedback from Secret network regarding additional features specific to Secret network that may be integrated into Threads and the methods for doing so
  6. Modify beta version, repeat steps 3-5 as needed to add features, improve user experience, address bugs, etc., ultimately resulting in the final (e.g., non-beta) version of Gelotto Threads on Secret network

It is Gelotto’s intention that Gelotto Threads becomes a possible replacement for many of the web2 platforms used by Secret, Gelotto’s own community, and other cryptocurrency communities, such as for discussion of governance, cryptocurrency, or other community issues.

Additionally, the added functionality and integrations with other applications may enable Threads to become the base interface through which various other applications are accessed.

Threads may also be of interest/utility to non-crypto communities. For example, Web3 Auth may be used to onboard users through Web2 identity sources such as e-mail or social media accounts, leading to additional accessibility and use.

Value Capture for Secret Network Ecosystem

Social/communication platforms such as Gelotto Threads represent high-transaction applications of general interest to many populations, including those outside of the cryptocurrency space. For example, a communication platform is designed for users to remain continuously attentive and interact with the platform throughout the day, as contrasted to applications where a user is expected to perform only occasional transactions (such as a Dex).

Use of IBC functionality may enable specific networks to be abstracted, so that users of many networks in the Cosmos/IBC ecosystem may interact with Threads with minimal friction or excess transactions.

Use of privacy features specific to the Secret network may enable certain types of anonymous/private interactions to be performed that would not be possible on other networks.

Team Members/Experience

Rizbe: Project lead responsible for business development and dev-ops/infrastructure. Over 10 years experience in dev-ops and systems engineering. https://www.linkedin.com/in/haquemo/

Daniel: Co-founder responsible for full-stack/blockchain coding/development and platform creation. Over 9 years experience in software engineering and web design. https://www.linkedin.com/in/danielgabriele

Brett: Dev-ops/infrastructure engineer primarily responsible for maintaining Gelotto validators. Over 10 years experience in dev-ops and app development.

Dave: Expertise in testing and game design.10 years technical skills and business development experience.

Jacob: Technical writer responsible for whitepaper, roadmaps, and other technical documents, governance proposals, grant applications, other written product. Over 10 years experience as a patent attorney.

Gelotto is a software development company with a focus on blockchain-based games of chance and community-building tools surrounding blockchain-based gaming. Over the past two years, Gelotto has built:

Gelotto has also released multiple NFT collections on the Stargaze, Territori, Ethereum, Juno, and Bitcoin (ordinals) networks, and has created a Gelotto Label project that has partnered with other NFT artists.

Additionally, Gelotto operates validators on 14 IBC networks.

Team Website/Code Repo

Website: https://gelotto.io/ GitHub: https://github.com/Gelotto

Development Roadmap/Grant Milestones

(See go to market section above for additional detail)

Requested Grant: 50,000 USD

Milestone 1:

Project kickoff & grant approval: 5,000 USD

Milestone 2:

Integrate Gelotto Threads with Secret Network: 20,000 USD

Milestone 3:

Improvements to beta version of Gelotto Threads based on testing, feedback, and user onboarding: 25,000 USD