Skip to content

Commit

Permalink
docs: edit passes on integrate and how-oso-works (#1643)
Browse files Browse the repository at this point in the history
* Move the previous data challenge to a hidden section in sidebar
* Add a new doc for reputation challenge
* Update the data challenge terms/conditions to be clear about how
  payment works
* Edit pass over outdated sections in technical architecture, schema,
  and metrics
  • Loading branch information
ryscheng authored Jun 17, 2024
1 parent 75b072c commit ebbe786
Show file tree
Hide file tree
Showing 15 changed files with 211 additions and 100 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: OSO Data Challenge 01
sidebar_position: 1
sidebar_position: 2
sidebar_class_name: hidden
---

# Earn OP rewards for proposing onchain impact metrics
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
---
title: User Reputation Challenge
sidebar_position: 1
sidebar_class_name: hidden
---

:::warning
Coming soon... This page is a work in progress.
:::

## Objective

The objective of this challenge is to identify 15-20 metrics that quantify onchain impact effectively. The most useful metrics are intended to be accessible to Optimism badgeholders through [impact calculator apps](https://github.com/orgs/ethereum-optimism/projects/31/views/3?pane=issue&itemId=50124302) during [Retro Funding Round 4](https://optimism.mirror.xyz/nz5II2tucf3k8tJ76O6HWwvidLB6TLQXszmMnlnhxWU).

## Context

To date, most of OSO’s work has been focused on measuring off-chain impact (eg, via GitHub data). The onchain data we’ve aggregated has been pretty surface-level - transaction counts, user numbers, L2 gas fees, etc. Now, we are transitioning to focus more on onchain impact. We are in the process of onboarding new OP chains, integrating with top sources of onchain reputation data, and expanding our project registries. We are also creating documentation, tutorials, and playground datasets to help new analysts get going as quickly as possible.

The goal: get better metrics for tracking onchain impact.

This is the first of hopefully several data challenges focused on onchain impact we’ll be running in the first half of 2024.

## Definitions

An “impact metric” is essentially a SQL query made against the OSO dataset that enables a user to make objective comparisons of impact among projects.

As an example, here’s a very simple onchain impact metric that sums all of a project’s transactions on OP Mainnet over the last 6 months.

```sql
SELECT
project_id,
SUM(amount) AS txns_6_months
FROM `opensource-observer.oso.rf4_events_daily_to_project`
WHERE
event_type = 'CONTRACT_INVOCATION_SUCCESS_DAILY_COUNT'
AND DATE(bucket_day) >= DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH)
GROUP BY project_id
```

A valid impact metric response should contain a `project_id` and `impact_metric` value for each project (with a null value for non-evaluable projects). In the example above, the result would be a set of records containing `project_id` and `txns_6_months` values.

## Challenge Description

This challenge is focused on creating impact metrics for projects that have contracts deployed across the Optimism Superchain.

### Focus Areas

Specifically, we care about impact metrics in the following focus areas:

- **User quality**. Metrics that help measure the quality of a project’s user base, potentially derived from identity primitives (eg, [ENS](https://docs.ens.domains/registry/eth)), trust scores (eg, [Gitcoin Passport](https://docs.passport.gitcoin.co/building-with-passport/passport-api/overview), [EigenTrust](https://docs.karma3labs.com/eigentrust)), social graphs (eg, [Farcaster](https://docs.farcaster.xyz/), [Lens](https://docs.lens.xyz/docs/public-big-query), NFT communities), onchain transaction patterns (eg, frequency, volume of transactions), etc.
- **User growth**. Metrics that evaluate a project's effectiveness in onboarding new users, retaining users, enhancing daily / monthly active users, diversifying onchain activities, etc.
- **Network growth**. Metrics that consider a project’s contributions to sequencer fees, blockspace demand, assets remaining on L2s, etc.
- **Domain-specific performance**: Metrics that are only applicable to a subset of onchain projects in a related domain, such as defi, consumer, NFTs, gaming, etc.

### Requirements

To be considered eligible for the challenge, an impact metric must fulfill the following requirements:

- Be expressed **in SQL** using OSO datasets on BigQuery.
- Quantitatively measure impact on a **continuous scale** by utilizing counts, sums, averages, maxes, or other array functions.
- Aggregate performance over **specific time intervals**, such as the last 90 days, last 180 days, or since project inception.
- Clearly document the **business logic** via code comments, so metrics are easy to read and potentially fork.
- Be composable **across the Superchain**, covering mainnets such as Optimism, Base, Zora, Mode, etc. as we add them to OSO.

### Limitations

There are several limitations in our data model that we don’t expect contributors to solve for:

- An onchain event may only belong to one project. For now, we attribute the impact of any onchain event to the project that deployed the contract. In the future, we may consider other methods of attribution, e.g., attributing which frontend the user interacted with, which dependencies are upstream of the dapp the user interacted with, which project deployed the token that a user is interacting with through a contract, etc.
- Every Ethereum `from` address counts as a user. Of course, many people control more than one Ethereum address. And some `from` addresses are contracts. Until we have indexed data on address characteristics, it is OK for contributors to assume every unique address is a distinct user.

## How to Participate

Here’s what you need to do to participate in this (and future) data challenges.

1. Join the [Kariba Data Collective](https://www.kariba.network/). Participation is open to anyone in the data collective (free to join, but we review applications).
2. Join our Discord and receive a **_data-collective_** role; ask questions and share code snippets in the **_#data-challenges_** channel.
3. Bookmark [our docs and tutorials](https://docs.opensource.observer/docs/how-oso-works/impact-metrics/) for creating impact metrics. Also make sure to browse our [Colab Notebooks](https://drive.google.com/drive/folders/1mzqrSToxPaWhsoGOR-UVldIsaX1gqP0F) for examples and inspiration.
4. Submit your impact metric(s) by opening an issue on our Insight repo [here](https://github.com/opensource-observer/insights/issues/new/choose).

Every impact metric submission should include:

- Metric name
- Keyword tags
- A brief metric description (2-3 sentences)
- SQL code block
- Optional: link to script/notebook or longer form write-up about the metric

As a participant, you may submit up to 10 impact metrics for review. If you have more than 10 ideas, pick your best 10.

## Retroactive Rewards

A total of **3000 OP** is available as retroactive rewards in the form of L2 tokens (OP or USDC) for work on this data challenge.

The primary way to receive rewards is to submit an impact metric in the form described above. We will reward the contributors who come up with the best metrics with 20-50 OP tokens per metric (capped at 10 metrics per contributor). The actual amount of the reward will be a function of the complexity and utility of the metric. As a guiding principle, we want to incentivize contributors to work on hard but widely applicable metrics. (Basically, we don’t want to see 10 variants of daily active users.)

In addition to direct work on impact metrics, we also have reward budgets for work on collections (defining a group of related projects) and adding/updating project data. We will reward collection creators 10-20 OP per new collection that gets added to oss-directory. We will reward contributors of project data at the rates described in our [bounty program](https://docs.opensource.observer/docs/contribute/challenges/bounties#ongoing-bounties) at the prevailing OP-USDC dex rate on May 31. These are capped at 250 OP per contributor.

Finally, we have a reward pool for other forms of contribution during the life of the challenge. This could include efforts to onboard or process new datasets, community activation, and improvements to OSO’s underlying infrastructure.

## Timing

The window for participating in this challenge is open until May 31, 2024 11:59PM UTC. Work submitted after the deadline will NOT be reviewed. Feedback may be provided to work submitted before the deadline. Final reward amounts will be determined on June 7.
30 changes: 15 additions & 15 deletions apps/docs/docs/contribute/challenges/bounties.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,28 @@ sidebar_position: 2
---

:::info
The aim of our bounty program is to encourage and reward the community for contributing to the growth and experimentation on OSO. Bounties are only available to members of the [Kariba Data Collective](https://kariba.network).
The aim of our bounty program is to encourage and reward the community for contributing to the growth and experimentation on OSO. Bounties are only available to members of the [Kariba Data Collective](https://www.kariba.network).
:::

## Competitive Bounties

Occassionally we post data science bounties and run community competitions. Each bounty has a set of requirements and a reward. Generally, the first person to meet the requirements will receive the reward although in some cases there may be multiple prizes or an award for runner-ups.
Occassionally we post data science bounties and run community competitions. Each bounty has a set of requirements and a reward.
See our list of [Data Challenges](./) or historical bounties on
[Bountycaster](https://www.bountycaster.xyz/fid/19412).

Some of our past data science bounties can be found on [Bountycaster](https://www.bountycaster.xyz/fid/19412).

The best way to learn about new data bounties is to follow us on [Twitter](https://twitter.com/OSObserver) or join our [Discord](https://www.opensource.observer/discord). You can also see a list of any active bounties from our GitHub issues [here](https://github.com/opensource-observer/insights/issues).
The best way to learn about new data bounties is to follow us on [Twitter](https://twitter.com/OSObserver) or join our [Discord](https://www.opensource.observer/discord).

## Ongoing Bounties

We also have a number of ongoing bounties for contributing to the OSS Directory. These bounties are available to all members of the Data Collective and are paid out in USDC.
We also have a number of ongoing bounties for contributing to the oss-directory. These bounties are available to all members of the Data Collective and are paid out in USD.

:::note
Please reach out to one of the maintainers for guidance on what projects and ecosystems we're currently looking for help with. We don't want to waste your time on projects that are already well-covered or that we don't have the capacity to review.
:::

### Adding a New Project

> 💰 1.00 USDC per new project successfully added to the OSS Directory.
> 💰 1.00 USD per new project successfully added to the OSS Directory.
The new entry must include a project slug (unique identifier), name, and an initial GitHub organization or repository.

Expand All @@ -49,7 +49,7 @@ The following is the current list of available bounties:

#### URL of a GitHub organization

> 💰 0.50 USDC (up to a max of 2.00 USDC per project).
> 💰 0.50 USD (up to a max of 2.00 USD per project).
Example:

Expand All @@ -61,7 +61,7 @@ github:

#### URL of a GitHub repository

> 💰 0.10 USDC (up to a max of 1.00 USDC per project).
> 💰 0.10 USD (up to a max of 1.00 USD per project).
Note: the repo cannot already be contained in the project’s GitHub organization.

Expand All @@ -75,7 +75,7 @@ github:

#### URL of an NPM package

> 💰 0.10 USDC (up to a max of 1.00 USDC per project).
> 💰 0.10 USD (up to a max of 1.00 USD per project).
Example:

Expand All @@ -86,7 +86,7 @@ npm:

#### Blockchain wallet address

> 💰 0.50 USDC per address (up to a max of 5.00 USDC per project).
> 💰 0.50 USD per address (up to a max of 5.00 USD per project).
The entry must include the network(s) and the `wallet` tag; it should also tag whether the wallet is an `EOA` or a `safe`. Where possible, a name for the address is appreciated.

Expand All @@ -106,7 +106,7 @@ blockchain:

#### Deployer address

> 💰 0.50 USDC per address (up to a max of 5.00 USDC per project).
> 💰 0.50 USD per address (up to a max of 5.00 USD per project).
The entry must include the network(s) and the tags `EOA` and `deployer`.

Expand All @@ -124,7 +124,7 @@ blockchain:

#### Contract or factory address

> 💰 0.10 USDC per address (up to a max of 5.00 USDC per project).
> 💰 0.10 USD per address (up to a max of 5.00 USD per project).
The entry must include the network and that tags `contract` or `factory`. Where possible, a name for the contract or factory is appreciated.

Expand All @@ -143,7 +143,7 @@ blockchain:

#### Network tag for a blockchain address

> 💰 0.05 USDC per address (up to a max of 1.00 USDC per project).
> 💰 0.05 USD per address (up to a max of 1.00 USD per project).
This bounty is only awarded for addresses that already have at least one network tag and the update includes an additional network with transaction activity on it.

Expand All @@ -162,6 +162,6 @@ blockchain:

### Reviewing Contributions

All contributions will be reviewed by the maintainers of the OSS Directory. We will do our best to review contributions in a timely manner, but please be patient with us. We will reach out to you via GitHub if we have any questions or concerns about your contribution.
All contributions will be reviewed by the maintainers of oss-directory. We will do our best to review contributions in a timely manner, but please be patient with us. We will reach out to you via GitHub if we have any questions or concerns about your contribution.

When you submit the PR, please provide an estimate of the total bounty amount you expect to receive. We will use this as a guide when reviewing your contribution.
30 changes: 30 additions & 0 deletions apps/docs/docs/contribute/challenges/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: Data Challenges
sidebar_position: 1
---

:::info
We are partnering with several ecosystems to expand project coverage, create new impact metrics and vectors, and improve the quality of our data. We are looking for contributors to help us with these challenges. If you are interested in contributing, please apply to join the [Kariba Data Collective](https://www.kariba.network).
:::

## Active challenges

We currently have no active challenges.

We have [ongoing bounties](./bounties) for adding/updating projects and artifacts.

## Terms and Conditions

- All payments will be made via wire/ACH in USD via our payment processor,
[Deel](https://www.deel.com/).
- If you are a selected winner, you must KYC through Deel to be eligible for payment.
- There is a minimum of $500 for payments. If you work on small bounties,
please wait until you've accrued at least $500 worth of bounties before
submitting your payment request.
- We cannot make payments to [certain countries](https://ofac.treasury.gov/sanctions-programs-and-country-information).
- Onboarding and payments can take 30 days to complete.
Please reach out to [email protected] if you need help.

## Past challenges

- [Earn OP rewards for proposing onchain impact metrics](./2024-04-05-data-challenge-01)
14 changes: 0 additions & 14 deletions apps/docs/docs/contribute/challenges/index.mdx

This file was deleted.

6 changes: 0 additions & 6 deletions apps/docs/docs/contribute/share-insights.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ OSO is building a network of impact data scientists and curating a community lib

## Community Data Science

---

Share your work analyzing and visualizing OSS data by contributing to the [Insights repo](https://github.com/opensource-observer/insights). In general, the steps are:

1. Fork the [Insights repo](https://github.com/opensource-observer/insights/fork).
Expand Down Expand Up @@ -45,8 +43,6 @@ Our best blog posts typically focus on specific communities and use a mix of sto

## Best Practices

---

- Ensure your contributions are original, well-documented, and provide clear value to the OSO community.
- For Jupyter notebooks and data visualizations, include source data or instructions on how to replicate the scripts.
- Review existing contributions to avoid duplicating efforts and to build upon existing work.
Expand All @@ -58,8 +54,6 @@ Your insights and contributions are vital to growing our collective understandin

## Promoting Your Work

---

Once your contribution is accepted and merged, it will be featured in our library and may be highlighted in our community channels and outreach efforts.

We also encourage you to share your work via your own channels and on social media. Please remember to note that your analysis is "Powered by OSO" in the introduction or in specific sections of the piece.
Expand Down
Loading

0 comments on commit ebbe786

Please sign in to comment.