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

042🟢🟢🟢 community discovery #606

Open
mastercyb opened this issue Jun 8, 2022 · 0 comments
Open

042🟢🟢🟢 community discovery #606

mastercyb opened this issue Jun 8, 2022 · 0 comments
Labels
feature Atomic function which can be described

Comments

@mastercyb
Copy link
Member

mastercyb commented Jun 8, 2022

Rationale

  • It is important to provide discovery of social connections based on data from the ethereum and cosmos networks. This is the essence of the gift - to shift social connections into a content oracle. Usually, people interact with transactions for years, but do not have consolidated information about who their friends are, who their followers are, who follows them. People need this tooling. This is to add a lot of emotions and high-quality social dynamics to interaction with cyb and cyber.
  • Having a proof of address, we can pull up transaction data into the client and, based on this, draw a conclusion about who the agent is potentially following (the presence of outgoing transfers), who is following him (the presence of incoming transactions), and who are his friends (the presence of incoming and outgoing).
  • Parsing contract data is difficult computationally and in terms of implementation, so it is necessary to simplify parsing. For starters, it's enough to filter only core token transfers (ETH, ATOM, OSMO, etc.). This greatly simplifies the implementation of parsing.
  • We have serious limits on the ability to pull data from web3 and cosm. It is necessary to create a continuous scheme in which data will be pulled to the client gradually, requests will not be duplicated, and the mechanism will also work for future transactions.

Parsing algorithm

  1. Request last 42 transactions
  2. Filter out contract calls
  3. Expand data into `external-txs`` table:
    - tx
    - block
    - network
    - type (incoming, outgoing)
    - address
    - amount
    - token
  4. Based on this table, make a calculated table potential-community:
    - address
    - poptential (following, follower, friend)
    - external-name (ens, etc.) if exist
    - address.moon if exist
    - name.moon if exist
  5. Every time the community page opens or the agent clicks on the more button, the current block is checked, the difference from the last saved transaction is pulled in, and if the limit of 42 transactions is not exceeded, transactions are loaded from the most mature block to the latest one.
  6. When it comes to the very first transaction of the agent, an entry is added to the transaction table as a transaction without a hash, with a block number of 0 network and token, so that it can be clearly understood that lookups in the past do not make sense.

Page structure

  • Groups
    • Friends - if not display text: Friendship is mutual following
    • Imaginable friends - if not - do not display
    • Followers - if not display text:
    • Imaginable followers - if not do not display
    • Following
    • Worth to follow - if not do not display
  • Fields
    • name or address
    • karma or turnover in tokens from the external-txs table
    • ava if available (do not show anything for external ones)
@mastercyb mastercyb added the feature Atomic function which can be described label Jun 8, 2022
@mastercyb mastercyb changed the title Community discovery сommunity discovery Jun 8, 2022
@mastercyb mastercyb mentioned this issue Jul 20, 2022
@mastercyb mastercyb changed the title сommunity discovery сommunity discovery 🟢 42g Jul 20, 2022
@mastercyb mastercyb added this to hub and build town Jul 20, 2022
@mastercyb mastercyb changed the title сommunity discovery 🟢 42g 042 🟢🟢🟢 community discovery Jul 20, 2022
@mastercyb mastercyb changed the title 042 🟢🟢🟢 community discovery 042🟢🟢🟢 community discovery Jul 20, 2022
@mastercyb mastercyb removed the reward label Jul 20, 2022
@mastercyb mastercyb added this to portal Nov 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Atomic function which can be described
Projects
Status: No status
Status: No status
Status: No status
Development

No branches or pull requests

2 participants