Skip to content

Commit 58123bc

Browse files
authored
add blog entry (web3index#41)
1 parent 01de59c commit 58123bc

18 files changed

+581
-456
lines changed

.github/ISSUE_TEMPLATE/project_submission.md

-47
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
name: Protocol Submission
3+
about: Submit a protocol to be included in The Web3 Index
4+
title: New Protocol Submission
5+
labels: ""
6+
assignees: ""
7+
---
8+
9+
## Protocol Name
10+
11+
i.e. Livepeer
12+
13+
## Symbol
14+
15+
i.e. LPT
16+
17+
## Brand Color
18+
19+
Enter the protocol's brand color in hex value format
20+
21+
## Category
22+
23+
i.e. "Work Protocol"
24+
25+
## Subcategory
26+
27+
i.e. "Storage"
28+
29+
## Blockchain
30+
31+
i.e. "Ethereum". If it's a custom chain enter "Custom"
32+
33+
## Everest ID
34+
35+
Everest is used to pull information about the protocol such as the description. It can be found by searching for the protocol on [everest.link](https://everest.link).
36+
37+
## Description
38+
39+
Optional. If you don't provide a description it will pull from Everest
40+
41+
## Image
42+
43+
Provide a link to an svg version of the logo.
44+
45+
## Revenue Data Source
46+
47+
Will the protocol's revenue data get sourced using The Web3 Index subgraph or a publically accessible endpoint? For more information on how to provide revenue data for protocol submission check out the README.

components/BlogCard/index.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ const BlogCard = ({ title, date, abstract, slug }) => {
1111
px: "$4",
1212
borderBottom: "1px solid",
1313
borderColor: "$border",
14+
width: "100%",
1415
"&:last-child": {
1516
border: 0,
1617
mb: 0,
1718
},
1819
"@bp2": {
19-
px: 380,
20+
maxWidth: 800,
21+
mx: "auto",
2022
pb: "$5",
2123
mb: "$5",
2224
},
@@ -26,6 +28,7 @@ const BlogCard = ({ title, date, abstract, slug }) => {
2628
<Box
2729
as="a"
2830
css={{
31+
display: "block",
2932
textDecoration: "none",
3033
color: "$hiContrast",
3134
"&:hover": {

components/CallToAction/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const CallToAction = ({ ...props }) => {
3535
alignItems: "center",
3636
}}
3737
>
38-
Submit a Project{" "}
38+
Submit a Protocol{" "}
3939
<StyledIcon css={{ width: 15, height: 15, color: "$lowContrast" }} />
4040
</Button>
4141
</Box>

components/Header/index.tsx

+27
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import Box from "../Box";
22
import Revenue from "./Revenue";
33
import SubmitButton from "../SubmitButton";
4+
import Button from "../Button";
45

56
const Header = ({ revenue, ...props }) => {
67
return (
@@ -60,6 +61,32 @@ const Header = ({ revenue, ...props }) => {
6061
},
6162
}}
6263
/>
64+
<Button
65+
as="a"
66+
href="https://discord.gg/GsYEGuns9y"
67+
target="_blank"
68+
rel="noreferrer"
69+
css={{
70+
flex: "1 0 auto",
71+
textAlign: "center",
72+
backgroundColor: "$loContrast",
73+
color: "$hiContrast",
74+
border: "1px solid",
75+
borderColor: "$border",
76+
textDecoration: "none",
77+
justifyContent: "center",
78+
width: "100%",
79+
mb: "$3",
80+
"@bp2": {
81+
mr: "$3",
82+
mb: 0,
83+
width: "auto",
84+
},
85+
}}
86+
>
87+
Chat on Discord
88+
</Button>
89+
6390
<SubmitButton
6491
css={{
6592
flex: "1 0 auto",

components/SubmitButton/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const SubmitButton = ({ css = {}, ...props }) => {
1212
css={{ mx: "auto", display: "flex", alignItems: "center", ...css }}
1313
{...props}
1414
>
15-
Submit a Project{" "}
15+
Submit a Protocol{" "}
1616
<StyledIcon css={{ width: 15, height: 15, color: "$lowContrast" }} />
1717
</Button>
1818
);
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: Launching The Web3 Index
3+
seoTitle: Launching The Index
4+
abstract: Today, after completing the process of analyzing and listing leading Web3 work protocols, we’re excited to launch The Web3 Index.
5+
author: Adam Soffer
6+
avatar: https://pbs.twimg.com/profile_images/1419749557974536193/zhKQU-Fo_400x400.jpg
7+
twitter: adamsoffer
8+
isPublished: true
9+
publishedOn: 2021-09-20T09:15:00-0400
10+
shareImage: https://web3index.org/images/og/launch-image.jpg
11+
---
12+
13+
Four months ago we [introduced The Web3 Index](https://web3index.org/blog/introducing-the-web3-index), a fundamentally weighted index for discovering and monitoring leading [distributed work protocols](https://www.gemini.com/cryptopedia/distributed-work-protocols-web3-lpt-fil-grt) powering the burgeoning [ownership economy](https://variant.fund/the-ownership-economy-crypto-and-consumer-software/) colloquially known as [Web3](https://eshita.mirror.xyz/H5bNIXATsWUv_QbbEz6lckYcgAa2rhXEPDRkecOlCOI).
14+
15+
Today, after completing the process of analyzing and listing leading Web3 work protocols, we’re excited to launch The Web3 Index. The first six protocols listed include:
16+
17+
- [Arweave](https://www.arweave.org/): Permanent on-chain storage of documents and applications on a decentralized hard drive for a one-off fee.
18+
- [Filecoin](https://filecoin.io/): A decentralized data storage network that allows users to sell their excess storage on an open platform.
19+
- [The Graph](https://thegraph.com/): An indexing protocol for querying blockchain data.
20+
- [Livepeer](https://livepeer.org/): The world’s largest provider of distributed video infrastructure.
21+
- [Akash](https://akash.network/): The world's first open-source cloud.
22+
- [Helium](https://www.helium.com/): A distributed network of long-range wireless hotspots.
23+
24+
A key belief behind the fundamental index methodology is that underlying valuation figures (i.e. network revenue and usage) are more accurate estimators of a network's intrinsic value as opposed to the listed market value of a network's token. By putting these protocols through the lens of demand side metrics, The Web3 Index aims to become an essential tool for anyone interested in discovering and monitoring Web3 protocols providing fundamental value.
25+
26+
Are you a developer looking for reliable, scalable, permissionless, trust-minimized, and secure service providers for your Web3 application? An investor who needs fundamental data to guide your decision-making? Maybe you’re an aspiring node operator keen to find a stable and worthwhile protocol, a delegator hunting for protocols that will stand the test of time or a journalist who wants to cut through the hype. No matter what your role in Web3 is, The Web3 Index aims to be your go-to resource.
27+
28+
We look forward to a bright future for The Web3 Index, as it matures and evolves alongside the third evolution of the World Wide Web.
29+
30+
Learn more [here](https://web3index.org/).

next-env.d.ts

+4
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
/// <reference types="next" />
22
/// <reference types="next/types/global" />
3+
/// <reference types="next/image-types/global" />
4+
5+
// NOTE: This file should not be edited
6+
// see https://nextjs.org/docs/basic-features/typescript for more information.

next-seo.config.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ export default {
88
"The Web3 Index tracks key revenue metrics for protocols across the Web3 stack so you can stay up to date on the latest Web3 trends.",
99
type: "website",
1010
locale: "en_IE",
11-
url: "https://beta.web3index.org",
11+
url: "https://web3index.org",
1212
site_name: "The Web3 Index",
1313
images: [
1414
{
15-
url: "https://beta.web3index.org/og-image.png",
15+
url: "https://web3index.org/og-image.png",
1616
width: 1200,
1717
height: 630,
1818
alt: "The Web3 Index",
@@ -27,7 +27,7 @@ export default {
2727
additionalLinkTags: [
2828
{
2929
rel: "icon",
30-
href: "https://beta.web3index.org/favicon.ico",
30+
href: "https://web3index.org/favicon.ico",
3131
},
3232
],
3333
};

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"lightweight-charts": "^3.3.0",
3636
"limestone": "^0.2.0",
3737
"limestone-api": "^3.0.7",
38-
"next": "^10.2.0",
38+
"next": "^11.1.2",
3939
"next-mdx-remote": "^2.1.4",
4040
"next-seo": "^4.23.0",
4141
"next-themes": "^0.0.14",
@@ -47,7 +47,7 @@
4747
"react-fast-marquee": "^1.1.2",
4848
"react-markdown": "^5.0.3",
4949
"react-table": "^7.6.3",
50-
"recharts": "^2.0.9",
50+
"recharts": "2.0.9",
5151
"redstone-api": "^0.4.3",
5252
"remark-dropcap": "^0.1.7"
5353
},

pages/[slug].tsx

+63-24
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ const Project = ({ slug, index, projects, project }) => {
174174
...seo.openGraph,
175175
title: `The Web3 Index - ${project.name}`,
176176
description: project.description,
177-
url: `https://beta.web3index.org/project/${slug}`,
177+
url: `https://web3index.org/project/${slug}`,
178178
},
179179
};
180180

@@ -209,15 +209,15 @@ const Project = ({ slug, index, projects, project }) => {
209209
gap: 0,
210210
"@bp2": {
211211
gap: 100,
212-
gridTemplateColumns: "33.334% calc(66.667% - 100px)",
212+
gridTemplateColumns: "38% calc(62% - 100px)",
213213
},
214214
}}
215215
>
216216
<Box css={{ mt: "$5" }}>
217217
<Box css={{ fontSize: "$5", mb: "$3" }}>
218-
<span role="img" aria-label="#1">
218+
{/* <span role="img" aria-label="#1">
219219
{trophies[index]}
220-
</span>{" "}
220+
</span>{" "} */}
221221
#{index + 1}
222222
</Box>
223223
<Box
@@ -268,6 +268,65 @@ const Project = ({ slug, index, projects, project }) => {
268268
<Metric label="Category" value={project.category} />
269269
<Metric label="Subcategory" value={project.subcategory} />
270270
<Metric label="Blockchain" value={project.blockchain} />
271+
<Metric label="Genesis Date" value={project.genesisDate} />
272+
</Box>
273+
<Box>
274+
<Metric
275+
label="30d Revenue"
276+
value={
277+
<Box>
278+
<Tooltip delayDuration={0}>
279+
<Box css={{ display: "flex", alignItems: "center" }}>
280+
<Box css={{ mr: "$1" }}>
281+
$
282+
{Math.round(
283+
project.usage.revenue.thirtyDayTotal
284+
).toLocaleString()}
285+
</Box>
286+
<TooltipTrigger>
287+
<InfoCircledIcon />
288+
</TooltipTrigger>
289+
</Box>
290+
<TooltipContent>
291+
<TooltipArrow />
292+
Total demand side revenue accrued by the protocol
293+
over the last 30 days.
294+
</TooltipContent>
295+
</Tooltip>
296+
</Box>
297+
}
298+
/>
299+
<Metric
300+
label="90d Revenue"
301+
value={
302+
<Box>
303+
<Tooltip delayDuration={0}>
304+
<Box css={{ display: "flex", alignItems: "center" }}>
305+
<Box css={{ mr: "$1" }}>
306+
$
307+
{Math.round(
308+
project.usage.revenue.ninetyDayTotal
309+
).toLocaleString()}
310+
</Box>
311+
<TooltipTrigger>
312+
<InfoCircledIcon />
313+
</TooltipTrigger>
314+
</Box>
315+
<TooltipContent>
316+
<TooltipArrow />
317+
Total demand side revenue accrued by the protocol
318+
over the last 90 days.
319+
</TooltipContent>
320+
</Tooltip>
321+
</Box>
322+
}
323+
/>
324+
<Metric
325+
label="Total Revenue"
326+
value={`$${Math.round(
327+
project.usage.revenue.now
328+
).toLocaleString()}`}
329+
/>
271330
<Metric
272331
label="30d Trend"
273332
value={
@@ -300,26 +359,6 @@ const Project = ({ slug, index, projects, project }) => {
300359
}
301360
/>
302361
</Box>
303-
<Box>
304-
<Metric
305-
label="30d Revenue"
306-
value={`$${Math.round(
307-
project.usage.revenue.thirtyDayTotal
308-
).toLocaleString()}`}
309-
/>
310-
<Metric
311-
label="90d Revenue"
312-
value={`$${Math.round(
313-
project.usage.revenue.ninetyDayTotal
314-
).toLocaleString()}`}
315-
/>
316-
<Metric
317-
label="Total Revenue"
318-
value={`$${Math.round(
319-
project.usage.revenue.now
320-
).toLocaleString()}`}
321-
/>
322-
</Box>
323362
</Box>
324363
<Box>
325364
<SocialButton

0 commit comments

Comments
 (0)