From 40867bc0c6eaaeb7acf37ced2522aa750664afab Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 23 Sep 2024 16:19:24 -0600 Subject: [PATCH 001/165] Begin migration to shadcn and l2 epic update of layer-2 page to /layer-2/learn --- public/images/layer-2/learn-hero.png | Bin 0 -> 189033 bytes ...ow-to-create-an-ethereum-account-data.json | 4 +- src/intl/en/page-layer-2-learn.json | 7 ++ src/lib/utils/translations.ts | 7 ++ src/pages/layer-2/learn.tsx | 83 ++++++++++++++++++ 5 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 public/images/layer-2/learn-hero.png create mode 100644 src/intl/en/page-layer-2-learn.json create mode 100644 src/pages/layer-2/learn.tsx diff --git a/public/images/layer-2/learn-hero.png b/public/images/layer-2/learn-hero.png new file mode 100644 index 0000000000000000000000000000000000000000..d413549923e32742f0b1a113e387a589ae4bce8a GIT binary patch literal 189033 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%0A5n<~J>F<{${N4PGm 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 z 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 z b6zLn>A)w~Tc(sa!i#!umWYpUq-X&Cc`iIMqm-r52V>>fupnT0p##bOq{cumS# z0=aV5R+>39GrIO2ox`{9JdElbSsrv<+PhjXI1u0+?Rt6wSiic3j!kVk3+8j|d&AsG zrt?TGl)2pN@;Dmzo;1+-((?RU_aeWIB;ZOses-rnG}IJJ4YJzFnpTdshDBvU>uw`a z`gW`z zMV1Pd<29%}o&Z_>Ht2eV{DuLNC`06Pwxhj2f&i1?Y2Ch%8!i?#F6BcD*sTl~t7(fO zSxG$y-I|S?g60&X!HBHNaz4w+)qrGC1hlr7zq9 z3`G`$F{R8dBhy(!l`|;?YapsSrH}l`u1UpaUML`#*el}n? zfbML@&HttS96d6P`2*t!t)+G9cH|viIxpl$r)wD}P^i=vldiM7d^N(|7H{dP^F!0k*4N*S6RGP9YgfVV;ce_(U9~0)44chCk$_dsxLlrymu= z0hiN_Y`n-6xayI8!;^)4{>0jg`zPB&uHBtO;hoFZbRS}YXTRI`*LZo11;EX3dC zM#n%0x(C|fCcnC$tb9As3MRSRh~?ObO0x7dzt4;Ae(8%N)?g5*t0s$bt`T#npjI)F zA;0=Ul7O9LzM~^Em_0GW1L}-|K@&`cj0Ha&B=@xr1ra2s-a!+!$Ezb43J~}^ND)x@ zHkrRk6EvD89F4$DtNZ;7S&*X6(9tw0TSL|x=Wo+NvT9xoTu2GT^a2?uBqz6!TC@B%D08Dh2Jh9&&KhDFwr^Eg`HlspDbfed+L1C~ zHf8R39T0TcrOfiD)*8${LqAVVE9mu^yur%Z{k_=Woz&?>)MVtc&0y!xq~D}6(7t47 zyG%as4$E@^vJ|(MD{rORLePqGygKVO7g1Cw-xj$*gO>CQTSz^v3rzbFaUFQm|SE{#GYkq#}emgIIS-8=|cd=yVg< zoHp*C*T~3XL6@vnxM?VjU`E=R3QGelF-e^aC%VxHbLn}@5?C+b#GVr2M8UH-uG8%ubZjqjffx6Brdt_@u!W)jmmHt~b~;bOUFdra@LAHvdj(Tx`rcsGyt zDch`4Aq>!2<)Rbx^NT;f^Ksv)v6-%Fytw7~p4q}CxHLnU* z8}U`KGFl@hs^HX|f{~=4P+b9&Gt?d;J+B%7zPMYdOQ5{&IRjJrzRnmA3re#~SzK<% zl|)dlPMen#n<`^W_|_P~B_cI7vLHuxzp}W6bSzJ5 zi-}Un;D9|nGmC62jB0~y}35^&r%h7Xr+z7V%(MEpf&6lhsLzR5c zksx<1c<4T6#ZGj)y>S9$DkAR}&;DkyC^DCuJ(t-usa)A2PxWHTSu#;3m)0y|Qwg4{ z?ob?}_Jh-a!>?m-O&hs29Nf@g%P-6≈K?Be7T_5o+_yt~|H1+IPPHo)ud=k9PD1 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%0D*W2{?;(sTm5jj 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

$CuB)5w{F(qK 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 literal 0 HcmV?d00001 diff --git a/src/data/placeholders/content-guides-how-to-create-an-ethereum-account-data.json b/src/data/placeholders/content-guides-how-to-create-an-ethereum-account-data.json index fe1b90a0354..e8ebd595d18 100644 --- a/src/data/placeholders/content-guides-how-to-create-an-ethereum-account-data.json +++ b/src/data/placeholders/content-guides-how-to-create-an-ethereum-account-data.json @@ -1,6 +1,6 @@ { "/content/guides/how-to-create-an-ethereum-account/wallet-box.png": { - "hash": "9feaf357", - "base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHCAYAAAABIM1CAAAACXBIWXMAABYlAAAWJQFJUiTwAAABeklEQVR4nGWQv0sbARzFb1Gc/JFULxC9hCY0huT0FOMQU2hJNcRLYk6JJv7mzkCuuhQhYEmHjIWO2RwcnIRSEYU6OcTAgX+CIgoZXdq94VNykkEcHt/Hd/jw3hN+1k/QDZ1qtcquaWIYOqZp8tksUakc2H6/XGY2HkcOh4lEpgiOBlla1mjcXiEcXx5Rq9X414KGdcPZxW/u7h+5qjd4+vOXVqtFs9kknV1EdEuMKRMvAefWKT7fWyb9I+xpcZY/RJiblimq71mIjtM/4MQvudlOxvixl2d6PEhXdw+ZxRTWQ/0ZEAqFiE3KfN9d55uRY1P9yOHXEl/yKQaHRMKj79hMf6K8kWFmagxRdL0GzKsZNvQdtJUCW7pBMrNE/6ALlygSjc5QLJls6UXyhYK9xYsKiqIgSRJyOITf58Pr8fDG6aSvt9f+D7vdtm9fh8OBIAio2STWwzXCmfWLRCJBLpdD0zTW11ZJp1QCgYCtdrqO78jr8doJ2hX+A2R85qAN4BZDAAAAAElFTkSuQmCC" + "hash": "eb0a1014", + "base64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAFCAYAAABM6GxJAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA70lEQVR4nH2PMUuFYBSGv9nFGlxc1Q8ERwfDycXBlhb/hkPYkD8gL4ENFymosOzeiBocIoIWaWkK7iZFS7NDv6DhiU8iiKDh4eW8vJzzHuH7PlEUoTQIAoJggziOJ88wDIQQ/9O2LavViuXlgv6xp+s6xnFkGAY8z5tCuq6zpq+jadofhGNLTuY33F8/Ue83PPfvbG2m2I49NZJScrBX8/kBO9u7hGFIkiRTQ4VQw+vLG8vFFefNBXe3DxwdHlPXc9I0xbIsyrKkOT2jLGfkeU5RFFRVRZZlCBVQm6R0pmtKXdf9wTTNb1/+8tV7Sr8AU9WamYXJdtsAAAAASUVORK5CYII=" } } \ No newline at end of file diff --git a/src/intl/en/page-layer-2-learn.json b/src/intl/en/page-layer-2-learn.json new file mode 100644 index 00000000000..b17971b82c7 --- /dev/null +++ b/src/intl/en/page-layer-2-learn.json @@ -0,0 +1,7 @@ +{ + "page-layer-2-learn-meta-title": "What is layer 2", + "page-layer-2-learn-title": "What is layer 2", + "page-layer-2-learn-description": "Scaling Ethereum for mass adoption", + "page-layer-2-learn-button-1-label": "What is layer 2", + "page-layer-2-learn-button-2-label": "Use layer 2" +} \ No newline at end of file diff --git a/src/lib/utils/translations.ts b/src/lib/utils/translations.ts index 69dafc7003d..be18350818f 100644 --- a/src/lib/utils/translations.ts +++ b/src/lib/utils/translations.ts @@ -168,10 +168,15 @@ const getRequiredNamespacesForPath = (relativePath: string) => { requiredNamespaces = [...requiredNamespaces, "page-wallets"] } + // TODO: Remove this when the page is translated if (path.startsWith("/layer-2/")) { primaryNamespace = "page-layer-2" } + if (path.startsWith("/layer-2/learn/")) { + primaryNamespace = "page-layer-2-learn" + } + if (path.startsWith("/contributing/translation-program/translatathon/")) { primaryNamespace = "page-translatathon" } @@ -180,6 +185,7 @@ const getRequiredNamespacesForPath = (relativePath: string) => { if ( path.startsWith("/dapps/") || path.startsWith("/layer-2/") || + path.startsWith("/layer-2/learn/") || path.startsWith("/get-eth/") || path.startsWith("/stablecoins/") || path.startsWith("/staking/") || @@ -197,6 +203,7 @@ const getRequiredNamespacesForPath = (relativePath: string) => { if ( path.startsWith("/eth/") || path.startsWith("/layer-2/") || + path.startsWith("/layer-2/learn/") || path.startsWith("/nft/") || path.startsWith("/roadmap/merge/") || path.startsWith("/roadmap/scaling/") || diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx new file mode 100644 index 00000000000..429ab924ff6 --- /dev/null +++ b/src/pages/layer-2/learn.tsx @@ -0,0 +1,83 @@ +import { GetStaticProps } from "next" +import { useRouter } from "next/router" +import { serverSideTranslations } from "next-i18next/serverSideTranslations" +import { useTranslation } from "react-i18next" + +import type { BasePageProps, Lang } from "@/lib/types" + +import { ContentHero, type ContentHeroProps } from "@/components/Hero" +import MainArticle from "@/components/MainArticle" +import PageMetadata from "@/components/PageMetadata" + +import { existsNamespace } from "@/lib/utils/existsNamespace" +import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" +import { getLocaleTimestamp } from "@/lib/utils/time" +import { getRequiredNamespacesForPage } from "@/lib/utils/translations" + +export const getStaticProps = (async ({ locale }) => { + const lastDeployDate = getLastDeployDate() + const lastDeployLocaleTimestamp = getLocaleTimestamp( + locale as Lang, + lastDeployDate + ) + + const requiredNamespaces = getRequiredNamespacesForPage("/layer-2/learn") + + const contentNotTranslated = !existsNamespace(locale!, requiredNamespaces[2]) + + return { + props: { + ...(await serverSideTranslations(locale!, requiredNamespaces)), + contentNotTranslated, + lastDeployLocaleTimestamp, + }, + } +}) satisfies GetStaticProps + +const Layer2Learn = () => { + const { t } = useTranslation("page-layer-2-learn") + const { pathname } = useRouter() + + const heroProps: ContentHeroProps = { + breadcrumbs: { slug: pathname, startDepth: 1 }, + heroImg: "/images/layer-2/learn-hero.png", + blurDataURL: "/images/layer-2/learn-hero.png", + title: t("page-layer-2-learn-title"), + description: t("page-layer-2-learn-description"), + // TODO: Check matomo event information to implementc + buttons: [ + { + content: "", + href: "/layer-2/", + matomo: { + eventCategory: "", + eventAction: "", + eventName: "", + }, + }, + { + content: "", + href: "/layer-2/networks", + matomo: { + eventCategory: "", + eventAction: "", + eventName: "", + }, + }, + ], + } + + return ( + + + + + + ) +} + +export default Layer2Learn From ae3d3e7e8858fa031936bdbe0d7cfe155329128f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 23 Sep 2024 21:20:57 -0600 Subject: [PATCH 002/165] Add what is layer 1 section --- src/pages/layer-2/learn.tsx | 80 ++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 2 deletions(-) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index 429ab924ff6..e325d12b512 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -6,6 +6,7 @@ import { useTranslation } from "react-i18next" import type { BasePageProps, Lang } from "@/lib/types" import { ContentHero, type ContentHeroProps } from "@/components/Hero" +import { TwImage } from "@/components/Image" import MainArticle from "@/components/MainArticle" import PageMetadata from "@/components/PageMetadata" @@ -14,6 +15,8 @@ import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" +import WhatIsEthereumImage from "@/public/images/what-is-ethereum.png" + export const getStaticProps = (async ({ locale }) => { const lastDeployDate = getLastDeployDate() const lastDeployLocaleTimestamp = getLocaleTimestamp( @@ -47,7 +50,7 @@ const Layer2Learn = () => { // TODO: Check matomo event information to implementc buttons: [ { - content: "", + content: "What is layer 2", href: "/layer-2/", matomo: { eventCategory: "", @@ -56,7 +59,7 @@ const Layer2Learn = () => { }, }, { - content: "", + content: "Use layer 2", href: "/layer-2/networks", matomo: { eventCategory: "", @@ -76,6 +79,79 @@ const Layer2Learn = () => { /> + +

+
+

What is layer-2?

+

+ Layer 2 (L2) is a collective term to describe a specific set of + Ethereum scaling solutions. A layer 2 is separate blockchain that + extends Ethereum and inherits the security guarantees of Ethereum. +

+

+ Now let’s dig into it a bit more, and to do this we need to explain + layer 1 (L1). +

+
+
+ +
+
+ +
+

What is layer 1?

+
+
+

+ Layer 1 blockchains, such as Ethereum and Bitcoin, are the + underlying foundation that layer 2 projects build on top of. + Examples of layer 2 projects include zero-knowledge rollups and + optimistic rollups on Ethereum and the Lighting Network on top of + Bitcoin. +

+

+ Ethereum also functions as a data availability layer for Layer 2s, + and if there are any disputes on previous transactions data is + provided from Ethereum for these disputes. +

+
+
+

Ethereum as the layer 1 includes:

+
    +
  1. + + + a network of node operators to secure and validate the network + +
  2. +
  3. + + a network of block producers +
  4. +
  5. + + + the blockchain itself and the history of transaction data + +
  6. +
  7. + + the consensus mechanism for the network +
  8. +
+
+
+
) } From 014276d45b187acde9a844efb161c573a1ac9d43 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 23 Sep 2024 21:55:59 -0600 Subject: [PATCH 003/165] why do we need layer 2 section --- src/pages/layer-2/learn.tsx | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index e325d12b512..26e97063645 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -15,6 +15,7 @@ import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" +import DAOImage from "@/public/images/use-cases/dao-2.png" import WhatIsEthereumImage from "@/public/images/what-is-ethereum.png" export const getStaticProps = (async ({ locale }) => { @@ -152,6 +153,50 @@ const Layer2Learn = () => { + +
+
+ +
+ +
+

Why do we need layer 2?

+

+ The three desirable properties of a blockchain are that it is + decentralized, secure, and scalable. The blockchain trilemma states + that a simple blockchain architecture can only achieve two out of + three. Want a secure and decentralized blockchain? You need to + sacrifice scalability. This is where layer 2 networks come in. +

+

+ Ethereum has reached the network's current capacity with 1+ + million transactions per day, with high demand for each of these + transactions. The success of Ethereum and the demand to use it has + caused gas prices to rise substantially. Therefore the need for + scaling solutions has peaked as well. +

+

Scalability

+

+ The main goal of scalability is to increase transaction speed + (faster finality), and transaction throughput (high transactions per + second), without sacrificing decentralization or security (more on + the Ethereum vision). +

+

+ The Ethereum community has taken a strong stance that it would not + throw out decentralization or security in order to scale. Until + sharding, Ethereum Mainnet (layer 1) will only be able to process + roughly 15 transactions per second. When demand to use Ethereum is + high this causes network congestion, increasing transaction fees, + and pricing out those who cannot afford it from using Ethereum until + the fees reduce. That is where layer 2 comes in to scale Ethereum + today. +

+
+
) } From d31bb6cb8d8feadd63ddd61bdb63af89177299e5 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 23 Sep 2024 22:28:18 -0600 Subject: [PATCH 004/165] Setup layer-2-cards section --- src/pages/layer-2/learn.tsx | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index 26e97063645..796020d9dd4 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -5,6 +5,7 @@ import { useTranslation } from "react-i18next" import type { BasePageProps, Lang } from "@/lib/types" +import Card from "@/components/Card" import { ContentHero, type ContentHeroProps } from "@/components/Hero" import { TwImage } from "@/components/Image" import MainArticle from "@/components/MainArticle" @@ -71,6 +72,28 @@ const Layer2Learn = () => { ], } + // TODO: Setup translation + const layer2Cards = [ + { + emoji: ":money_with_wings:", + title: "Lower Fees", + description: + "By combining multiple transactions into a single transaction on layer 1, transaction fees are massively reduced, making Ethereum more accessible for all.", + }, + { + emoji: ":closed_lock_with_key:", + title: "Maintain Security", + description: + "Layer 2 blockchains settle their transactions on the Ethereum Mainnet, allowing users who use them to benefit from the security of the Ethereum network.", + }, + { + emoji: ":hammer_and_wrench:", + title: "Expand Use Cases", + description: + "With higher transactions per second, lower fees, and new technology, projects will expand into new applications with improved user experience.", + }, + ] + return ( { id="what-is-layer-2" className="flex w-full flex-col items-center gap-4 px-8 py-9 md:flex-row" > + {/* TODO: Setup translation */}

What is layer-2?

@@ -110,6 +134,7 @@ const Layer2Learn = () => { id="what-is-layer-1" className="flex w-full flex-col gap-4 bg-body-light px-8 py-9" > + {/* TODO: Setup translation */}

What is layer 1?

@@ -162,6 +187,7 @@ const Layer2Learn = () => {
+ {/* TODO: setup translation */}

Why do we need layer 2?

@@ -197,6 +223,23 @@ const Layer2Learn = () => {

+ +
+
+ {layer2Cards.map((card, idx) => { + return ( +
+ +
+ ) + })} +
+
) } From 24f97265d21aa179e8cf9341288d9f422ccb9e03 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 23 Sep 2024 22:43:28 -0600 Subject: [PATCH 005/165] How does layer 2 work section --- src/pages/layer-2/learn.tsx | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index 796020d9dd4..cd20a2e8472 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -16,6 +16,7 @@ import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" +import RollupImage from "@/public/images/layer-2/rollup-2.png" import DAOImage from "@/public/images/use-cases/dao-2.png" import WhatIsEthereumImage from "@/public/images/what-is-ethereum.png" @@ -240,6 +241,47 @@ const Layer2Learn = () => { })}
+ +
+
+

How does layer 2 work?

+

+ As we mentioned above, layer 2 is a collective term for Ethereum + scaling solutions that handle transactions off Ethereum layer 1 + while still taking advantage of the robust decentralized security of + Ethereum layer 1. A layer 2 is a separate blockchain that extends + Ethereum. How does that work? +

+

+ There are several different types of layer 2, each having their own + trade-offs and security models. Layer 2s take the transactional + burden away from the layer 1 allowing it to become less congested, + and everything becomes more scalable. +

+

Rollups

+

+ Rollups bundle (or ’roll up’) hundreds of transactions into a single + transaction on layer 1. This distributes the L1 transaction fees + across everyone in the rollup, making it cheaper for each user. +

+

+ The transaction data in the rollup is submitted to layer 1, but the + execution is done separately by the rollup. By submitting + transaction data onto layer 1, rollups inherit the security of + Ethereum. This is because once the data is uploaded to layer 1, + reverting a rollup transaction requires reverting Ethereum. There + are two different approaches to rollups: optimistic and + zero-knowledge - they differ primarily on how this transaction data + is submitted to L1. +

+
+
+ +
+
) } From a1d2dab1032bfec7541cffcfa63db0a961e26a4e Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 Sep 2024 11:20:43 -0600 Subject: [PATCH 006/165] rollup card section --- src/pages/layer-2/learn.tsx | 42 +++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index cd20a2e8472..b13228eead1 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -16,7 +16,9 @@ import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" +import OptimisticRollupImage from "@/public/images/layer-2/optimistic_rollup.png" import RollupImage from "@/public/images/layer-2/rollup-2.png" +import ZKRollupImage from "@/public/images/layer-2/zk_rollup.png" import DAOImage from "@/public/images/use-cases/dao-2.png" import WhatIsEthereumImage from "@/public/images/what-is-ethereum.png" @@ -95,6 +97,26 @@ const Layer2Learn = () => { }, ] + // TODO: Setup translation + const rollupCards = [ + { + image: OptimisticRollupImage, + title: "Optimistic Rollups", + description: + "Optimistic rollups use fault proofs where transactions are assumed to be valid, but can be challenged if an invalid transaction is suspected. If an invalid tranaction is suspected, a fault proof is ran to see if this has taken place. ", + childSentence: "More on optimistic rollups", + childLink: "/developers/docs/scaling/optimistic-rollups/", + }, + { + image: ZKRollupImage, + title: "Zero Knowledge Rollups", + description: + "Zero Knowledge rollups use validity proofs where transactions calculations are computed off-chain, and then this data is then supplied to Ethereum Mainnet with a proof of their validity.", + childSentence: "More on zk-rollups", + childLink: "/developers/docs/scaling/zk-rollups/", + }, + ] + return ( { + + {/* TODO: Finish styling */} +
) } From f3fc6b0386ba32479a67fac7d78f59010857d649 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 Sep 2024 12:16:08 -0600 Subject: [PATCH 007/165] dyor section --- src/pages/layer-2/learn.tsx | 43 +++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index b13228eead1..e52f0711379 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -5,6 +5,7 @@ import { useTranslation } from "react-i18next" import type { BasePageProps, Lang } from "@/lib/types" +import { ButtonLink } from "@/components/Buttons" import Card from "@/components/Card" import { ContentHero, type ContentHeroProps } from "@/components/Hero" import { TwImage } from "@/components/Image" @@ -42,6 +43,7 @@ export const getStaticProps = (async ({ locale }) => { } }) satisfies GetStaticProps +// TODO: Add matomo events const Layer2Learn = () => { const { t } = useTranslation("page-layer-2-learn") const { pathname } = useRouter() @@ -140,8 +142,8 @@ const Layer2Learn = () => { extends Ethereum and inherits the security guarantees of Ethereum.

- Now let’s dig into it a bit more, and to do this we need to explain - layer 1 (L1). + Now let's dig into it a bit more, and to do this we need to + explain layer 1 (L1).

@@ -264,6 +266,7 @@ const Layer2Learn = () => {
+ {/* TODO: setup translation */}
{

Rollups

- Rollups bundle (or ’roll up’) hundreds of transactions into a single - transaction on layer 1. This distributes the L1 transaction fees - across everyone in the rollup, making it cheaper for each user. + Rollups bundle (or 'roll up') hundreds of transactions + into a single transaction on layer 1. This distributes the L1 + transaction fees across everyone in the rollup, making it cheaper + for each user.

The transaction data in the rollup is submitted to layer 1, but the @@ -305,7 +309,6 @@ const Layer2Learn = () => {

- {/* TODO: Finish styling */}
{ ) })}
+ + {/* TODO: Setup translations */} +
+
+

Do your own research: Risks of layer 2

+
+

+ Because layer 2 chains inherit security from Ethereum, in an ideal + world, they are as safe as L1 Ethereum. However, many of the + projects are still young and somewhat experimental. After years of + R&D, many of the L2 technologies that will scale Ethereum went + live in 2021. This is not to say these L2s are not secure, only + that no layer 2 is as battle tested as Ethereum Mainnet. Always do + your own research and decide if you're comfortable with any + risks involved. +

+

+ For more information on the technology, risks and trust + assumptions of layer 2s, we recommend checking out L2BEAT, which + provides a comprehensive risk assessment framework of each + project. +

+
+
+ Go to L2BEAT +
+
+
) } From 7ba1bbed6443a311b3802ba67603d31c9ca993f6 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 Sep 2024 12:25:21 -0600 Subject: [PATCH 008/165] add note on alt l1 section --- src/pages/layer-2/learn.tsx | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index e52f0711379..795d1234f60 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -355,6 +355,38 @@ const Layer2Learn = () => { + + {/* TODO: setup translations */} +
+

A note on alt L1s, sidechains, and validiums

+
+
+

+ Alternative layer 1s have higher throughput and lower transaction + fees than Ethereum. These alt L1s have had to sacrifice on + security or decentralization in order to achieve higher + transactions per second and lower fees. The Ethereum ecosystem is + firmly aligned that layer 2 scaling is the only way to solve the + scalability trilemma and remain decentralized and secure +

+
+
+

+ Sidechains and validiums are blockchains that allow assets from + one blockchain to be bridged over and used on another blockchain. + Sidechains and validiums run in parallel with the main chain, and + interact with the main chain through bridges, but they do not + derive their security or data availability from the main chain. + They scale similarly to layer 2s, but have different trust + assumptions. They offer lower transaction fees, and higher + transaction throughput. More on sidechains and validiums. +

+
+
+
) } From fd679ebc6c67225826d1c9bc45393865268d2655 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 Sep 2024 17:16:57 -0600 Subject: [PATCH 009/165] convert Callout component to shadcn and any updates needed in areas using it --- src/components/Callout.tsx | 55 +++++++++-------------- src/components/Translatathon/ApplyNow.tsx | 4 +- src/pages/dapps.tsx | 5 ++- src/pages/wallets/index.tsx | 6 +-- src/pages/what-is-ethereum.tsx | 5 +-- 5 files changed, 30 insertions(+), 45 deletions(-) diff --git a/src/components/Callout.tsx b/src/components/Callout.tsx index ee4c6e397bd..5272d837ea3 100644 --- a/src/components/Callout.tsx +++ b/src/components/Callout.tsx @@ -1,14 +1,13 @@ import { useTranslation } from "next-i18next" -import { Center, Flex, type FlexProps } from "@chakra-ui/react" import type { TranslationKey } from "@/lib/types" import Emoji from "@/components/Emoji" -import { Image, type ImageProps } from "@/components/Image" -import OldHeading from "@/components/OldHeading" -import Text from "@/components/OldText" +import { type ImageProps, TwImage } from "@/components/Image" -export type CalloutProps = FlexProps & { +import { cn } from "@/lib/utils/cn" + +export type CalloutProps = { children?: React.ReactNode image?: ImageProps["src"] emoji?: string @@ -26,46 +25,36 @@ const Callout = ({ descriptionKey, children, className, - ...rest }: CalloutProps) => { const { t } = useTranslation("common") return ( - {image && ( -
- {alt -
+
+ +
)} - +
{emoji && } - - {t(titleKey)} - - +

{t(titleKey)}

+

{t(descriptionKey)} - +

{children} - - +
+ ) } diff --git a/src/components/Translatathon/ApplyNow.tsx b/src/components/Translatathon/ApplyNow.tsx index 41679959f7b..39c11f293ea 100644 --- a/src/components/Translatathon/ApplyNow.tsx +++ b/src/components/Translatathon/ApplyNow.tsx @@ -17,12 +17,10 @@ export const ApplyNow = () => { return ( Apply now diff --git a/src/pages/dapps.tsx b/src/pages/dapps.tsx index 64ac402ffa8..95afb63ec38 100644 --- a/src/pages/dapps.tsx +++ b/src/pages/dapps.tsx @@ -376,7 +376,10 @@ const RightColumn = (props: ChildOnlyProp) => ( ) const StyledCallout = (props: ComponentPropsWithRef) => ( - + ) const StyledCardGrid = (props: ChildOnlyProp) => ( diff --git a/src/pages/wallets/index.tsx b/src/pages/wallets/index.tsx index 7fa1b74635f..3f8dc0c649d 100644 --- a/src/pages/wallets/index.tsx +++ b/src/pages/wallets/index.tsx @@ -496,12 +496,11 @@ const WalletsPage = () => {

{t("page-wallets-explore")}

@@ -510,12 +509,11 @@ const WalletsPage = () => { diff --git a/src/pages/what-is-ethereum.tsx b/src/pages/what-is-ethereum.tsx index fa57e31e40a..7e712cf4293 100644 --- a/src/pages/what-is-ethereum.tsx +++ b/src/pages/what-is-ethereum.tsx @@ -810,8 +810,6 @@ const WhatIsEthereumPage = ({
From f5147300ba465e757d93b5e3ec903ef1a1fb9c73 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 Sep 2024 17:51:47 -0600 Subject: [PATCH 010/165] Add callout section --- src/components/Callout.tsx | 32 ++++++++++++++++++++++++-------- src/pages/layer-2/learn.tsx | 31 +++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 8 deletions(-) diff --git a/src/components/Callout.tsx b/src/components/Callout.tsx index 5272d837ea3..31b5844f587 100644 --- a/src/components/Callout.tsx +++ b/src/components/Callout.tsx @@ -12,8 +12,10 @@ export type CalloutProps = { image?: ImageProps["src"] emoji?: string alt?: string - titleKey: TranslationKey - descriptionKey: TranslationKey + titleKey?: TranslationKey + descriptionKey?: TranslationKey + title?: string + description?: string className?: string } @@ -23,6 +25,8 @@ const Callout = ({ alt, titleKey, descriptionKey, + title, + description, children, className, }: CalloutProps) => { @@ -31,7 +35,7 @@ const Callout = ({ return (
)}
{emoji && } -

{t(titleKey)}

-

- {t(descriptionKey)} -

+ {titleKey && ( +

{t(titleKey)}

+ )} + {title && ( +

{title}

+ )} + {descriptionKey && ( +

+ {t(descriptionKey)} +

+ )} + {description && ( +

+ {description} +

+ )}
{children}
diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index 795d1234f60..e7fd77cc287 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -6,6 +6,7 @@ import { useTranslation } from "react-i18next" import type { BasePageProps, Lang } from "@/lib/types" import { ButtonLink } from "@/components/Buttons" +import Callout from "@/components/Callout" import Card from "@/components/Card" import { ContentHero, type ContentHeroProps } from "@/components/Hero" import { TwImage } from "@/components/Image" @@ -17,9 +18,11 @@ import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" +import Callout2Image from "@/public/images/layer-2/learn-hero.png" import OptimisticRollupImage from "@/public/images/layer-2/optimistic_rollup.png" import RollupImage from "@/public/images/layer-2/rollup-2.png" import ZKRollupImage from "@/public/images/layer-2/zk_rollup.png" +import Callout1Image from "@/public/images/man-and-dog-playing.png" import DAOImage from "@/public/images/use-cases/dao-2.png" import WhatIsEthereumImage from "@/public/images/what-is-ethereum.png" @@ -386,6 +389,34 @@ const Layer2Learn = () => {

+ +
+ +
+ Learn more +
+
+ +
+ Explore networks +
+
+
) From 1ba50630e9ba903bb6fedff966a5f0bbfa1c5c5e Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 Sep 2024 17:54:28 -0600 Subject: [PATCH 011/165] add quiz --- src/pages/layer-2/learn.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index e7fd77cc287..af0658808ef 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -12,6 +12,7 @@ import { ContentHero, type ContentHeroProps } from "@/components/Hero" import { TwImage } from "@/components/Image" import MainArticle from "@/components/MainArticle" import PageMetadata from "@/components/PageMetadata" +import { StandaloneQuizWidget } from "@/components/Quiz/QuizWidget" import { existsNamespace } from "@/lib/utils/existsNamespace" import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" @@ -418,6 +419,10 @@ const Layer2Learn = () => {
+ +
+ +
) } From 32b6afba2703b7ffac1dbf519d7f6593ca4d7120 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 Sep 2024 18:03:06 -0600 Subject: [PATCH 012/165] matomo events --- src/pages/layer-2/learn.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index af0658808ef..58b898b5be6 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -64,18 +64,18 @@ const Layer2Learn = () => { content: "What is layer 2", href: "/layer-2/", matomo: { - eventCategory: "", - eventAction: "", - eventName: "", + eventCategory: "l2_learn", + eventAction: "button_click", + eventName: "what_is_l2", }, }, { content: "Use layer 2", href: "/layer-2/networks", matomo: { - eventCategory: "", - eventAction: "", - eventName: "", + eventCategory: "l2_learn", + eventAction: "button_click", + eventName: "use_l2", }, }, ], From 45cb4b66a81c8255cd6e4123135a72f336d77de8 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 24 Sep 2024 18:03:14 -0600 Subject: [PATCH 013/165] remove comment --- src/pages/layer-2/learn.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index 58b898b5be6..653be0f5590 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -58,7 +58,6 @@ const Layer2Learn = () => { blurDataURL: "/images/layer-2/learn-hero.png", title: t("page-layer-2-learn-title"), description: t("page-layer-2-learn-description"), - // TODO: Check matomo event information to implementc buttons: [ { content: "What is layer 2", From f2e610957b6047b34eed539aae675ebe130691be Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 25 Sep 2024 16:30:58 -0600 Subject: [PATCH 014/165] Wrap up todo's --- src/intl/en/page-layer-2-learn.json | 52 ++++++- src/pages/layer-2/learn.tsx | 219 +++++++++------------------- 2 files changed, 116 insertions(+), 155 deletions(-) diff --git a/src/intl/en/page-layer-2-learn.json b/src/intl/en/page-layer-2-learn.json index b17971b82c7..d3d1e3dd4db 100644 --- a/src/intl/en/page-layer-2-learn.json +++ b/src/intl/en/page-layer-2-learn.json @@ -3,5 +3,53 @@ "page-layer-2-learn-title": "What is layer 2", "page-layer-2-learn-description": "Scaling Ethereum for mass adoption", "page-layer-2-learn-button-1-label": "What is layer 2", - "page-layer-2-learn-button-2-label": "Use layer 2" -} \ No newline at end of file + "page-layer-2-learn-button-2-label": "Use layer 2", + "page-layer-2-learn-what-is-layer-2-title": "What is layer 2?", + "page-layer-2-learn-what-is-layer-2-1": "Layer 2 (L2) is a collective term to describe a specific set of Ethereum scaling solutions. A layer 2 is a separate blockchain that extends Ethereum and inherits the security guarantees of Ethereum.", + "page-layer-2-learn-what-is-layer-2-2": "Now let’s dig into it a bit more. To do this we first need to explain layer 1 (L1).", + "page-layer-2-learn-what-is-layer-1-title": "What is layer 1?", + "page-layer-2-learn-what-is-layer-1-1": "Layer 1 blockchains, such as Ethereum and Bitcoin, are the underlying foundation that layer 2 projects build on top of. Examples of layer 2 projects include zero-knowledge rollups and optimistic rollups on Ethereum and the Lighting Network on top of Bitcoin.", + "page-layer-2-learn-what-is-layer-1-2": "Ethereum also functions as a data availability layer for Layer 2s, and if there are any disputes on previous transactions data is provided from Ethereum for these disputes.", + "page-layer-2-learn-layer-1-list-title": "Ethereum as the layer 1 includes:", + "page-layer-2-learn-layer-1-list-1": "a network of node operators to secure and validate the network", + "page-layer-2-learn-layer-1-list-2": "a network of block producers", + "page-layer-2-learn-layer-1-list-3": "the blockchain itself and the history of transaction data", + "page-layer-2-learn-layer-1-list-4": "the consensus mechanism for the network", + "page-layer-2-learn-why-do-we-need-layer-2-title": "Why do we need layer 2?", + "page-layer-2-learn-why-do-we-need-layer-2-1": "The three desirable properties of a blockchain are that it is decentralized, secure, and scalable. The blockchain trilemma states that a simple blockchain architecture can only achieve two out of three. Want a secure and decentralized blockchain? You need to sacrifice scalability. This is where layer 2 networks come in.", + "page-layer-2-learn-why-do-we-need-layer-2-2": "Ethereum has reached the network's current capacity with 1+ million transactions per day, with high demand for each of these transactions. The success of Ethereum and the demand to use it has caused gas prices to rise substantially. Therefore the need for scaling solutions has peaked as well.", + "page-layer-2-learn-why-do-we-need-layer-2-scalability": "Scalability", + "page-layer-2-learn-why-do-we-need-layer-2-scalability-1": "The main goal of scalability is to increase transaction speed (faster finality), and transaction throughput (high transactions per second), without sacrificing decentralization or security (more on the Ethereum vision).", + "page-layer-2-learn-why-do-we-need-layer-2-scalability-2": "The Ethereum community has taken a strong stance that it would not throw out decentralization or security in order to scale. Until sharding, Ethereum Mainnet (layer 1) will only be able to process roughly 15 transactions per second. When demand to use Ethereum is high this causes network congestion, increasing transaction fees, and pricing out those who cannot afford it from using Ethereum until the fees reduce. That is where layer 2 comes in to scale Ethereum today.", + "page-layer-2-learn-layer2Cards-1-title": "Lower fees", + "page-layer-2-learn-layer2Cards-1-description": "By combining multiple transactions into a single transaction on layer 1, transaction fees are massively reduced, making Ethereum more accessible for all.", + "page-layer-2-learn-layer2Cards-2-title": "Maintain security", + "page-layer-2-learn-layer2Cards-2-description": "Layer 2 blockchains settle their transactions on the Ethereum Mainnet, allowing users who use them to benefit from the security of the Ethereum network.", + "page-layer-2-learn-layer2Cards-3-title": "Expand use cases", + "page-layer-2-learn-layer2Cards-3-description": "With higher transactions per second, lower fees, and new technology, projects will expand into new applications with improved user experience.", + "page-layer-2-learn-how-does-layer-2-work-title": "How does layer 2 work?", + "page-layer-2-learn-how-does-layer-2-work-1": "As we mentioned above, layer 2 is a collective term for Ethereum scaling solutions that handle transactions off Ethereum layer 1 while still taking advantage of the robust decentralized security of Ethereum layer 1. A layer 2 is a separate blockchain that extends Ethereum. How does that work?", + "page-layer-2-learn-how-does-layer-2-work-2": "There are several different types of layer 2, each having their own trade-offs and security models. Layer 2s take the transactional burden away from the layer 1 allowing it to become less congested, and everything becomes more scalable.", + "page-layer-2-learn-how-does-layer-2-work-rollups-title": "Rollups", + "page-layer-2-learn-how-does-layer-2-work-rollups-1": "Rollups bundle (or 'roll up') hundreds of transactions into a single transaction on layer 1. This distributes the L1 transaction fees across everyone in the rollup, making it cheaper for each user.", + "page-layer-2-learn-how-does-layer-2-work-rollups-2": "The transaction data in the rollup is submitted to layer 1, but the execution is done separately by the rollup. By submitting transaction data onto layer 1, rollups inherit the security of Ethereum. This is because once the data is uploaded to layer 1, reverting a rollup transaction requires reverting Ethereum. There are two different approaches to rollups: optimistic and zero-knowledge - they differ primarily on how this transaction data is submitted to L1.", + "page-layer-2-learn-rollupCards-optimistic-title": "Optimistic rollups", + "page-layer-2-learn-rollupCards-optimistic-description": "Optimistic rollups use fault proofs where transactions are assumed to be valid, but can be challenged if an invalid transaction is suspected. If an invalid transaction is suspected, a fault proof is ran to see if this has taken place.", + "page-layer-2-learn-rollupCards-optimistic-childSentence": "More on optimistic rollups", + "page-layer-2-learn-rollupCards-zk-title": "Zero knowledge rollups", + "page-layer-2-learn-rollupCards-zk-description": "Zero Knowledge rollups use validity proofs where transactions calculations are computed off-chain, and then this data is then supplied to Ethereum Mainnet with a proof of their validity.", + "page-layer-2-learn-rollupCards-zk-childSentence": "More on zk-rollups", + "page-layer-2-learn-dyor-title": "Do your own research: Risks of layer 2", + "page-layer-2-learn-dyor-1": "Because layer 2 chains inherit security from Ethereum, in an ideal world, they are as safe as L1 Ethereum. However, many of the projects are still young and somewhat experimental. After years of R&D, many of the L2 technologies that will scale Ethereum went live in 2021. This is not to say these L2s are not secure, only that no layer 2 is as battle tested as Ethereum Mainnet. Always do your own research and decide if you're comfortable with any risks involved.", + "page-layer-2-learn-dyor-2": "For more information on the technology, risks and trust assumptions of layer 2s, we recommend checking out L2BEAT, which provides a comprehensive risk assessment framework of each project.", + "page-layer-2-learn-dyor-link": "Go to L2BEAT", + "page-layer-2-learn-note-on-alt-l1-title": "A note on alt L1s, sidechains, and validiums", + "page-layer-2-learn-note-on-alt-l1-1": "Alternative layer 1s have higher throughput and lower transaction fees than Ethereum. These alt L1s have had to sacrifice on security or decentralization in order to achieve higher transactions per second and lower fees. The Ethereum ecosystem is firmly aligned that layer 2 scaling is the only way to solve the scalability trilemma and remain decentralized and secure", + "page-layer-2-learn-note-on-alt-l1-2": "Sidechains and validiums are blockchains that allow assets from one blockchain to be bridged over and used on another blockchain. Sidechains and validiums run in parallel with the main chain, and interact with the main chain through bridges, but they do not derive their security or data availability from the main chain. They scale similarly to layer 2s, but have different trust assumptions. They offer lower transaction fees, and higher transaction throughput. More on sidechains and validiums.", + "page-layer-2-learn-callout-1-title": "What are the benefits?", + "page-layer-2-learn-callout-1-description": "Explore what is the practical impact of layer 2 solutions on user experience.", + "page-layer-2-learn-learn-more": "Learn more", + "page-layer-2-learn-callout-2-title": "Explore different networks", + "page-layer-2-learn-callout-2-description": "Learn how networks differ form each other and how far they have gotten in their development.", + "page-layer-2-learn-explore-networks": "Explore networks" +} diff --git a/src/pages/layer-2/learn.tsx b/src/pages/layer-2/learn.tsx index 653be0f5590..e5c4ccda266 100644 --- a/src/pages/layer-2/learn.tsx +++ b/src/pages/layer-2/learn.tsx @@ -13,6 +13,7 @@ import { TwImage } from "@/components/Image" import MainArticle from "@/components/MainArticle" import PageMetadata from "@/components/PageMetadata" import { StandaloneQuizWidget } from "@/components/Quiz/QuizWidget" +import Translation from "@/components/Translation" import { existsNamespace } from "@/lib/utils/existsNamespace" import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" @@ -47,7 +48,6 @@ export const getStaticProps = (async ({ locale }) => { } }) satisfies GetStaticProps -// TODO: Add matomo events const Layer2Learn = () => { const { t } = useTranslation("page-layer-2-learn") const { pathname } = useRouter() @@ -60,7 +60,7 @@ const Layer2Learn = () => { description: t("page-layer-2-learn-description"), buttons: [ { - content: "What is layer 2", + content: t("page-layer-2-learn-button-1-label"), href: "/layer-2/", matomo: { eventCategory: "l2_learn", @@ -69,7 +69,7 @@ const Layer2Learn = () => { }, }, { - content: "Use layer 2", + content: t("page-layer-2-learn-button-2-label"), href: "/layer-2/networks", matomo: { eventCategory: "l2_learn", @@ -80,44 +80,39 @@ const Layer2Learn = () => { ], } - // TODO: Setup translation const layer2Cards = [ { emoji: ":money_with_wings:", - title: "Lower Fees", - description: - "By combining multiple transactions into a single transaction on layer 1, transaction fees are massively reduced, making Ethereum more accessible for all.", + title: t("page-layer-2-learn-layer2Cards-1-title"), + description: t("page-layer-2-learn-layer2Cards-1-description"), }, { emoji: ":closed_lock_with_key:", - title: "Maintain Security", - description: - "Layer 2 blockchains settle their transactions on the Ethereum Mainnet, allowing users who use them to benefit from the security of the Ethereum network.", + title: t("page-layer-2-learn-layer2Cards-2-title"), + description: t("page-layer-2-learn-layer2Cards-2-description"), }, { emoji: ":hammer_and_wrench:", - title: "Expand Use Cases", - description: - "With higher transactions per second, lower fees, and new technology, projects will expand into new applications with improved user experience.", + title: t("page-layer-2-learn-layer2Cards-3-title"), + description: t("page-layer-2-learn-layer2Cards-3-description"), }, ] - // TODO: Setup translation const rollupCards = [ { image: OptimisticRollupImage, - title: "Optimistic Rollups", - description: - "Optimistic rollups use fault proofs where transactions are assumed to be valid, but can be challenged if an invalid transaction is suspected. If an invalid tranaction is suspected, a fault proof is ran to see if this has taken place. ", - childSentence: "More on optimistic rollups", + title: t("page-layer-2-learn-rollupCards-optimistic-title"), + description: t("page-layer-2-learn-rollupCards-optimistic-description"), + childSentence: t( + "page-layer-2-learn-rollupCards-optimistic-childSentence" + ), childLink: "/developers/docs/scaling/optimistic-rollups/", }, { image: ZKRollupImage, - title: "Zero Knowledge Rollups", - description: - "Zero Knowledge rollups use validity proofs where transactions calculations are computed off-chain, and then this data is then supplied to Ethereum Mainnet with a proof of their validity.", - childSentence: "More on zk-rollups", + title: t("page-layer-2-learn-rollupCards-zk-title"), + description: t("page-layer-2-learn-rollupCards-zk-description"), + childSentence: t("page-layer-2-learn-rollupCards-zk-childSentence"), childLink: "/developers/docs/scaling/zk-rollups/", }, ] @@ -136,17 +131,13 @@ const Layer2Learn = () => { id="what-is-layer-2" className="flex w-full flex-col items-center gap-4 px-8 py-9 md:flex-row" > - {/* TODO: Setup translation */}
-

What is layer-2?

+

{t("page-layer-2-learn-what-is-layer-2-title")}

- Layer 2 (L2) is a collective term to describe a specific set of - Ethereum scaling solutions. A layer 2 is separate blockchain that - extends Ethereum and inherits the security guarantees of Ethereum. +

- Now let's dig into it a bit more, and to do this we need to - explain layer 1 (L1). +

@@ -162,45 +153,44 @@ const Layer2Learn = () => { id="what-is-layer-1" className="flex w-full flex-col gap-4 bg-body-light px-8 py-9" > - {/* TODO: Setup translation */} -

What is layer 1?

+

{t("page-layer-2-learn-what-is-layer-1-title")}

- Layer 1 blockchains, such as Ethereum and Bitcoin, are the - underlying foundation that layer 2 projects build on top of. - Examples of layer 2 projects include zero-knowledge rollups and - optimistic rollups on Ethereum and the Lighting Network on top of - Bitcoin. +

- Ethereum also functions as a data availability layer for Layer 2s, - and if there are any disputes on previous transactions data is - provided from Ethereum for these disputes. +

-

Ethereum as the layer 1 includes:

+

+ {t("page-layer-2-learn-layer-1-list-title")} +

  1. - a network of node operators to secure and validate the network +
  2. - a network of block producers + + +
  3. - the blockchain itself and the history of transaction data +
  4. - the consensus mechanism for the network + + +
@@ -215,40 +205,15 @@ const Layer2Learn = () => {
- {/* TODO: setup translation */}
-

Why do we need layer 2?

-

- The three desirable properties of a blockchain are that it is - decentralized, secure, and scalable. The blockchain trilemma states - that a simple blockchain architecture can only achieve two out of - three. Want a secure and decentralized blockchain? You need to - sacrifice scalability. This is where layer 2 networks come in. -

-

- Ethereum has reached the network's current capacity with 1+ - million transactions per day, with high demand for each of these - transactions. The success of Ethereum and the demand to use it has - caused gas prices to rise substantially. Therefore the need for - scaling solutions has peaked as well. -

-

Scalability

-

- The main goal of scalability is to increase transaction speed - (faster finality), and transaction throughput (high transactions per - second), without sacrificing decentralization or security (more on - the Ethereum vision). -

+

{t("page-layer-2-learn-why-do-we-need-layer-2-title")}

+

{t("page-layer-2-learn-why-do-we-need-layer-2-1")}

+

{t("page-layer-2-learn-why-do-we-need-layer-2-2")}

+

{t("page-layer-2-learn-why-do-we-need-layer-2-scalability")}

- The Ethereum community has taken a strong stance that it would not - throw out decentralization or security in order to scale. Until - sharding, Ethereum Mainnet (layer 1) will only be able to process - roughly 15 transactions per second. When demand to use Ethereum is - high this causes network congestion, increasing transaction fees, - and pricing out those who cannot afford it from using Ethereum until - the fees reduce. That is where layer 2 comes in to scale Ethereum - today. +

+

{t("page-layer-2-learn-why-do-we-need-layer-2-scalability-2")}

@@ -269,46 +234,20 @@ const Layer2Learn = () => { - {/* TODO: setup translation */}
-

How does layer 2 work?

-

- As we mentioned above, layer 2 is a collective term for Ethereum - scaling solutions that handle transactions off Ethereum layer 1 - while still taking advantage of the robust decentralized security of - Ethereum layer 1. A layer 2 is a separate blockchain that extends - Ethereum. How does that work? -

-

- There are several different types of layer 2, each having their own - trade-offs and security models. Layer 2s take the transactional - burden away from the layer 1 allowing it to become less congested, - and everything becomes more scalable. -

-

Rollups

-

- Rollups bundle (or 'roll up') hundreds of transactions - into a single transaction on layer 1. This distributes the L1 - transaction fees across everyone in the rollup, making it cheaper - for each user. -

-

- The transaction data in the rollup is submitted to layer 1, but the - execution is done separately by the rollup. By submitting - transaction data onto layer 1, rollups inherit the security of - Ethereum. This is because once the data is uploaded to layer 1, - reverting a rollup transaction requires reverting Ethereum. There - are two different approaches to rollups: optimistic and - zero-knowledge - they differ primarily on how this transaction data - is submitted to L1. -

+

{t("page-layer-2-learn-how-does-layer-2-work-title")}

+

{t("page-layer-2-learn-how-does-layer-2-work-1")}

+

{t("page-layer-2-learn-how-does-layer-2-work-2")}

+

{t("page-layer-2-learn-how-does-layer-2-work-rollups-title")}

+

{t("page-layer-2-learn-how-does-layer-2-work-rollups-1")}

+

{t("page-layer-2-learn-how-does-layer-2-work-rollups-2")}

- +
@@ -331,61 +270,35 @@ const Layer2Learn = () => { })} - {/* TODO: Setup translations */}
-

Do your own research: Risks of layer 2

+

{t("page-layer-2-learn-dyor-title")}

- Because layer 2 chains inherit security from Ethereum, in an ideal - world, they are as safe as L1 Ethereum. However, many of the - projects are still young and somewhat experimental. After years of - R&D, many of the L2 technologies that will scale Ethereum went - live in 2021. This is not to say these L2s are not secure, only - that no layer 2 is as battle tested as Ethereum Mainnet. Always do - your own research and decide if you're comfortable with any - risks involved. -

-

- For more information on the technology, risks and trust - assumptions of layer 2s, we recommend checking out L2BEAT, which - provides a comprehensive risk assessment framework of each - project. +

+

{t("page-layer-2-learn-dyor-2")}

- Go to L2BEAT + + {t("page-layer-2-learn-dyor-link")} +
- {/* TODO: setup translations */}
-

A note on alt L1s, sidechains, and validiums

+

{t("page-layer-2-learn-note-on-alt-l1-title")}

-

- Alternative layer 1s have higher throughput and lower transaction - fees than Ethereum. These alt L1s have had to sacrifice on - security or decentralization in order to achieve higher - transactions per second and lower fees. The Ethereum ecosystem is - firmly aligned that layer 2 scaling is the only way to solve the - scalability trilemma and remain decentralized and secure -

+

{t("page-layer-2-learn-note-on-alt-l1-1")}

- Sidechains and validiums are blockchains that allow assets from - one blockchain to be bridged over and used on another blockchain. - Sidechains and validiums run in parallel with the main chain, and - interact with the main chain through bridges, but they do not - derive their security or data availability from the main chain. - They scale similarly to layer 2s, but have different trust - assumptions. They offer lower transaction fees, and higher - transaction throughput. More on sidechains and validiums. +

@@ -396,24 +309,24 @@ const Layer2Learn = () => { >
- Learn more + + {t("page-layer-2-learn-learn-more")} +
- Explore networks + + {t("page-layer-2-learn-explore-networks")} +
From 87c9123dfd741726eac6ca0e7caded32ea99da91 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 25 Sep 2024 16:49:32 -0600 Subject: [PATCH 015/165] setup work for layer 2 hub page --- src/intl/ar/page-layer-2.json | 131 ------ src/intl/az/page-layer-2.json | 132 ------ src/intl/bg/page-layer-2.json | 3 - src/intl/bn/page-layer-2.json | 131 ------ src/intl/ca/page-layer-2.json | 3 - src/intl/cs/page-layer-2.json | 136 ------ src/intl/de/page-layer-2.json | 137 ------ src/intl/el/page-layer-2.json | 135 ------ src/intl/en/page-layer-2.json | 139 +----- src/intl/es/page-layer-2.json | 133 ------ src/intl/fa/page-layer-2.json | 131 ------ src/intl/fi/page-layer-2.json | 132 ------ src/intl/fil/page-layer-2.json | 131 ------ src/intl/fr/page-layer-2.json | 137 ------ src/intl/hi/page-layer-2.json | 131 ------ src/intl/hr/page-layer-2.json | 3 - src/intl/hu/page-layer-2.json | 136 ------ src/intl/id/page-layer-2.json | 132 ------ src/intl/ig/page-layer-2.json | 131 ------ src/intl/it/page-layer-2.json | 137 ------ src/intl/ja/page-layer-2.json | 137 ------ src/intl/kn/page-layer-2.json | 131 ------ src/intl/ko/page-layer-2.json | 132 ------ src/intl/ml/page-layer-2.json | 3 - src/intl/mr/page-layer-2.json | 131 ------ src/intl/ms/page-layer-2.json | 131 ------ src/intl/nl/page-layer-2.json | 131 ------ src/intl/pcm/page-layer-2.json | 131 ------ src/intl/pl/page-layer-2.json | 136 ------ src/intl/pt-br/page-layer-2.json | 131 ------ src/intl/pt/page-layer-2.json | 131 ------ src/intl/ro/page-layer-2.json | 3 - src/intl/ru/page-layer-2.json | 137 ------ src/intl/sl/page-layer-2.json | 3 - src/intl/sr/page-layer-2.json | 131 ------ src/intl/sw/page-layer-2.json | 3 - src/intl/tr/page-layer-2.json | 131 ------ src/intl/uk/page-layer-2.json | 136 ------ src/intl/vi/page-layer-2.json | 134 ------ src/intl/zh-tw/page-layer-2.json | 137 ------ src/intl/zh/page-layer-2.json | 136 ------ src/pages/layer-2.tsx | 727 ------------------------------- src/pages/layer-2/index.tsx | 39 ++ 43 files changed, 40 insertions(+), 5283 deletions(-) delete mode 100644 src/intl/ar/page-layer-2.json delete mode 100644 src/intl/az/page-layer-2.json delete mode 100644 src/intl/bg/page-layer-2.json delete mode 100644 src/intl/bn/page-layer-2.json delete mode 100644 src/intl/ca/page-layer-2.json delete mode 100644 src/intl/cs/page-layer-2.json delete mode 100644 src/intl/de/page-layer-2.json delete mode 100644 src/intl/el/page-layer-2.json delete mode 100644 src/intl/es/page-layer-2.json delete mode 100644 src/intl/fa/page-layer-2.json delete mode 100644 src/intl/fi/page-layer-2.json delete mode 100644 src/intl/fil/page-layer-2.json delete mode 100644 src/intl/fr/page-layer-2.json delete mode 100644 src/intl/hi/page-layer-2.json delete mode 100644 src/intl/hr/page-layer-2.json delete mode 100644 src/intl/hu/page-layer-2.json delete mode 100644 src/intl/id/page-layer-2.json delete mode 100644 src/intl/ig/page-layer-2.json delete mode 100644 src/intl/it/page-layer-2.json delete mode 100644 src/intl/ja/page-layer-2.json delete mode 100644 src/intl/kn/page-layer-2.json delete mode 100644 src/intl/ko/page-layer-2.json delete mode 100644 src/intl/ml/page-layer-2.json delete mode 100644 src/intl/mr/page-layer-2.json delete mode 100644 src/intl/ms/page-layer-2.json delete mode 100644 src/intl/nl/page-layer-2.json delete mode 100644 src/intl/pcm/page-layer-2.json delete mode 100644 src/intl/pl/page-layer-2.json delete mode 100644 src/intl/pt-br/page-layer-2.json delete mode 100644 src/intl/pt/page-layer-2.json delete mode 100644 src/intl/ro/page-layer-2.json delete mode 100644 src/intl/ru/page-layer-2.json delete mode 100644 src/intl/sl/page-layer-2.json delete mode 100644 src/intl/sr/page-layer-2.json delete mode 100644 src/intl/sw/page-layer-2.json delete mode 100644 src/intl/tr/page-layer-2.json delete mode 100644 src/intl/uk/page-layer-2.json delete mode 100644 src/intl/vi/page-layer-2.json delete mode 100644 src/intl/zh-tw/page-layer-2.json delete mode 100644 src/intl/zh/page-layer-2.json delete mode 100644 src/pages/layer-2.tsx create mode 100644 src/pages/layer-2/index.tsx diff --git a/src/intl/ar/page-layer-2.json b/src/intl/ar/page-layer-2.json deleted file mode 100644 index 9f9d50a9992..00000000000 --- a/src/intl/ar/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "يعمل نموذج إثبات الاحتيال حصرًا مع المستخدمين المدرجين على القائمة البيضاء، لم يتم فتح القائمة البيضاء حتى الآن", - "layer-2-boba-note": "التحقق من الحالة قيد التطوير حاليًا", - "layer-2-optimism-note": "نموذج إثبات الخطأ قيد التطوير حاليًا", - "layer-2-hero-title": "الطبقة 2", - "layer-2-hero-header": "إثيريوم للجميع", - "layer-2-hero-subtitle": "جارٍ توسيع إيثريوم ليتم تبينه واستخدامه على نطاق واسع.", - "layer-2-hero-alt-text": "نموذج توضيحي للمعاملات التي يتم طيها على الطبقة 2 ونشرها على شبكة إثيريوم الرئيسية", - "layer-2-hero-button-1": "ما هي الطبقة 2", - "layer-2-hero-button-2": "استخدام الطبقة 2", - "layer-2-hero-button-3": "الانتقال إلى الطبقة 2", - "layer-2-statsbox-1": "القيمة الإجمالية المحتجزة ضمن الطبقة 2 (دولار أمريكي)", - "layer-2-statsbox-2": "متوسط رسوم تحويل عملة إثير عبر الطبقة 2 (دولار أمريكي)", - "layer-2-statsbox-3": "معدّل تغيّر القيمة الإجمالية ضمن الطبقة 2 (30 يومًا)", - "layer-2-what-is-layer-2-title": "ما هي الطبقة 2؟", - "layer-2-what-is-layer-2-1": "الطبقة 2 (L2) هي مصطلح جامع يصف مجموعة محددة من الحلول التي تهدف إلى توسيع إثيريوم. الطبقة 2 هي سلسلة كتل منفصلة تعمل على توسيع إثيريوم و في الوقت نفسه تملك نفس خصائص ضمان الأمان لدى إثيريوم.", - "layer-2-what-is-layer-2-2": "لنتعمّق قليلاً الآن في شرحها، ولإجراء ذلك نحتاج أولاً إلى شرح الطبقة 1 (L1).", - "layer-2-what-is-layer-1-title": "ما هي الطبقة 1؟", - "layer-2-what-is-layer-1-1": "الطبقة 1 هي البلوكشين الأساسية. يُعد كل من إثيريوم وبيتكوين بلوكشين من الطبقة 1 لأنها البنية التحتيّة الأساسية التي تُبنى عليها مختلف شبكات الطبقة 2. من الأمثلة على مشاريع الطبقة 2 \"تكديس المعاملات\" على إثيريوم و شبكة البرق المسرّعة التابعة لبيتكوين. يمكن في النهاية إضافة كل أنشطة معاملات المستخدمين على مشاريع الطبقة 2 هذه إلى بلوكشين الطبقة 1.", - "layer-2-what-is-layer-1-2": "تعمل إثيريوم أيضًا كطبقة توافر البيانات للطبقة 2. ستقوم مشاريع الطبقة 2 بنشر بيانات المعاملة على إثيريوم، للاعتماد على إثيريوم في توافر البيانات. يمكن استخدام هذه البيانات لمعرفة حالة الطبقة 2، أو الاعتراض على المعاملات في الطبقة 2.", - "layer-2-what-is-layer-1-list-title": "إثيريوم باعتبارها الطبقة 1 تشمل:", - "layer-2-what-is-layer-1-list-1": "شبكة من مشغّلي العقد لتأمين الشبكة ومصادقتها", - "layer-2-what-is-layer-1-list-2": "شبكة من منتجي الكتل", - "layer-2-what-is-layer-1-list-3": "سلسلة الكتل بحد ذاتها وسجل لبيانات المعاملات", - "layer-2-what-is-layer-1-list-4": "آلية الإجماع للشبكة", - "layer-2-what-is-layer-1-list-link-1": "هل لا زلت مشوّشًا فيما يتعلّق بإثيريوم؟", - "layer-2-what-is-layer-1-list-link-2": "تعلّم ماهية إثيريوم.", - "layer-2-why-do-we-need-layer-2-title": "لماذا نحتاج إلى الطبقة 2؟", - "layer-2-why-do-we-need-layer-2-1": "يوجد ثلاث سمات مطلوبة في سلسلة الكتل، وهي اللامركزية، والأمان، وقابلية التوسع. لكن تنص المعضلة الثلاثية لسلسلة الكتل على أن بنية سلسلة الكتل البسيطة يمكن أن تحقق اثنتين فقط هذه السمات. هل تريد سلسلة كتل آمنة ولامركزية؟ عليك أن تستغني عن سمة قابلية التوسع.", - "layer-2-why-do-we-need-layer-2-2": "يعالج اثيريوم حاليًا أكثر من مليون معاملة يوميًا . يمكن أن يؤدي طلب استخدام اثيريوم إلى ارتفاع رسوم التحويلات. هنا حيث تكمن اهمية استخدام شبكات الطبقة 2.", - "layer-2-why-do-we-need-layer-2-scalability": "قابلية التوسع", - "layer-2-why-do-we-need-layer-2-scalability-1": "يتمثل الهدف الرئيسي من الطبقة 2 في تعزيز إنتاجية المعاملات (عدد معاملات أكبر في الثانية)، دون الاستغناء عن اللامركزية أو الأمان.", - "layer-2-why-do-we-need-layer-2-scalability-2": "يكون بإمكان شبكة إيثريوم الرئيسية (طبقة 1) معالجة ما يقارب 15 معالمة في الثانية فقط. عندما يكون هناك طلب على استخدام الشبكة بسبب وجود الكثير من المعاملات التي يجب معالجتها، تصبح الشبكة مزدحمة مما يؤدي إلى ارتفاع رسوم التحويلات ما يؤدي الى عدم قدرة العديد من المستخدمين على تحمل تكلفة المعاملات بسبب ارتفاع الاسعار عما يمكنهم تحمله. الطبقات 2 هي حلول تقلل من هذه الرسوم من خلال معالجة المعاملات خارج بلوكشين الطبقة 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "المزيد عن رؤية إثيريوم", - "layer-2-benefits-of-layer-2-title": "فوائد الطبقة 2", - "layer-2-lower-fees-title": "رسوم مخفضة", - "layer-2-lower-fees-description": "من خلال دمج عدة معاملات من خارج السلسلة في معاملة واحدة من الطبقة 1، ستنخفض رسوم المعاملات بشكل كبير، ما يجعل إثيريوم أيسر منالاً للجميع.", - "layer-2-maintain-security-title": "المحافظة على الأمان", - "layer-2-maintain-security-description": "تقوم سلاسل الكتل من الطبقة 2 بتسوية معاملاتها على شبكة إثيريوم الرئيسية، ما يسمح للمستخدمين بالاستفادة من أمان شبكة إثيريوم.", - "layer-2-expand-use-cases-title": "توسيع نطاق حالات الاستخدام", - "layer-2-expand-use-cases-description": "مع ارتفاع عدد المعاملات في الثانية، وانخفاض الرسوم، واستخدام تكنولوجيا جديدة، سيتوسع نطاق المشاريع نحو تطبيقات جديدة مع تجربة مستخدم محسنة.", - "layer-2-how-does-layer-2-work-title": "كيف تعمل الطبقة 2؟", - "layer-2-how-does-layer-2-work-1": "كما ذكرنا أعلاه، الطبقة 2 هي مصطلح جماعي لحلول توسع شبكة إثيريوم التي تتعامل مع المعاملات خارج طبقة إثيريوم 1، دون الاستغناء عن ميزة الأمان اللامركزي القوي لطبقة إثيريوم 1. \nالطبقة 2 هي سلسلة بلوكتشين منفصلة توسع نطاق إثيريوم. كيف يعمل ذلك؟", - "layer-2-how-does-layer-2-work-2": "هناك أنواع عديدة مختلفة من الطبقة 2، لكل منها مقايضات ونماذج أمنية خاصة بها. الطبقات 2 تأخذ عبء المعاملات بعيدًا عن الطبقة 1 ما يتيح لها بأن تصبح أقل ازدحامًا، ويصبح كل شيء أكثر قابلية للتوسع.", - "layer-2-rollups-title": "تكديس المعاملات", - "layer-2-rollups-1": "تعمل حزمة تكديس المعاملات (أو \"التجميع\") على تكديس مئات المعاملات في معاملة واحدة على الطبقة 1. يؤدي ذلك إلى توزيع رسوم معاملات المستوى 1 على كل شخص في تجميع المعاملات، ما يجعلها أقل تكلفة لكل مستخدم.", - "layer-2-rollups-2": "يتم تنفيذ تكديس المعاملات من الطبقة 1 ولكن يتم إرسال بيانات المعاملة إلى الطبقة 1. وبإرسال بيانات المعاملة إلى الطبقة 1، ترث تكديس المعاملات أمان اثيريوم. هذا لأنه بمجرد تحميل البيانات إلى الطبقة 1، حيث يؤدي إعادة تكديس المعاملات إعادة عن اثيريوم. تتوفر طريقتان مختلفتان لتكديس المعاملات: إيجابي والمعرفة الصفرية - يختلفان في المقام الأول حول كيفية تقديم بيانات المعاملة هذه إلى الطبقة 1.", - "layer-2-optimistic-rollups-title": "تكديس المعاملات بالطريقة المتفائلة", - "layer-2-optimistic-rollups-description": "تعد شبكات تكديس المعاملات الإيجابية \"إيجابية\" بمعنى أنه يفترض أن تكون المعاملات صحيحة، ولكن يمكن التشكيك فيها والتأكد من صحتها إذا لزم الأمر. في حالة الاشتباه في معاملة غير صالحة، يتم تشغيل عملية \"إثبات الخطأ\" لمعرفة ما إذا كان قد حدث ذلك.", - "layer-2-optimistic-rollups-childSentance": "المزيد حول تكديس المعاملات بالطريقة المتفائلة", - "layer-2-zk-rollups-title": "تكديس المعاملات صفري المعرفة", - "layer-2-zk-rollups-description": "تكديس المعاملات صفري المعرفة يستخدم \"إثباتات الصلاحية\" حيث تُعالج المعاملات خارج السلسلة، ثم تُرسل البيانات المضغوطة إلى الشبكة الرئيسة لإثيريوم كإثبات على صلاحيتها.", - "layer-2-zk-rollups-childSentance": "المزيد حول تكديس المعاملات صفري المعرفة", - "layer-2-dyor-title": "إجراء بحثك الخاص: مخاطر الطبقة 2", - "layer-2-dyor-1": "العديد من مشاريع الطبقة الثانية حديثة العهد نسبيًا ولا تزال تتطلب من المستخدمين الوثوق ببعض المشغلين وافتراض أنهم صادقون في أثناء عملهم على تحقيق اللامركزية في شبكاتهم. أجر دائمًا البحث الخاص بك لتقرير ما إذا كنت مرتاحًا لأي مخاطر متضمنة.", - "layer-2-dyor-2": "للحصول على مزيد من المعلومات عن التكنولوجيا والمخاطر وافتراضات الثقة للطبقة 2، نوصي بتصفح L2BEAT، والذي يوفر إطارًا شاملاً لتقييم المخاطر في كل مشروع.", - "layer-2-dyor-3": "الانتقال إلى L2BEAT", - "layer-2-use-layer-2-title": "استخدام الطبقة 2", - "layer-2-use-layer-2-1": "الآن بعد أن فهمت لماذا توجد الطبقة 2 وكيف تعمل، هيا بنا نبدأ التشغيل!", - "layer-2-contract-accounts": "إذا كنت تستخدم محفظة عقد ذكي مثل Safe أو Argent، فلن تكون المتحكم في هذا العنوان في الطبقة 2 حتى تعيد نشر حساب العقد الخاص بك إلى هذا العنوان في الطبقة 2. ستمتلك الحسابات الكلاسيكية التي تتضمن عبارة استرداد الحساب نفس الحساب تلقائيًا على جميع شبكات الطبقة 2.", - "layer-2-use-layer-2-generalized-title": "الطبقة 2 العامة", - "layer-2-use-layer-2-generalized-1": "تعمل الطبقة 2 العامة تمامًا مثل إثيريوم — عدا أنها أرخص. أي شيء يمكنك القيام به على الطبقة 1 من إثيريوم، يمكنك القيام به أيضًا على الطبقة 2. وقد بدأت فعلاً العديد من التطبيقات اللامركزية بالترحيل إلى هذه الشبكات أو هاجرت من الشبكة الرئيسية كليًا للنشر مباشرةً على الطبقة 2.", - "layer-2-use-layer-2-application-specific-title": "الطبقة 2 المخصصة للتطبيقات", - "layer-2-use-layer-2-application-specific-1": "الطبقة 2 المخصصة للتطبيقات هي مشاريع متخصصة في تحسين مساحة تطبيق محدد، ما يؤدي إلى تحسين الأداء.", - "layer-2-sidechains-title": "ملاحظة حول السلاسل الجانبية وفاليديوم وسلاسل الكتل البديلة", - "layer-2-sidechains-1": "السلاسل الجانبية وفاليديوم \nهي سلاسل كتل تسمح بعبور الأصول من إثيريوم واستخدامها ضمن سلسلة كتل أخرى. وتعمل السلاسل الجانبية وفاليديوم بالتوازي مع إثيريوم، وتتفاعل مع إثيريوم بواسطة الجسور، ولكنها لا تعتمد في خواصها الأمنية أو توافر بياناتها على إثيريوم.", - "layer-2-sidechains-2": "تتوسع السلاسل المذكورة بطريقة مماثلة للطبقة 2 - وتحتاج رسومًا أقل للمعاملات وإنتاجية أعلى من المعاملات - ولكن لديها افتراضات ثقة مختلفة.", - "layer-2-more-on-sidechains": "المزيد من المعلومات حول السلاسل الجانبية", - "layer-2-more-on-validiums": "المزيد من المعلومات حول فاليديوم", - "layer-2-sidechains-4": "تشير بعض البلوكتشينات من الطبقة الأولى إلى وجود إنتاجية أعلى ورسوم معاملات أقل من اثيريوم، ولكن بشكل عام مع وجود مقايضات في مواضع أخرى، على سبيل المثال متطلبات أجهزة أكبر لتشغيل العقد.", - "layer-2-onboard-title": "كيفية الوصول إلى الطبقة 2", - "layer-2-onboard-1": "هناك طريقتان أساسيتان لنقل الأصول الخاصة بك إلى الطبقة 2: تحويل الأموال عن طريق جسر من إثيريوم بواسطة العقد الذكي أو سحب الأموال الخاصة بك في عملية تبادل مباشرة إلى شبكة الطبقة 2.", - "layer-2-onboard-wallet-title": "الأموال في محفظتك؟", - "layer-2-onboard-wallet-1": "إذا كان لديك بالفعل عملة إثير في محفظتك، فستحتاج إلى استخدام جسر لنقلها من شبكة إثيريوم الرئيسة إلى الطبقة 2.", - "layer-2-more-on-bridges": "المزيد حول الجسور", - "layer-2-onboard-wallet-input-placeholder": "اختر الطبقة 2 التي تريد نقل الأموال إليها عن طريق جسر", - "layer-2-onboard-wallet-selected-1": "يمكنك الاتصال بـ", - "layer-2-onboard-wallet-selected-2": "استخدام هذه المحافظ:", - "layer-2-bridge": "الجسر", - "layer-2-onboard-exchange-title": "أموالك موجودة في عملية تبادل؟", - "layer-2-onboard-exchange-1": "تقدم بعض المبادلات المركزية الآن عمليات سحب وودائع مباشرة إلى الطبقة 2. تحقق من المبادلات التي تدعم عمليات السحب من الطبقة 2، والطبقة 2 التي تدعمها.", - "layer-2-onboard-exchange-2": "ستحتاج أيضًا إلى محفظة لسحب أموالك إليها.", - "layer-2-onboard-find-a-wallet": "العثور على محفظة إثيريوم.", - "layer-2-onboard-exchange-input-placeholder": "التحقق من عمليات التبادل التي تدعم الطبقة 2", - "layer-2-deposits": "الودائع", - "layer-2-withdrawals": "عمليات السحب", - "layer-2-go-to": "انتقال إلى", - "layer-2-tools-title": "الأدوات التي تكون فعالة على الطبقة 2", - "layer-2-tools-l2beat-description": "إن L2BEAT مصدر رائع للاطلاع على تقييمات المخاطر التقنية لمشاريع الطبقة 2. نُوصي بالتحقق من مصادرها عند البحث عن مشاريع محددة من الطبقة 2.", - "layer-2-tools-l2fees-description": "رسوم الطبقة 2 تتيح لك معرفة التكلفة الحالية (المحددة بالدولار الأمريكي) لإجراء المعاملات على مختلف أنواع الطبقة 2.", - "layer-2-tools-chainlist-description": "إن Chainlist مصدر رائع لاستيراد RPC الخاص بالشبكة إلى المحافظ المدعومة. سوف تجد هنا RPC لمشاريع الطبقة 2 لمساعدتك على الاتصال.", - "layer-2-tools-zapper-description": "أدر حافظة Web3 بأكملها من التمويل اللامركزي حتى الرموز المميزة غير القابلة للاستبدال، وكل ما يمكن ظهوره لاحقًا. استثمر في أحدث الفرص من مكان ملائم واحد.", - "layer-2-tools-zerion-description": "أنشئ وأدِر حافظة التمويل اللامركزي بأكملها من مكان واحد. اكتشف عالم التمويل اللامركزي اليوم.", - "layer-2-tools-debank-description": "ابقَ على اطلاع بكل الأحداث المهمة في عالم Web3", - "layer-2-faq-title": "الأسئلة الشائعة", - "layer-2-faq-question-1-title": "لماذا لا توجد طبقة 2 \"رسمية\" من إثيريوم؟", - "layer-2-faq-question-1-description-1": "مثلما لايوجد عميل إثيريوم \"رسمي\"، ليست هناك طبقة 2 \"رسمية\" من إثيريوم. لا تحتاج إثيريوم إلى أي تصريح، ويمكن لأي شخص من الناحية التقنية إنشاء طبقة 2! ستقوم فرق متعددة بإنشاء نسختها من الطبقة 2، وسيستفيد النظام البيئي ككل من مجموعة متنوعة من نُهج التصميم التي حُسِّنت لحالات استخدام مختلفة. كما لدينا العديد من عملاء إثيريوم طورتهم فرق متعددة من أجل أن يكون لديهم تنوع في الشبكة، وبالمثل ستكون هذه آلية تطوير الطبقة 2 في المستقبل.", - "layer-2-faq-question-2-title": "ما هو الاختلاف بين تكديس المعاملات بالطريقة المتفائلة وتكديس المعاملات صفري المعرفة؟", - "layer-2-faq-question-2-description-1": "كلا الطريقتين تجمع مئات المعاملات (أو \"مجموعة المعاملات\") في معاملة واحدة ضمن الطبقة 1. تُنفذ معاملات تكديس المعاملات خارج الطبقة 1 لكن تُنشر بيانات المعاملات على الطبقة 1.", - "layer-2-faq-question-2-description-2": "الفرق الرئيسي هو ماهية البيانات المنشورة على الطبقة 1 وكيفية التحقق منها. تؤدي تقنية إثبات الصلاحية (المستخدمة في تكديس المعاملات صفري المعرفة) إلى تشغيل عمليات الحساب خارج السلسلة وتنشر إثباتًا على ذلك، في حين أن تقنية إثبات الخطأ (المستخدمة في تكديس المعاملات بالطريقة المتفائلة) لا تؤدي إلى تشغيل الحسابات في السلسلة إلا عند الاشتباه في حدوث خطأ ويجب التحقق منه.", - "layer-2-faq-question-2-description-3": "في الوقت الحاضر، معظم عمليات تكديس المعاملات صفري المعرفة مخصصة للتطبيقات، خلافًا لعمليات تكديس المعاملات بالطريقة المتفائلة المعممة بشكل أوسع.", - "layer-2-more-info-on-optimistic-rollups": "المزيد من المعلومات حول تكديس المعاملات بالطريقة المتفائلة", - "layer-2-more-info-on-zk-rollups": "المزيد من المعلومات حول تكديس المعاملات صفري المعرفة", - "layer-2-faq-question-4-title": "ما هي المخاطر المتعلقة بالطبقة 2؟", - "layer-2-faq-question-4-description-1": "تحتوي مشاريع الطبقة 2 على مخاطر إضافية مقارنة بحيازة الأموال والتعاملات المباشرة في شبكة إثيريوم الرئيسية. على سبيل المثال، قد تبطؤ أجهزة ضبط التسلسل، ما يجبرك على الانتظار للوصول إلى الأموال.", - "layer-2-faq-question-4-description-2": "نوصيك بإجراء بحثك الخاص قبل تحويل أموال كبيرة إلى طبقة 2. للحصول على مزيد من المعلومات عن التكنولوجيا والمخاطر وافتراضات الثقة للطبقة 2، نوصي بالتحقق من L2BEAT، والذي يوفر إطارًا شاملاً لتقييم المخاطر لكل مشروع.", - "layer-2-faq-question-4-description-3": "تسهل جسور سلسلة الكتل نقل الأصول إلى الطبقة 2، وهي حاليًا في مراحلها الأولى من التطوير، ومن المرجح أن يكون تصميم الجسر الأمثل لم يُكتشف بعد. كانت هناك اختراقات حديثة للجسور.", - "layer-2-faq-question-5-title": "لماذا هناك مشاريع من الطبقة 2 غير مدرجة هنا؟", - "layer-2-faq-question-5-description-1": "نرغب في التأكد من إدراجنا المصادر المتاحة الأمثل لضمان تجول المستخدمين في فضاءات الطبقة 2 بطريقة آمنة وموثوق بها. نحن نحافظ على وجود إطار من المعايير لتقييم المشاريع من أجل تضمينها.", - "layer-2-faq-question-5-view-listing-policy": "اطَّلع على سياسة الإدراج في الطبقة 2 هنا.", - "layer-2-faq-question-5-description-2": "لكل شخص حرية اقتراح إضافة إحدى الطبقات من الطبقة 2 على ethereum.org. إذا كنت تعرف طبقة 2 لم ندرجها لدينا، يُرجى اقتراحها.", - "layer-2-further-reading-title": "قراءة المزيد", - "a-rollup-centric-ethereum-roadmap": "خارطة طريق إثيريوم للتركيز الإداري", - "an-incomplete-guide-to-rollups": "دليل غير مكتمل لتكديس المعاملات", - "polygon-sidechain-vs-ethereum-rollups": "السلسلة الجانبية لـ Polygon مقابل تكديس المعاملات في إثيريوم: نُهج توسع الطبقة 2| Vitalik Buterin وLex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "تكديس المعاملات - الاستراتيجية النهائية للتوسع في إثيريوم؟ شرح Arbitrum وOptimism", - "scaling-layer-1-with-shard-chains": "توسع الطبقة 1 مع سلاسل الأجزاء", - "understanding-rollup-economics-from-first-principals": "فهم اقتصاديات تكديس المعاملات من المبادئ الأولى", - "arbitrum-description": "Arbitrum One هو تكديس معاملات إيجابي يهدف إلى الشعور بما يشبه التفاعل مع إثيريوم تمامًا، ولكن مع معاملات تكلف جزءًا أبسط مما تكلفه الطبقة 1.", - "optimism-description": "Optimism هو تكديس المعاملات بالطريقة المتفائلة المكافئ لآلة إثيريوم الافتراضية السريعة والبسيطة والآمنة. إنه يوسع تكنولوجيا إثيريوم مع توسيع قيمها أيضًا من خلال تمويل المنافع العامة بأثر رجعي.", - "boba-description": "Boba هو تكديس المعاملات بالطريقة المتفائلة المتفرِّع في الأصل من Optimism وهو حل للتوسع يهدف إلى تخفيض رسوم الغاز، وتحسين إنتاجية المعاملات، وتوسيع قدرات العقود الذكية.", - "loopring-description": "Loopring، وهو حل الطبقة 2 لتكديس المعاملات صفري المعرفة، يهدف إلى تقديم نفس الضمانات الأمنية كشبكة إثيريوم الرئيسية، مع تعزيز التوسع بدرجة كبيرة: حيث ازدادت الإنتاجية بمقدار ألف ضعف وانخفضت التكلفة إلى 0.1% في الطبقة 1.", - "zksync-description": "ZKsync هي منصة تكديس المعاملات صفري المعرفة التي تركز على المستخدم من تطوير Matter Labs. وهي أحد حلول توسع إثيريوم، كما أنها متاحة بالفعل على شبكة إثيريوم الرئيسية. وتدعم المدفوعات، ومبادلات الرموز المميزة، وسَك الرموز المميزة غير القابلة للاستبدال (NFT).", - "zkspace-description": "تتكون منصة ZKSpace من ثلاثة أجزاء رئيسية: الطبقة اللامركزية AMM من الطبقة 2 التي تستخدم تكنولوجيا تكديس المعاملات صفري المعرفة المسماة ZKSwap، وخدمة دفع تسمى ZKSquare، وسوق NFT تسمى ZKSea.", - "aztec-description": "شبكة Aztec هي أول الحلول الخاصة لتكديس المعاملات بالطريقة الصفرية على إثيريوم، ما يمكّن التطبيقات اللامركزية من الوصول إلى الخصوصية والتوسع.", - "layer-2-note": "ملاحظة:", - "layer-2-ecosystem-portal": "بوابة النظام البيئي", - "layer-2-token-lists": "قوائم الرموز المميزة", - "layer-2-explore": "استكشاف", - "page-dapps-ready-button": "انتقال" -} diff --git a/src/intl/az/page-layer-2.json b/src/intl/az/page-layer-2.json deleted file mode 100644 index 65ea7615619..00000000000 --- a/src/intl/az/page-layer-2.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "layer-2-arbitrum-note": "Yalnız ağ siyahıya alınmış istifadəçilər üçün saxtakarlık sübutları, ağ siyahı isə hələ açılmayıb", - "layer-2-boba-note": "İnkişafda dövlət zəmanəti", - "layer-2-optimism-note": "İnkişafda qüsurların sübutu", - "layer-2-hero-title": "Layer 2", - "layer-2-hero-header": "Hər kəs üçün Ethereum", - "layer-2-hero-subtitle": "Kütləvi qəbul üçün Ethereum-un miqyaslaması.", - "layer-2-hero-alt-text": "2-ci qatda yığılan və Ethereum Mainnet-də yerləşdirilən əməliyyatların təsviri", - "layer-2-hero-button-1": "Qat 2 nədir", - "layer-2-hero-button-2": "Qat 2-dən istifadə edin", - "layer-2-hero-button-3": "Qat 2-yə keçin", - "layer-2-statsbox-1": "Qat 2-də kilidlənən TVL (ABŞ dolları)", - "layer-2-statsbox-2": "Qat 2-də orta ETH transfer haqqı (ABŞ dolları)", - "layer-2-statsbox-3": "Qat 2-də TVL dəyişikliyi (30 gün)", - "layer-2-what-is-layer-2-title": "Qat 2 nədir?", - "layer-2-what-is-layer-2-1": "Qat 2 (L2) xüsusi Ethereum miqyaslama həllər dəstini təsvir etmək üçün kollektiv termindir. Qat 2 Ethereum-u genişləndirən və Ethereum-un təhlükəsizlik zəmanətlərini miras alan ayrıca blokçeyndir.", - "layer-2-what-is-layer-2-2": "İndi bir az daha dərindən araşdıraq. Bunu etmək üçün əvvəlcə 1-ci qatı (L1) izah etməliyik.", - "layer-2-what-is-layer-1-title": "Qat 1 nədir?", - "layer-2-what-is-layer-1-1": "Qat 1 əsas blokçeyndir. Ethereum və Bitcoin hər ikisi qat 1 blokçeynləridir, çünki onlarmüxtəlif qat 2 şəbəkələrin onun üzərində qurulduğu əsas təməldir. Qat 2 layihələrinin nümunələri arasında Ethereum-da \"toplamalar\" və Bitcoin-da Lightning Network daxildir. Bu qat 2 layihələrində bütün istifadəçi əməliyyatları son nəticədə 1-ci qat blokçeyninə geri qayıda bilər.", - "layer-2-what-is-layer-1-2": "Ethereum həmçinin qat 2-lər üçün məlumatların mövcudluğu qatı kimi fəaliyyət göstərir. Qat 2 layihələri, məlumatların mövcudluğu üçün Ethereum-a güvənərək, əməliyyat məlumatlarını Ethereum-da yerləşdirəcək. Bu məlumatlar qat 2-nin vəziyyətini öyrənmək və ya qat 2 üzrə əməliyyatları mübahisə etmək üçün istifadə edilə bilər.", - "layer-2-what-is-layer-1-list-title": "Qat 1 kimi Ethereum-da daxildir:", - "layer-2-what-is-layer-1-list-1": "Şəbəkənin təhlükəsizliyini təmin etmək və yoxlamaq üçün düyün operatorları şəbəkəsi", - "layer-2-what-is-layer-1-list-2": "Blok istehsalçıları şəbəkəsi", - "layer-2-what-is-layer-1-list-3": "Blokchain-in özü və əməliyyat məlumatlarının tarixi", - "layer-2-what-is-layer-1-list-4": "Şəbəkə üçün konsensus mexanizmi", - "layer-2-what-is-layer-1-list-link-1": "Ethereum-da hələ də çaşqınsınız?", - "layer-2-what-is-layer-1-list-link-2": "Ethereumun nə olduğunu öyrənin.", - "layer-2-why-do-we-need-layer-2-title": "Niyə bizə qat 2 lazımdır?", - "layer-2-why-do-we-need-layer-2-1": "Blockchain-in arzuolunan üç xüsusiyyəti onunmərkəzləşdirilməmiş, təhlükəsiz və miqyaslana bilən olmasıdır. blokchain trilemması bildirir ki, sadə blokchain arxitekturası yalnız iki nəticə əldə edə bilər. üçdən. Təhlükəsiz və mərkəzləşdirilməmiş blokchain istəyirsiniz? Miqyaslana bilməni qurban verməlisiniz.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum hazırda gündə 1+ milyon əməliyyat həyata keçirir. Ethereum-dan istifadə tələbi əməliyyat haqqı qiymətlərinin yüksək olmasına səbəb ola bilər. Bu, 2-ci qat şəbəkələrinin daxil olduğu yerdir.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "2-ci qatın əsas məqsədi mərkəzsizləşdirmə və təhlükəsizlikdən imtina etmədən əməliyyat qabiliyyətini (saniyədə daha çox əməliyyatlar) artırmaqdır.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Ethereum Mainnet (qat 1) yalnız saniyədə təxminən 15 əməliyyatı emal edə bilir. Ethereum-dan istifadə tələbi yüksək olduqda, şəbəkə tıxanır və bu, əməliyyat haqlarını artırır və bu ödənişləri ödəyə bilməyən istifadəçilərin sayını artırır. Qat 2-lər, L1 blockchain-dən kənar əməliyyatları emal etməklə bu qiymətləri azaldan həllərdir.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Ethereum-un vizyonu haqqında daha çox məlumat", - "layer-2-benefits-of-layer-2-title": "2-ci qatın üstünlükləri", - "layer-2-lower-fees-title": "Aşağı qiymətlər", - "layer-2-lower-fees-description": "Çoxlu zəncirdənkənar əməliyyatları tək qat 1 əməliyyatında birləşdirməklə, əməliyyat haqları kütləvi şəkildə azaldılır və Ethereum hamı üçün daha əlçatan olur.", - "layer-2-maintain-security-title": "Təhlükəsizliyi qoruyun", - "layer-2-maintain-security-description": "Qat 2 blokchain-ləri öz əməliyyatlarını Ethereum Mainnet-də həyata keçirir və istifadəçilərə Ethereum şəbəkəsinin təhlükəsizliyindən faydalanmağa imkan verir.", - "layer-2-expand-use-cases-title": "İstifadə hallarını genişləndirin", - "layer-2-expand-use-cases-description": "Saniyədə daha yüksək əməliyyatlar, aşağı ödənişlər və yeni texnologiya ilə layihələr, təkmilləşdirilmiş istifadəçi təcrübəsi ilə birlikdə yeni tətbiqlərə əlavə ediləcək.", - "layer-2-how-does-layer-2-work-title": "2-ci qat necə işləyir?", - "layer-2-how-does-layer-2-work-1": "Yuxarıda qeyd etdiyimiz kimi, 2-ci qat 1-ci qat Ethereum-un güclü mərkəzləşdirilməmiş təhlükəsizliyindən faydalanmaqla yanaşı, 1-ci qat Ethereundan kənar əməliyyatları idarə edən Ethereum miqyaslama həllər üçün kollektiv termindir.2-ci qat, Ethereum-u genişləndirən ayrıca blokchaindir. Necə işləyir?", - "layer-2-how-does-layer-2-work-2": "2-ci qatın bir neçə fərqli növü var, hər birinin öz mübadilələri və təhlükəsizlik modelləri var. 2-ci qatlar əməliyyat yükünü 1-ci qatdan götürərək, onun daha az tıxac olmasına imkan verir və hər şey daha miqyaslı olur.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Toplamalar dəstəsi (və ya \"toplama\"), 1-ci qatda yüzlərlə əməliyyatı tək bir əməliyyatda birləşdirir. Bu, Q1 əməliyyat haqlarını yığımdakı hər kəs arasında paylayır və onu hər bir istifadəçi üçün daha ucuz edir.", - "layer-2-rollups-2": "Toplama əməliyyatları 1-ci qatdan kənarda yerinə yetirilir, lakin əməliyyat məlumatları 1-ci qata təqdim olunur. Əməliyyat məlumatlarını 1-ci qata təqdim etməklə, yığımlar Ethereum təhlükəsizliyini miras alır. Bunun səbəbi budur ki, məlumat 1-ci qata yükləndikdən sonra toplama əməliyyatını geri qaytarmaq Ethereum-un geri qaytarılmasını tələb edir. Toplamalara iki fərqli yanaşma var: optimist və sıfır bilik - onlar ilk növbədə bu əməliyyat məlumatlarının Q1-ə necə təqdim olunduğuna görə fərqlənirlər.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Optimist toplamalar, əməliyyatların etibarlı olduğu güman edildiyi mənada \"nikbindir\", lakin zəruri hallarda şübhə edilə bilər. Etibarsız əməliyyatdan şübhələnirsinizsə, bunun baş verib-vermədiyini yoxlamaq üçün qüsur sübutu işə salınır.", - "layer-2-optimistic-rollups-childSentance": "Optimist yığımlar haqqında daha çox məlumat", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "Sıfır bilik yığımları, əməliyyatların zəncirdən kənar hesablandığı və sonra onların etibarlılığının sübutu kimi sıxılmış məlumatların Ethereum Mainnet-ə təqdim edildiyi etibarlılıq sübutlarından istifadə edir.", - "layer-2-zk-rollups-childSentance": "ZK-toplamaları haqqında daha çox məlumat", - "layer-2-dyor-title": "Öz tədqiqatınızı aparın: 2-ci qatın riskləri", - "layer-2-dyor-1": "Bir çox qat 2 layihələri nisbətən gəncdir və hələ də istifadəçilərdən bəzi operatorlara öz şəbəkələrini mərkəzsizləşdirməyə çalışdıqları üçün dürüst olmalarını tələb edir. Daxil olan hər hansı riskdən razı olub-olmadığınıza qərar vermək üçün həmişə öz araşdırmanızı aparın.", - "layer-2-dyor-2": "2-ci qatların texnologiyası, riskləri və etibar fərziyyələri haqqında daha çox məlumat üçün hər bir layihə üçün hərtərəfli risk qiymətləndirmə çərçivəsini təqdim edən L2BEAT-ı yoxlamağı tövsiyə edirik.", - "layer-2-dyor-3": "L2BEAT-ə keçin", - "layer-2-use-layer-2-title": "Qat 2-dən istifadə edin", - "layer-2-use-layer-2-1": "İndi 2-ci qatın niyə mövcud olduğunu və necə işlədiyini başa düşdüyünüz üçün gəlin işə başlayaq!", - "layer-2-contract-accounts": "Safe və ya Argent kimi ağıllı müqavilə cüzdanından istifadə edirsinizsə, müqavilə hesabınızı 2-ci qatdakı həmin ünvana yenidən yerləşdirməyənə qədər 2-ci qat üzrə bu ünvana nəzarət edə bilməyəcəksiniz. Bərpa ifadəsi olan klassik hesablar, avtomatik olaraq bütün qat 2 şəbəkələrində eyni hesaba sahib olacaq.", - "layer-2-use-layer-2-generalized-title": "Ümumiləşdirilmiş qat 2-lər", - "layer-2-use-layer-2-generalized-1": "Ümumiləşdirilmiş qat 2-lər Ethereum kimi davranır, lakin daha ucuzdur. Ethereum 1-ci qatda edə biləcəyiniz hər şeyi siz 2-ci qatda da edə bilərsiniz. Bir çox dapp-lər artıq bu şəbəkələrə köçməyə başlayıb və ya birbaşa qat 2-də yerləşmək üçün Mainnet-dən tamamilə atlayıb.", - "layer-2-use-layer-2-application-specific-title": "Tətbiq üçün xüsusi qat 2", - "layer-2-use-layer-2-application-specific-1": "Tətbiq üçün xüsusi qat 2-lər xüsusi tətbiq sahəsi üçün optimallaşdırma üzrə ixtisaslaşan qatlardı və təkmilləşdirilmiş çışıxa səbəb olur.", - "layer-2-sidechains-title": "Yan zəncirlər, validiumlar və alternativ blokchain-lər haqqında qeyd", - "layer-2-sidechains-1": "Yan zəncirlər və validiumlar Ethereum-dan olan aktivlərin üzərində körpü qurmağa və başqa blokchain-də istifadə etməyə imkan verən blokchain-lərdir. Yan zəncirlər və validiumlar Ethereum ilə paralel işləyir və körpülər vasitəsilə Ethereum ilə qarşılıqlı əlaqə qurur, lakin Ethereum-dan təhlükəsizliyini və ya məlumat mövcudluğunu əldə etmirlər.", - "layer-2-sidechains-2": "Hər ikisi 2-ci qata oxşar şəkildə miqyas alır - onlar daha aşağı əməliyyat haqqı və daha yüksək əməliyyat ötürmə qabiliyyəti təklif edirlər - lakin fərqli etibar fərziyyələrinə malikdirlər.", - "layer-2-more-on-sidechains": "Yan zəncirlər haqqında daha çox məlumat", - "layer-2-more-on-validiums": "Validiumlar haqqında ətraflı məlumat", - "layer-2-sidechains-4": "Bəzi 1-ci qat blokchainlərin Ethereum-dan daha yüksək ötürmə qabiliyyəti və daha aşağı əməliyyat haqları olduğu söylənir, lakin ümumiyyətlə, başqa yerlərdəki mübadilələrdə, məsələn, işləyən qovşaqlar üçün daha böyük avadanlıq tələbləri.", - "layer-2-onboard-title": "2-ci qata necə qalxmaq olar", - "layer-2-onboard-1": "Aktivlərinizi 2-ci qata çatdırmağın iki əsas yolu var: ağıllı müqavilə vasitəsilə Ethereum-dan vəsaitləri birləşdirin və ya birjada vəsaitlərinizi birbaşa 2-ci qat şəbəkəsinə çıxarın.", - "layer-2-onboard-wallet-title": "Pulqabınızda vəsait?", - "layer-2-onboard-wallet-1": "Əgər pulqabınızda öndəcən ETH varsa, onu Ethereum Mainnet-dən 2-ci qata keçirmək üçün körpüdən istifadə etməlisiniz.", - "layer-2-more-on-bridges": "Körpülər haqqında ətraflı məlumat", - "layer-2-onboard-wallet-input-placeholder": "Körpü qurmaq istədiyiniz Q2-ni seçin", - "layer-2-onboard-wallet-selected-1": "Buna qoşula bilərsiniz", - "layer-2-onboard-wallet-selected-2": "bu pulqabılardan istifadə edərək:", - "layer-2-bridge": "Körpü", - "layer-2-onboard-exchange-title": "Birjada vəsait?", - "layer-2-onboard-exchange-1": "Bəzi mərkəzləşdirilmiş birjalar indi 2-ci qatda birbaşa pul çıxarılması və depozitlər təklif edir. Hansı birjaların 2-ci qata pul çıxarılmanı dəstəklədiyini və onlar hansı 2-ci qatları dəstəklədiyini yoxlayın.", - "layer-2-onboard-exchange-2": "Pullarınızı çıxarmaq üçün pulqabı da lazımdır.", - "layer-2-onboard-find-a-wallet": "Ethereum pulqabı tapın.", - "layer-2-onboard-exchange-input-placeholder": "Q2-ni dəstəkləyən birjaları yoxlayın", - "layer-2-deposits": "Depozitlər", - "layer-2-withdrawals": "Çıxarışlar", - "layer-2-go-to": "Get", - "layer-2-tools-title": "2-ci qatda təsirli olacaq alətlər", - "layer-2-tools-l2beat-description": "L2BEAT 2-ci qat layihələrinin texniki risk qiymətləndirmələrinə baxmaq üçün əla resursdur. Xüsusi qat 2 layihələrini araşdırarkən onların resurslarını yoxlamağı tövsiyə edirik.", - "layer-2-tools-l2fees-description": "Q2 Haqları, müxtəlif səviyyə 2-ci qat əməliyyatların aparılması üçün cari dəyəri (USD ilə ifadə olunmuş) görməyə imkan verir.", - "layer-2-tools-chainlist-description": "Chainlist, şəbəkə RPC-lərini dəstəkləyən pulqabılara idxal etmək üçün əla mənbədir. Sizə qoşulmağınıza kömək etmək üçün, 2-ci qat layihələri üçün RPC-ləri burada tapa bilərsiniz.", - "layer-2-tools-zapper-description": "DeFi-dən NFT-lərə qədər bütün web3 portfelinizi və sonra gələn hər şeyi idarə edin. Ən son imkanlar üçün bir rahat yerdən investisiya edin.", - "layer-2-tools-zerion-description": "Bütün DeFi portfelinizi bir yerdən qurun və idarə edin. Bu gün mərkəzləşdirilməmiş maliyyə dünyasını kəşf edin.", - "layer-2-tools-debank-description": "Web3 dünyasındakı bütün mühüm hadisələrdən xəbərdar olun", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Niyə “rəsmi” Ethereum Q2 yoxdur?", - "layer-2-faq-question-1-description-1": "\"Rəsmi\" Ethereum müştərisi olmadığı kimi, \"rəsmi\" Ethereum 2-ci qatı da yoxdur. Ethereum icazəsizdir - texniki cəhətdən hər kəs bir 2-ci qat yarada bilər! Bir neçə komanda öz 2-ci qat versiyasını həyata keçirəcək və bütövlükdə ekosistem müxtəlif istifadə halları üçün optimallaşdırılmış müxtəlif dizayn yanaşmalarından faydalanacaq. Şəbəkədə müxtəlifliyə sahib olmaq üçün çoxlu komandalar tərəfindən hazırlanmış çoxsaylı Ethereum müştərimiz olduğu kimi, bu həmçinin 2-ci qatların gələcəkdə necə inkişaf edəcəyidir.", - "layer-2-faq-question-2-title": "Optimist və sıfır bilik yığımları arasında fərq nədir?", - "layer-2-faq-question-2-description-1": "Həm optimist, həm də sıfır bilik yığımları 1-ci qatda yüzlərlə əməliyyatı tək bir əməliyyatda birləşdirir (və ya 'toplayır'). Toplama əməliyyatları 1-ci qatdan kənarda həyata keçirilir, lakin əməliyyat məlumatları 1-ci qata yerləşdirilir.", - "layer-2-faq-question-2-description-2": "Əsas fərq 1-ci qata hansı məlumatların göndərildiyi və məlumatların necə yoxlanıldığıdır. Etibarlılıq sübutları (sıfır bilik yığımları tərəfindən istifadə olunur) hesablamaları zəncirdən kənarda aparır və sübut göndərir, halbuki qüsur sübutları (nikbin yığımlar tərəfindən istifadə olunur) yalnız xətadan şübhələndikdə hesablamaları aparır və yoxlanılmalıdır.", - "layer-2-faq-question-2-description-3": "Hal-hazırda, ZK-toplamalarının əksəriyyəti, əsasən ümumiləşdirilə bilən optimist yığımlardan fərqli olaraq, tətbiqə xasdır.", - "layer-2-more-info-on-optimistic-rollups": "Optimist yığımlar haqqında ətraflı məlumat", - "layer-2-more-info-on-zk-rollups": "Sıfır bilik yığımları haqqında ətraflı məlumat", - "layer-2-faq-question-4-title": "2-ci qat ilə bağlı risklər nələrdir?", - "layer-2-faq-question-4-description-1": "Qat 2 layihələri, vəsaitlərin saxlanması və birbaşa Ethereum Mainnet-də əməliyyatların aparılması ilə müqayisədə əlavə riskləri ehtiva edir. Məsələn, sekvenslər aşağı düşə bilər və bu, vəsait əldə etmək üçün gözləməli olmanıza səbəb ola bilər.", - "layer-2-faq-question-4-description-2": "Biz sizi 2-ci qata yüksək səviyyədə vəsait köçürməzdən əvvəl öz araşdırmanızı etməyi tövsiyə edirik. 2-ci qatın texnologiyası, riskləri və etibar fərziyyələri haqqında ətraflı məlumat üçün L2BEAT, ki hər bir layihənin hərtərəfli risk qiymətləndirmə çərçivəsini təqdim edir.", - "layer-2-faq-question-4-description-3": "2-ci qata aktiv köçürmələrini asanlaşdıran blokchain körpüləri inkişafın ilk mərhələsindədir və çox güman ki, optimal körpü dizaynı hələ kəşf olunmayıb. Son zamanlarda körpülərə hücumlar olub.", - "layer-2-faq-question-5-title": "Niyə bəzi qat 2 layihələri burada qeyd edilməyib?", - "layer-2-faq-question-5-description-1": "Mümkün olan ən yaxşı resursları siyahıya saldığımızdan əmin olmaq istəyirik ki, istifadəçilər 2-ci qat məkanına təhlükəsiz və inamlı şəkildə hərəkət edə bilsinlər. Biz layihələrin, daxil olmaq üçün, necə qiymətləndirilməsi ilə bağlı meyarlar çərçivəsini saxlayırıq.", - "layer-2-faq-question-5-view-listing-policy": "Qat 2 siyahı siyasətimizə burada baxın.", - "layer-2-faq-question-5-description-2": "Hər kəs ethereum.org saytında 2-ci qatı əlavə etməyi təklif edə bilər. Əgər qaçırdığımız 2-ci qat varsa, zəhmət olmasa, onu təklif edin.", - "layer-2-further-reading-title": "Further reading", - "a-rollup-centric-ethereum-roadmap": "Toplama mərkəzli ethereum-un yol xəritəsi", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Poliqon yan zəncirinə qarşı Ethereum yığımları: qat 2 miqyaslama yanaşmalar| Vitalik Buterin və Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "TOPLAMALAR- Ultimate Ethereum Miqyaslama Strategiyası? Arbitrum və Optimizm izah edildi", - "scaling-layer-1-with-shard-chains": "Qat 1-i parça zəncirləri ilə miqyasmaq", - "understanding-rollup-economics-from-first-principals": "İlk prinsiplərdən yığım iqtisadiyyatını başa düşmək", - "arbitrum-description": "Arbitrum One, tam olaraq Ethereum ilə qarşılıqlı əlaqədə olmaq kimi hiss etməyi hədəfləyən, lakin Q1-də etdiklərinin bir hissəsinə başa gələn əməliyyatlarla bir Optimist Toplamadır.", - "optimism-description": "Optimism sürətli, sadə və təhlükəsiz EVM-ekvivalent optimist yığımdır. O, Ethereum-un texnologiyasını miqyaslandırır, eyni zamanda geriyə qüvvədə olan ictimai malların maliyyələşdirilməsi vasitəsilə öz dəyərlərini miqyaslandırır.", - "boba-description": "Boba, qaz haqlarını azaltmaq, əməlliyat ötürmə qabiliyyətini yaxşılaşdırmaq və ağıllı müqavilələrin imkanlarını genişləndirmək məqsədi daşıyan miqyaslandırma yolu olan Optimism-dən hazırlanmış bir Optimist Toplamadır.", - "loopring-description": "Loopring-in zkRollup Q2 həlli böyük miqyaslandırma qabiliyyəti təkanla Ethereum əsas şəbəkəsi ilə eyni təhlükəsizlik zəmanətlərini təklif etməyi hədəfləyir: ötürmə qabiliyyəti 1000 qat artdı və xərc Q1-in cəmi 0,1%-inə endirildi.", - "zksync-description": "ZKsync, Matter Labs-dan istifadəçi mərkəzli zk toplama platformasıdır. Bu, artıq Ethereum şəbəkəsində yaşayan Ethereum üçün bir miqyaslandırma həlldir. Ödənişləri, token dəyişdirmələrini və NFT zərbini dəstəkləyir.", - "zkspace-description": "ZKSpace platforması üç əsas hissədən ibarətdir: ZKSwap adlı ZK-Rollups texnologiyasından istifadə edən 2 AMM DEX qat, ZKSquare adlı ödəniş xidməti və ZKSea adlı NFT bazarı.", - "aztec-description": "Aztec Network Ethereum-da mərkəzləşdirilməmiş tətbiqlərə məxfilik və miqyas əldə etməyə imkan verən ilk şəxsi zk-toplamadır.", - "starknet-description": "Starknet, bir lay 2 Validity Rollup'dır. O, yüksək ötürmə qabiliyyətini, aşağı qaz xərclərini təmin edir və Ethereum lay 1 təhlükəsizlik səviyyələrini saxlayır.", - "layer-2-note": "Qeydlər:", - "layer-2-ecosystem-portal": "Ekosistem Portalı", - "layer-2-token-lists": "Token siyahıları", - "layer-2-explore": "Araşdır", - "page-dapps-ready-button": "Keç" -} diff --git a/src/intl/bg/page-layer-2.json b/src/intl/bg/page-layer-2.json deleted file mode 100644 index e6bb017e30f..00000000000 --- a/src/intl/bg/page-layer-2.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "page-dapps-ready-button": "Напред" -} diff --git a/src/intl/bn/page-layer-2.json b/src/intl/bn/page-layer-2.json deleted file mode 100644 index 29d8bafc260..00000000000 --- a/src/intl/bn/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "শুধুমাত্র সাদা তালিকাভুক্ত ব্যবহারকারীদের জন্য ফ্রড প্রুফস, সাদা তালিকা এখনও খোলা হয়নি", - "layer-2-boba-note": "ডেভেলপমেন্টে রাষ্ট্রীয় বৈধতা", - "layer-2-optimism-note": "ডেভেলপমেন্টের ফল্ট প্রুফ সমূহ", - "layer-2-hero-title": "লেয়ার 2", - "layer-2-hero-header": "সবার জন্য ইথেরিয়াম", - "layer-2-hero-subtitle": "ভর গ্রহণের জন্য ইথেরিয়াম স্কেলিং।", - "layer-2-hero-alt-text": "লেয়ার 2 এ রোল আপ করা এবং ইথেরিয়াম Mainnet-এ পোস্ট করা লেনদেনের চিত্র", - "layer-2-hero-button-1": "লেয়ার 2 কী", - "layer-2-hero-button-2": "লেয়ার 2 ব্যবহার করুন", - "layer-2-hero-button-3": "লেয়ার 2 এ যান", - "layer-2-statsbox-1": "লেয়ার 2 এ TVL লক করা হয়েছে (USD)", - "layer-2-statsbox-2": "গড়ে লেয়ার 2 এ ETH স্থানান্তর ফি (USD)", - "layer-2-statsbox-3": "লেয়ার 2 TVL পরিবর্তন (30 দিন)", - "layer-2-what-is-layer-2-title": "লেয়ার 2 কী?", - "layer-2-what-is-layer-2-1": "লেয়ার 2 (L2) হলো একটি সমষ্টিগত শব্দ যা ইথেরিয়াম স্কেলিং সমাধানগুলির একটি নির্দিষ্ট সেটকে বর্ণনা করে। একটি লেয়ার 2 হলো একটি পৃথক ব্লকচেইন যা ইথেরিয়ামকে প্রসারিত করে এবং ইথেরিয়ামের নিরাপত্তা গ্যারান্টি উত্তরাধিকার সূত্রে পায়।", - "layer-2-what-is-layer-2-2": "এখন এটিকে আরও কিছুটা খনন করা যাক। এটি করার জন্য আমাদের প্রথমে লেয়ার 1 (L1) ব্যাখ্যা করতে হবে।", - "layer-2-what-is-layer-1-title": "লেয়ার 1 কি?", - "layer-2-what-is-layer-1-1": "লেয়ার 1 হলো মূল ব্লকচেইন। ইথেরিয়াম এবং বিটকয়েন উভয়ই লেয়ার 1 ব্লকচেইন কারণ এগুলি হল অন্তর্নিহিত ভিত্তি যা বিভিন্ন লেয়ার 2 নেটওয়ার্ক উপরে তৈরি করে। লেয়ার 2 প্রকল্পের উদাহরণগুলির মধ্যে রয়েছে ইথেরিয়ামে \"রোলআপ\" এবং বিটকয়েনের লাইটনিং নেটওয়ার্ক। এই লেয়ার 2 প্রকল্পগুলিতে সমস্ত ব্যবহারকারীর লেনদেন কার্যকলাপ শেষ পর্যন্ত লেয়ার 1 ব্লকচেইনে ফিরে যেতে পারে।", - "layer-2-what-is-layer-1-2": "ইথেরিয়াম লেয়ার 2 এর জন্য ডেটা প্রাপ্যতা লেয়ার হিসাবেও কাজ করে। লেয়ার 2 প্রকল্পগুলি তাদের লেনদেনের ডেটা ইথেরিয়াম-এ পোস্ট করবে, ডেটা প্রাপ্যতার জন্য ইথেরিয়ামের উপর নির্ভর করে। এই ডেটা লেয়ার 2-এর অবস্থা জানতে বা লেয়ার 2-এ লেনদেন নিয়ে প্রতিরোধ করতে ব্যবহার করা যেতে পারে।", - "layer-2-what-is-layer-1-list-title": "লেয়ার 1 হিসাবে ইথেরিয়াম এ অন্তর্ভুক্ত:", - "layer-2-what-is-layer-1-list-1": "নেটওয়ার্ককে সুরক্ষিত ও বৈধ করতে নোড অপারেটরদের একটি নেটওয়ার্ক", - "layer-2-what-is-layer-1-list-2": "ব্লক উৎপাদকদের একটি নেটওয়ার্ক", - "layer-2-what-is-layer-1-list-3": "ব্লকচেইন নিজেই এবং লেনদেনের ডেটার ইতিহাস", - "layer-2-what-is-layer-1-list-4": "নেটওয়ার্কের জন্য কনসেনসাস মেকানিজম", - "layer-2-what-is-layer-1-list-link-1": "এখনও ইথেরিয়াম নিয়ে বিভ্রান্ত?", - "layer-2-what-is-layer-1-list-link-2": "ইথেরিয়াম কী তা জানুন।", - "layer-2-why-do-we-need-layer-2-title": "কেন আমাদের লেয়ার 2 প্রয়োজন?", - "layer-2-why-do-we-need-layer-2-1": "একটি ব্লকচেইনের তিনটি আকাঙ্ক্ষিত বৈশিষ্ট্য হল এটি বিকেন্দ্রীভূত, সুরক্ষিত এবং পরিমাপযোগ্যব্লকচেন ট্রিলেমা বলে যে একটি সাধারণ ব্লকচেইন আর্কিটেকচার শুধুমাত্র দুটি অর্জন করতে পারে। তিনটির মধ্যে একটি নিরাপদ এবং বিকেন্দ্রীভূত ব্লকচেইন চান? আপনাকে পরিমাপযোগ্যতা ত্যাগ করতে হবে।", - "layer-2-why-do-we-need-layer-2-2": "ইথেরিয়াম বর্তমানে প্রতিদিন 1+ মিলিয়ন লেনদেন প্রক্রিয়া করে। ইথেরিয়াম ব্যবহার করার চাহিদা লেনদেন ফির উচ্চ উচ্চ মূল্যের কারণ হতে পারে। এখানেই লেয়ার 2 নেটওয়ার্ক আসে।", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "লেয়ার 2-এর মূল লক্ষ্য হল বিকেন্দ্রীকরণ বা নিরাপত্তার ত্যাগ ছাড়াই লেনদেনের থ্রোপুট (প্রতি সেকেন্ডে উচ্চতর লেনদেন) বৃদ্ধি করা।", - "layer-2-why-do-we-need-layer-2-scalability-2": "ইথেরিয়াম Mainnet (লেয়ার 1) শুধুমাত্র প্রতি সেকেন্ডে প্রায় 15টি লেনদেন প্রক্রিয়া করতে সক্ষম। যখন ইথেরিয়াম ব্যবহার করার চাহিদা বেশি হয়, তখন নেটওয়ার্কটি জমজমাট হয়ে যায়, যা লেনদেনের ফি বাড়ায় এবং সেইসব ফি বহন করতে পারে না এমন ব্যবহারকারীদের দাম কমিয়ে দেয়। লেয়ার 2s হলো সমাধান যা লেয়ার-1 ব্লকচেইনের বাইরে লেনদেন প্রক্রিয়াকরণের মাধ্যমে সেই ফি কমিয়ে দেয়।", - "layer-2-why-do-we-need-layer-2-scalability-3": "ইথেরিয়ামের ভিশন সম্পর্কে আরো", - "layer-2-benefits-of-layer-2-title": "লেয়ার 2 এর সুবিধাসমূহ", - "layer-2-lower-fees-title": "কম ফি", - "layer-2-lower-fees-description": "একটি একক লেয়ার 1 লেনদেনে একাধিক অফ-চেইন লেনদেন একত্রিত করার মাধ্যমে, লেনদেনের ফি ব্যাপকভাবে হ্রাস করা হয়, যা ইথেরিয়াম-কে সকলের জন্য আরও অ্যাক্সেসযোগ্য করে তোলে।", - "layer-2-maintain-security-title": "নিরাপত্তা বজায় রাখুন", - "layer-2-maintain-security-description": "লেয়ার 2 ব্লকচেইন ইথেরিয়াম Mainnet-এ তাদের লেনদেন নিষ্পত্তি করে, যা ব্যবহারকারীদের ইথেরিয়াম নেটওয়ার্কের নিরাপত্তা থেকে উপকৃত হতে দেয়।", - "layer-2-expand-use-cases-title": "ব্যবহারের ক্ষেত্রে প্রসারিত করুন", - "layer-2-expand-use-cases-description": "প্রতি সেকেন্ডে উচ্চ লেনদেন, কম ফি এবং নতুন প্রযুক্তির সাথে, প্রকল্পগুলি উন্নত ব্যবহারকারীর অভিজ্ঞতার সাথে নতুন অ্যাপ্লিকেশনগুলিতে প্রসারিত হবে।", - "layer-2-how-does-layer-2-work-title": "কিভাবে লেয়ার 2 কাজ করে?", - "layer-2-how-does-layer-2-work-1": "যেমনটি আমরা উপরে উল্লেখ করেছি, লেয়ার 2 হল ইথেরিয়াম স্কেলিং সলিউশনের জন্য একটি সম্মিলিত শব্দ যা ইথেরিয়াম লেয়ার 1 থেকে লেনদেন পরিচালনা করে এবং এখনও ইথেরিয়াম লেয়ার 1 এর শক্তিশালী বিকেন্দ্রীভূত নিরাপত্তার সুবিধা নেয়। একটি লেয়ার 2 হল একটি পৃথক ব্লকচেইন যা ইথেরিয়ামকে প্রসারিত করে। ওটা কিভাবে কাজ করে?", - "layer-2-how-does-layer-2-work-2": "লেয়ার 2 এর বিভিন্ন প্রকারের রয়েছে, প্রত্যেকটির নিজস্ব ট্রেড-অফ এবং নিরাপত্তা মডেল রয়েছে। লেয়ার 2 লেয়ার 1 থেকে লেনদেনের বোঝা সরিয়ে নেয় যা এটিকে কম জমজমাট হতে দেয় এবং সবকিছু আরও মাপযোগ্য হয়ে ওঠে।", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "রোলআপ বান্ডেল (বা 'রোল আপ') লেয়ার 1-এ একটি একক লেনদেনে শত শত লেনদেন। এটি রোলআপের প্রত্যেকের মধ্যে L1 লেনদেনের ফি বিতরণ করে, এটি প্রতিটি ব্যবহারকারীর জন্য সস্তা করে তোলে।", - "layer-2-rollups-2": "রোলআপ লেনদেনগুলি লেয়ার 1 থেকে সম্পাদিত হয় কিন্তু লেনদেনের ডেটা স্তর 1-এ জমা দেওয়া হয়। লেয়ার 1-এ লেনদেন ডেটা জমা দেওয়ার মাধ্যমে, রোলআপগুলি ইথেরিয়ামের নিরাপত্তার উত্তরাধিকারী হয়। এর কারণ হল একবার ডেটা লেয়ার 1 এ আপলোড করা হলে, একটি রোলআপ লেনদেন প্রত্যাবর্তনের জন্য ইথেরিয়াম প্রত্যাবর্তন করা প্রয়োজন হয়। রোলআপের জন্য দুটি ভিন্ন পদ্ধতি রয়েছে: আশাবাদী এবং শূন্য-জ্ঞান - তারা প্রাথমিকভাবে এই লেনদেনের ডেটা কীভাবে L1 এ জমা দেওয়া হয় তার উপর আলাদা করে।", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "আশাবাদী রোলআপগুলি 'আশাবাদী' এই অর্থে যে লেনদেনগুলিকে বৈধ বলে ধরে নেওয়া হয়, তবে প্রয়োজনে চ্যালেঞ্জ করা যেতে পারে। যদি একটি অবৈধ লেনদেন সন্দেহ করা হয়, এটি ঘটেছে কি না তা দেখার জন্য একটি ত্রুটি প্রমাণ প্রক্রিয়া চালানো হয়।", - "layer-2-optimistic-rollups-childSentance": "অপটিমিস্টিক রোলআপ সম্পর্কে আরও", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "জিরো-নলেজ রোলআপগুলি বৈধতার প্রমাণ ব্যবহার করে যেখানে লেনদেনগুলি অফ-চেইন গণনা করা হয়, এবং তারপরে সংকুচিত ডেটা তাদের বৈধতার প্রমাণ হিসাবে ইথেরিয়াম Mainnet-এ সরবরাহ করা হয়।", - "layer-2-zk-rollups-childSentance": "ZK রোলআপ সম্পর্কে আরো", - "layer-2-dyor-title": "আপনার নিজের গবেষণা করুন: লেয়ার 2 এর ঝুঁকি", - "layer-2-dyor-1": "অনেক লেয়ার 2 প্রজেক্ট তুলনামূলকভাবে তরুণ এবং এখনও ব্যবহারকারীদের কিছু অপারেটরকে সৎ হতে বিশ্বাস করতে হবে কারণ তারা তাদের নেটওয়ার্কগুলিকে বিকেন্দ্রীকরণ করতে কাজ করে। আপনি জড়িত কোনো ঝুঁকির সাথে স্বাচ্ছন্দ্য বোধ করেন কি না তা নির্ধারণ করতে সর্বদা আপনার নিজের গবেষণা করুন।", - "layer-2-dyor-2": "লেয়ার 2-এর প্রযুক্তি, ঝুঁকি এবং বিশ্বাস অনুমান সম্পর্কে আরও তথ্যের জন্য, আমরা L2BEAT চেক আউট করার পরামর্শ দিই, যা প্রতিটি প্রকল্পের একটি ব্যাপক ঝুঁকি মূল্যায়ন কাঠামো প্রদান করে।", - "layer-2-dyor-3": "L2BEAT এ যান", - "layer-2-use-layer-2-title": "লেয়ার 2 ব্যবহার করুন", - "layer-2-use-layer-2-1": "এখন যেহেতু আপনি বুঝতে পেরেছেন কেন লেয়ার 2 বিদ্যমান এবং এটি কীভাবে কাজ করে, চলুন আপনাকে এগিয়ে নিয়ে যাওয়া যাক!", - "layer-2-contract-accounts": "আপনি যদি সেফ বা এজেন্টের মতো স্মার্ট কন্ট্র্যাক্ট ওয়ালেট ব্যবহার করেন, তাহলে লেয়ার 2-এর এই অ্যাড্রেসে আপনার নিয়ন্ত্রণ থাকবে না যতক্ষণ না আপনি লেয়ার 2-এ সেই ঠিকানায় আপনার কন্ট্রাক্ট অ্যাকাউন্ট পুনরায় স্থাপন করবেন। পুনরুদ্ধার বাক্যাংশ সহ ক্লাসিক অ্যাকাউন্টগুলি স্বয়ংক্রিয়ভাবে একই অ্যাকাউন্টের মালিক হবে, সমস্ত লেয়ার 2 নেটওয়ার্কে।", - "layer-2-use-layer-2-generalized-title": "সাধারণকৃত লেয়ার 2 গুলো", - "layer-2-use-layer-2-generalized-1": "সাধারণকৃত লেয়ার 2 গুলো ঠিক ইথেরিয়ামের মতো আচরণ করে — তবে সস্তা। আপনি ইথেরিয়াম লেয়ার 1-এ যা করতে পারেন, আপনি লেয়ার 2-এ ও তা করতে পারেন। অনেক dapps ইতিমধ্যেই এই নেটওয়ার্কগুলিতে স্থানান্তরিত হতে শুরু করেছে বা সরাসরি একটি লেয়ার 2-এ স্থাপন করার জন্য Mainnet-কে পুরোপুরি এড়িয়ে গেছে।", - "layer-2-use-layer-2-application-specific-title": "অ্যাপ্লিকেশন নির্দিষ্ট লেয়ার 2 গুলো", - "layer-2-use-layer-2-application-specific-1": "অ্যাপ্লিকেশন নির্দিষ্ট লেয়ার 2 গুলো হল এমন প্রকল্প যা একটি নির্দিষ্ট অ্যাপ্লিকেশন স্পেসের জন্য অপ্টিমাইজ করে, উন্নত কর্মক্ষমতা নিয়ে আসে।", - "layer-2-sidechains-title": "সাইডচেইন্স, ভ্যালিডিয়াম এবং বিকল্প ব্লকচেইনের উপর একটি নোট", - "layer-2-sidechains-1": "সাইডচেইন্স এবং ভ্যালিডিয়াম হলো ব্লকচেইন যা ইথেরিয়াম-এর সম্পদগুলিকে ব্রিজ করে অন্য ব্লকচেইনে ব্যবহার করার অনুমতি দেয়। সাইডচেইন্স এবংভ্যালিডিয়াম ইথেরিয়ামের সাথে সমান্তরালে চলে এবং সেতুর মাধ্যমে ইথেরিয়াম এর সাথে যোগাযোগ করে, কিন্তু তারা ইথেরিয়াম থেকে তাদের নিরাপত্তা বা ডেটা প্রাপ্যতা অর্জন করে না।", - "layer-2-sidechains-2": "উভয় স্কেল লেয়ার 2 এর অনুরূপ - তারা কম লেনদেন ফি এবং উচ্চ লেনদেন থ্রোপুট অফার করে - তবে ভিন্ন বিশ্বাসের অনুমান রয়েছে।", - "layer-2-more-on-sidechains": "সাইডচেইন্স সম্পর্কে আরো তথ্য", - "layer-2-more-on-validiums": "ভালিডিয়াম সম্পর্কে আরো তথ্য", - "layer-2-sidechains-4": "কিছু লেয়ার 1 ব্লকচেইন ইথেরিয়ামের তুলনায় উচ্চ থ্রুপুট এবং কম লেনদেন ফি রিপোর্ট করে, তবে সাধারণত অন্য কোথাও ট্রেড-অফের সাথে, উদাহরণস্বরূপ নোড চালানোর জন্য বৃহত্তর হার্ডওয়্যার প্রয়োজনীয়তা।", - "layer-2-onboard-title": "কিভাবে লেয়ার 2-এ যেতে হয়", - "layer-2-onboard-1": "লেয়ার 2-এ আপনার সম্পদগুলি পেতে দুটি প্রাথমিক উপায় রয়েছে: একটি স্মার্ট কন্ট্র্যাক্ট এর মাধ্যমে ইথেরিয়াম থেকে ব্রিজ ফান্ড বা সরাসরি লেয়ার 2 নেটওয়ার্কে এক্সচেঞ্জে আপনার তহবিল প্রত্যাহার করুন।", - "layer-2-onboard-wallet-title": "আপনার ওয়ালেটে ফান্ড আছে?", - "layer-2-onboard-wallet-1": "আপনি যদি ইতিমধ্যে আপনার ওয়ালেটে আপনার ETH পেয়ে থাকেন, তাহলে এটিকে ইথেরিয়াম Mainnet থেকে একটি লেয়ার 2-এ সরানোর জন্য আপনাকে একটি ব্রীজ ব্যবহার করতে হবে।", - "layer-2-more-on-bridges": "ব্রীজ সম্পর্কে আরো", - "layer-2-onboard-wallet-input-placeholder": "আপনি যে L2 কে ব্রীজ করতে চান সেটি নির্বাচন করুন", - "layer-2-onboard-wallet-selected-1": "আপনি সংযোগ করতে পারেন", - "layer-2-onboard-wallet-selected-2": "এই ওয়ালেটগুলো ব্যবহার করে:", - "layer-2-bridge": "ব্রিজ", - "layer-2-onboard-exchange-title": "এক্সচেঞ্জে ফান্ড আছে?", - "layer-2-onboard-exchange-1": "কিছু কেন্দ্রীভূত এক্সচেঞ্জ এখন লেয়ার 2s-এ সরাসরি উইথড্র এবং ডিপোজিট অফার করে। কোন এক্সচেঞ্জগুলি লেয়ার 2 উইথড্র সাপোর্ট করে এবং কোন লেয়ার 2 গুলো সাপোর্ট করে তা চেক করুন।", - "layer-2-onboard-exchange-2": "আপনার ফান্ড উইথড্র করার জন্য আপনার একটি ওয়ালেটেরও প্রয়োজন হবে।", - "layer-2-onboard-find-a-wallet": "একটি ইথেরিয়াম ওয়ালেট খুঁজুন।", - "layer-2-onboard-exchange-input-placeholder": "L2 সমর্থিত এক্সচেঞ্জ চেক করুন", - "layer-2-deposits": "ডিপোজিট", - "layer-2-withdrawals": "উইথড্রয়াল", - "layer-2-go-to": "এতে যান", - "layer-2-tools-title": "লেয়ার 2 এ কার্যকরী টুলস", - "layer-2-tools-l2beat-description": "লেয়ার 2 প্রকল্পের প্রযুক্তিগত ঝুঁকি মূল্যায়ন দেখার জন্য L2BEAT একটি দুর্দান্ত রিসোর্স। নির্দিষ্ট লেয়ার 2 প্রকল্পগুলির বিষয়ে গবেষণা করার সময় আমরা তাদের রিসোর্স দেখার পরামর্শ দেই।", - "layer-2-tools-l2fees-description": "L2 ফি আপনাকে বিভিন্ন লেয়ার 2-এ লেনদেন করার জন্য বর্তমান খরচ (USD তে উল্লেখিত) দেখতে দেয়।", - "layer-2-tools-chainlist-description": "সাপোর্টিং ওয়ালেটে নেটওয়ার্ক RPC ইমপোর্ট করার জন্য Chainlist হলো দুর্দান্ত রিসোর্স। আপনি এখানে লেয়ার 2 প্রকল্পের জন্য RPC পাবেন যা আপনাকে কানেকটেড হতে সহায়তা করবে।", - "layer-2-tools-zapper-description": "আপনার সম্পূর্ণ web3 পোর্টফোলিও পরিচালনা করুন DeFi থেকে NFT এবং পরবর্তী যাই হোক না কেন। একটি সুবিধাজনক জায়গা থেকে একদম নতুন সুযোগগুলোতে বিনিয়োগ করুন।", - "layer-2-tools-zerion-description": "একটি জায়গা থেকেই আপনার সম্পূর্ণ DeFi পোর্টফোলিও তৈরি করুন এবং পরিচালনা করুন। আজই ডিসেন্ট্রালাইজড অর্থের বিশ্ব ডিসকভার করুন।", - "layer-2-tools-debank-description": "Web3 দুনিয়ার সমস্ত গুরুত্বপূর্ণ ঘটনাগুলির সাথে নিজেকে সংযুক্ত রাখুন", - "layer-2-faq-title": "প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী", - "layer-2-faq-question-1-title": "কোনো 'অফিসিয়াল' ইথেরিয়াম L2 নেই কেনো?", - "layer-2-faq-question-1-description-1": "ঠিক যেমন কোনও 'অফিসিয়াল' ইথেরিয়াম ক্লায়েন্ট নেই, তেমনই ভাবে কোনও 'অফিসিয়াল' ইথেরিয়াম লেয়ার 2 ও নেই। ইথেরিয়াম পারমিশনলেস প্রযুক্তি - তাই যে কেউই একটি লেয়ার 2 তৈরি করতে পারে! একাধিক দল তাদের লেয়ার 2-এর ভার্সন ইমপ্লিমেন্ট করবে এবং বিভিন্ন ধরনের ইউজ কেসের জন্য অপ্টিমাইজ করা ডিজাইন পদ্ধতির বিচিত্রতার কারণে ইকোসিস্টেমকে সামগ্রিকভাবে উপকৃত হবে। নেটওয়ার্কে বৈচিত্র্য আনার জন্য যেভাবে আমাদের একাধিক দল দ্বারা ডেভেলপ করা একাধিক ইথেরিয়াম ক্লায়েন্ট রয়েছে ঠিক একই ভাবে এটিও ভবিষ্যতে লেয়ার 2 ডেভেলপ করবে।", - "layer-2-faq-question-2-title": "অপটিমিস্টিক এবং জিরো-নলেজ রোলআপসের মধ্যে পার্থক্য কী?", - "layer-2-faq-question-2-description-1": "অপটিমিস্টিক এবং জিরো-নলেজ রোলআপস (বা ‘রোল আপ’) উভয়ই লেয়ার 1-এ শত শত লেনদেনকে একটি একক লেনদেনে বান্ডেল করে। রোলআপ লেনদেনগুলি লেয়ার 1 এর বাইরে এক্সিকিউট হয় কিন্তু লেনদেনের ডেটা লেয়ার 1-এ পোস্ট হয়।", - "layer-2-faq-question-2-description-2": "লেয়ার 1-এ কোন ডেটা পোস্ট করা হয় এবং কীভাবে সেই ডেটা যাচাই করা হয় সেটাই মূলত প্রধান পার্থক্য। ভ্যালিডিটি প্রুফ (জিরো-নলেজ রোলআপস দ্বারা ব্যবহৃত) অফ-চেইনে কম্পিউটেশন চালায় এবং একটি প্রমাণ পোস্ট করে, যেখানে ফল্ট প্রুফ (অপ্টিমিস্টিক রোলআপস দ্বারা ব্যবহৃত) শুধুমাত্র ত্রুটির সন্দেহ হলে এবং অবশ্যই পরীক্ষা করা উচিত এমন পরিস্থিতিতে অন-চেইন কম্পিউটেশন চালায়।", - "layer-2-faq-question-2-description-3": "এই মুহুর্তে, বেশিরভাগ ZK-রোলআপস অ্যাপ্লিকেশন নির্দিষ্ট, যেখানে অপটিমিস্টিক রোলআপ মূলত জেনারালাইযেবল।", - "layer-2-more-info-on-optimistic-rollups": "অপটিমিস্টিক রোলআপস সম্পর্কে আরও তথ্য", - "layer-2-more-info-on-zk-rollups": "জিরো-নলেজ রোলআপস সম্পর্কে আরও তথ্য", - "layer-2-faq-question-4-title": "লেয়ার 2 এর ঝুঁকিসমূহ কি?", - "layer-2-faq-question-4-description-1": "ইথেরিয়াম Mainnet-এ সরাসরি ফান্ড রাখা এবং লেনদেনের তুলনায় লেয়ার 2 প্রকল্পে অতিরিক্ত ঝুঁকি রয়েছে। উদাহরণস্বরূপ, সিকোয়েন্সার কমে যেতে পারে, যার ফলে আপনাকে ফান্ড অ্যাক্সেস করার জন্য অপেক্ষা করতে হবে।", - "layer-2-faq-question-4-description-2": "একটি লেয়ার 2-এ উল্লেখযোগ্য পরিমাণ ফান্ড ট্রান্সফার করার আগে আমরা আপনাকে এই বিষয়ে গবেষণা করতে উৎসাহিত করি। লেয়ার 2-এর প্রযুক্তি, ঝুঁকি এবং বিশ্বাস অনুমান সম্পর্কে আরও তথ্যের জন্য, আমরা L2BEAT চেক আউট করার পরামর্শ দিই, যা প্রতিটি প্রকল্পের একটি ব্যাপক ঝুঁকি মূল্যায়ন কাঠামো প্রদান করে।", - "layer-2-faq-question-4-description-3": "ব্লকচেইন ব্রিজ, যা লেয়ার 2-এ সম্পদ ট্রান্সফার সহজ করে তোলে, তাদের ডেভেলপমেন্টের প্রাথমিক পর্যায়ে রয়েছে এবং সম্ভবত সর্বোত্তম ব্রিজ ডিজাইন এখনও আবিষ্কৃত হয়নি। সাম্প্রতিক সময়ে ব্রিজে বেশ কিছু হ্যাকিং হয়েছে।", - "layer-2-faq-question-5-title": "কিছু লেয়ার 2 প্রকল্প এখানে তালিকাভুক্ত করা হয়নি কেনো?", - "layer-2-faq-question-5-description-1": "আমরা নিশ্চিত করতে চাই যে আমরা সম্ভাব্য সর্বোত্তম রিসোর্সগুলো তালিকাভুক্ত করেছি যাতে ব্যবহারকারীরা নিরাপদ এবং আত্মবিশ্বাসী উপায়ে লেয়ার 2 স্পেস নেভিগেট করতে পারে। কীভাবে প্রকল্পগুলি অন্তর্ভুক্তির জন্য মূল্যায়ন করা হয় তার জন্য আমরা মানদণ্ডের একটি কাঠামো বজায় রাখি।", - "layer-2-faq-question-5-view-listing-policy": "এখানে আমাদের লেয়ার 2 তালিকাভুক্তির নীতি দেখুন।", - "layer-2-faq-question-5-description-2": "যে কেউ ethereum.org এ একটি লেয়ার 2 যোগ করার পরামর্শ দিতে পারবে। যদি আমরা কোনো লেয়ার 2 মিস করে থাকি তাহলে অনুগ্রহ করে সেটা সাজেস্ট করুন।", - "layer-2-further-reading-title": "Further reading", - "a-rollup-centric-ethereum-roadmap": "একটি রোলআপ-কেন্দ্রিক ইথেরিয়াম রোডম্যাপ", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Polygon সাইডচেইন বনাম ইথেরিয়াম রোলআপস: লেয়ার 2 স্কেলিং এর পদ্ধতি| Vitalik বুটেরিন এবং লেক্স ফ্রিডম্যান", - "rollups-the-ultimate-ethereum-scaling-strategy": "রোলআপস - আল্টিমেট ইথেরিয়াম স্কেলিং কৌশল? আর্বিট্রাম এবং অপ্টিমিজমের ব্যাখ্যা", - "scaling-layer-1-with-shard-chains": "শার্ড চেইনেড় মাধ্যমে লেয়ার 1 স্কেলিং", - "understanding-rollup-economics-from-first-principals": "প্রথম নীতি থেকে রোলআপ অর্থনীতি বোঝা", - "arbitrum-description": "আর্বিট্রাম ওয়ান হলো একটি অপটিমিস্টিক রোলআপ যার লক্ষ্য L1-এ লেনদেনের খরচের তুলনা আরো কম খরচে লেনদেন করে একই ধরণের ইথেরিয়ামের সাথে ইন্টারঅ্যাক্ট করার অভিজ্ঞতা প্রদান করা।", - "optimism-description": "অপ্টিমিজমের একটি দ্রুত, সহজ এবং নিরাপদ EVM-সমতুল্য অপ্টিমিস্টিক রোলআপ। এটি ইথেরিয়ামের প্রযুক্তিকে স্কেলিং করার পাশাপাশি রেট্রোঅ্যাক্টিভ পাবলিক পণ্য ফান্ডিং এর মাধ্যমে এর ভ্যালুও স্কেলিং করে।", - "boba-description": "বোবা হলো একটি অপটিমিস্টিক রোলআপ যা মূলত অপটিমিজম এর উপর ভিত্তি করে তৈরি একটি স্কেলিং সলিউশন যার লক্ষ্য গ্যাস ফি কমানো, লেনদেনের থ্রুপুট উন্নত করা এবং স্মার্ট কনট্র্যাক্টের ক্ষমতা বৃদ্ধি করা।", - "loopring-description": "লুপরিং এর zk রোলআপ L2 সলিউশনের লক্ষ্য হলো একটি বড় স্কেলেবিলিটি বুস্টের সাথে ইথেরিয়াম Mainnet-এর মতো একই ধরণের নিরাপত্তা গ্যারান্টি অফার করা: থ্রুপুট 1000x বেড়েছে, এবং খরচ L1-এর খরচের মাত্র 0.1%-এ নেমে এসেছে।", - "zksync-description": "ZKsync হলো ম্যাটার ল্যাবস দ্বারা ডেভেলপ করা একটি ব্যবহারকারী-কেন্দ্রিক zk রোলআপ প্ল্যাটফর্ম। এটি ইথেরিয়ামের জন্য একটি স্কেলিং সমাধান, ইতিমধ্যে ইথেরিয়াম Mainnet-এ লাইভ। এটি অর্থপ্রদান, টোকেন সোয়াপ এবং NFT মিন্টিং সাপোর্ট করে।", - "zkspace-description": "ZKSpace প্ল্যাটফর্ম তিনটি প্রধান অংশ নিয়ে গঠিত: ZKSwap নামক ZK-রোলআপস প্রযুক্তি ব্যবহার করে একটি লেয়ার 2 AMM DEX, ZKSquare নামে একটি পেমেন্ট পরিষেবা এবং ZKSea নামক একটি NFT মার্কেটপ্লেস।", - "aztec-description": "Aztec নেটওয়ার্ক হলো ইথেরিয়াম-এ প্রথম প্রাইভেট zk-রোলআপ, যা ডিসেন্ট্রালাইজড অ্যাপ্লিকেশনগুলিকে প্রাইভেসি এবং স্কেল অ্যাক্সেস করতে দেয়।", - "layer-2-note": "দ্রষ্টব্য:", - "layer-2-ecosystem-portal": "ইকোসিস্টেম পোর্টাল", - "layer-2-token-lists": "টোকেন তালিকা", - "layer-2-explore": "এক্সপ্লোর করুন", - "page-dapps-ready-button": "যান" -} diff --git a/src/intl/ca/page-layer-2.json b/src/intl/ca/page-layer-2.json deleted file mode 100644 index 9491c209a25..00000000000 --- a/src/intl/ca/page-layer-2.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "page-dapps-ready-button": "Accedir-hi" -} diff --git a/src/intl/cs/page-layer-2.json b/src/intl/cs/page-layer-2.json deleted file mode 100644 index 59460ed1e62..00000000000 --- a/src/intl/cs/page-layer-2.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "layer-2-arbitrum-note": "Důkazy podvodu jsou pouze pro uživatele na bílé listině, bílá listina zatím není otevřena", - "layer-2-boba-note": "Ověření státu je ve vývoji", - "layer-2-optimism-note": "Důkazy chyb jsou ve vývoji", - "layer-2-base-note": "V současnosti je systém zabezpečení proti podvodům ve vývoji", - "layer-2-metadata-description": "Úvodní stránka k 2. vrstvě", - "layer-2-hero-title": "Vrstva 2", - "layer-2-hero-header": "Ethereum pro každého", - "layer-2-hero-subtitle": "Škálování Etherea pro masovou adopci.", - "layer-2-hero-alt-text": "Ilustrace transakcí, které jsou zarolovány ve vrstvě 2 a odesílány na hlavní síť Ethereum", - "layer-2-hero-button-1": "Co je vrstva 2", - "layer-2-hero-button-2": "Použijte vrstvu 2", - "layer-2-hero-button-3": "Přesuňte se do vrstvy 2", - "layer-2-statsbox-1": "TVL je uzamčena ve vrstvě 2 (USD)", - "layer-2-statsbox-2": "Průměrný poplatek za převod vrstvy 2 ETH (USD)", - "layer-2-statsbox-3": "Změna vrstvy 2 TVL (30 dní)", - "layer-2-what-is-layer-2-title": "Co je vrstva 2?", - "layer-2-what-is-layer-2-1": "Vrstva 2 (L2) je souhrnný termín pro popis specifické sady škálovacích řešení Etherea. Vrstva 2 je samostatný blockchain, který rozšiřuje Ethereum a dědí bezpečnostní principy Etherea.", - "layer-2-what-is-layer-2-2": "Nyní se do tématu ponoříme trochu hlouběji. Na to je třeba nejprve vysvětlit vrstvu 1 (L1).", - "layer-2-what-is-layer-1-title": "Co je vrstva 1?", - "layer-2-what-is-layer-1-1": "Vrstva 1 je základní blockchain. Ethereum i Bitcoin jsou blockchainy vrstvy 1, protože jsou základem, na kterém staví různé sítě vrstvy 2. Příklady projektů vrstvy 2 zahrnují „rollupy“ na Ethereu a Lightning Network na Bitcoinu. Veškerá transakční aktivita uživatelů na těchto projektech vrstvy 2 se může nakonec vrátit na blockchain vrstvy 1.", - "layer-2-what-is-layer-1-2": "Ethereum také funguje jako vrstva dostupnosti dat pro vrstvu 2. Projekty vrstvy 2 odešlou své transakční údaje do Etherea, spoléhají se na dostupnost dat Etherea. Tato data mohou být použita k získávání stavu vrstvy 2, nebo ke zpochybnění transakcí vrstvy 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum jako vrstva 1 zahrnuje:", - "layer-2-what-is-layer-1-list-1": "Síť operátorů uzlů k zabezpečení a ověření sítě", - "layer-2-what-is-layer-1-list-2": "Síť výrobců bloků", - "layer-2-what-is-layer-1-list-3": "Samotný blockchain a historii transakčních dat", - "layer-2-what-is-layer-1-list-4": "Mechanismus konsenzu pro síť", - "layer-2-what-is-layer-1-list-link-1": "Jste stále zmateni z Etherea?", - "layer-2-what-is-layer-1-list-link-2": "Zjistěte, co Ethereum je.", - "layer-2-why-do-we-need-layer-2-title": "Proč potřebujeme vrstu 2?", - "layer-2-why-do-we-need-layer-2-1": "Tři žádoucí vlastnosti blockchainu jsou, že je decentralizovaný, bezpečný a škálovatelný. Blockchainové trilema uvádí, že jednoduchou blockchainovou architekturou lze dosáhnout pouze dvou ze tří vlastností. Chcete bezpečný a decentralizovaný blockchain? Musíte obětovat škálovatelnost.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum aktuálně zpracovává více než milion transakcí za den. Poptávka po používání Etherea může způsobit, že ceny transakčních poplatků budou vysoké. Zde přicházejí na řadu sítě vrstvy 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Škálovatelnost", - "layer-2-why-do-we-need-layer-2-scalability-1": "Hlavním cílem vrstvy 2 je zvýšit propustnost transakcí (více transakcí za sekundu) bez snížení decentralizace nebo bezpečnosti.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Hlavní síť (vrstva 1) Etherea je schopna zpracovat pouze přibližně 15 transakcí za sekundu. Když je poptávka po používání Etherea vysoká, síť se zahltí, což zvyšuje transakční poplatky a tím pádem znemožňuje použití uživatelům, kteří si tyto poplatky nemohou dovolit. Vrstvy 2 jsou řešení, které snižují tyto poplatky zpracováním transakcí mimo blockchain vrstvy 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Více o vizi Etherea", - "layer-2-benefits-of-layer-2-title": "Přínosy vrstvy 2", - "layer-2-lower-fees-title": "Nižší poplatky", - "layer-2-lower-fees-description": "Kombinací více off-chain transakcí do jediné transakce vrstvy 1 jsou transakční poplatky výrazně sníženy, čímž je Ethereum dostupnější pro všechny.", - "layer-2-maintain-security-title": "Udržuje bezpečnost", - "layer-2-maintain-security-description": "Blockchainy vrstvy 2 vypořádávají své transakce na hlavní síť Ethereum, což uživatelům přináší výhody bezpečnosti sítě Ethereum.", - "layer-2-expand-use-cases-title": "Rozšíří případy použití", - "layer-2-expand-use-cases-description": "Díky vyšším transakcím za sekundu, nižším poplatkům a nové technologii se projekty rozšíří do nových aplikací s lepší uživatelskou zkušeností.", - "layer-2-how-does-layer-2-work-title": "Jak funguje vrstva 2?", - "layer-2-how-does-layer-2-work-1": "Jak jsme zmínili výše, vrstva 2 je souhrnné označení pro škálovací řešení Etherea, která zpracovávají transakce mimo vrstvu 1 Etherea a přitom stále využívají robustní decentralizované zabezpečení vrstvy 1 Etherea. Vrstva 2 je samostatný blockchain, který rozšiřuje Ethereum. Jak to funguje?", - "layer-2-how-does-layer-2-work-2": "Existuje několik různých typů vrstvy 2, z nichž každý má svá vlastní specifika a bezpečnostní modely. Vrstva 2 odstraňuje transakční zátěž vrstvy 1, což umožňuje, aby se méně zahlcovala a veškerá aktivita byla škálovatelnější.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Rollup (nebo „roll up“) seskupí stovky transakcí do jediné transakce ve vrstvě 1. Díky tomu se transakční poplatky vrstvy 1 rozdělí mezi všechny účastníky transakce, takže je ve výsledku pro každého uživatele levnější.", - "layer-2-rollups-2": "Data transakcí v rollupu se předávají na 1. vrstvu, ale provedení se provádí samostatně pomocí rollupu. Předáním transakčních dat na 1. vrstvu rollupy dědí bezpečnost Etherea. Je to proto, že jakmile jsou data odeslána na 1. vrstvu, vrácení transakce rollupu vyžaduje vrácení Etherea. Existují dva různé přístupy k rollupům: optimistický a zero-knowledge - liší se především způsobem, jakým jsou tato transakční data odesílána na 1. vrstvu.", - "layer-2-optimistic-rollups-title": "Optimistický rollup", - "layer-2-optimistic-rollups-description": "Optimistické rollupy jsou „optimistické“ v tom smyslu, že se transakce považují za platné, ale v případě potřeby je lze zpochybnit. Pokud existuje podezření na neplatnou transakci, je spuštěna kontrola chyb, aby se zjistilo, zda k tomu došlo.", - "layer-2-optimistic-rollups-childSentance": "Více o optimistických rollupech", - "layer-2-zk-rollups-title": "Nulový přístup rollups", - "layer-2-zk-rollups-description": "Přístup k rollupům s nulovou znalostí používá důkazy platnosti, kde jsou transakce počítány mimo řetězec a poté jsou komprimovaná data dodávána do hlavní sítě Ethereum jako důkaz jejich platnosti.", - "layer-2-zk-rollups-childSentance": "Více o ZK-rollupech", - "layer-2-dyor-title": "Udělejte si vlastní průzkum: rizika vrstvy 2", - "layer-2-dyor-1": "Hodně projektů na vrstvě 2 je relativně nových a je třeba, aby jejich uživatelé důvěřovali prostředníkům, kteří pracují na decentralizaci svých sítí. Vždy dělejte svůj vlastní výzkum, abyste se rozhodli, zda jste ochotni přijmout související rizika.", - "layer-2-dyor-2": "Pro více informací o použitých technologiích, rizicích a s tím spojenou mírou důvěry na vrstvách 2 doporučujeme podívat se na web L2BEAT, který poskytuje komplexní hodnocení rizik každého projektu.", - "layer-2-dyor-3": "Navštívit L2BEAT", - "layer-2-use-layer-2-title": "Použijte vrstvu 2", - "layer-2-use-layer-2-1": "Teď, když chápete, proč existuje vrstva 2 a jak funguje, podíváme se na praktické využití!", - "layer-2-contract-accounts": "Pokud používáte peněženku pro chytré kontrakty, jako je Safe nebo Argent, nebudete mít kontrolu nad svojí adresou na vrstvě 2, dokud znovu nevydeployujete svůj kontraktový účet na tuto adresu na vrstvě 2. Klasické účty s frází pro obnovení budou automaticky vlastnit stejný účet na všech sítích vrstvy 2.", - "layer-2-use-layer-2-generalized-title": "Zobecněné vrstvy 2", - "layer-2-use-layer-2-generalized-1": "Zobecněné vrstvy 2 se chovají úplně stejně jako Ethereum – ale levněji. Cokoli, co můžete dělat na vrstvě 1 Etherea, můžete dělat i na vrstvě 2. Hodně dappek už začalo na tyto sítě migrovat nebo úplně vynechali hlavní síť, aby svůj projekt spustili rovnou na vrstvě 2.", - "layer-2-use-layer-2-application-specific-title": "Aplikačně specifická vrstva 2", - "layer-2-use-layer-2-application-specific-1": "Aplikačně specifická vrstva 2 jsou projekty, které se specializují na optimalizaci pro konkrétní aplikační prostor a přináší lepší výkonost.", - "layer-2-sidechains-title": "Poznámka k sidechainům, validiům a alternativním blockchainům", - "layer-2-sidechains-1": "Sidechainy a validia jsou blockchainy, které umožňují vzít aktiva z Etherea a použít je na jiném blockchainu. Sidechainy a validia běží paralelně s Ethereem a interagují s ním prostřednictvím tzv. mostů, ale jejich bezpečnost ani dostupnost dat není odvozena od Etherea.", - "layer-2-sidechains-2": "Jsou škálované podobně jako vrstva 2 – nabízejí nižší poplatky za transakce a vyšší propustnost transakcí – ale mají odlišnou míru předpokládané důvěry.", - "layer-2-more-on-sidechains": "Další informace o sidechainech", - "layer-2-more-on-validiums": "Další informace o validiích", - "layer-2-sidechains-4": "Některé blockchainy vrstvy 1 uvádějí vyšší propustnost a nižší transakční poplatky než Ethereum, ale obecně platí, že mají jiné nevýhody, například větší hardwarové požadavky na provoz síťových uzlů.", - "layer-2-onboard-title": "Jak se dostat na vrstvu 2", - "layer-2-onboard-1": "Existují dva hlavní způsoby, jak dostat svá aktiva na vrstvu 2: Přemostit prostředky z Etherea prostřednictvím smart kontraktu, nebo vybrat prostředky na burze přímo na síť vrstvy 2.", - "layer-2-onboard-wallet-title": "Zůstatek v peněžence?", - "layer-2-onboard-wallet-1": "Jestli už máte ETH v peněžence, budete muset k přesunutí z hlavní sítě Ethereum do vrstvy 2 použít přemostění.", - "layer-2-more-on-bridges": "Další informace o přemostění", - "layer-2-onboard-wallet-input-placeholder": "Vyberte vrstvu 2, ke které chcete přemostit", - "layer-2-onboard-wallet-selected-1": "Můžete se připojit", - "layer-2-onboard-wallet-selected-2": "pomocí těchto peněženek:", - "layer-2-bridge": "Přemostění", - "layer-2-onboard-exchange-title": "Prostředky na burze?", - "layer-2-onboard-exchange-1": "Některé centralizované burzy nabízejí přímé výběry a vklady na vrstvu 2. Podívejte se, které burzy podporují výběry z vrstvy 2 a které vrstvy 2 to jsou.", - "layer-2-onboard-exchange-2": "Budete také potřebovat peněženku, do které budete moci vybírat své prostředky.", - "layer-2-onboard-find-a-wallet": "Vyberte si svoji Ethereum peněženku.", - "layer-2-onboard-exchange-input-placeholder": "Podívejte se, které směnárny podporují vrstvy 2", - "layer-2-deposits": "Vklady", - "layer-2-withdrawals": "Výběry", - "layer-2-go-to": "Navštívit", - "layer-2-tools-title": "Nástroje k efektivnímu používání vrstev 2", - "layer-2-tools-l2beat-description": "L2BEAT je skvělým zdrojem technických hodnocení rizik projektů vrstvy 2. Doporučujeme podívat se na jejich zdroje, pokud chcete zjistit další informace o konkrétních projektech vrstvy 2.", - "layer-2-tools-growthepie-description": "Vybrané analýzy druhých vrstev Etherea", - "layer-2-tools-ethereumecosystem-description": "Neoficiální stránka ekosystému Etherea a jeho druhé vrstvy včetně projektů Base, Optimism a Starknet se stovkami decentralizovaných aplikací a nástrojů.", - "layer-2-tools-l2fees-description": "L2 Fees vám umožňuje zobrazit aktuální náklady (v USD) za provádění transakcí na různých vrstvách 2.", - "layer-2-tools-chainlist-description": "Chainlist je skvělý nástroj pro importování síťových RPC do podporovaných peněženek. Poskytuje RPC pro projekty vrstvy 2, které vám pomohou připojit se.", - "layer-2-tools-zapper-description": "Spravujte své web3 portfolio od DeFi přes NFT až po cokoliv, co nám budoucnost přinese. Investujte do nových příležitostí z jednoho pohodlného místa.", - "layer-2-tools-zerion-description": "Sestavte a spravujte celé své DeFi portfolio z jednoho místa. Objevte svět decentralizovaných financí.", - "layer-2-tools-debank-description": "Nenechte si ujít nic z dění ve světě web3", - "layer-2-faq-title": "Časté dotazy", - "layer-2-faq-question-1-title": "Proč neexistuje \"oficiální\" vrstva 2 Etherea?", - "layer-2-faq-question-1-description-1": "Stejně jako neexistuje \"oficiální\" klient pro Ethereum, neexistuje ani \"oficiální\" vrstva 2 Etherea. Ethereum je \"bez povolení\" – technicky si každý může vytvořit svoji vrstvu 2! Pokud implementuje svou verzi vrstvy 2 hned několik týmů současně, ekosystém jako celek bude prosperovat z odlišných přístupů optimalizovaných pro různé použití. Podobně jako máme několik klientů na Ethereu, které vyvinulo několik týmů, aby byla v síti zachována rozmanitost, stejně tak se bude v budoucnosti vyvíjet i směřování vrstev 2.", - "layer-2-faq-question-2-title": "Jaký je rozdíl mezi optimistickými rollupy a rollupy s nulovou znalostí?", - "layer-2-faq-question-2-description-1": "Jak optimistické, tak rollupy s nulovou znalostí balí (nebo \"rolují\") stovky transakcí do jediné transakce na vrstvě 1. Transakce rollupu se provádějí mimo vrstvu 1, ale data o transakcích se zapisují na vrstvu 1.", - "layer-2-faq-question-2-description-2": "Hlavní rozdíl spočívá v tom, jaká data se zapisují na vrstvu 1 a jak jsou tato data ověřována. Důkazy o platnosti (které používají rollupy s nulovou znalostí) provádějí výpočty mimo blockchain a zapisují důkaz, zatímco důkazy o chybách (používané optimistickými rollupy) provádějí výpočty pouze na blockchainu, pokud je podezření na chybu, a musí být ověřovány.", - "layer-2-faq-question-2-description-3": "V současné době je většina rollupů s nulovou znalostí specifická pro určité aplikace, na rozdíl od optimistických rollupů, které jsou z velké části obecné.", - "layer-2-more-info-on-optimistic-rollups": "Další informace o optimistických rollupech", - "layer-2-more-info-on-zk-rollups": "Další informace o rollupech s nulovou znalostí", - "layer-2-faq-question-4-title": "Jaká jsou rizika vrstvy 2?", - "layer-2-faq-question-4-description-1": "Projekty na vrstvě 2 nesou dodatečné riziko ve srovnání s držením prostředků a prováděním transakcí přímo na hlavní síti Ethereum. Například sekvencery mohou selhat, což znamená delší čekání na přístup k finančním prostředkům.", - "layer-2-faq-question-4-description-2": "Důrazně vám doporučujeme udělat svůj vlastní průzkum před převodem významných finančních prostředků na vrstvu 2. Pro více informací o technologii, rizicích a s tím souvisejícím předpokladem důvěryhodnosti vrstev 2 doporučujeme navštívit projekt L2BEAT, který nabízí komplexní rámec pro hodnocení rizik každého projektu.", - "layer-2-faq-question-4-description-3": "Přemostění blockchainů, která usnadňují přesun aktiv do vrstvy 2, jsou v rané fázi vývoje a je pravděpodobné, že ideální návrh ještě nebyl objeven. Nedávno došlo khacknutí přemostění.", - "layer-2-faq-question-5-title": "Proč tu některé projekty vrstvy 2 nejsou uvedeny?", - "layer-2-faq-question-5-description-1": "Chceme mít jistotu, že zde uvádíme nejlepší možné zdroje, aby uživatelé mohli prostor vrstvy 2 využívat bezpečně a sebevědomě. Máme vlastní rámec kritérií pro hodnocení projektů k zařazení na tento web.", - "layer-2-faq-question-5-view-listing-policy": "Naši politiku zařazování projektů vrstvy 2 na tento web najdete tady.", - "layer-2-faq-question-5-description-2": "Kdokoli může navrhnout přidání konkrétní vrstvy 2 na web ethereum.org. Pokud jsme nějakou vynechali, prosím, navrhněte ji.", - "layer-2-further-reading-title": "Další informace", - "a-rollup-centric-ethereum-roadmap": "Souhrnný plán pro Ethereum s důrazem na rollupy", - "polygon-sidechain-vs-ethereum-rollups": "Polygon sidechainy versus Ethereum rollupy: Přístup ke škálování na vrstvě 2 | Vitalik Buterin a Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUPs - Ultimátní strategie pro škálování Etherea? Vysvětlení Arbitra a Optimismu", - "scaling-layer-1-with-shard-chains": "Škálování vrstvy 1 pomocí shard chainů", - "understanding-rollup-economics-from-first-principals": "Pochopení ekonomiky rollupů od prvních principů", - "arbitrum-description": "Arbitrum One je optimistický rollup, jehož cílem je vyvolat stejný pocit jako při interakci s Ethereem, ale transakce stojí zlomek toho, co na L1.", - "optimism-description": "Optimismus je rychlý, jednoduchý a bezpečný optimistický rollup ekvivalentní s EVM. Škáluje technologii Etherea a zároveň škáluje jeho hodnoty prostřednictvím zpětného financování veřejných statků.", - "boba-description": "Boba je optimistický rollup původně vytvořený forkem Optimism, což je škálovací řešení, jehož cílem je snížit transakční poplatky, zvýšit propustnost transakcí a rozšířit možnosti chytrých kontaktů.", - "base-description": "Base je bezpečná, levná a pro vývojáře přívětivá druhá vrstva Etherea vytvořená tak, aby umožnila vstup do web3 další miliardě uživatelů. Jedná se o druhou vrstvu Etherea, inkubovanou Coinbase a postavenou na open-source OP stacku.", - "loopring-description": "Řešení vrstvy 2 s nulovou znalostí od Loopringu si klade za cíl nabídnout stejné záruky zabezpečení jako hlavní síť Ethereum s významným zvýšením škálovatelnosti: propustnost transakcí se zvýšila 1 000× a náklady se snížily na pouhých 0,1 % L1.", - "zksync-description": "zkSync je ZK Rollup, jehož cílem je škálovat Ethereum a jeho hodnoty za účelem masové adopce bez kompromisů na úkor bezpečnosti nebo decentralizace.", - "zkspace-description": "Platforma ZKSpace se skládá ze tří hlavních částí: AMM DEX vrstva 2 využívající technologii ZK-Rollups nazvanou ZKSwap, platební služba nazvaná ZKSquare a NFT tržiště s názvem ZKSea.", - "aztec-description": "Aztec Network je první privátní rollup s nulovou znalostí na Ethereu, který umožňuje decentralizovaným aplikacím soukromí a škálování.", - "starknet-description": "Starknet je Validity Rollup Layer 2. Má vysokou propustnost, nízké náklady na transakce a zachovává úroveň zabezpečení první vrstvy Etherea.", - "layer-2-note": "Poznámka:", - "layer-2-ecosystem-portal": "Portál ekosystému", - "layer-2-token-lists": "Seznamy tokenů", - "layer-2-explore": "Prozkoumejte", - "page-dapps-ready-button": "Přejít" -} diff --git a/src/intl/de/page-layer-2.json b/src/intl/de/page-layer-2.json deleted file mode 100644 index 89261870a60..00000000000 --- a/src/intl/de/page-layer-2.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "layer-2-arbitrum-note": "Betrugsbeweise nur für Whitelist-Benutzer, Whitelist noch nicht geöffnet", - "layer-2-boba-note": "Statusüberprüfung in der Entwicklung", - "layer-2-optimism-note": "Fehlernachweise in der Entwicklung", - "layer-2-base-note": "Das Betrugsbeweissystem befindet sich momentan in Entwicklung", - "layer-2-metadata-description": "Einführungsseite für Layer 2", - "layer-2-hero-title": "Ebene 2", - "layer-2-hero-header": "Ethereum für jedermann", - "layer-2-hero-subtitle": "Skalierung von Ethereum für die Massenanwendung.", - "layer-2-hero-alt-text": "Darstellung von Transaktionen, die in Layer 2 (die zweite Ebene von Ethereum) zusammengefasst und im Ethereum Mainnet veröffentlicht werden", - "layer-2-hero-button-1": "Was ist Ebene 2", - "layer-2-hero-button-2": "Ebene 2 verwenden", - "layer-2-hero-button-3": "Zu Ebene 2 verschieben", - "layer-2-statsbox-1": "TVL in Ebene 2 (USD) gesperrt", - "layer-2-statsbox-2": "Durchschnittliche Ebene 2 ETH Transfergebühr (USD)", - "layer-2-statsbox-3": "Ebene 2 TVL Änderung (30 Tage)", - "layer-2-what-is-layer-2-title": "Was ist Ebene 2?", - "layer-2-what-is-layer-2-1": "Layer 2 (L2) ist ein Sammelbegriff, um bestimmte Skalierungslösungen für Ethereum zu beschreiben. Eine Layer 2 ist eine separate Blockchain, die Ethereum erweitert und die Sicherheitsgarantien von Ethereum erbt.", - "layer-2-what-is-layer-2-2": "Gehen wir nun etwas tiefer in die Materie ein. Dazu müssen wir zunächst die Ebene 1 (L1) erklären.", - "layer-2-what-is-layer-1-title": "Was ist Ebene 1?", - "layer-2-what-is-layer-1-1": "Ebene 1 ist die grundlegende Blockchain. Ethereum und Bitcoin gelten beide als Blockchains von Ebene 1, da sie die zugrunde liegende Basis bilden, auf der verschiedene Ebene-2-Netzwerke aufbauen. Beispiele für Ebene-2-Projekte sind die ''Rollups'' auf Ethereum und das Lightning-Netzwerk auf Bitcoin. Alle Benutzertransaktionsaktivitäten in diesen Ebene-2-Projekten können letztendlich auf die Ebene-1-Blockchain zurückgeführt werden.", - "layer-2-what-is-layer-1-2": "Ethereum funktioniert auch als eine Datenverfügbarkeits-Ebene für Layer 2s. Layer-2-Projekte posten ihre Transaktionsdaten auf Ethereum und verlassen sich dabei auf Ethereum für die Datenverfügbarkeit. Diese Daten können verwendet werden, um den Zustand der Layer 2 abzufragen oder um Transaktionen auf der Layer 2 abzustreiten.", - "layer-2-what-is-layer-1-list-title": "Ethereum als Ebene 1 umfasst:", - "layer-2-what-is-layer-1-list-1": "Ein Netzwerk von Knoten-Betreibern zur Sicherung und Validierung des Netzwerks", - "layer-2-what-is-layer-1-list-2": "Ein Netzwerk von Blockproduzenten", - "layer-2-what-is-layer-1-list-3": "Die Blockchain selbst und der Verlauf der Transaktionsdaten", - "layer-2-what-is-layer-1-list-4": "Der Konsensmechanismus für das Netzwerk", - "layer-2-what-is-layer-1-list-link-1": "Sie haben noch Fragen zu Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Lernen Sie Ethereum näher kennen.", - "layer-2-why-do-we-need-layer-2-title": "Warum brauchen wir Ebene 2?", - "layer-2-why-do-we-need-layer-2-1": "Drei wünschenswerte Merkmale einer Blockchain sind Dezentralisierung, Sicherheit und Skalierbarkeit. Das Blockchain-Trilemma besagt jedoch, dass eine einfache Blockchain-Architektur nur zwei von drei dieser Merkmale erfüllen kann. Wenn Sie eine sichere und dezentralisierte Blockchain wünschen, müssen Sie auf Skalierbarkeit verzichten.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum verarbeitet aktuell mehr als eine Million Transaktionen täglich. Aufgrund der hohen Nachfrage nach Ethereum können die Transaktionsgebühren hoch sein. Hier setzen die Layer-2-Netzwerke an.", - "layer-2-why-do-we-need-layer-2-scalability": "Skalierbarkeit", - "layer-2-why-do-we-need-layer-2-scalability-1": "Das Hauptziel von Ebene 2 besteht darin, den Transaktionsdurchsatz (höhere Transaktionen pro Sekunde) zu steigern, ohne die Dezentralisierung oder Sicherheit zu beeinträchtigen.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Das Ethereum-Mainnet (Layer 1) kann nur ca. 15 Transaktionen pro Sekunde verarbeiten. Wenn die Nachfrage nach Ethereum hoch ist, wird das Netzwerk überlastet. Dann steigen die Transaktionsgebühren und die Preise werden zu hoch für Benutzer, die sich diese Gebühren nicht leisten können. Layer 2s sind Lösungen, durch die diese Gebühren verringert werden, indem Transaktion außerhalb der Layer-1-Blockchain verarbeitet werden.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Weitere Informationen zur Vision von Ethereum", - "layer-2-benefits-of-layer-2-title": "Vorteile von Layer 2", - "layer-2-lower-fees-title": "Geringere Gebühren", - "layer-2-lower-fees-description": "Durch die Zusammenfassung mehrerer Off-Chain-Transaktionen zu einer einzigen Layer-1-Transaktion lassen sich die Transaktionsgebühren erheblich senken, wodurch Ethereum für alle erschwinglicher wird.", - "layer-2-maintain-security-title": "Aufrechterhaltung der Sicherheit", - "layer-2-maintain-security-description": "Layer-2-Blockchains wickeln ihre Transaktionen über das Ethereum-Mainnet ab, wodurch die Nutzer von der Sicherheit des Ethereum-Netzwerks profitieren.", - "layer-2-expand-use-cases-title": "Erweiterung der Anwendungsmöglichkeiten", - "layer-2-expand-use-cases-description": "Dank des höheren Transaktionsdurchsatzes, geringerer Gebühren und neuer Technologien werden sich die Projekte auf neue und benutzerfreundlichere Anwendungen ausweiten.", - "layer-2-how-does-layer-2-work-title": "Wie funktioniert Layer 2?", - "layer-2-how-does-layer-2-work-1": "Wie oben erwähnt, ist Ebene 2 ein Sammelbegriff für Ethereum-Skalierungslösungen, die Transaktionen außerhalb der Ebene 1 von Ethereum verarbeiten, während sie gleichzeitig von der soliden dezentralen Sicherheit der Ebene 1 von Ethereum profitieren. Eine Ebene 2 ist eine eigenständige Blockchain, die Ethereum erweitert. Wie funktioniert das?", - "layer-2-how-does-layer-2-work-2": "Es gibt verschiedene Arten von Ebene 2, die jeweils ihre eigenen Kompromisse und Sicherheitsmodelle haben. Die Ebene 2-Lösungen nehmen die Transaktionslast von der Ebene 1 weg. Dadurch ist diese weniger überlastet und alles wird skalierbarer.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Rollups bündeln Hunderte von Transaktionen in einer einzigen Transaktion auf der Ebene 1. Dadurch werden die L1-Transaktionsgebühren auf alle Teilnehmer am Rollup verteilt, was für jeden Nutzer günstiger ist.", - "layer-2-rollups-2": "Die Transaktionsdaten im Rollup werden an Layer 1 übermittelt, aber die Ausführung erfolgt separat durch den Rollup. Durch die Übermittlung von Transaktionsdaten an Layer 1 erben Rollups die Sicherheit von Ethereum. Sobald die Daten auf Layer 1 hochgeladen werden, kann eine Rollup-Transaktion nur noch rückgängig gemacht werden, wenn Ethereum rückgängig gemacht wird. Es gibt zwei verschiedene Ansätze für Rollups: Optimistic und Zero-Knowledge – sie unterscheiden sich vor allem darin, in welcher Form diese Transaktionsdaten an die L1 übermittelt werden.", - "layer-2-optimistic-rollups-title": "Optimistic Rollups", - "layer-2-optimistic-rollups-description": "Optimistische Rollups sind \"optimistisch\" in dem Sinne, dass Transaktionen als gültig angenommen werden, bei Bedarf jedoch angefochten werden können. Wird eine ungültige Transaktion vermutet, wird eine Fehlerkontrolle durchgeführt, um festzustellen, ob diese stattgefunden hat.", - "layer-2-optimistic-rollups-childSentance": "Weitere Informationen zu Optimistic-Rollups", - "layer-2-zk-rollups-title": "Zero-Knowledge-Rollups", - "layer-2-zk-rollups-description": "Zero-Knowledge-Rollups verwenden Validitätsnachweise, bei denen Transaktionen off-chain, also außerhalb der Chain, ausgewertet und dem Ethereum-Mainnet komprimierte Daten als Nachweis der Gültigkeit geliefert werden.", - "layer-2-zk-rollups-childSentance": "Weitere Informationen zu Zero-Knowledge-Rollups", - "layer-2-dyor-title": "Recherchieren Sie selbst: Risiken von Layer 2", - "layer-2-dyor-1": "Viele Ebene 2-Projekte sind noch relativ jung und erfordern von den Nutzern, dass sie sich auf die Ehrlichkeit der Betreiber verlassen, die noch an der Dezentralisierung ihrer Netzwerke arbeiten. Sie sollten immer selbst recherchieren, um zu entscheiden, ob Sie die damit verbundenen Risiken eingehen wollen.", - "layer-2-dyor-2": "Weitere Informationen zur Technologie, zu Risiken und zu Vertrauensannahmen von Layer 2s empfehlen wir L2BEAT, wo zu jedem Projekt ein umfassendes Framework für Risikobewertung bereitgestellt wird.", - "layer-2-dyor-3": "Wechsel zu L2BEAT", - "layer-2-use-layer-2-title": "Verwendung von Layer 2", - "layer-2-use-layer-2-1": "Sie wissen nun, warum Layer 2 existiert und wie diese Ebene funktioniert. Legen wir los!", - "layer-2-contract-accounts": "Wenn Sie eine Smart-Contract-Wallet wie Safe oder Argent verwenden, haben Sie erst Kontrolle über diese Adresse auf einer Layer 2, wenn Sie Ihr Vertragskonto auf diese Adresse auf der Layer 2 umstellen. Klassische Konten mit einem Wiederherstellungssatz besitzen automatisch dasselbe Konto auf allen Layer-2-Netzwerken.", - "layer-2-use-layer-2-generalized-title": "Allgemeine Layer-2-Projekte", - "layer-2-use-layer-2-generalized-1": "Generalisierte Layer 2s funktionieren genau wie Ethereum — nur günstiger. Alles, was Sie auf Ethereums Layer 1 tun können, können Sie auch auf Layer 2 tun. Viele DApps haben bereits mit der Migration zu diesen Netzwerken begonnen oder haben das Mainnet ganz übersprungen, um Projekte direkt auf einer Layer 2 zu entwickeln.", - "layer-2-use-layer-2-application-specific-title": "Anwendungsspezifische Layer-2-Projekte", - "layer-2-use-layer-2-application-specific-1": "Anwendungsspezifische Layer-2-Blockchains sind Projekte, die auf die Optimierung eines bestimmten Anwendungsbereichs abgestimmt sind und dadurch eine bessere Performance besitzen.", - "layer-2-sidechains-title": "Hinweise zu Sidechains, Validiums und alternativen Blockchains", - "layer-2-sidechains-1": "Sidechains und Validiums sind Blockchains, die es ermöglichen, dass Vermögenswerte von Ethereum überbrückt und auf einer anderen Blockchain genutzt werden. Sidechains und Validiums werden parallel mit Ethereum ausgeführt und interagieren mit Ethereum über Brücken, aber diese beziehen ihre Sicherheit oder Datenverfügbarkeit nicht von Ethereum.", - "layer-2-sidechains-2": "Die Skalierung sowohl von Sidechains als auch Validiums erfolgt ähnlich wie bei Layer-2-Blockchains – bei geringeren Transaktionsgebühren und einem höheren Transaktionsdurchsatz, jedoch anderen Vertrauensannahmen.", - "layer-2-more-on-sidechains": "Weitere Informationen zu Sidechains", - "layer-2-more-on-validiums": "Weitere Informationen zur Validiums", - "layer-2-sidechains-4": "Einige Ebene 1-Blockchains weisen einen höheren Durchsatz und niedrigere Transaktionsgebühren als Ethereum auf, allerdings in der Regel mit Abstrichen an anderer Stelle, z. B. höheren Hardware-Anforderungen für den Betrieb von Nodes.", - "layer-2-onboard-title": "So gelangen Sie zu Layer 2", - "layer-2-onboard-1": "Für die Übertragung von Guthaben in ein Layer-2-Netzwerk gibt es zwei primäre Methoden: Überbrücken des Guthabens aus Ethereum über einen Smart Contract oder Abheben des Guthabens an einer Börse und Übertragen in das Layer-2-Netzwerk.", - "layer-2-onboard-wallet-title": "Guthaben im Wallet?", - "layer-2-onboard-wallet-1": "Zur Übertragung Ihrer ETH in Ihrem Wallet benötigen Sie eine Brücke, um Ihr Guthaben vom Ethereum-Mainnet auf Layer 2 zu verschieben.", - "layer-2-more-on-bridges": "Weitere Informationen zu Brücken", - "layer-2-onboard-wallet-input-placeholder": "Wählen Sie die L2 aus, zu der Sie überbrücken wollen.", - "layer-2-onboard-wallet-selected-1": "Sie können sich mit den folgenden Wallets mit", - "layer-2-onboard-wallet-selected-2": "verbinden:", - "layer-2-bridge": "Brücke", - "layer-2-onboard-exchange-title": "Guthaben an einer Börse?", - "layer-2-onboard-exchange-1": "Einige zentralisierte Börsen bieten nun Auszahlungen und Einzahlungen direkt auf Layer 2 an. Informieren Sie sich, welche Börsen Layer-2-Auszahlungen anbieten und welchen Layer 2 sie unterstützen.", - "layer-2-onboard-exchange-2": "Außerdem benötigen Sie eine Wallet, auf die Sie Ihr Guthaben transferieren.", - "layer-2-onboard-find-a-wallet": "Finden Sie eine Wallet für Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Informieren Sie sich, welche Börsen Layer 2 unterstützen.", - "layer-2-deposits": "Einzahlungen", - "layer-2-withdrawals": "Auszahlungen", - "layer-2-go-to": "Gehe zu", - "layer-2-tools-title": "Tools für mehr Effizienz auf Layer 2", - "layer-2-tools-l2beat-description": "L2BEAT ist eine hervorragende Ressource für technische Risikobewertungen von Layer-2-Projekten. Wir empfehlen, sich bei der Suche nach bestimmten Layer-2-Projekten hier schlau zu machen.", - "layer-2-tools-growthepie-description": "Ausgewählte Analysen von Layer 2s auf Ethereum", - "layer-2-tools-ethereumecosystem-description": "Inoffizielle Ecosystem-Seite von Ethereum und seiner Layer 2s, einschließlich Base, Optimism und Starknet, mit Hunderten DApps und Werkzeugen.", - "layer-2-tools-l2fees-description": "Auf L2 Fees finden Sie eine Übersicht über die aktuellen Transaktionskosten auf verschiedenen Layer-2-Ebenen (in USD).", - "layer-2-tools-chainlist-description": "Chainlist ist eine großartige Ressource für den Import von Netzwerk-RPCs in konforme Wallets. Hier finden Sie RPCs für Layer-2-Projekte, die Ihnen beim Verbindungsaufbau helfen.", - "layer-2-tools-zapper-description": "Verwalten Sie Ihr gesamtes web3-Portfolio, von DeFi bis NFTs und was an Neuem noch kommen mag. Investieren Sie in die neuesten Features – bequem von einer Plattform aus.", - "layer-2-tools-zerion-description": "Erstellen und verwalten Sie Ihr gesamtes DeFi-Portfolio an einem zentralen Ort und entdecken Sie dabei schon heute die Welt der dezentralen Finanzen.", - "layer-2-tools-debank-description": "Bleiben Sie stets informiert über alle wichtigen Ereignisse in der Web3-Welt.", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Warum gibt es keinen „offiziellen“ Layer 2 für Ethereum?", - "layer-2-faq-question-1-description-1": "So wie es keinen „offiziellen“ Ethereum-Client gibt, wird es für Ethereum auch keinen „offiziellen“ Layer 2 geben. Ethereum ist frei zugänglich. Aus technischer Sicht kann daher jeder einen Layer 2 erstellen! So wird es von den verschiedensten Teams jeweils spezifische Layer-2-Versionen mit unterschiedlichen Designansätzen geben, die für individuelle Anwendungsfälle optimiert sind. Davon kann das Ökosystem insgesamt nur profitieren. Genauso wie es verschiedene Ethereum-Clients von den verschiedensten Teams gibt, die im Netzwerk für Diversität sorgen, wird in Zukunft auch eine große Vielfalt an Layer 2 entstehen.", - "layer-2-faq-question-2-title": "Was ist der Unterschied zwischen Optimistic- und Zero-Knowledge-Rollups?", - "layer-2-faq-question-2-description-1": "Sowohl Optimistic- als auch Zero-Knowledge-Rollups bündeln bzw. „rollen“ Hunderte von Transaktionen in einer einzigen Transaktion auf Layer 1. Rollup-Transaktionen werden außerhalb von Layer 1 ausgeführt, die Transaktionsdaten werden jedoch in Layer 1 eingestellt.", - "layer-2-faq-question-2-description-2": "Der größte Unterschied zwischen den beiden Rollup-Methoden besteht darin, welche Daten an Layer 1 übertragen werden und wie die Daten überprüft werden. Bei Zero-Knowledge-Rollups werden die Berechnungen durch Validitätsnachweise außerhalb der Chain durchgeführt und ein Nachweis eingestellt, während bei Optimistic-Rollups Berechnungen durch Fehlernachweise nur bei Verdacht auf einen Fehler durchgeführt werden – dann jedoch innerhalb der Chain.", - "layer-2-faq-question-2-description-3": "Derzeit sind die meisten Zero-Knowledge-Rollups anwendungsspezifisch, während Optimistic-Rollups noch weitgehend allgemein gehalten sind.", - "layer-2-more-info-on-optimistic-rollups": "Weitere Informationen zu Optimistic-Rollups", - "layer-2-more-info-on-zk-rollups": "Weitere Informationen zu Zero-Knowledge-Rollups", - "layer-2-faq-question-4-title": "Welche Risiken birgt Layer 2?", - "layer-2-faq-question-4-description-1": "Layer-2-Projekte ziehen, verglichen mit dem Verwahren von Geldmitteln und dem Abwickeln von Transaktionen direkt auf dem Ethereum-Mainnet, zusätzliche Risiken nach sich. Zum Beispiel können Sequencer zusammenbrechen, was dazu führt, dass Sie warten müssen, bis Sie Zugriff auf Ihre Geldmittel erhalten.", - "layer-2-faq-question-4-description-2": "Wir raten Ihnen, sich gut zu informieren, bevor Sie beträchtliche Mittel in ein Layer-2-Projekt transferieren. Als zuverlässige Informationsquelle zur Technologie, den Risiken und den Vertrauensannahmen einzelner Layer-2-Projekte empfehlen wir Ihnen L2BEAT, das zu jedem Projekt ein umfassendes Framework für die Risikobewertung bereitstellt.", - "layer-2-faq-question-4-description-3": "Blockchain-Brücken, die die Übertragung von Guthaben auf Layer 2 erleichtern, befinden sich noch in einem frühen Entwicklungsstadium. Das optimale Brückendesign gibt es daher vermutlich noch nicht. Erst kürzlich wurden erfolgreiche Angriffe auf Brücken gemeldet.", - "layer-2-faq-question-5-title": "Weshalb sind hier nicht alle Layer-2-Projekte aufgelistet?", - "layer-2-faq-question-5-description-1": "Wir möchten sicherstellen, dass nur die besten Ressourcen aufgelistet werden, denn nur so können sich unsere Nutzer sicher und sorglos im Layer-2 Raum bewegen. Für den Einschluss in unsere Empfehlungen bewerten wir die Projekte nach strengen Rahmenkriterien.", - "layer-2-faq-question-5-view-listing-policy": "Richtlinien für die Aufnahme von Layer-2-Projekten in unsere Liste anzeigen", - "layer-2-faq-question-5-description-2": "Auf Ethereum.org kann jeder die Aufnahme von Layer-2-Projekten vorschlagen. Wenn Sie meinen, dass ein interessantes Layer-2-Projekt fehlt, kontaktieren Sie uns bitte.", - "layer-2-further-reading-title": "Weiterführende Literatur", - "a-rollup-centric-ethereum-roadmap": "Rollup-zentrierte Roadmap für Ethereum", - "an-incomplete-guide-to-rollups": "Leitfaden für Rollups (noch unvollständig)", - "polygon-sidechain-vs-ethereum-rollups": "Polygon-Sidechain vs. Ethereum-Rollups: Skalierungsansätze von Ebene 2| Vitalik Buterin und Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUPS - Die ultimative Skalierungsstrategie für Ethereum? Arbitrum und Optimism erklärt", - "scaling-layer-1-with-shard-chains": "Skalierung von Layer 1 mit Shard Chains", - "understanding-rollup-economics-from-first-principals": "Kennenlernen der Rollup-Ökonomie von den Grundlagen", - "arbitrum-description": "Arbitrum One ist ein optimistisches Rollup, das darauf abzielt, die gleiche Benutzererfahrung zu bieten wie die Interaktion mit Ethereum. Allerdings kosten die Transaktionen einen Bruchteil von L1-Transaktionen.", - "optimism-description": "Optimism ist ein schnelles, einfaches und sicheres EVM-äquivalentes Optimistic-Rollup. Es skaliert die Technologie und die Werte von Ethereum durch rückwirkende Finanzierung öffentlicher Güter.", - "boba-description": "Boba ist ein aus Optimism entstandenes Optimistic-Rollup. Diese Skalierungslösung möchte Gasgebühren reduzieren, den Transaktionsdurchsatz verbessern und die Möglichkeiten von Smart Contracts erweitern.", - "base-description": "Base ist eine sichere, günstige und entwicklerfreundliche Ethereum-L2, die mit dem Ziel entwickelt wurde, die nächste Milliarde an Nutzern zu web3 zu bringen. Es ist eine Ethereum-L2, die von Coinbase erfunden und auf dem Open-Source-OP-Stack entwickelt wurde.", - "loopring-description": "zkRollup L2 von Loopring möchte die gleichen Sicherheitsgarantien wie das Mainnet von Ethereum bieten, dies jedoch bei einem großen Skalierungsschub: Der Durchsatz wurde um das 1000-fache erhöht und die Kosten auf nur 0,1 % von L1 reduziert.", - "zksync-description": "ZKsync ist ein ZK-Rollup, das darauf abzielt, Ethereum und seine Werte für die allgemeine Einführung zu skalieren, ohne Kompromisse bei der Sicherheit oder Dezentralisierung eingehen zu müssen.", - "zkspace-description": "Die ZKSpace Plattform besteht aus drei Hauptkomponenten: einem Ebene 2 AMM DEX mit ZK-Rollup-Technologie namens ZKSwap, einem Zahlungsservice namens ZKSquare und einem NFT-Marktplatz namens ZKSea.", - "aztec-description": "Das Aztec-Netzwerk ist das erste private ZK-Rollup auf Ethereum, das dezentralen Anwendungen Zugang zur Privatsphäre und Skalierung ermöglicht.", - "starknet-description": "Starknet ist ein Validity Rollup Layer 2. Es bietet eine hohe Durchsatzrate, niedrige Gasgebühren und behält das Sicherheitsniveau von Ethereum Layer 1 bei.", - "layer-2-note": "Hinweis:", - "layer-2-ecosystem-portal": "Portal für das Ökosystem", - "layer-2-token-lists": "Token-Listen", - "layer-2-explore": "Entdecken", - "page-dapps-ready-button": "Los" -} diff --git a/src/intl/el/page-layer-2.json b/src/intl/el/page-layer-2.json deleted file mode 100644 index ce89ca10390..00000000000 --- a/src/intl/el/page-layer-2.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "layer-2-arbitrum-note": "Αποδείξεις απάτης μόνο για χρήστες στη λίστα επιτρεπόμενων, η οποία δεν έχει ανοίξει ακόμη", - "layer-2-boba-note": "Κατάσταση επικύρωσης σε εξέλιξη", - "layer-2-optimism-note": "Αποδείξεις σφαλμάτων σε εξέλιξη", - "layer-2-base-note": "Το σύστημα απόδειξης απάτης βρίσκεται επί του παρόντος υπό ανάπτυξη", - "layer-2-metadata-description": "Σελίδα εισαγωγής στο επίπεδο 2", - "layer-2-hero-title": "Επίπεδο 2", - "layer-2-hero-header": "Ethereum για όλους", - "layer-2-hero-subtitle": "Κλιμακωτή αναβάθμιση Ethereum για μαζική υιοθέτηση.", - "layer-2-hero-alt-text": "Εικονογράφηση συναλλαγών στο επίπεδο 2 και δημοσίευση στο κεντρικό δίκτυο Ethereum", - "layer-2-hero-button-1": "Τι είναι", - "layer-2-hero-button-2": "Χρήση", - "layer-2-hero-button-3": "Μετάβαση", - "layer-2-statsbox-1": "Κλειδωμένα TVL στο επίπεδο 2 (USD)", - "layer-2-statsbox-2": "Μέσος όρος κρατήσεων μεταφοράς ETH (USD)", - "layer-2-statsbox-3": "Αλλαγή TVL Επιπέδου 2 (30 ημερών)", - "layer-2-what-is-layer-2-title": "Τι είναι το Επίπεδο 2;", - "layer-2-what-is-layer-2-1": "Το επίπεδο 2 (L2) είναι ένας συλλογικός όρος που περιγράφει ένα συγκεκριμένο σύνολο λύσεων κλιμάκωσης Ethereum. Το επίπεδο 2 είναι μια ξεχωριστή κρυπτοαλυσίδα που επεκτείνει το Ethereum και κληρονομεί τις εγγυήσεις ασφαλείας του.", - "layer-2-what-is-layer-2-2": "Τώρα ας το ψάξουμε λίγο περισσότερο. Για να το κάνουμε αυτό πρέπει αρχικά να εξηγήσουμε το επίπεδο 1 (L1).", - "layer-2-what-is-layer-1-title": "Τι είναι το Επίπεδο 1;", - "layer-2-what-is-layer-1-1": "Το επίπεδο 1 είναι η βασική κρυπτοαλυσίδα. Το Ethereum και το Bitcoin είναι και τα δύο κρυπτοαλυσίδες επιπέδου 1, επειδή αποτελούν το βασικό θεμέλιο που δημιουργούν πάνω σε αυτές διάφορα δίκτυα επιπέδου 2. Παραδείγματα έργων επιπέδου 2 περιλαμβάνουν «πακέτα ενημερώσεως» στο Ethereum και το Lightning Network στο Bitcoin. Όλη η δραστηριότητα συναλλαγών χρήστη σε αυτά τα έργα επιπέδου 2 μπορεί να μεταβιβαστεί στην κρυπτοαλυσίδα επιπέδου 1.", - "layer-2-what-is-layer-1-2": "Το Ethereum λειτουργεί επίσης ως επίπεδο διαθεσιμότητας δεδομένων για τα επίπεδα 2. Αυτά τα L2 δημοσιεύουν τα δεδομένα συναλλαγών τους στο Ethereum, στηριζόμενα στο Ethereum για τη διαθεσιμότητα δεδομένων. Στη συνέχεια, μπορούν να χρησιμοποιηθούν για τη λήψη κατάστασης ή την αμφισβήτηση των συναλλαγών στο επίπεδο 2.", - "layer-2-what-is-layer-1-list-title": "Το Ethereum ως επίπεδο 1 περιλαμβάνει:", - "layer-2-what-is-layer-1-list-1": "Το δίκτυο διαχειριστών κόμβων που ασφαλίζουν και επαληθεύουν το δίκτυο", - "layer-2-what-is-layer-1-list-2": "Το δίκτυο των δημιουργών μπλοκ", - "layer-2-what-is-layer-1-list-3": "Την blockchain και το ιστορικό των δεδομένων συναλλαγών", - "layer-2-what-is-layer-1-list-4": "Τον μηχανισμό συναίνεσης του δικτύου", - "layer-2-what-is-layer-1-list-link-1": "Έχετε απορίες για το Ethereum;", - "layer-2-what-is-layer-1-list-link-2": "Μάθετε τι είναι το Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Γιατί χρειαζόμαστε επίπεδο 2;", - "layer-2-why-do-we-need-layer-2-1": "Οι τρεις ιδιότητες μιας κρυπτοαλυσίδας είναι η αποκέντρωση, η ασφάλεια, και η επεκτασιμότητα. Το τρίλλημα της κρυπτοαλυσίδας δηλώνει ότι μια απλή αρχιτεκτονική των κρυπτοαλυσίδων μπορεί να επιτύχει μόνο δύο από τις τρεις ιδιότητες. Θέλετε μια ασφαλή και αποκεντρωμένη κρυπτοαλυσίδα; Πρέπει να θυσιάσετε την επεκτασιμότητα.", - "layer-2-why-do-we-need-layer-2-2": "Επί του παρόντος, το Ethereum επεξεργάζεται 1+ εκατομμύριο συναλλαγές ανά ημέρα. Η ζήτηση για χρήση του Ethereum μπορεί να προκαλέσει υψηλές τιμές προμήθειας συναλλαγών. Σε αυτό το σημείο εμφανίζεται η ανάγκη για δίκτυα επιπέδου 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Κλιμάκωση", - "layer-2-why-do-we-need-layer-2-scalability-1": "Ο κύριος στόχος του επιπέδου 2 είναι να αυξήσει την ταχύτητα οριστικοποίησης (περισσότερες συναλλαγές ανά δευτερόλεπτο) χωρίς να θυσιάζεται η αποκέντρωση ή η ασφάλεια.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Το κεντρικό δίκτυο του Ethereum (επίπεδο 1) μπορεί να επεξεργαστεί περίπου 15 συναλλαγές ανά δευτερόλεπτο. Όταν η ζήτηση για χρήση του Ethereum είναι υψηλή, στο δίκτυο γίνεται συμφόρηση, γεγονός που αυξάνει τα τέλη συναλλαγών και τις τιμές στους χρήστες που δεν μπορούν να τις αντέξουν οικονομικά. Το επίπεδο 2 είναι λύσεις που μειώνουν αυτές τις χρεώσεις επεξεργάζοντας τις συναλλαγές εκτός της κρυπτοαλυσίδας επιπέδου 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Περισσότερα για το όραμα Ethereum", - "layer-2-benefits-of-layer-2-title": "Οφέλη του επιπέδου 2", - "layer-2-lower-fees-title": "Χαμηλότερες κρατήσεις", - "layer-2-lower-fees-description": "Συνδυάζοντας πολλαπλές εκτός-αλυσίδας συναλλαγές σε μία συναλλαγή επιπέδου 1, οι χρεώσεις συναλλαγών μειώνονται σημαντικά, καθιστώντας το Ethereum πιο προσιτό για όλους.", - "layer-2-maintain-security-title": "Διατήρηση ασφάλειας", - "layer-2-maintain-security-description": "Οι αλυσίδες συστοιχιών επιπέδου 2 διακανονίζουν τις συναλλαγές στο Κεντρικό Δίκτυο του Ethereum, επιτρέποντας στους χρήστες να επωφεληθούν από την ασφάλεια του δικτύου του Ethereum.", - "layer-2-expand-use-cases-title": "Βελτίωση χρήσης", - "layer-2-expand-use-cases-description": "Με ταχύτερες συναλλαγές ανά δευτερόλεπτο, χαμηλότερες χρεώσεις και νέα τεχνολογία, τα έργα θα αναπτυχθούν σε νέες εφαρμογές με βελτιωμένη εμπειρία χρήστη.", - "layer-2-how-does-layer-2-work-title": "Πώς λειτουργεί το επίπεδο 2;", - "layer-2-how-does-layer-2-work-1": "Όπως αναφέραμε παραπάνω, το επίπεδο 2 είναι ένας συλλογικός όρος για λύσεις αναβάθμισης του Ethereum που χειρίζονται συναλλαγές εκτός του επιπέδου 1, ενώ παράλληλα εκμεταλλεύονται την ισχυρή αποκεντρωμένη ασφάλεια του επιπέδου 1 του Ethereum. Το επίπεδο 2 είναι μια ξεχωριστή κρυπτοαλυσίδα που επεκτείνει το Ethereum. Πώς λειτουργεί αυτό;", - "layer-2-how-does-layer-2-work-2": "Υπάρχουν αρκετοί διαφορετικοί τύποι επιπέδου 2, ο καθένας από τους οποίους έχει τους δικούς του τρόπους συναλλαγών και μοντέλα ασφαλείας. Το επίπεδο 2 απομακρύνει το βάρος των συναλλαγών από το επίπεδο 1, επιτρέποντάς του να γίνει ταχύτερο και όλα γίνονται πιο επεκτάσιμα.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Τα πακέτα ενημερώσεων (ή «roll up») περιλαμβάνουν εκατοντάδες συναλλαγές σε μια ενιαία συναλλαγή στο επίπεδο 1. Αυτό κατανέμει τις χρεώσεις συναλλαγών L1 σε όλους που βρίσκονται στο πακέτο, καθιστώντας το φθηνότερο για κάθε χρήστη.", - "layer-2-rollups-2": "Τα δεδομένα συναλλαγών του πακέτου συναλλαγών υποβάλλονται στο επίπεδο 1, αλλά η εκτέλεση πραγματοποιείται ξεχωριστά από το πακέτων συναλλαγών. Με την υποβολή των δεδομένων συναλλαγών στο επίπεδο 1, μεταβιβάζεται η ασφάλεια στο Ethereum. Αυτό συμβαίνει επειδή μόλις τα δεδομένα μεταφορτωθούν στο επίπεδο 1, η ενημέρωση του πακέτου συναλλαγών απαιτεί την ενημέρωση του Ethereum. Υπάρχουν δύο διαφορετικές προσεγγίσεις για τα πακέτα συναλλαγών: η optimistic και η μηδενικής γνώσης. Διαφέρουν κυρίως ως προς τον τρόπο υποβολής αυτών των δεδομένων συναλλαγών στο L1.", - "layer-2-optimistic-rollups-title": "Πακέτα ενημέρωσης optimistic", - "layer-2-optimistic-rollups-description": "Τα optimistic πακέτα συναλλαγών είναι «optimistic» υπό την έννοια ότι οι συναλλαγές θεωρούνται έγκυρες, αλλά μπορούν να αμφισβητηθούν εάν είναι απαραίτητο. Εάν υπάρχει υπόνοια μη έγκυρης συναλλαγής, μια απόδειξη σφάλματος θα εκτελεστεί για να ελέγξει αν έχει συμβεί.", - "layer-2-optimistic-rollups-childSentance": "Περισσότερα για optimistic πακέτα συναλλαγών", - "layer-2-zk-rollups-description": "Τα πακέτα δεδομένων μηδενικής γνώσης χρησιμοποιούν τις αποδείξεις εγκυρότητας όπου οι συναλλαγές υπολογίζονται εκτός αλυσίδας και στη συνέχεια αυτά τα συμπιεσμένα δεδομένα παρέχονται στο Κεντρικό δίκτυο του Ethereum ως απόδειξη της εγκυρότητάς τους.", - "layer-2-zk-rollups-childSentance": "Περισσότερα για τα ZK-rollups", - "layer-2-dyor-title": "Κάντε τη δική σας έρευνα: κίνδυνοι του επιπέδου 2", - "layer-2-dyor-1": "Πολλά έργα επιπέδου 2 είναι σχετικά νέα και εξακολουθούν να απαιτούν από τους χρήστες να εμπιστεύονται ορισμένους προγραμματιστές καθώς εργάζονται για την αποκέντρωση των δικτύων τους. Πάντοτε να κάνετε τη δική σας έρευνα για να αποφασίσετε εάν αισθάνεστε άνετα με τους τυχόν κινδύνους.", - "layer-2-dyor-2": "Για περισσότερες πληροφορίες σχετικά με την τεχνολογία, τους κινδύνους και την εμπιστοσύνη ενός επιπέδου 2, σας προτείνουμε να ανατρέξετε στο L2BEAT, το οποίο παρέχει ένα αναλυτικό πλαίσιο κινδύνου για κάθε έργο.", - "layer-2-dyor-3": "Μετάβαση στο L2BEAT", - "layer-2-use-layer-2-title": "Χρήση επιπέδου 2", - "layer-2-use-layer-2-1": "Τώρα που καταλαβαίνετε γιατί υπάρχει το επίπεδο 2 και πώς λειτουργεί, ας προχωρήσουμε παρακάτω!", - "layer-2-contract-accounts": "Εάν χρησιμοποιείτε πορτοφόλι έξυπνου συμβολαίου, όπως το Safe ή το Argent, δε θα έχετε τον έλεγχο αυτής της διεύθυνσης στο επίπεδο 2, έως ότου μεταφέρετε τον λογαριασμό συμβολαίου σας σε αυτήν τη διεύθυνση στο επίπεδο 2. Οι κλασικοί λογαριασμοί με φράση ανάκτησης θα κατέχουν αυτόματα τον ίδιο λογαριασμό σε όλα τα δίκτυα επιπέδου 2.", - "layer-2-use-layer-2-generalized-title": "Γενικευμένο επίπεδο 2", - "layer-2-use-layer-2-generalized-1": "Το γενικευμένο επίπεδο 2 συμπεριφέρεται ακριβώς όπως Ethereum, αλλά με λιγότερο κόστος. Οτιδήποτε μπορείτε να κάνετε στο επίπεδο 1 του Ethereum, μπορείτε να κάνετε και στο επίπεδο 2. Πολλές αποκεντρωμένες εφαρμογές έχουν ήδη αρχίσει να μεταφέρονται σε αυτά τα δίκτυα ή έχουν παραλείψει το Κεντρικό Δίκτυο για να αναπτύξουν έργα κατευθείαν στο επίπεδο 2.", - "layer-2-use-layer-2-application-specific-title": "Συγκεκριμένες εφαρμογές επιπέδου 2", - "layer-2-use-layer-2-application-specific-1": "Συγκεκριμένες εφαρμογές επιπέδου 2 είναι έργα που ειδικεύονται στη βελτιστοποίηση για ένα συγκεκριμένο χώρο εφαρμογής, παρέχοντας βελτιωμένη απόδοση.", - "layer-2-sidechains-title": "Μια σημείωση για πλευρικές αλυσίδες, validium και εναλλακτικές κρυπτοαλυσίδες.", - "layer-2-sidechains-1": "Οι πλευρικές αλυσίδες και τα validium είναι κρυπτοαλυσίδες που επιτρέπουν στα περιουσιακά στοιχεία του Ethereum να δημιουργήσουν γέφυρες μεταξύ τους και να χρησιμοποιούνται σε άλλη κρυπτοαλυσίδα. Οι πλευρικές αλυσίδες και τα validium λειτουργούν παράλληλα με το Ethereum και αλληλεπιδρούν μαζί του μέσω γεφυρών, αλλά δε διατηρούν την ασφάλεια ή τη διαθεσιμότητά τους από το Ethereum.", - "layer-2-sidechains-2": "Και οι δύο αναβαθμίσεις ομοίως με το επίπεδο 2, προσφέρουν χαμηλότερες κρατήσεις συναλλαγών και υψηλότερη ταχύτητα εκτέλεσης, αλλά έχουν διαφορετικά θέματα εμπιστοσύνης.", - "layer-2-more-on-sidechains": "Περισσότερες πληροφορίες για τις πλευρικές αλυσίδες", - "layer-2-more-on-validiums": "Περισσότερες πληροφορίες για το validiums", - "layer-2-sidechains-4": "Ορισμένες κρυπτοαλυσίδες επιπέδου 1 αναφέρουν υψηλότερη απόδοση και χαμηλότερες χρεώσεις συναλλαγών από το Ethereum, αλλά γενικά για παράδειγμα απαιτούνται μεγαλύτερες ανάγκες σε υλικό για την εκτέλεση κόμβων.", - "layer-2-onboard-title": "Πώς να συμμετέχετε σε ένα επίπεδο 2", - "layer-2-onboard-1": "Υπάρχουν δύο κύριοι τρόποι μεταφοράς των κρυπτονομισμάτων σας στο επίπεδο 2: με χρήση γέφυρας από το Ethereum μέσω ενός έξυπνου συμβολαίου ή με ανάληψη των κεφαλαίων σας σε ένα ανταλλακτήριο απευθείας σε δίκτυο επιπέδου 2.", - "layer-2-onboard-wallet-title": "Κεφάλαια στο πορτοφόλι σας;", - "layer-2-onboard-wallet-1": "Αν έχετε ήδη τα ETH στο πορτοφόλι σας, θα πρέπει να χρησιμοποιήσετε μια γέφυρα για να τα μετακινήσετε από το Ethereum Mainnet σε ένα επίπεδο 2.", - "layer-2-more-on-bridges": "Περισσότερα για τις γέφυρες", - "layer-2-onboard-wallet-input-placeholder": "Επιλέξτε το L2 για χρήση γέφυρας", - "layer-2-onboard-wallet-selected-1": "Μπορείτε να συνδεθείτε στο", - "layer-2-onboard-wallet-selected-2": "χρησιμοποιώντας τα πορτοφόλια:", - "layer-2-bridge": "Γέφυρα", - "layer-2-onboard-exchange-title": "Κεφάλαια σε ένα ανταλλακτήριο;", - "layer-2-onboard-exchange-1": "Μερικά κεντρικά ανταλλακτήρια προσφέρουν τώρα άμεσες αναλήψεις και καταθέσεις στο επίπεδο 2. Ελέγξτε ποια ανταλλακτήρια υποστηρίζουν αναλήψεις επιπέδου 2 και ποια επίπεδα 2 το υποστηρίζουν.", - "layer-2-onboard-exchange-2": "Θα χρειαστείτε επίσης ένα πορτοφόλι για ανάληψη των κεφαλαίων σας.", - "layer-2-onboard-find-a-wallet": "Βρείτε ένα πορτοφόλι Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Ελέγξτε τα ανταλλακτήρια που υποστηρίζουν L2", - "layer-2-deposits": "Καταθέσεις", - "layer-2-withdrawals": "Αναλήψεις", - "layer-2-go-to": "Μετάβαση σε", - "layer-2-tools-title": "Αποτελεσματικά εργαλεία επιπέδου 2", - "layer-2-tools-l2beat-description": "Το L2BEAT είναι ένας μεγάλος πόρος εξέτασης τεχνικών εκτιμήσεων κινδύνου των έργων επιπέδου 2. Σας συνιστούμε να ελέγχετε τους πόρους τους όταν ερευνάτε συγκεκριμένα έργα επιπέδου 2.", - "layer-2-tools-growthepie-description": "Επιμελημένα αναλυτικά στοιχεία για το επίπεδο 2s του Ethereum", - "layer-2-tools-ethereumecosystem-description": "Ανεπίσημη σελίδα οικοσυστήματος του Ethereum και του Layer 2 του, συμπεριλαμβανομένων των Base, Optimism και Starknet με εκατοντάδες dApps και εργαλεία.", - "layer-2-tools-l2fees-description": "Οι χρεώσεις L2 επιτρέπει να δείτε το τρέχον κόστος (σε USD) για την εκτέλεση συναλλαγών σε διαφορετικά επίπεδα 2s.", - "layer-2-tools-chainlist-description": "Σημαντική πηγή για την εισαγωγή του δικτύου RPC στην υποστήριξη πορτοφολιών. Θα βρείτε έργα RPC επιπέδου 2 για να σας βοηθήσει να συνδεθείτε.", - "layer-2-tools-zapper-description": "Διαχειριστείτε ολόκληρο το χαρτοφυλάκιο web3 σας από DeFi σε NFT κτλ. Επενδύστε στις τελευταίες ευκαιρίες από ένα βολικό μέρος.", - "layer-2-tools-zerion-description": "Δημιουργήστε και διαχειριστείτε ολόκληρο το χαρτοφυλάκιο DeFi σας από ένα μέρος. Ανακαλύψτε τον κόσμο της αποκεντρωμένης χρηματοδότησης σήμερα.", - "layer-2-tools-debank-description": "Συνεχίστε με όλα τα σημαντικά συμβάντα στον κόσμο του web3", - "layer-2-faq-title": "Συχνές ερωτήσεις", - "layer-2-faq-question-1-title": "Γιατί δεν υπάρχει ένα «επίσημο» Ethereum L2;", - "layer-2-faq-question-1-description-1": "Όπως δεν υπάρχει «επίσημη» εφαρμογή πελάτη του Ethereum, δεν υπάρχει «επίσημο» επίπεδο 2 του Ethereum. Το Ethereum δε χρειάζεται άδειες, τεχνικά ο καθένας μπορεί να δημιουργήσει ένα επίπεδο 2! Πολλαπλές ομάδες θα εφαρμόσουν την έκδοση ενός επιπέδου 2 και το οικοσύστημα στο σύνολό του θα ωφεληθεί από μια ποικιλία προσεγγίσεων σχεδιασμού που είναι βελτιστοποιημένες για διαφορετικές περιπτώσεις χρήσης. Όπως έχουμε πολλές εφαρμογές πελάτη Ethereum που αναπτύσσονται από διαφορετικές ομάδες προκειμένου να έχουν ποικιλομορφία στο δίκτυο έτσι και αυτό θα είναι ο τρόπος που αναπτύσσεται στο μέλλον το επίπεδο 2.", - "layer-2-faq-question-2-title": "Ποια είναι η διαφορά μεταξύ των πακέτων ενημέρωσης optimistic και μηδενικής γνώσης;", - "layer-2-faq-question-2-description-1": "Τόσο τα πακέτα ενημέρωσης optimistic όσο και της μηδενικής γνώσης διαμορφώνουν δέσμες (ή «πακέτα ενημέρωσης») με εκατοντάδες συναλλαγές σε μία μόνο συναλλαγή στο επίπεδο 1. Οι συναλλαγές σε πακέτο ενημέρωσης εκτελούνται εκτός του επιπέδου 1, αλλά τα δεδομένα συναλλαγών δημοσιεύονται σε αυτό.", - "layer-2-faq-question-2-description-2": "Η κύρια διαφορά είναι ποια δεδομένα δημοσιεύονται καθώς και τον τρόπο επαλήθευσής τους στο επίπεδο 1. Οι αποδείξεις εγκυρότητας (που χρησιμοποιούνται από τα πακέτα ενημέρωσης μηδενικής γνώσης) εκτελούν τους υπολογισμούς εκτός αλυσίδας και δημοσιεύουν την απόδειξη, λαμβάνοντας υπόψη ότι οι αποδείξεις σφάλματος (που χρησιμοποιούνται από τα πακέτα optimistic) εκτελούν τους υπολογισμούς στην αλυσίδα μόνο όταν υπάρχει υποψία σφάλματος και η απαίτηση ελέγχου.", - "layer-2-faq-question-2-description-3": "Προς το παρόν, τα περισσότερα πακέτα ενημέρωσης ZK είναι για ειδικές εφαρμογές, σε αντίθεση με τα optimistic που σε μεγάλο βαθμό αφορούν γενικές εφαρμογές.", - "layer-2-more-info-on-optimistic-rollups": "Περισσότερες πληροφορίες για πακέτα συναλλαγών optimistic", - "layer-2-more-info-on-zk-rollups": "Περισσότερες πληροφορίες για τα πακέτα ενημέρωσης μηδενικής γνώσης", - "layer-2-faq-question-4-title": "Ποιοι είναι οι κίνδυνοι με το επίπεδο 2;", - "layer-2-faq-question-4-description-1": "Τα δίκτυα επιπέδου 2 έχουν επιπλέον κινδύνους σε σύγκριση με τη διατήρηση κεφαλαίων και τις απευθείας συναλλαγές στο κεντρικό δίκτυο του Ethereum. Για παράδειγμα, οι ακολουθίες των δικτύων αυτών μπορεί να αντιμετωπίσουν πρόβλημα, με αποτέλεσμα να πρέπει να περιμένετε προτού αποκτήσετε πρόσβαση στα κεφάλαια σας.", - "layer-2-faq-question-4-description-2": "Σας προτρέπουμε να κάνετε τη δική σας έρευνα προτού μεταφέρετε σημαντικά ποσά κεφαλαίων σε ένα επίπεδο 2. Για περισσότερες πληροφορίες σχετικά με την τεχνολογία, τους κινδύνους και την εμπιστοσύνη ενός επιπέδου 2, σας προτείνουμε να ανατρέξετε στο L2BEAT, το οποίο παρέχει ένα αναλυτικό πλαίσιο κινδύνου για κάθε έργο.", - "layer-2-faq-question-4-description-3": "Οι γέφυρες κρυπτοαλυσίδων, οι οποίες διευκολύνουν τη μεταφορά περιουσιακών στοιχείων στα δίκτυα επιπέδου 2, βρίσκονται στα αρχικά στάδια ανάπτυξης τους και πιθανόν ο βέλτιστος σχεδιασμός τους να μην έχει ανακαλυφθεί ακόμη. Έχουν υπάρξει πρόσφατες παραβάσεις γεφυρών.", - "layer-2-faq-question-5-title": "Γιατί μερικά από τα έργα επιπέδου 2 δεν αναφέρονται εδώ;", - "layer-2-faq-question-5-description-1": "Θέλουμε να βεβαιωθούμε ότι παραθέτουμε τους καλύτερους δυνατούς πόρους, ώστε οι χρήστες να μπορούν να πλοηγούνται στο χώρο των δικτύων επιπέδου 2 με ασφάλεια και σιγουριά. Διατηρούμε ένα πλαίσιο κριτηρίων για τον τρόπο αξιολόγησης των έργων για ένταξη.", - "layer-2-faq-question-5-view-listing-policy": "Δείτε την πολιτική καταχώρισης δικτύων επιπέδου 2 εδώ.", - "layer-2-faq-question-5-description-2": "Οποιοσδήποτε είναι ελεύθερος να προτείνει την προσθήκη ενός δικτύου επιπέδου 2 στο ethereum.org. Αν υπάρχει κάποιο δίκτυο επιπέδου 2 που μας έχει διαφύγει, παρακαλούμε προτείνετε το.", - "layer-2-further-reading-title": "Περισσότερες πληροφορίες", - "a-rollup-centric-ethereum-roadmap": "Ένας οδικός χάρτης του ethereum με επίκεντρο τα πακέτα ενημέρωσης", - "polygon-sidechain-vs-ethereum-rollups": "Πλευρική αλυσίδα Polygon ή πακέτα ενημέρωσης Ethereum: μια προσέγγιση των αναβαθμίσεων του επιπέδου 2 | Vitalik Buterin και Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ΠΑΚΕΤΑ ΕΝΗΜΕΡΩΣΗΣ - Η Απόλυτη Στρατηγική Επεκτασιμότητας του Ethereum; Εξήγηση της διαιτησίας & βελτιστοποίησης", - "scaling-layer-1-with-shard-chains": "Επεκτασιμότητα επιπέδου 1 με τμηματοποίηση κρυπτοαλυσίδων", - "understanding-rollup-economics-from-first-principals": "Κατανόηση της οικονομίας των πακέτων ενημέρωσης από τους πρώτους ιθύνοντες", - "arbitrum-description": "Το Arbitrum One είναι ένα πακέτο ενημέρωσης Optimistic που έχει ως στόχο την αίσθηση αλληλεπίδρασης με το Ethereum, αλλά με συναλλαγές που κοστίζουν λιγότερο με αυτά που κάνουν στο L1.", - "optimism-description": "Το Optimism είναι ένα γρήγορο, απλό και ασφαλές ισοδύναμο με EVM πακέτο ενημέρωσης. Αυξάνει την τεχνολογία του Ethereum ενώ παράλληλα αναβαθμίζει κλιμακωτά τις αξίες του μέσω αναδρομικής χρηματοδότησης των δημόσιων αγαθών.", - "boba-description": "Το Boba είναι ένα πακέτο ενημέρωσης Optimistic αρχικά ενσωματωμένο από την Optimism, η οποία είναι μια λύση κλιμακωτής αναβάθμισης στοχεύοντας στη μείωση των τελών αερίου, τη βελτίωση απόδοσης συναλλαγών και την επέκταση δυνατοτήτων των έξυπνων συμβολαίων.", - "base-description": "Το Base είναι ένα ασφαλές, χαμηλού κόστους, φιλικό προς τους προγραμματιστές Ethereum L2 που δημιουργήθηκε για να φέρει τα επόμενα δισεκατομμύρια χρήστες στο web3. Είναι ένα Ethereum L2, επωάστηκε από την Coinbase και βασίζεται στο OP Stack ανοιχτού κώδικα.", - "loopring-description": "Το Loopring πακέτο ενημέρωσης είναι μια λύση L2 με στόχο να προσφέρει τις ίδιες εγγυήσεις ασφαλείας με το κεντρικό δίκτυο του Ethereum, με μεγάλη αύξηση της επεκτασιμότητας: η απόδοση αυξήθηκε κατά 1000x και το κόστος μειώθηκε σε μόλις 0.1% του L1.", - "zksync-description": "Το ZKsync είναι ένα πακέτο ενημέρωσης ZK που στοχεύει να αναβαθμίσει το Ethereum και τις αξίες του σε γενική υιοθέτηση, χωρίς να υποβαθμίζει την ασφάλεια ή την αποκέντρωση.", - "zkspace-description": "Η πλατφόρμα ZKSpace αποτελείται από τρία κύρια μέρη: ένα επιπέδου 2 AMM DEX που χρησιμοποιεί την τεχνολογία ZK-Rollups που ονομάζεται ZKSwap, μια υπηρεσία πληρωμών που ονομάζεται ZKSquare και μια αγορά NFT που ονομάζεται ZKSea.", - "aztec-description": "Το Δίκτυο Aztec είναι το πρώτο ιδιωτικό zk-rollup στο Ethereum, επιτρέποντας τις αποκεντρωμένες εφαρμογές να έχουν πρόσβαση στην ιδιωτικότητα και την επεκτασιμότητα.", - "starknet-description": "Το Starknet είναι ένα έγκυρο πακέτο ενημέρωσης επιπέδου 2. Παρέχει υψηλή απόδοση, χαμηλό κόστος κρατήσεων και διατηρεί τα επίπεδα ασφάλειας του επιπέδου 1 του Ethereum.", - "layer-2-note": "Σημείωση:", - "layer-2-ecosystem-portal": "Πύλη Οικοσυστήματος", - "layer-2-token-lists": "Κατάσταση ψηφιακών στοιχείων", - "layer-2-explore": "Εξερευνήστε", - "page-dapps-ready-button": "Go" -} diff --git a/src/intl/en/page-layer-2.json b/src/intl/en/page-layer-2.json index f36d20571a3..17971333806 100644 --- a/src/intl/en/page-layer-2.json +++ b/src/intl/en/page-layer-2.json @@ -1,140 +1,3 @@ { - "layer-2-arbitrum-note": "Fraud proofs only for whitelisted users, whitelist not open yet", - "layer-2-boba-note": "State validation in development", - "layer-2-optimism-note": "Fault proofs in development", - "layer-2-base-note": "Fraud proof system is currently under development", - "layer-2-metadata-description": "Introduction page to layer 2", - "layer-2-hero-title": "Layer 2", - "layer-2-hero-header": "Ethereum for everyone", - "layer-2-hero-subtitle": "Scaling Ethereum for mass adoption.", - "layer-2-hero-alt-text": "Illustration of transactions being rolled up on layer 2 and posted to Ethereum Mainnet", - "layer-2-hero-button-1": "What is layer 2", - "layer-2-hero-button-2": "Use layer 2", - "layer-2-hero-button-3": "Move to layer 2", - "layer-2-statsbox-1": "TVL locked in layer 2 (USD)", - "layer-2-statsbox-2": "Average layer 2 ETH transfer fee (USD)", - "layer-2-statsbox-3": "Layer 2 TVL change (30 days)", - "layer-2-what-is-layer-2-title": "What is layer 2?", - "layer-2-what-is-layer-2-1": "Layer 2 (L2) is a collective term to describe a specific set of Ethereum scaling solutions. A layer 2 is a separate blockchain that extends Ethereum and inherits the security guarantees of Ethereum.", - "layer-2-what-is-layer-2-2": "Now let’s dig into it a bit more. To do this we first need to explain layer 1 (L1).", - "layer-2-what-is-layer-1-title": "What is layer 1?", - "layer-2-what-is-layer-1-1": "Layer 1 is the base blockchain. Ethereum and Bitcoin are both layer 1 blockchains because they are the underlying foundation that various layer 2 networks build on top of. Examples of layer 2 projects include \"rollups\" on Ethereum and the Lightning Network on Bitcoin. All user transaction activity on these layer 2 projects can ultimately settle back to the layer 1 blockchain.", - "layer-2-what-is-layer-1-2": "Ethereum also functions as a data availability layer for layer 2s. Layer 2 projects will post their transaction data onto Ethereum, relying on Ethereum for data availability. This data can be used to get the state of the layer 2, or to dispute transactions on layer 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum as the layer 1 includes:", - "layer-2-what-is-layer-1-list-1": "A network of node operators to secure and validate the network", - "layer-2-what-is-layer-1-list-2": "A network of block producers", - "layer-2-what-is-layer-1-list-3": "The blockchain itself and the history of transaction data", - "layer-2-what-is-layer-1-list-4": "The consensus mechanism for the network", - "layer-2-what-is-layer-1-list-link-1": "Still confused on Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Learn what Ethereum is.", - "layer-2-why-do-we-need-layer-2-title": "Why do we need layer 2?", - "layer-2-why-do-we-need-layer-2-1": "Three desirable properties of a blockchain are that it is decentralized, secure, and scalable. The blockchain trilemma states that a simple blockchain architecture can only achieve two out of three. Want a secure and decentralized blockchain? You need to sacrifice scalability.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum currently processes 1+ million transactions per day. The demand to use Ethereum can cause transaction fee prices to be high. This is where layer 2 networks come in.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "The main goal of layer 2 is to increase transaction throughput (higher transactions per second) without sacrificing decentralization or security.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Ethereum Mainnet (layer 1) is only able to process roughly 15 transactions per second. When demand to use Ethereum is high, the network becomes congested, which increases transaction fees and prices out users who cannot afford those fees. Layer 2s are solutions that reduce those fees by processing transactions off the layer-1 blockchain.", - "layer-2-why-do-we-need-layer-2-scalability-3": "More on Ethereum's vision", - "layer-2-benefits-of-layer-2-title": "Benefits of layer 2", - "layer-2-lower-fees-title": "Lower fees", - "layer-2-lower-fees-description": "By combining multiple off-chain transactions into a single layer 1 transaction, transaction fees are massively reduced, making Ethereum more accessible for all.", - "layer-2-maintain-security-title": "Maintain security", - "layer-2-maintain-security-description": "Layer 2 blockchains settle their transactions on Ethereum Mainnet, allowing users to benefit from the security of the Ethereum network.", - "layer-2-expand-use-cases-title": "Expand use cases", - "layer-2-expand-use-cases-description": "With higher transactions per second, lower fees, and new technology, projects will expand into new applications with improved user experience.", - "layer-2-how-does-layer-2-work-title": "How does layer 2 work?", - "layer-2-how-does-layer-2-work-1": "As we mentioned above, layer 2 is a collective term for Ethereum scaling solutions that handle transactions off Ethereum layer 1 while still taking advantage of the robust decentralized security of Ethereum layer 1. A layer 2 is a separate blockchain that extends Ethereum. How does that work?", - "layer-2-how-does-layer-2-work-2": "There are several different types of layer 2, each having their own trade-offs and security models. Layer 2s take the transactional burden away from the layer 1 allowing it to become less congested, and everything becomes more scalable.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Rollups bundle (or ’roll up’) hundreds of transactions into a single transaction on layer 1. This distributes the L1 transaction fees across everyone in the rollup, making it cheaper for each user.", - "layer-2-rollups-2": "The transaction data in the rollup is submitted to layer 1, but the execution is done separately by the rollup. By submitting transaction data onto layer 1, rollups inherit the security of Ethereum. This is because once the data is uploaded to layer 1, reverting a rollup transaction requires reverting Ethereum. There are two different approaches to rollups: optimistic and zero-knowledge - they differ primarily on how this transaction data is submitted to L1.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Optimistic rollups are 'optimistic' in the sense that transactions are assumed to be valid, but can be challenged if necessary. If an invalid transaction is suspected, a fault proof is run to see if this has taken place.", - "layer-2-optimistic-rollups-childSentance": "More on optimistic rollups", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "Zero-knowledge rollups use validity proofs where transactions are computed off-chain, and then compressed data is supplied to Ethereum Mainnet as a proof of their validity.", - "layer-2-zk-rollups-childSentance": "More on ZK-rollups", - "layer-2-dyor-title": "Do your own research: risks of layer 2", - "layer-2-dyor-1": "Many layer 2 projects are relatively young and still require users to trust some operators to be honest as they work to decentralize their networks. Always do your own research to decide if you're comfortable with any risks involved.", - "layer-2-dyor-2": "For more information on the technology, risks, and trust assumptions of layer 2s, we recommend checking out L2BEAT, which provides a comprehensive risk assessment framework of each project.", - "layer-2-dyor-3": "Go to L2BEAT", - "layer-2-use-layer-2-title": "Use layer 2", - "layer-2-use-layer-2-1": "Now that you understand why layer 2 exists and how it works, let's get you up and running!", - "layer-2-contract-accounts": "If you are using smart contract wallet such as Safe or Argent, you will not have control over this address on a layer 2 until you redeploy your contract account to that address on the layer 2. Classic accounts with recovery phrase will automatically own the same account on all layer 2 networks.", - "layer-2-use-layer-2-generalized-title": "Generalized layer 2s", - "layer-2-use-layer-2-generalized-1": "Generalized layer 2s behave just like Ethereum — but cheaper. Anything that you can do on Ethereum layer 1, you can also do on layer 2. Many dapps have already begun to migrate to these networks or have skipped Mainnet altogether to build projects straight on a layer 2.", - "layer-2-use-layer-2-application-specific-title": "Application specific layer 2s", - "layer-2-use-layer-2-application-specific-1": "Application specific layer 2s are projects that specialize in optimizing for a specific application space, bringing improved performance.", - "layer-2-sidechains-title": "A note on sidechains, validiums, and alternative blockchains", - "layer-2-sidechains-1": "Sidechains and validiums are blockchains that allow assets from Ethereum to be bridged over and used on another blockchain. Sidechains and validiums run in parallel with Ethereum, and interact with Ethereum through bridges, but they do not derive their security or data availability from Ethereum.", - "layer-2-sidechains-2": "Both scale similarly to layer 2s - they offer lower transaction fees and higher transaction throughput - but have different trust assumptions.", - "layer-2-more-on-sidechains": "More info on sidechains", - "layer-2-more-on-validiums": "More info on validiums", - "layer-2-sidechains-4": "Some layer 1 blockchains report higher throughput and lower transaction fees than Ethereum, but generally with trade-offs elsewhere, for example greater hardware requirements for running nodes.", - "layer-2-onboard-title": "How to get onto a layer 2", - "layer-2-onboard-1": "There are two primary ways to get your assets onto a layer 2: bridge funds from Ethereum via a smart contract or withdraw your funds on an exchange directly onto the layer 2 network.", - "layer-2-onboard-wallet-title": "Funds in your wallet?", - "layer-2-onboard-wallet-1": "If you've already got your ETH in your wallet, you'll need to use a bridge to move it from Ethereum Mainnet to a layer 2.", - "layer-2-more-on-bridges": "More on bridges", - "layer-2-onboard-wallet-input-placeholder": "Select L2 you want to bridge to", - "layer-2-onboard-wallet-selected-1": "You can connect to", - "layer-2-onboard-wallet-selected-2": "using these wallets:", - "layer-2-bridge": "Bridge", - "layer-2-onboard-exchange-title": "Funds on an exchange?", - "layer-2-onboard-exchange-1": "Some centralized exchanges now offer direct withdrawals and deposits to layer 2s. Check which exchanges support layer 2 withdrawals and which layer 2s they support.", - "layer-2-onboard-exchange-2": "You'll also need a wallet to withdraw your funds to.", - "layer-2-onboard-find-a-wallet": "Find an Ethereum wallet.", - "layer-2-onboard-exchange-input-placeholder": "Check exchanges that support L2", - "layer-2-deposits": "Deposits", - "layer-2-withdrawals": "Withdrawals", - "layer-2-go-to": "Go to", - "layer-2-tools-title": "Tools to be effective on layer 2", - "layer-2-tools-l2beat-description": "L2BEAT is a great resource for looking at technical risk assessments of layer 2 projects. We recommend checking out their resources when researching specific layer 2 projects.", - "layer-2-tools-growthepie-description": "Curated analytics about Ethereun layer 2s", - "layer-2-tools-ethereumecosystem-description": "Unofficial Ecosystem page of Ethereum and its Layer 2s including Base, Optimism, and Starknet featuring hundreds of dApps and tools.", - "layer-2-tools-growthepie-description": "Curated analytics about Ethereum layer 2s", - "layer-2-tools-l2fees-description": "L2 Fees lets you see the current cost (denominated in USD) for doing transactions on different layer 2s.", - "layer-2-tools-chainlist-description": "Chainlist is a great resource for importing network RPC's into supporting wallets. You will find RPC's for layer 2 projects here to help get you connected.", - "layer-2-tools-zapper-description": "Manage your entire web3 portfolio from DeFi to NFTs and whatever comes next. Invest in the latest opportunities from one convenient place.", - "layer-2-tools-zerion-description": "Build and manage your entire DeFi portfolio from one place. Discover the world of decentralized finance today.", - "layer-2-tools-debank-description": "Keep up with all the important happenings in the web3 world", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Why is there no 'official' Ethereum L2?", - "layer-2-faq-question-1-description-1": "Just as there is no 'official' Ethereum client, there is no 'official' Ethereum layer 2. Ethereum is permissionless - technically anyone can create a layer 2! Multiple teams will implement their version of a layer 2, and the ecosystem as a whole will benefit from a diversity of design approaches that are optimized for different use cases. Much like we have multiple Ethereum clients developed by multiple teams in order to have diversity in the network, this too will be how layer 2s develop in the future.", - "layer-2-faq-question-2-title": "What is the difference between optimistic and zero-knowledge rollups?", - "layer-2-faq-question-2-description-1": "Both optimistic and zero-knowledge rollups bundle (or ’roll up’) hundreds of transactions into a single transaction on layer 1. Rollup transactions get executed outside of layer 1 but transaction data gets posted to layer 1.", - "layer-2-faq-question-2-description-2": "The primary difference is what data is posted to the layer 1 and how the data is verified. Validity proofs (used by zero-knowledge rollups) run the computations off-chain and post a proof, whereas fault proofs (used by optimistic rollups) only run the computations on-chain when fault is suspected and must be checked.", - "layer-2-faq-question-2-description-3": "At the moment, most ZK-rollups are application specific, in contrast with optimistic rollups which have largely been generalizable.", - "layer-2-more-info-on-optimistic-rollups": "More info on optimistic rollups", - "layer-2-more-info-on-zk-rollups": "More info on zero-knowledge rollups", - "layer-2-faq-question-4-title": "What are the risks with layer 2?", - "layer-2-faq-question-4-description-1": "Layer 2 projects contain additional risks compared to holding funds and transacting directly on Ethereum Mainnet. For instance, sequencers may go down, leading you to have to wait to access funds.", - "layer-2-faq-question-4-description-2": "We encourage you to do your own research before transferring significant funds to a layer 2. For more information on the technology, risks, and trust assumptions of layer 2s, we recommend checking out L2BEAT, which provides a comprehensive risk assessment framework of each project.", - "layer-2-faq-question-4-description-3": "Blockchain bridges, which facilitate asset transfers to layer 2, are in their early stages of development and it is likely that the optimal bridge design has not been discovered yet. There have been recent hacks of bridges.", - "layer-2-faq-question-5-title": "Why aren't some layer 2 projects listed here?", - "layer-2-faq-question-5-description-1": "We want to make sure we list the best resources possible so users can navigate the layer 2 space in a safe and confident manner. We maintain a framework of criteria for how projects are evaluated for inclusion.", - "layer-2-faq-question-5-view-listing-policy": "View our layer 2 listing policy here.", - "layer-2-faq-question-5-description-2": "Anyone is free to suggest adding a layer 2 on ethereum.org. If there's a layer 2 that we have missed, please suggest it.", - "layer-2-further-reading-title": "Further reading", - "a-rollup-centric-ethereum-roadmap": "A rollup-centric ethereum roadmap", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Polygon sidechain vs Ethereum rollups: layer 2 scaling approaches| Vitalik Buterin and Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUPS - The Ultimate Ethereum Scaling Strategy? Arbitrum & Optimism Explained", - "scaling-layer-1-with-shard-chains": "Scaling layer 1 with shard chains", - "understanding-rollup-economics-from-first-principals": "Understanding rollup economics from first principals", - "arbitrum-description": "Arbitrum One is an Optimistic Rollup that aims to feel exactly like interacting with Ethereum, but with transactions costing a fraction of what they do on L1.", - "optimism-description": "Optimism is a fast, simple, and secure EVM-equivalent optimistic rollup. It scales Ethereum's tech while also scaling its values through retroactive public goods funding.", - "boba-description": "Boba is an Optimistic Rollup originally forked from Optimism which is a scaling solution that aims to reduce gas fees, improve transaction throughput, and extend the capabilities of smart contracts.", - "base-description": "Base is a secure, low-cost, developer-friendly Ethereum L2 built to bring the next billion users to web3. It is an Ethereum L2, incubated by Coinbase and built on the open-source OP Stack.", - "loopring-description": "Loopring's zkRollup L2 solution aims to offer the same security guarantees as Ethereum mainnet, with a big scalability boost: throughput increased by 1000x, and cost reduced to just 0.1% of L1.", - "zksync-description": "ZKsync is a ZK Rollup that aims to scale Ethereum and its values to mainstream adoption, without degrading security or decentralization.", - "zkspace-description": "The ZKSpace platform consists of three main parts: a layer 2 AMM DEX utilizing ZK-Rollups technology called ZKSwap, a payment service called ZKSquare, and an NFT marketplace called ZKSea.", - "aztec-description": "Aztec Network is the first private zk-rollup on Ethereum, enabling decentralized applications to access privacy and scale.", - "starknet-description": "Starknet is a Validity Rollup Layer 2. It provides high throughput, low gas costs, and retains Ethereum Layer 1 levels of security.", - "layer-2-note": "Note:", - "layer-2-ecosystem-portal": "Ecosystem Portal", - "layer-2-token-lists": "Token Lists", - "layer-2-explore": "Explore", - "page-dapps-ready-button": "Go", - "layer-2-information": "Information", - "layer-2-wallet-managers": "Wallet managers" + } diff --git a/src/intl/es/page-layer-2.json b/src/intl/es/page-layer-2.json deleted file mode 100644 index 6ba0196d391..00000000000 --- a/src/intl/es/page-layer-2.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "layer-2-arbitrum-note": "Pruebas de fraude solo para los usuarios de la lista blanca, la lista blanca aún no está abierta.", - "layer-2-boba-note": "Validación de estado en desarrollo", - "layer-2-optimism-note": "Pruebas de fallos en desarrollo", - "layer-2-metadata-description": "Página de introducción a la capa 2", - "layer-2-hero-title": "Capa 2", - "layer-2-hero-header": "Ethereum para todos", - "layer-2-hero-subtitle": "Escalar Ethereum en pos de una adopción masiva.", - "layer-2-hero-alt-text": "Ilustración de transacciones que están siendo agrupadas en la capa 2 y publicadas en la red principal de Ethereum.", - "layer-2-hero-button-1": "¿Qué es la capa 2?", - "layer-2-hero-button-2": "Utilizar la capa 2", - "layer-2-hero-button-3": "Mover a la capa 2", - "layer-2-statsbox-1": "TVL bloqueado en la capa 2 (USD)", - "layer-2-statsbox-2": "Comision media de transferencia de ETH a capa 2 (USD)", - "layer-2-statsbox-3": "Cambio de TVL a la capa 2 (30 días)", - "layer-2-what-is-layer-2-title": "¿Qué es la capa 2?", - "layer-2-what-is-layer-2-1": "Capa 2 (L2) es un término colectivo para describir un conjunto específico de soluciones de escalado de Ethereum. La capa 2 es una cadena de bloques independiente que amplía Ethereum y hereda las garantías de seguridad de Ethereum.", - "layer-2-what-is-layer-2-2": "Ahora profundicemos en esto un poco más. Para ello, tenemos primero que explicar qué es la capa 1 (L1).", - "layer-2-what-is-layer-1-title": "¿Qué es la capa 1?", - "layer-2-what-is-layer-1-1": "La capa 1 es la cadena de bloques base. Ethereum y Bitcoin son ambas cadenas de bloque de capa 1, porque son la base subyacente sobre la que se han construido varias redes de capa 2. Ejemplos de proyectos de capa 2 incluyen los «rollups» (o acumulaciones) en Ethereum y la red Lightning en Bitcoin. Toda la actividad de transacción del usuario en estos proyectos de capa 2 puede establecerse en última instancia en la cadena de bloques de la capa 1.", - "layer-2-what-is-layer-1-2": "Ethereum también funciona como una capa de disponibilidad de datos para la capa 2. Los proyectos de la capa 2 publicarán los datos de sus transacciones a Ethereum, confiando en que estarán disponibles luego en esta red. Estos datos pueden utilizarse para obtener el estado de la capa 2, o para disputar transacciones en la capa 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum como capa 1 incluye:", - "layer-2-what-is-layer-1-list-1": "Una red de operadores de nodos para segurizar y validar la red", - "layer-2-what-is-layer-1-list-2": "Una red de productores de bloques", - "layer-2-what-is-layer-1-list-3": "La cadena de bloques y el historial de transacciones de datos", - "layer-2-what-is-layer-1-list-4": "El mecanismo de consenso para la red", - "layer-2-what-is-layer-1-list-link-1": "¿Aún se confunde con Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Aprenda lo que es Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "¿Por qué necesitamos la capa 2?", - "layer-2-why-do-we-need-layer-2-1": "Las tres propiedades deseables en una cadena de bloques son que sea descentralizada, segura y escalable. El «trilema» de la cadena de bloques afirma que una arquitectura de cadena de bloques sencilla solo puede lograr dos de tres. ¿Quiere un cadena de bloques segura y descentralizada? Entonces, tendrá que hacerlo a costa de la escalabilidad.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum actualmente procesa más de 1 millón de transacciones al día. La demanda de uso de Ethereum puede incrementar los precios de las cuotas de transacción. Y aquí es donde entran las redes capa 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Escalabilidad", - "layer-2-why-do-we-need-layer-2-scalability-1": "La meta principal de la capa 2 es incrementar el flujo transaccional (más transacciones por segundo) sin sacrificar la descentralización ni la seguridad.", - "layer-2-why-do-we-need-layer-2-scalability-2": "La red principal de Ethereum (la capa 1) es sólo capaz de procesar aproximadamente 15 transacciones por segundo. Cuando la demanda para usar Ethereum es alta, la red se congestiona, lo que incrementa las comisiones de transacción y excluye a los usuarios que no pueden pagar esas comisiones. Los proyectos de capa 2 son soluciones que reducen las comisiones procesando transacciones fuera de la cadena de bloques de la capa 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Más sobre la visión de Ethereum", - "layer-2-benefits-of-layer-2-title": "Beneficios de la capa 2", - "layer-2-lower-fees-title": "Comisiones más bajas", - "layer-2-lower-fees-description": "Al combinar múltiples transacciones fuera de la cadena en una sola transacción en la capa 1, las comisiones de transacciones se reducen drásticamente, haciendo que Ethereum sea más accesible para todos.", - "layer-2-maintain-security-title": "Mantener la seguridad", - "layer-2-maintain-security-description": "Las cadenas de bloque de la capa 2 asientan sus transacciones en la red principal de Ethereum, permitiendo a los usuarios beneficiarse de la seguridad de la red Ethereum.", - "layer-2-expand-use-cases-title": "Ampliar los casos de uso", - "layer-2-expand-use-cases-description": "Con más transacciones por segundo, comisiones más bajas y nuevas tecnologías, apareceran nuevas aplicaciones en los proyectos con una mejor experiencia de usuario.", - "layer-2-how-does-layer-2-work-title": "¿Cómo funciona la capa 2?", - "layer-2-how-does-layer-2-work-1": "Como mencionamos antes, capa 2 es un término colectivo para las soluciones de escalabilidad de Ethereum que manejan transacciones fuera de la capa 1 de Ethereum, mientras que aprovechan la robusta seguridad descentralizada de la capa 1 de Ethereum. Una capa 2 es una cadena de bloques separada que extiende el rendimiento de Ethereum. Entonces, ¿cómo funciona?", - "layer-2-how-does-layer-2-work-2": "Hay muchos tipos diferentes de capa 2, cada uno tiene sus propias ventajas y desventajas, así como sus propios modelos de seguridad. Los proyectos de capa 2 liberan de carga transaccional a la capa 1, reduciendo su congestión y haciéndola más escalable.", - "layer-2-rollups-title": "Agrupaciones", - "layer-2-rollups-1": "Los «rollups» agrupan (o acumulan) cientos de transacciones en una sola transacción en la capa 1. Esto distribuye la comisión de transacción del L1 entre todos los participantes en el «rollup» y, por ende, abarata la transacción para cada usuario.", - "layer-2-rollups-2": "Los datos de la transacción en el rollup se envían a la capa 1, pero su ejecución se realiza por separado. Al enviar los datos de la transacción a la capa 1, los rollups heredan la seguridad de Ethereum. Esto se debe a que una vez que los datos se cargan en la capa 1, revertir una transacción de rollup requiere revertir Ethereum. Hay dos enfoques diferentes para los rollups: optimista y de conocimiento cero; difieren principalmente en la forma en que se envían estos datos de transacción a la L1.", - "layer-2-optimistic-rollups-title": "Agrupaciones optimistas", - "layer-2-optimistic-rollups-description": "Las acumulaciones optimistas se denominan así en el sentido en que se asume que las transacciones son válidas, pero que se pueden cuestionar si es necesario. Si se sospecha que se ha producido una transacción inválida, se ejecuta una prueba de fallo para ver si realmente ha sido así.", - "layer-2-optimistic-rollups-childSentance": "Más acerca de las agrupaciones optimistas", - "layer-2-zk-rollups-title": "Agrupaciones de conocimiento cero", - "layer-2-zk-rollups-description": "Las agrupaciones de conocimiento cero utilizan pruebas de validez en donde las transacciones se computan fuera de la cadena, y luego los datos comprimidos se suministran a la red principal de Ethereum como prueba de su validez.", - "layer-2-zk-rollups-childSentance": "Más sobre las agrupaciones de conocimiento cero", - "layer-2-dyor-title": "Investigue por su cuenta: riesgos de la capa 2", - "layer-2-dyor-1": "Muchos proyectos de capa 2 están aún en ciernes y, por tanto, requieren que los usuarios confíen en que algunos de sus operadores descentralicen sus redes de forma honest. Infórmese siempre por su cuenta antes de decidir si se siente a gusto con los riesgos que implica.", - "layer-2-dyor-2": "Para más información sobre la tecnología, los riesgos y los supuestos de confianza de la capa 2, le recomendamos revisar L2BEAT, que proporciona un marco integral de evaluación de riesgos de cada proyecto.", - "layer-2-dyor-3": "Ir a L2BEAT", - "layer-2-use-layer-2-title": "Usa la capa 2", - "layer-2-use-layer-2-1": "Ahora que entiende por qué existe la capa 2 y cómo funciona, ¡vamos a ayudarle a ponerse en marcha!", - "layer-2-contract-accounts": "Si está utilizando una cartera de contrato inteligente como Safe o Argent, no tendrá control de esta dirección en la capa 2 hasta que reimplemente su cuenta de contrato a esa dirección en la capa 2. Las cuentas clásicas con frase de recuperación tendrán automáticamente la misma cuenta en todas las redes de capa 2.", - "layer-2-use-layer-2-generalized-title": "Capa 2 generalizada", - "layer-2-use-layer-2-generalized-1": "La capa 2 generalizada se comporta igual que Ethereum, pero es más barata. Cualquier cosa que se pueda hacer en la capa 1 de Ethereum, también se puede hacer en la capa 2. Muchas dapps ya han comenzado a migrar a estas redes o se han saltado por completo la red principal para desplegar directamente en una capa 2.", - "layer-2-use-layer-2-application-specific-title": "Aplicaciones específicas de capa 2", - "layer-2-use-layer-2-application-specific-1": "Las aplicaciones específicas de capa 2 son proyectos que se especializan en optimizar un espacio específico de la aplicación, aportando un rendimiento mejorado.", - "layer-2-sidechains-title": "Una nota sobre cadenas laterales, validiums y cadenas de bloques alternativas", - "layer-2-sidechains-1": "Las cadenas laterales y validiums son cadenas de bloques que permiten que los activos de Ethereum pasen de nivel y se utilicen en otra cadena de bloques. Las cadenas laterales y validiums se ejecutan en paralelo con Ethereum, e interactúan con Ethereum a través de niveles superiores, pero no derivan su seguridad o disponibilidad de datos desde Ethereum.", - "layer-2-sidechains-2": "Ambas escalan de forma similar a la capa 2: ofrecen tarifas de transacción más bajas y un mayor rendimiento de las transacciones, pero tienen supuestos de confianza diferentes.", - "layer-2-more-on-sidechains": "Más información sobre las cadenas laterales", - "layer-2-more-on-validiums": "Más información sobre validiums", - "layer-2-sidechains-4": "Algunas cadenas de bloques de capa 1 reportan un mayor rendimiento y comisiones de transacción más bajas que en Ethereum, pero generalmente conllevan desventajas en otros aspectos, como por ejemplo, mayores requisitos de equipo para operar los nodos.", - "layer-2-onboard-title": "Cómo entrar en una capa 2", - "layer-2-onboard-1": "Hay dos maneras principales de mover sus activos a una capa 2: pasar fondos desde Ethereum a través de un contrato inteligente o retirar sus fondos a un intercambio directamente a la red de la capa 2.", - "layer-2-onboard-wallet-title": "¿Fondos en su cartera?", - "layer-2-onboard-wallet-1": "Si ya tiene su ETH en su cartera, necesitará hacer un «puenteo» para pasarlo de la red principal de Ethereum a una capa 2.", - "layer-2-more-on-bridges": "Más información sobre los pasos a niveles superiores o «puenteos»", - "layer-2-onboard-wallet-input-placeholder": "Seleccione la L2 a la que desee pasar", - "layer-2-onboard-wallet-selected-1": "Puede pasar a", - "layer-2-onboard-wallet-selected-2": "utilizando estas carteras:", - "layer-2-bridge": "Puenteo", - "layer-2-onboard-exchange-title": "¿Fondos en un intercambio?", - "layer-2-onboard-exchange-1": "Algunos intercambios centralizados ahora ofrecen retiradas directas y depósitos a la capa 2. Verifique los intercambios que soportan retiradas de la capa 2 y qué capa 2 soportan.", - "layer-2-onboard-exchange-2": "También necesitará una cartera donde retirar sus fondos.", - "layer-2-onboard-find-a-wallet": "Encontrar una cartera de Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Verifique los intercambios compatibles con L2", - "layer-2-deposits": "Depósitos", - "layer-2-withdrawals": "Retiradas", - "layer-2-go-to": "Ir a", - "layer-2-tools-title": "Herramientas para operar de forma eficiente en la capa 2", - "layer-2-tools-l2beat-description": "L2BEAT es un gran recurso para examinar las evaluaciones de riesgos técnicos de los proyectos de la capa 2. Recomendamos revisar sus recursos al investigar proyectos específicos de la capa 2.", - "layer-2-tools-l2fees-description": "Las comisiones de L2 le permiten ver el coste actual (expresado en USD) para realizar transacciones en diferentes capas 2.", - "layer-2-tools-chainlist-description": "Chainlist es un gran recurso para importar RPC de la red a carteras compatibles. Aquí encontrará RPC para proyectos de la capa 2 para ayudarle a conectarse.", - "layer-2-tools-zapper-description": "Gestione todo su portafolio web3 desde DeFi a NFT y todo lo que venga después. Invierta en las últimas oportunidades desde un lugar conveniente.", - "layer-2-tools-zerion-description": "Construya y administre todo su portafolio DeFi desde un solo lugar. Descubra el mundo de las finanzas descentralizadas hoy.", - "layer-2-tools-debank-description": "Manténgase al corriente de todos los acontecimientos importantes en el mundo web3", - "layer-2-faq-title": "Preguntas frecuentes", - "layer-2-faq-question-1-title": "¿Por qué no hay ninguna L2 «oficial» de Ethereum?", - "layer-2-faq-question-1-description-1": "De la misma manera que no existe un cliente «oficial» de Ethereum, tampoco ha una capa 2 «oficial» de Ethereum. Ethereum no tiene permisos, técnicamente cualquiera puede crear una capa 2. Múltiples equipos implementarán su versión de una capa 2 y el ecosistema en su conjunto se beneficiará de una diversidad de enfoques de diseño optimizados para diferentes casos de uso. Al igual que tenemos múltiples clientes de Ethereum desarrollados por varios equipos para tener diversidad en la red, así también se desarrollará la capa 2 en el futuro.", - "layer-2-faq-question-2-title": "¿Cuál es la diferencia entre las agrupaciones optimistas y las de conocimiento cero?", - "layer-2-faq-question-2-description-1": "Tanto las agrupaciones optimistas como las de conocimiento cero, aglutinan cientos de transacciones en una sola transacción en la capa 1. Las transacciones de agrupación se ejecutan fuera de la capa 1, pero los datos de las transacciones se publican en la capa 1.", - "layer-2-faq-question-2-description-2": "La principal diferencia es qué datos se publican en la capa 1 y cómo se verifican los datos. Las pruebas de validez (usadas por las agrupaciones de conocimiento cero) ejecutan los cálculos fuera de la cadena y publican una prueba, mientras que las pruebas de fallos (utilizadas por las agrupaciones optimistas) solo ejecutan los cálculos en la cadena cuando se sospecha del fallo y debe ser verificada.", - "layer-2-faq-question-2-description-3": "Actualmente la mayoría de las agrupaciones de conocimiento cero son específicas a la aplicación, a diferencia de las agrupaciones optimistas, que usualmente son de uso genérico.", - "layer-2-more-info-on-optimistic-rollups": "Más información sobre las agrupaciones optimistas", - "layer-2-more-info-on-zk-rollups": "Más información sobre las agrupaciones de conocimiento cero", - "layer-2-faq-question-4-title": "¿Qué riesgos tiene la capa 2?", - "layer-2-faq-question-4-description-1": "Los proyectos de la capa 2 contienen riesgos adicionales en comparación con la retención de fondos y la transacción directa en la red principal de Ethereum. Por ejemplo, los secuenciadores podrían dejar de funcionar, lo que obligaría a esperar para acceder a los fondos.", - "layer-2-faq-question-4-description-2": "Le aconsejamos que indague por su cuenta antes de transferir fondos significativos a una capa 2. Para más información sobre la tecnología, los riesgos y los supuestos de confianza de la capa 2, recomendamos revisar L2BEAT, que proporciona un marco integral de evaluación de riesgos de cada proyecto.", - "layer-2-faq-question-4-description-3": "Los puenteos de cadena de bloques, que permiten las transferencias de activos a la capa 2, están aún en una fase inicial de desarrollo y es probable que todavía no se haya descubierto el diseño óptimo para este tipo de soluciones. Recientemente ha habido ataques de hackers a los puenteos.", - "layer-2-faq-question-5-title": "¿Por qué no se enumeran aquí algunos proyectos de capa 2?", - "layer-2-faq-question-5-description-1": "Queremos asegurarnos de que mencionamos los mejores recursos posibles para que los usuarios puedan utilizar las soluciones de capa 2 de manera segura y fiable. Tenemos criterios de evaluación que deben cumplirse para ser incluídos.", - "layer-2-faq-question-5-view-listing-policy": "Consulte aquí nuestra política de listado de capa 2.", - "layer-2-faq-question-5-description-2": "Cualquiera es libre de sugerir añadir una capa 2 en ethereum.org. Si hay una capa 2 que hayamos omitido, por favor sugiérela.", - "layer-2-further-reading-title": "Más información", - "a-rollup-centric-ethereum-roadmap": "Una hoja de ruta de ethereum centrada en las agrupaciones", - "an-incomplete-guide-to-rollups": "Una guía incompleta sobre las agrupaciones", - "polygon-sidechain-vs-ethereum-rollups": "La cadena lateral de Polygon frente a los «rollups» de Ethereum: enfoques de escalabilidad de la capa 2 | Vitalik Buterin y Lex Fridman)", - "rollups-the-ultimate-ethereum-scaling-strategy": "AGRUPACIONES: ¿La estrategia definitiva de escalabilidad de Ethereum? Arbitrum y Optimism explicados", - "scaling-layer-1-with-shard-chains": "Escalabilidad a capa 1 con cadenas de fragmentos", - "understanding-rollup-economics-from-first-principals": "Entender la economía de agrupaciones desde los albores", - "arbitrum-description": "Arbitrum One es un «rollup» (o acumulación) optimista que pretende imitar la interacción con Ethereum, pero con transacciones que cuestan una fracción de su precio normal en L1.", - "optimism-description": "Optimism es una agrupación optimista segura y rápida, con tecnología equivalente a la EVM. Escala la tecnología de Ethereum y difunde sus principios mediante la financiación retroactiva de bienes públicos.", - "boba-description": "Boba es una agrupación optimista (Optimistic rollup) originalmente bifurcada desde Optimism, que es una solución de escalabilidad que tiene como objetivo reducir el precio del gas, mejorar el rendimiento de las transacciones, y ampliar las capacidades de los contratos inteligentes.", - "loopring-description": "La solución de agrupación de conocimiento cero para L2, zkRollup L2, de Loopring tiene como objetivo ofrecer las mismas garantías de seguridad que la red principal Ethereum, con un gran aumento de la escalabilidad: el rendimiento aumentó 1000 veces y el coste se redujo a solo 0,1 % de L1.", - "zksync-description": "ZKsync es una plataforma de agrupaciones de conocimiento ceo de Matter Labs centrada en el usuario. Es una solución de escalabilidad para Ethereum que ya existe en la red principal de Ethereum. Soporta pagos, intercambio de tókenes y la acuñación (o minting) de NFT.", - "zkspace-description": "La plataforma ZKSpace consiste de tres partes principales: un capa 2 de AMM DEX ―que utiliza una tecnología de ZK-rollups llamada ZKSwap― un servicio de pago llamado ZKSquare y una plataforma intermediaria de NFT llamada ZKSea.", - "aztec-description": "Aztec Network es la primera agrupación de conocimiento cero privada de Ethereum, que permite a las aplicaciones descentralizadas privacidad y escalabilidad.", - "starknet-description": "Starknet es una capa acumulativa de validez 2, proporciona un alto rendimiento, bajos costes de gas y retiene los niveles de seguridad de la capa 1 de Ethereum.", - "layer-2-note": "Nota:", - "layer-2-ecosystem-portal": "Portal del ecosistema", - "layer-2-token-lists": "Listas de tókenes", - "layer-2-explore": "Explorar", - "page-dapps-ready-button": "Ir" -} diff --git a/src/intl/fa/page-layer-2.json b/src/intl/fa/page-layer-2.json deleted file mode 100644 index 423c24bb42d..00000000000 --- a/src/intl/fa/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "اثبات تقلب فقط برای کاربران قرار گرفته در فهرست سفید است، فهرست سفید هنوز باز نشده است", - "layer-2-boba-note": "اعتبارسنجی حالت در حال توسعه است", - "layer-2-optimism-note": "اثبات تقلب در حال توسعه است", - "layer-2-hero-title": "لایه 2", - "layer-2-hero-header": "اتریوم برای همه", - "layer-2-hero-subtitle": "مقیاس پذیری اتریوم برای پدیرش همگانی.", - "layer-2-hero-alt-text": "تصویری از تراکنش هایی که بر روی لایه-2 انباشته می‌شوند و سپس به شبکه اصلی اتریوم ارسال می‌شوند", - "layer-2-hero-button-1": "لایه 2 چیست", - "layer-2-hero-button-2": "استفاده کردن از لایه 2", - "layer-2-hero-button-3": "رفتن به لایه 2", - "layer-2-statsbox-1": "TVL قفل‌شده در لایه 2 (USD)", - "layer-2-statsbox-2": "میانگین هزینه انتقال اتریوم لایه 2 (دلار آمریکا)", - "layer-2-statsbox-3": "تغییر لایه 2 TVL (30 روز)", - "layer-2-what-is-layer-2-title": "لایه 2 چیست؟", - "layer-2-what-is-layer-2-1": "لایه 2 (L2) یک اصطلاح جمعی برای توصیف مجموعه خاصی از راه حل های مقیاس پذیری اتریوم است. لایه 2 یک بلاک چین جداگانه است که اتریوم را گسترش می دهد و تضمین های امنیتی اتریوم را به ارث می برد.", - "layer-2-what-is-layer-2-2": "اکنون به بررسی بیشتر این موضوع بپردازیم. برای این امر ابتدا باید لایه-1 (L1) را شرح دهیم.", - "layer-2-what-is-layer-1-title": "لایه 1 چیست؟", - "layer-2-what-is-layer-1-1": "لایه 1 بلاکچین پایه می باشد. اتریوم و بیتکوین هر دو بلاکچین‌های لایه 1 هستند چون آنها بنیان شبکه های مختلف لایه 2 می باشند که بر روی آنها ساخته می شوند. نمونه هایی از پروژه های لایه 2، شامل \"رول آپ ها\" بر روی بستر اتریوم و شبکه \"لایتنینگ\" یر روی بستر بینکوین می باشد. تمام تراکنش های کاربر بر روی پروژه های لایه 2 در نهایت می توانند به بلاک‌چین لایه 1 باز گردانده شود.", - "layer-2-what-is-layer-1-2": "اتریوم همچنین به‌عنوان یک لایه دسترسی به داده‌ها برای لایه‌های 2 عمل میکند. پروژه‌های لایه 2 داده‌های تراکنش خود را بر روی اتریوم ارسال می‌کنند و برای در دسترس بودن داده‌ها به اتریوم متکی هستند. از این داده‌ها می‌توان برای به دست آوردن حالت لایه 2 یا طرح اختلاف با تراکنش‌های لایه 2 استفاده کرد.", - "layer-2-what-is-layer-1-list-title": "اتریوم به‌عنوان لایه 1 شامل این موارد است:", - "layer-2-what-is-layer-1-list-1": "شبکه‌ای از عملگرهای گره برای ایمن‌سازی و اعتبارسنجی شبکه", - "layer-2-what-is-layer-1-list-2": "شبکه‌ای از تولیدکنندگان بلوک", - "layer-2-what-is-layer-1-list-3": "خود زنجیره‌‌ی بلوکی و تاریخچه داده‌های تراکنش", - "layer-2-what-is-layer-1-list-4": "مکانیزم اجماع برای شبکه", - "layer-2-what-is-layer-1-list-link-1": "هنوز در مورد اتریوم سردرگم هستید؟", - "layer-2-what-is-layer-1-list-link-2": "یاد بگیرید که اتریوم چیست.", - "layer-2-why-do-we-need-layer-2-title": "چرا به لایه 2 نیاز داریم؟", - "layer-2-why-do-we-need-layer-2-1": "سه ویژگی مطلوب یک زنجیره‌‌ی بلوکی این است که غیرمتمرکز، ایمن و مقیاس‌پذیر است. سه‌گانه زنجیره‌‌ی بلوکی بیان می‌کند که یک معماری ساده زنجیره‌‌ی بلوکی تنها می‌تواند به دو مورد از سه مورد دست یابد. زنجیره‌‌ی بلوکی امن و غیرمتمرکز می‌خواهید؟ باید مقیاس‌پذیری را قربانی کنید.", - "layer-2-why-do-we-need-layer-2-2": "در حال حاضر اتریوم قادر به پردازشبیش از 1 میلیون تراکنش در روز می باشد. نیاز به استفاده از اتریوم می تواند منجر به افزایش قیمت کارمزد تراکنش شود. اینجاست که شبکه های لایه 2 وارد می شوند.", - "layer-2-why-do-we-need-layer-2-scalability": "مقیاس‌پذیری", - "layer-2-why-do-we-need-layer-2-scalability-1": "هدف اصلی لایه 2 افزایش تعداد تراکنش ها (بیشترین تراکنش بر ثانیه) بدون قربانی کردن تمرکززدایی یا امنیت می باشد.", - "layer-2-why-do-we-need-layer-2-scalability-2": "شبکه اصلی اتریوم (لایه 1) فقط می تواند نزدیک به 15 تراکنش بر ثانیه را پردازش کند. زمانی که تقاضا برای استفاده از اتریوم زیاد است، شبکه‌ شلوغ می شود، که قیمت ها و کارمزد تراکنش ها را برای کاربرانی که توان پرداخت آن هزینه ها را ندارند افزایش می دهد. لایه های 2 راه حل هایی هستند که این هزینه ها را با پردازش تراکنش های خارج از لایه-1 بلاک‌چین کاهش می دهند.", - "layer-2-why-do-we-need-layer-2-scalability-3": "اطلاعات بیشتر درباره‌ی چشم‌انداز اتریوم", - "layer-2-benefits-of-layer-2-title": "مزایای لایه 2", - "layer-2-lower-fees-title": "کازمزد کمتر", - "layer-2-lower-fees-description": "با ترکیب چندین تراکنش خارج از زنجیره در یک تراکنش لایه 1، کارمزد تراکنش به شدت کاهش می‌یابد و اتریوم را برای همه قابل دسترس‌تر می‌کند.", - "layer-2-maintain-security-title": "حفظ امنیت", - "layer-2-maintain-security-description": "زنجیره‌‌های بلوکی لایه 2 تراکنش‌های خود را در شبکه اصلی اتریوم انجام می‌دهند و به کاربران امکان می‌دهند از امنیت شبکه اتریوم بهره‌مند شوند.", - "layer-2-expand-use-cases-title": "گسترش موارد استفاده", - "layer-2-expand-use-cases-description": "با تعداد تراکنش‌های بیشتر در هر ثانیه، کارمزد کمتر و فناوری جدید، پروژه‌ها به سراغ کاربردهای جدید با تجربه کاربری بهبودیافته می‌روند.", - "layer-2-how-does-layer-2-work-title": "لایه 2 چگونه کار می‌کند؟", - "layer-2-how-does-layer-2-work-1": "همانطور که در بالا اشاره شد، لایه 2 یک اصطلاح جمعی برای راه حل های مقیاس‌پذیری است که تراکنش های خروجی اتریوم لایه 1 را کنترل می کنند، در حالی که همچنان از امنیت غیرمتمرکز قدرتمند اتریوم لایه 1 بهره می برند. لایه 2، یک بلاک‌چین مجزا است که اتریوم را گسترش می دهد. چطور کار می کند؟", - "layer-2-how-does-layer-2-work-2": "چندین نوع متفاوت لایه 2 وجود دارند، هر کدام مبادلات و مدل های امنیتی خودشان را دارند. لایه های 2، بار معاملاتی را از لایه 1 می گیرند و به آن امکان می دهند که کمتر شلوغ شود، و همه چیز بیشتر مقیاس پذیر باشد.", - "layer-2-rollups-title": "رول‌آپ‌ها", - "layer-2-rollups-1": "رول آپ ها (یا \"رول آپ\")، صد ها تراکنش را در یک تراکنش مستقل روی لایه 1 دسته بندی می کند. این کار کارمزد تراکنش های لایه 1 را بین همه افراد در رول‌‌آپ توزیع می کند، و آن را برای هر کاربر ارزانتر می کند.", - "layer-2-rollups-2": "تراکنش های رول آپ، بیرون از لایه 1 اجرا می شوند اما داده های مربوط به تراکنش ها در لایه 1 ثبت می شوند. با ثبت تراکنش داده بر روی لایه 1، رول آپ ها از امنیت اتریوم بهره مند می شوند. این به این خاطر است که زمانی که داده بر روی لایه 1 بارگذاری می شود، بازگشت یک تراکنش رول آپ نیازمند بازگشت اتریوم است. دو روش مختلف برای \"رول آپ ها\" وجود دارد: خوشبینانه و دانش صفر. تفاوت عملکرد آنها بر اساس نحوه ثبت داده تراکنش بر روی لایه 1 می باشد.", - "layer-2-optimistic-rollups-title": "رول‌آپ‌های خوش‌بینانه", - "layer-2-optimistic-rollups-description": "رول‌آپ‌های خوش‌بینانه از این دید «خوش‌بین» هستند که تراکنش‌ها معتبر فرض می‌شوند، اما در صورت لزوم می‌توانند به چالش کشیده شوند. اگر یک تراکنش نامعتبر درنظر گرفته شود، یک اثبات تقلب جهت بررسی صحت این اتقاق اجرا می‌شود.", - "layer-2-optimistic-rollups-childSentance": "کسب اطلاعات بیشتر در مورد رول‌آپ‌های خوش‌بینانه", - "layer-2-zk-rollups-title": "رول‌آپ‌های دانش-صفر", - "layer-2-zk-rollups-description": "رول‌آپ‌های دانش-صفر از اثبات اعتبار استفاده می‌کنند که در آن، تراکنش‌ها خارج زنجیره محاسبه می‌شوند، و سپس داده‌های فشرده‌شده به‌عنوان اثبات اعتبار آن‌ها در شبکه اصلی اتریوم ارائه می‌شود.", - "layer-2-zk-rollups-childSentance": "کسب اطلاعات بیشتر در مورد رول‌آپ‌های دانش-صفر", - "layer-2-dyor-title": "تحقیق خود را انجام دهید: خطرات لایه 2", - "layer-2-dyor-1": "بسیاری از پروژه‌های لایه 2 نسبتا نوپا هستند و در حالی که در مسیر غیرمتمرکز شدن قدم برمیدارند کاربران هنوز باید به بعضی اپراتور ها اعتماد کنند که صادقانه رفتار کنند. همواره خودتان تحقیق کنید و سپس تصمیم بگیرید که آیا ریسک های مربوطه برای شما قابل قبول است یا خیر.", - "layer-2-dyor-2": "برای اطلاعات بیشتر در مورد فناوری، ریسک‌ها و مفروضات اعتماد لایه 2، توصیه می‌کنیم L2BEAT را بررسی کنید، که چارچوب ارزیابی ریسک جامع هر پروژه را ارائه می‌کند.", - "layer-2-dyor-3": "رفتن به L2BEAT", - "layer-2-use-layer-2-title": "استفاده کردن از لایه 2", - "layer-2-use-layer-2-1": "اکنون که فهمیدید چرا لایه 2 وجود دارد و چگونه کار می‌کند، بیایید کار را شروع کنیم!", - "layer-2-contract-accounts": "اگر از کیف پول های مبتنی بر قرارداد هوشمند مثل Safe یا Argent استفاده میکنید، به این آدرس روی لایه 2 دسترسی ندارید تا وقتی که دوباره حساب قرارداد را بر روی آن آدرس در لایه 2 پیاده‌سازی کنید. حساب های کلاسیک با عبارت بازیابی، به صورت خودکار حساب یکسانی روی تمام شبکه‌های لایه 2 خواهند داشت.", - "layer-2-use-layer-2-generalized-title": "لایه 2های تعمیم یافته", - "layer-2-use-layer-2-generalized-1": "لایه‌ 2های تعمیم یافته دقیقاً مانند اتریوم عمل می‌کنند - اما ارزان‌تر. هر کاری که می‌توانید در لایه 1 اتریوم انجام دهید، می‌توانید در لایه 2 نیز انجام دهید. بسیاری از dappها قبلاً شروع به مهاجرت به این شبکه‌ها کرده اند یا به‌طور کلی از شبکه اصلی صرف‌نظر کرده‌اند تا مستقیماً روی لایه 2 مستقر شوند.", - "layer-2-use-layer-2-application-specific-title": "لایه 2های خاص برنامه‌های کاربردی", - "layer-2-use-layer-2-application-specific-1": "لایه 2های خاص برنامه پروژه‌هایی هستند که در بهینه‌سازی برای یک فضای برنامه خاص تخصص دارند و عملکرد بهبودیافته را به ارمغان می‌آورند.", - "layer-2-sidechains-title": "یادداشتی در مورد زنجیره‌های جانبی، Validiumها و زنجیره‌‌های بلوکی جایگزین", - "layer-2-sidechains-1": "زنجیره‌های جانبی و Validiumها زنجیره‌‌های بلوکی هستند که به دارایی‌های اتریوم اجازه می‌دهند تا روی زنجیره‌‌ی بلوکی پل بزنند و از آن‌ها استفاده کنند. زنجیره‌های جانبی و Validiumها به موازات اتریوم اجرا می‌شوند و از طریق پل‌ها با اتریوم در تعامل هستند، اما امنیت یا در دسترس بودن داده‌های خود را از اتریوم نمی‌گیرند.", - "layer-2-sidechains-2": "هر دو به طور مشابه به لایه 2 مقیاس‌پذیری می‌شوند - آن‌ها کارمزد تراکنش کمتر و توان عملیاتی تراکنش بالاتری را ارائه می‌دهند - اما مفروضات اعتماد متفاوتی دارند.", - "layer-2-more-on-sidechains": "اطلاعات بیشتر در مورد زنجیره‌های جانبی", - "layer-2-more-on-validiums": "اطلاعات بیشتر در مورد Validiumها", - "layer-2-sidechains-4": "بعضی بلاکچین‌های لایه 1 ظرفیت بیشتر برای پردازش تراکنش و هزینه کمتر از اتریوم را گزارش میدهند، اما به طور کلی این مزایا معایبی چون بالاتر بودن سخت‌افزار مورد نیاز برای راه‌اندازی نود شبکه به همراه دارد.", - "layer-2-onboard-title": "نحوه ورود به لایه 2", - "layer-2-onboard-1": "دو راه اصلی برای انتقال دارایی‌های خود به لایه 2 وجود دارد: پل زدن وجوه از اتریوم از طریق یک قرارداد هوشمند یا برداشت وجوه خود در صرافی مستقیماً در شبکه لایه 2.", - "layer-2-onboard-wallet-title": "در کیف پولتان پول دارید؟", - "layer-2-onboard-wallet-1": "اگر از قبل در کیف پول خود اتر دارید، باید از یک پل برای انتقال آن از شبکه اصلی اتریوم به لایه 2 استفاده کنید.", - "layer-2-more-on-bridges": "اطلاعات بیشتر درباره‌ی پل‌ها", - "layer-2-onboard-wallet-input-placeholder": "لایه دومی را که می‌خواهید به آن پل بزنید، انتخاب کنید", - "layer-2-onboard-wallet-selected-1": "می‌توانید با استفاده از این کیف پول‌ها به", - "layer-2-onboard-wallet-selected-2": "متصل شوید:", - "layer-2-bridge": "پل", - "layer-2-onboard-exchange-title": "در صرافی پول دارید؟", - "layer-2-onboard-exchange-1": "برخی از صرافی‌های متمرکز اکنون امکان برداشت و واریز مستقیم به لایه‌های 2 را ارائه می‌کنند. بررسی کنید که کدام صرافی‌ها از برداشت به لایه 2 پشتیبانی می‌کنند و از کدام لایه‌های 2 پشتیبانی می کنند.", - "layer-2-onboard-exchange-2": "شما همچنین به یک کیف پول برای برداشت وجوه خود نیاز دارید.", - "layer-2-onboard-find-a-wallet": "پیدا کردن یک کیف پول اتریوم.", - "layer-2-onboard-exchange-input-placeholder": "صرافی‌هایی که از L2 پشتیبانی می‌کنند را بررسی کنید", - "layer-2-deposits": "سپرده", - "layer-2-withdrawals": "برداشت وجه", - "layer-2-go-to": "برو به", - "layer-2-tools-title": "ابزارهایی مفید برای لایه 2", - "layer-2-tools-l2beat-description": "L2BEAT یک منبع عالی برای بررسی ارزیابی ریسک فنی پروژه‌های لایه 2 است. توصیه می‌کنیم هنگام تحقیق در مورد پروژه‌های لایه 2 خاص، منابع آنها را بررسی کنید.", - "layer-2-tools-l2fees-description": "L2 Fees به شما امکان می‌دهد هزینه جاری (به دلار آمریکا) را برای انجام تراکنش در لایه‌های مختلف 2 مشاهده کنید.", - "layer-2-tools-chainlist-description": "Chainlist یک منبع عالی برای وارد کردن RPCهای شبکه به کیف پول‌های پشتیبانی است. شما RPCها را برای پروژه‌های لایه 2 در اینجا پیدا خواهید کرد که کمکتان می‌کنند متصل شوید.", - "layer-2-tools-zapper-description": "کل پورتفولیوی وب 3 خود را از دیفای گرفته تا NFT و هر آنچه که در آینده می‌آید مدیریت کنید. از یک محیط واحدِ آسان در تازه‌ترین فرصت‌ها سرمایه‌گذاری کنید.", - "layer-2-tools-zerion-description": "کل مجموعه دیفای خود را از یک مکان بسازید و مدیریت کنید. همین امروز دنیای مالی غیرمتمرکز را کشف کنید.", - "layer-2-tools-debank-description": "با تمام اتفاقات مهم در دنیای وب 3 همراه باشید", - "layer-2-faq-title": "سؤالات متداول", - "layer-2-faq-question-1-title": "چرا اتریوم لایه 2 «رسمی» وجود ندارد؟", - "layer-2-faq-question-1-description-1": "همان‌طور که هیچ کلاینت «رسمی» برای اتریوم وجود ندارد، لایه 2 اتریوم «رسمی» هم وجود ندارد. اتریوم بی‌مجوز است - از نظر فنی هر کسی می‌تواند یک لایه 2 ایجاد کند! چندین تیم نسخه خود را از یک لایه 2 پیاده‌سازی خواهند کرد و اکوسیستم به‌عنوان یک کل از تنوع رویکردهای طراحی که برای موارد استفاده مختلف بهینه شده‌اند بهره‌مند خواهند شد. درست مانند چندین کلاینت اتریوم که توسط تیم‌های متعدد توسعه داده شده اند تا تنوع در شبکه داشته باشیم، لایه 2 نیز در آینده به این صورت خواهد بود.", - "layer-2-faq-question-2-title": "تفاوت بین رول‌آپ‌های خوش‌بینانه و دانش-صفر چیست؟", - "layer-2-faq-question-2-description-1": "هم رول‌‌آپ‌های خوش‌بینانه و رول‌‌آپ‌های دانش-صفر، صدها تراکنش را در یک تراکنش در لایه 1 بسته‌بندی می‌کنند (یا «جمع می‌کنند»). تراکنش‌های رول‌آپ خارج از لایه 1 اجرا می‌شوند اما داده‌ها به لایه 1 ارسال می‌شوند.", - "layer-2-faq-question-2-description-2": "تفاوت اصلی در داده‌هایی که در لایه 1 پست می‌شوند و نحوها تأیید داده‌ها است. اثبات‌های اعتبار (که توسط جمع‌آوری‌های دانش صفر استفاده می‌شوند) محاسبات را خارج زنجیره اجرا می‌کنند و یک اثبات ارسال می‌کنند، در حالی که اثبات‌های تقلب (که توسط جمع‌بندی‌های خوش‌بینانه استفاده می‌شوند) محاسبات را فقط در صورت مشکوک بودن به خطا انجام می‌دهند و باید بررسی شوند.", - "layer-2-faq-question-2-description-3": "در حال حاضر، بیشتر رول‌آپ‌های دانش-صفر مختص برنامه‌های کاربردی هستند، برخلاف رول‌آپ‌های خوش‌بینانه که تا حد زیادی قابل تعمیم هستند.", - "layer-2-more-info-on-optimistic-rollups": "اطلاعات بیشتر در مورد رول‌آپ خوش‌بینانه", - "layer-2-more-info-on-zk-rollups": "کسب اطلاعات بیشتر در مورد رول‌آپ‌های دانش-صفر", - "layer-2-faq-question-4-title": "خطرات لایه 2 چیست؟", - "layer-2-faq-question-4-description-1": "پروژه‌‌های لایه 2 در مقایسه با نگهداری وجوه و تراکنش مستقیم روی شبکه اصلی اتریوم دارای خطرات بیشتری هستند. به‌عنوان مثال، ترتیب‌دهنده‌ها ممکن است از کار بیفتند، که باعث می‌شود برای دسترسی به وجوه منتظر بمانید.", - "layer-2-faq-question-4-description-2": "ما شما را تشویق می‌کنیم قبل از انتقال وجوه قابل توجه به لایه 2، تحقیق خود را انجام دهید. برای اطلاعات بیشتر در مورد فناوری، خطرات و مفروضات اعتماد لایه 2، توصیه می کنیم L2BEAT را، که یک چارچوب ارزیابی ریسک جامع از هر پروژه ارائه می‌کند، بررسی کنید.", - "layer-2-faq-question-4-description-3": "پل‌های زنجیره‌‌ی بلوکی که انتقال دارایی‌ها به لایه 2 را تسهیل می‌کنند، در مراحل اولیه توسعه خود هستند و احتمالاً طراحی پل بهینه هنوز کشف نشده است. اخیراً هک‌های پل مشاهده شده است.", - "layer-2-faq-question-5-title": "چرا برخی از پروژه‌های لایه 2 در اینجا فهرست نشده‌اند؟", - "layer-2-faq-question-5-description-1": "ما می‌خواهیم مطمئن شویم که بهترین منابع ممکن را فهرست کرده‌ایم تا کاربران بتوانند فضای لایه 2 را به شکلی امن و مطمئن پیمایش کنند. ما چارچوبی از معیارها را برای نحوه ارزیابی پروژه‌ها جهت گنجاندن حفظ می‌کنیم.", - "layer-2-faq-question-5-view-listing-policy": "خط‌مشی لیست لایه 2 ما را در اینجا مشاهده کنید.", - "layer-2-faq-question-5-description-2": "هر کسی آزاد است پیشنهاد اضافه کردن لایه 2 را در ethereum.org بدهد. اگر لایه 2 وجود دارد که از قلم افتاده است، لطفاً آن را پیشنهاد دهید.", - "layer-2-further-reading-title": "بیشتر بخوانید", - "a-rollup-centric-ethereum-roadmap": "یک نقشه‌ی راه رول‌آپ‌محور اتریوم", - "an-incomplete-guide-to-rollups": "راهنمای ناقص رول‌آپ‌ها", - "polygon-sidechain-vs-ethereum-rollups": "زنجیره جانبی Polygon در مقابل رول آپ های اتریوم: رویکردهای مقیاس‌پذیری لایه 2| ویتالیک بوترین و لکس فریدمن", - "rollups-the-ultimate-ethereum-scaling-strategy": "رول‌آپ‌ها- راهبرد نهایی مقیاس‌پذیری اتریوم؟ شرحی بر Arbitrum و خوش‌بینی", - "scaling-layer-1-with-shard-chains": "مقیاس‌پذیری لایه 1 با خرده‌زنجیره‌ها", - "understanding-rollup-economics-from-first-principals": "درک اقتصاد رول‌‌آپ از اصول اولیه", - "arbitrum-description": "Arbitrum One رول‌آپی خوش‌بینانه است که می‌خواهد حسی دقیقاً شبیه تعامل با اتریوم را تداعی کند، اما با تراکنش‌هایی که هزینه‌شان تنها کسری از هزینه آن‌ها در لایه 1 است.", - "optimism-description": "Optimism یک رول‌آپ خوش‌بینانه سریع، ساده و ایمن معادل EVM است. این رول‌آپ فناوری اتریوم را مقیاس‌پذیر می‌کند و در عین حال ارزش‌های آن را از طریق تأمین مالی ماسبق برای کالاهای عمومی افزایش می‌دهد.", - "boba-description": "Boba یک رول‌آپ خوش‌بینانه است که در اصل از Optimism جدا شده است و یک راه‌حل مقیاس‌پذیر است که هدف آن کاهش هزینه‌های گاز، بهبود توان عملیاتی تراکنش‌ها و گسترش قابلیت‌های قراردادهای هوشمند است.", - "loopring-description": "راه‌حل لایه 2 رول‌آپ دانش-صفر Loopring به دنبال ارائه کردن ضمانت‌های امنیتی مشابه شبکه اصلی اتریوم به همراه بهبود خیره‌کننده مقیاس‌پذیری است: توان عملیاتی 1000 برابر افزایش یافته و هزینه به تنها 0.1% از L1 کاهش می‌یابد.", - "zksync-description": "ZKsync یک پلتفرم جمع‌بندی دانش-صفر کاربر محور ارائه‌شده توسط Matter Labs است. این پلتفرم، یک راه‌حل مقیاس‌پذیر برای اتریوم است که در حال حاضر در شبکه اصلی اتریوم وجود دارد. ZKsync از پرداخت، مبادله توکن و ضرب کردن NFT پشتیبانی می‌کند.", - "zkspace-description": "پلتفرم ZKSpace از سه بخش اصلی تشکیل شده است: یک صرافی غیر متمرکز و بازارساز خودکار(AMM DEX) لایه 2 که از فناوری ZK-Rollups به نام ZKSwap استفاده میکند، یک سرویس پرداخت به نام ZKSquare و یک بازار NFT به نام ZKSea.", - "aztec-description": "شبکه آزتک اولین رول‌آپ دانش-صفر خصوصی در اتریوم است که به برنامه‌های غیرمتمرکز امکان دسترسی به حریم خصوصی و مقیاس‌پذیری را می‌دهد.", - "layer-2-note": "توجه:", - "layer-2-ecosystem-portal": "پورتال اکوسیستم", - "layer-2-token-lists": "فهرست‌های توکن", - "layer-2-explore": "کاوش", - "page-dapps-ready-button": "برو" -} diff --git a/src/intl/fi/page-layer-2.json b/src/intl/fi/page-layer-2.json deleted file mode 100644 index c7c452f5685..00000000000 --- a/src/intl/fi/page-layer-2.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "layer-2-arbitrum-note": "Petosten tunnistaminen vain listatuille käyttäjille, sallittujen käyttäjien lista ei vielä avoin", - "layer-2-boba-note": "Valtion validointi kehitteillä", - "layer-2-optimism-note": "Petosten tunnistaminen kehitteillä", - "layer-2-hero-title": "Taso 2", - "layer-2-hero-header": "Ethereum kuuluu kaikille", - "layer-2-hero-subtitle": "Ethereumin skaalausta ilman kompromissia suojauksen ja hajautuksen välillä.", - "layer-2-hero-alt-text": "Kuvitus transaktioista, jotka on viety tasolle 2 ja lähetetty Ethereumin Mainnetiin", - "layer-2-hero-button-1": "Mikä taso 2 (Layer 2) on?", - "layer-2-hero-button-2": "Hyödynnä tasoa 2", - "layer-2-hero-button-3": "Siirry tasolle 2", - "layer-2-statsbox-1": "Tasolle 2 kiinnitetty yhteissumma (USD)", - "layer-2-statsbox-2": "Taso 2 keskimääräinen Etherien transaktiokustannus (USD)", - "layer-2-statsbox-3": "Tasolle 2 kiinnitetyn kokonaissumman muutos (30 päivää)", - "layer-2-what-is-layer-2-title": "Mikä taso 2 (Layer 2) on?", - "layer-2-what-is-layer-2-1": "Taso 2 (L2) on yhteisnimitys, jolla kuvataan tiettyjä Ethereumin skaalausratkaisuja. Taso 2 on erillinen lohkoketju, joka laajentaa Ethereumia ja perii Ethereuminturvallisuustakuut.", - "layer-2-what-is-layer-2-2": "Ennen kuin syvennymme tasoon 2 lisää, kannattaa tutustua tason 1 (L1) perusteisiin.", - "layer-2-what-is-layer-1-title": "Mikä on taso 1 (L1)?", - "layer-2-what-is-layer-1-1": "Taso 1 on peruslohkoketju. Ethereum ja Bitcoin ovat molemmat tason 1 lohkoketjuja, koska ne ovat perusta, jonka päälle tason 2 verkot rakentuvat. Esimerkkejä tason 2 hankkeista ovat Ethereumin ”rollupit” ja Bitcoinin päällä oleva Lightning Network. Kaikki käyttäjien transaktiotoiminta näissä tason 2 hankkeissa voi lopulta siirtyä takaisin tason 1 lohkoketjuun.", - "layer-2-what-is-layer-1-2": "Ethereum toimii myös datan säilyttäjänä tason 2 projekteille. Tason 2 projektit lähettävät dataa Ethereumiin, luottaen datan saatavuuteen. Dataa voidaan käyttää tarvittaessa tason 2 tilanteen päivittämiseen tai hylkäämään tasolla 2 tehtyjä toimenpiteitä.", - "layer-2-what-is-layer-1-list-title": "Ethereum-lohkoketju tasolla 1 (L1) kattaa: ", - "layer-2-what-is-layer-1-list-1": "Solmupisteiden operaattoreiden verkostonkoko verkon suojaamiseen ja tapahtumien varmentamiseen", - "layer-2-what-is-layer-1-list-2": "Lohkojen tuottajien verkoston", - "layer-2-what-is-layer-1-list-3": "Lohkoketjun tietoineen sekä kattavan datahistorian", - "layer-2-what-is-layer-1-list-4": "Konsensusmekanisminverkostolle", - "layer-2-what-is-layer-1-list-link-1": "Vieläkö jokin Ethereumissa hämmentää?", - "layer-2-what-is-layer-1-list-link-2": "Opettele, mitä Ethereum on.", - "layer-2-why-do-we-need-layer-2-title": "Miksi taso 2 (L2) tarvitaan?", - "layer-2-why-do-we-need-layer-2-1": "Lohkoketjun kolme toivottavaa ominaisuutta ovat: hajautus, turvallisuus ja skaalautuvuus. Artikkeliblockchain trilemma esittää, että yksinkertainen lohkoketjuarkkitehtuuri voi saavuttaa näistä vain kaksi. Jos halutaan erittäin suojattu ja hajautettu lohkoketju, tulee uhrata jotakin skaalautuvuudessa.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum on saavuttanut verkon nykyisen kapasiteetin: yli 1 miljoonalla transaktiolla päivässä ja transaktioiden suurella kysynnällä. Ethereumin menestys ja sen käytön kysyntä ovat aiheuttaneet huomattavan kaasun hinnannousun. Siksi skaalautumisratkaisujen tarvekin on kasvanut. Tässä kohtaa tason 2 verkot tulevat kuvaan.", - "layer-2-why-do-we-need-layer-2-scalability": "Skaalautuvuus", - "layer-2-why-do-we-need-layer-2-scalability-1": "Skaalautuvuuden tavoitteena on lisätä transaktioiden nopeutta ja kykyä toteuttaa haastavampia transaktioita sekunnin aikana uhraamatta hajautus- tai suojauskyvykkyyttä.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Ethereum-yhteisö on ottanut tiukasti kantaa siihen, että se ei hylkää hajauttamista tai turvallisuutta skaalautumisen vuoksi. Ennen shardingia, Ethereum Mainnet (taso 1) pystyy käsittelemään vain noin 15 transaktiota sekunnissa. Kun Ethereumin käytön kysyntä on suurta, verkko ruuhkautuu, mikä nostaa transaktiomaksuja ja hinnoittelee pois käyttäjiä, joilla ei ole varaa näihin maksuihin. Tässä kohtaa Ethereum skaalautuu nykyään tason 2 avulla.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Lisää Ethereumin visiosta", - "layer-2-benefits-of-layer-2-title": "Tason 2 (L2) edut", - "layer-2-lower-fees-title": "Edullisemmat käyttömaksut", - "layer-2-lower-fees-description": "Yhdistämällä monipuolisesti verkon ulkopuolisia transaktioita tason 1 transaktioihin saadaan käyttömaksuja alennettua huomattavasti, mikä tekee Ethereumista saavutettavamman useammalle.", - "layer-2-maintain-security-title": "Suojauksen ylläpitäminen", - "layer-2-maintain-security-description": "Tason 2 (L2) lohkoketjut hyödyntävät transaktioihin Ethereumin pääverkkoa eli tasoa 1 (L1), jolloin käyttäjät hyötyvät Ethereumin turvallisuudesta.", - "layer-2-expand-use-cases-title": "Lisää uusia sovelluskohteita", - "layer-2-expand-use-cases-description": "Nopeammilla transaktioilla, edullisemmilla kustannuksilla ja uudella teknologialla voidaan luoda uusia sovellustapoja paremmilla käyttäjäkokemuksilla.", - "layer-2-how-does-layer-2-work-title": "Kuinka taso 2 (L2) vaikuttaa kokonaisuuteen?", - "layer-2-how-does-layer-2-work-1": "Kuten mainittua taso 2 (L2) on termi Ethereumin skaalausratkaisuille, jotka käsittelevät transaktioita tason 1 (L1) ulkopuolella hyödyntäen kuitenkin tason 1 suojausta. Taso 2 on erillinen lohkoketju, joka ulottuu Ethereumiin Kuinka tämä kaikki toimii?", - "layer-2-how-does-layer-2-work-2": "Tason 2 lohkoketju kommunikoi Ethereumin kanssa säännöllisesti (lähettämällä nipun transaktioita) varmistuakseen, että tasoilla on yhtenevä suojaus- ja hajautuskäytäntö. Muutoksia Ethereumin L1-protokollaan ei tarvita ja L1 käsittelee suojausta, datan hyödynnettävyyttä ja hajautusta, kun L2 keskittyy skaalaamiseen. L2 ottaa transaktioiden ”laskentataakan” pois L1:ltä ja palauttaa lopulliset tulokset L1:lle. L1:n taakan keventämisen ansiosta L1 ruuhkautuu vähemmän ja kaikesta tulee sujuvampaa.", - "layer-2-rollups-title": "Rollupsit", - "layer-2-rollups-1": "Rollupsit ovat suosittu tason 2 ratkaisu Ethereumin skaalaamiseen. Käyttämällä näitä rollup-ratkaisuja käyttäjät voivatvähentää kaasukustannuksia satakertaisesti verrattuna tason 1 kaasukustannuksiin.", - "layer-2-rollups-2": "Rollupsit niputtaa (tai rullaa) satoja transaktioita yhdeksi transaktioksi, joka toteutetaan tasolla 1 (L1). Toimenpide jakaa kustannuksen ”rullassa” mukana olevien kesken tehden siitä edullisemman jokaiselle. Nämä transaktiot ajetaan tason 1 ulkopuolella, mutta niiden tieto toimitetaan tasolle 1. Näin transaktiot perivät Ethereumin suojauksen. Rollupseja sovelletaan kahdella eri tavalla: optimisesti ja nollatiedolla (zk). Niden erona on lähinnä, miten transaktiodata toimitetaan tasolle 1.", - "layer-2-optimistic-rollups-title": "Optimistic (optimistiset) niput rullaukseen", - "layer-2-optimistic-rollups-description": "Optimistiset rollupsit ovat siinä mielessä optimistisia, että lähtökohtaisesti transaktioiden oletetaan olevan valideja, mutta ne voidaan tarvittaessa kyseenalaistaa. Jos transaktion pätevyyttä epäillään, sen paikkaansa pitävyyttä varmistetaan vikailmoituksella.", - "layer-2-optimistic-rollups-childSentance": "Lisää optimistisista rullauksista", - "layer-2-zk-rollups-title": "Zero-knowledge (nolla-tieto) rullat tai niput", - "layer-2-zk-rollups-description": "Nollatietorullaukset käyttävät varmennustapaa, jossa transaktiot lasketaan off-chain-tilassa ja pakatut tiedot toimitetaan Ethereumiin (L1), jolloin niillä on todiste voimassaolosta.", - "layer-2-zk-rollups-childSentance": "Lisää ZK-rollupseista", - "layer-2-dyor-title": "Perehdy aina itse huolella: Tason 2 (L2) riskit", - "layer-2-dyor-1": "Koska tason 2 ketjut perivät suojauksen Ethereumista (L1), idealimaailmassa L2 on yhtä turvallinen kuin Ethereum (L1). Kuitenkin monet projektit ovat kokeiluasteella . Vuosien tutkimuksen ja kehityksen jälkeen L2-teknologiat, jotka skaalaavat Ethereumia, julkaistiin vuonna 2021. Monet projektit omaavat vielä olettamuksia luottamuksen osalta, kun ne pyrkivät hajauttamaan verkkoaan. Perehdy aina itse huolella, ennen kuin päätät toteutuksesta, jotta ymmärrät riskit ja hyväksyt ne.", - "layer-2-dyor-2": "Lisää tietoa teknologiasta, riskeistä ja oletuksista L2-tason luotettavuudesta. Suosittelemme tutustumaan L2BEATIIN, joka tarjoaa kattavan riskiarvioinnin kehyksen projekteille.", - "layer-2-dyor-3": "Siirry L2BEATIIN", - "layer-2-use-layer-2-title": "Hyödynnä Tasoa 2 (L2)", - "layer-2-use-layer-2-1": "Nyt kun ymmärrät, mihin tasoa 2 tarvitaan ja miten se toimii, pääset toden teolla vauhtiin!", - "layer-2-contract-accounts": "HUOMAUTUS: Kun käytät siltausta ja tasoa 2, on tärkeää huomata, että hallitset EOA-tilisi osoitetta (tili, jota hallitsee vain yksi yksityinen avain) aivan kuten Ethereumin pääverkossa. Jos kuitenkin käytät sopimustiliä, kuten Safe tai Argent, sinulla ei ole määräysvaltaa tähän osoitteeseen tasolla 2, ennen kuin otat sopimustilisi uudelleen käyttöön kyseiseen osoitteeseen tasolla 2. Jos käytät siltatiliä tai lähetät varoja sopimustilille, etkä hallitse tätä sopimustilin osoitetta, varasi voivat hävitä.", - "layer-2-use-layer-2-generalized-title": "Yleistyneet L2-tasot", - "layer-2-use-layer-2-generalized-1": "Yleistyneet L2-tasot ovat lähtökohtaisesti kuten Ethereum mutta halvempia. Samat asiat voidaan toteuttaa niin tasolla 1 kuin 2. Monet dAppit ovat jo alkaneet siirtyä L2-verkkoihin toimintansa toteuttamiseksi.", - "layer-2-use-layer-2-application-specific-title": "Sovelluskohtaiset L2-tasot", - "layer-2-use-layer-2-application-specific-1": "Sovelluskohtaiset L2-tasot ovat projekteja, jotka erikoistuvat optimoimaan tiettyjä sovelluskohtaisia ominaisuuksia, jolloin suorituskykyä voidaan parantaa.", - "layer-2-sidechains-title": "Merkintä oheisketjuista, validointi-perustaisista ketjuista ja muista vaihtoehtoisista lohkoketjuista", - "layer-2-sidechains-1": "Oheisketjut ja validointiperustaiset ketjut mahdollistavat Ethereumissa olevien varojen kytkemisen ja käytön toisessa lohkoketjussa. Nämä vaihtoehtoiset ketjut toimivat rinnan Ethereumin kanssa ja kommunikoivat siltojen kautta, mutta ne eivät kytke suojaustaan tai datan saatavuutta Ethereumin yhteyteen.", - "layer-2-sidechains-2": "Edellä mainitut toimivat kuten tason 2 ratkaisut – ne tarjoavat matalammat käyttömaksut ja tehokkaamman transaktiovälityksen – suojaukseen liittyvät oletukset ovat erilaiset.", - "layer-2-more-on-sidechains": "Lisää tietoja oheisketjuista", - "layer-2-more-on-validiums": "Lisää tietoja pätevöittäjistä (Validiums)", - "layer-2-sidechains-4": "Joillakin tason 1 (L1) lohkoketjuilla on korkeampi teho ja alhaisemmat käyttömaksut kuin Ethereumilla. Nämä vaihtoehtoiset ykköstason ketjut ovat joutuneet uhraamaan suojauksen tai hajautuksen ominaisuuksia saavuttaakseen riittävän tehokkuuden ja alhaiset käyttökustannukset.", - "layer-2-sidechains-5": "Ethereum-ekosysteemin perusoletuksena on vahvasti linjattu, että tason 2 skaalaustapa on ainoa oikea ratkaisu, jotta hajautus ja turvallisuus säilyvät.", - "layer-2-onboard-title": "Kuinka voi päästä tasolle 2", - "layer-2-onboard-1": "On kaksi tapaa siirtää varasi tasolle 2 (L2): kytkeä varat Ethereumista älysopimuksen avulla tai nostaa varasi välityksen palveluntarjoajalta ja siirtää ne L2-verkkoon.", - "layer-2-onboard-wallet-title": "Onko lompakossasi varoja?", - "layer-2-onboard-wallet-1": "Jos Etherit ovat lompakossasi, sinun täytyy käyttää siltaa siirtääksesi ne tasolle 2.", - "layer-2-more-on-bridges": "Lisätietoja silloista", - "layer-2-onboard-wallet-input-placeholder": "Valitse L2, johon haluat kytkeytyä", - "layer-2-onboard-wallet-selected-1": "Voit kytkeytyä", - "layer-2-onboard-wallet-selected-2": "käyttäen näitä lompakoita:", - "layer-2-bridge": "Silta", - "layer-2-onboard-exchange-title": "Varoja vaihtotorilla tai välittäjällä?", - "layer-2-onboard-exchange-1": "Jotkut keskitetyt välityspalvelut tarjoavat suoria nostoja ja tallennuksia tasolle 2. Tarkista, mitkä palveluista toteuttavat L2-nostoja ja minkä L2-tasojen kanssa ne ovat yhteen sopivia.", - "layer-2-onboard-exchange-2": "Tarvitset lompakon myös varojen mahdolliseen palauttamiseen.", - "layer-2-onboard-find-a-wallet": "Etsi sopiva Ethereum-lompakko.", - "layer-2-onboard-exchange-input-placeholder": "Tarkista vaihdonvälittäjät, jotka tukevat tasoa 2", - "layer-2-deposits": "Talletukset", - "layer-2-withdrawals": "Nostot", - "layer-2-go-to": "Siirry", - "layer-2-tools-title": "Välineet tehostamaan toimintaa Tasolla 2 (L2)", - "layer-2-tools-l2beat-description": "L2BEAT toimii hyvin teknisessä riskiarvioinnissa tason 2 projekteilla. Suosittelemme vahvasti tutustumaan heidän tarjoamiinsa resursseihin riskiarvioinnissa, kun arvioidaan tason 2 projektien käynnistämistä.", - "layer-2-tools-l2fees-description": "L2-käyttömaksut ovat nähtävillä (USD) transaktioiden toteuttamiseksi eri L2-verkostoissa.", - "layer-2-tools-chainlist-description": "Ketjulista on erinomainen resurssi tuomaan verkon RPCt lompakkoihin. Löydät listalta sopivat RPCt L2-projekteille, mikä helpottaa sinua kytkeytymään.", - "layer-2-tools-zapper-description": "Hallitse koko web3-portfoliotasi DeFistä NFTiin ja paljon muuta. Sijoita uusimpiin mahdollisuuksiin yhdestä kätevästä paikasta.", - "layer-2-tools-zerion-description": "Rakenna ja hallitse koko DeFi-salkkuasi yhdestä paikasta. Tutustu hajautetun rahoituksen maailmaan tänään.", - "layer-2-tools-debank-description": "Pysy ajan tasalla kaikista tärkeistä tapahtumista web3-maailmassa", - "layer-2-faq-title": "Usein Kysyttyä", - "layer-2-faq-question-1-title": "Miksi Ethereum L2 ei ”virallisesti” ole olemassa?", - "layer-2-faq-question-1-description-1": "Olemassa ei ole virallista Ethereumia, joten ei myöskään virallista tasoa 2. Ethereum on käyttövapaa – teknisesti kuka tahansa voi luoda tason 2. Useat tiimit luovat versioita tasosta 2sta, ja koko ekosysteemi hyötyy suunnittelun monimuotoisuudesta, joka on optimoitua eri käyttötapauksille. Koska Ethereum on niin moniulotteinen ja eri tahojen toteuttama, se myös näkyy monimuotoisuutena verkostossa. Näin tasot 2 tulevat kehittymään tulevaisuudessa.", - "layer-2-faq-question-2-title": "Mitä eroa on optimistisilla (optimistic) ja nolla-tieto (zk) -rullauksilla/nipuilla (rollups)?", - "layer-2-faq-question-2-description-1": "Sekä optimistiset rullat että nollatietorullat niputtavat satoja liiketoimia yhteen liiketoimeen tasolla 1 (L1). Nipun tapahtumat suoritetaan tason 1 ulkopuolella, mutta tapahtumatiedot lähetetään tasolle 1.", - "layer-2-faq-question-2-description-2": "Suurin ero on siinä, mitä dataa on lähetetty tasolle 1 ja miten data on vahvistettu. Validoivassa mallissa (zk) niput lasketaan ketjun ulkopuolella ja todiste lähetetään ketjuun, kun taas vikatodisteinen malli (optimistic) ajaa tapahtumat ketjussa ja tarkastaa virheet, mikäli sellaisia epäillään.", - "layer-2-faq-question-2-description-3": "Tällä hetkellä useimmat zk-niputtajat ovat sovelluskohtaisia, toisin kuin optimistiniputtajat, jotka ovat suurelta osin yleistyneet.", - "layer-2-more-info-on-optimistic-rollups": "Lisätietoja optimistiniputtajista", - "layer-2-more-info-on-zk-rollups": "Lisätietoja nollatietoniputtajista", - "layer-2-faq-question-4-title": "Mitkä ovat tason 2 riskit?", - "layer-2-faq-question-4-description-1": "Tason 2 projektit sisältävät oheisriskejä verrattuna holding-varojen pitämiseen tai liiketoimiin suoraan Ethereumin pääverkossa. Jotkut järjestelmän osat voivat kaatua, jolloin sinun on odotettava pääsyä varoihisi.", - "layer-2-faq-question-4-description-2": "Suosittelemme perehtymään huolella itsenäisesti, ennen kuin siirrät huomattavia rahamääriä tasolle 2. Lisätietoa teknologiasta, riskeistä ja luotettavuudesta tasolla 2 tarjoaa L2BEAT, joka sisältää kattavan riskinhallinnan kehyksen projekteille.", - "layer-2-faq-question-4-description-3": "Lohkoketjusillat, jotka auttavat varojensiirrossa ja kytkeytymisessä tasolle 2, ovat varhaisessa kehitysaiheessa. Optimaalista ratkaisua ei vielä ole löydetty. Siltojen kehitys, ajankohtaista.", - "layer-2-faq-question-5-title": "Miksi joitakin tason 2 projekteja ei ole listattu?", - "layer-2-faq-question-5-description-1": "Haluamme varmistaa, että listaamme parhaat mahdolliset resurssit, jotta käyttäjät voivat navigoida tasolla 2 turvallisesti ja luottavaisina. Pidämme yllä kriteerejä sille, miten hankkeita arvioidaan yhtenäisyyden edistämiseksi.", - "layer-2-faq-question-5-view-listing-policy": "Tutustu tason 2 käyttöehtoihin ja käytäntöihin.", - "layer-2-faq-question-5-description-2": "Kuka tahansa voi ehdottaa uutta tasoa 2 Ethereum.org-sivustolla. Emme varmasti ole hoksanneet kaikkia mahdollisuuksia, jotenole hyvä ja ehdota toki!", - "layer-2-further-reading-title": "Lisää luettavaa", - "a-rollup-centric-ethereum-roadmap": "Rollupseihin perustuva Ethereumim tiekartta", - "an-incomplete-guide-to-rollups": "Lähes täydellinen opas Rollupseihin", - "polygon-sidechain-vs-ethereum-rollups": "Polygon sidechain vai Ethereum rollups: Tason 2 skaalaamistapoja | Vitalik Buterin ja Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "RULLAUKSET – Paras Ethereumin skaalausstrategia? Arbitrum & optimismi avattuna", - "scaling-layer-1-with-shard-chains": "Tason 1 skaalaaminen sirpaloituneilla ketjuilla", - "understanding-rollup-economics-from-first-principals": "Rullauksen tuottavuuden periaatteet alusta pitäen", - "arbitrum-description": "Arbitrum on optimistinen rullaustapa, jonka tavoitteena on samanlainen käyttäjäkokemus kuin Ethereumissa, mutta transaktiot maksavat murto-osan verrattuna tasoon 1.", - "optimism-description": "Optimismi on nopea, yksinkertainen ja turvallinen EVM-toiminen optimistinen niputtaja. Se skaalaa Ethereumin tekniikkaa samalla, kun se mukauttaa arvojaan taannehtivalla julkishyödykkeiden rahoituksella.", - "boba-description": "Boba on optimisten niputtaja, joka on alunperin haarukoitu optimisista, joka on siis skaalausratkaisu vähentämään kaasukustannuksia, tehostamaan transaktioiden suorittamisen kyvykkyyttä ja laajentamaan älysopimusten ominaisuuksia.", - "loopring-description": "Loopringin zkRollup L2 -ratkaisu pyrkii tarjoamaan samat turvatakuut kuin Ethereumissa, minkä lisäksi tarjotaan suuri skaalautuvuus: määrä kasvoi 1000x, ja kustannukset alennetaan vain 0,1 prosenttiin tason 1 kustannuksista.", - "zksync-description": "ZKsync on Matter Labsin käyttäjäkeskeinen zk rollup -alusta. Se on skaalausratkaisu Ethereumiin, jossa se jo toimii. ZKsync tukee maksuja, rahakkeiden vaihtoa ja NFT-julkaisuja.", - "zkspace-description": "ZKSpace -alusta koostuu kolmesta pääosasta: Layer 2 AMM DEX, joka hyödyntää ZK-Rollups-tekniikkaa nimeltä ZKSwap, maksupalvelu nimeltä ZKSquare ja NFT-markkinapaikka nimeltään ZKSea.", - "aztec-description": "Aztec Network on ensimmäinen yksityinen zk-Niputtaja Ethereumissa, ja sen avulla hajautetut sovellukset voivat hyödyntää Ethereumin yksityisyyttä ja koko skaalaa.", - "layer-2-note": "Huomaa:", - "layer-2-ecosystem-portal": "Ekosysteemin portaali", - "layer-2-token-lists": "Rahakkeiden listat", - "layer-2-explore": "Tutki", - "page-dapps-ready-button": "Nyt!" -} diff --git a/src/intl/fil/page-layer-2.json b/src/intl/fil/page-layer-2.json deleted file mode 100644 index 9f765c8688d..00000000000 --- a/src/intl/fil/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "Para lang sa mga naka-whitelist na user ang mga patunay ng panloloko, hindi pa bukas ang whitelist", - "layer-2-boba-note": "Dine-develop pa lang ang state validation", - "layer-2-optimism-note": "Dine-develop pa lang ang mga patunay ng problema", - "layer-2-hero-title": "Layer 2", - "layer-2-hero-header": "Ethereum para sa lahat", - "layer-2-hero-subtitle": "Pag-scale sa Ethereum para sa malawakang paggamit.", - "layer-2-hero-alt-text": "Ilustrasyon ng mga transaksyon na niro-roll up sa layer 2 at pino-post sa Ethereum Mainnet", - "layer-2-hero-button-1": "Ano ang layer 2", - "layer-2-hero-button-2": "Gamitin ang layer 2", - "layer-2-hero-button-3": "Lumipat sa layer 2", - "layer-2-statsbox-1": "Naka-lock ang TVL sa layer 2 (USD)", - "layer-2-statsbox-2": "Average na bayarin sa pag-transfer ng ETH sa layer 2 (USD)", - "layer-2-statsbox-3": "Pagbabago ng TVL sa layer 2 (30 araw)", - "layer-2-what-is-layer-2-title": "Ano ang layer 2?", - "layer-2-what-is-layer-2-1": "Ang Layer 2 (L2) ay isang collective term na naglalarawan ng partikular na hanay ng mga scaling solution ng Ethereum. Ang layer 2 ay isang hiwalay na blockchain na nagpapalawak sa Ethereum at nag-i-inherit ng mga garantiyang panseguridad ng Ethereum..", - "layer-2-what-is-layer-2-2": "Ngayon, alamin pa natin ang ibang detalye. Upang gawin ito, kailangan muna nating ipaliwanag ang layer 1 (L1).", - "layer-2-what-is-layer-1-title": "Ano ang layer 1?", - "layer-2-what-is-layer-1-1": "Ang Layer 1 ang base blockchain. Parehong layer 1 blockchain ang Ethereum at Bitcoin dahil ang mga ito ang pangunahing pundasyon na ginagamit na basehan ng iba't ibang layer 2 network. Ang mga halimbawa ng mga proyekto sa layer 2 ay may \"mga rollup\" sa Ethereum at Lightning Network sa Bitcoin. Maibabalik sa layer 1 blockchain ang lahat ng aktibidad sa transaksyon ng user sa mga proyektong ito sa layer 2.", - "layer-2-what-is-layer-1-2": "Ang Ethereum ay nagsisilbi rin bilang data availability layer para sa mga layer 2. Magpo-post ang mga proyekto sa layer 2 ng data ng transaksyon ng mga ito sa Ethereum, na umaasa sa Ethereum para sa availability ng data. Ang data na ito ay magagamit para malaman ang estado ng layer 2, o para i-dispute ang mga transaksyon sa layer 2.", - "layer-2-what-is-layer-1-list-title": "Ang Ethereum sa layer 1 ay naglalaman ng:", - "layer-2-what-is-layer-1-list-1": "Isang network ng mga node operator para i-secure at i-validate ang network", - "layer-2-what-is-layer-1-list-2": "Isang network ng mga block producer", - "layer-2-what-is-layer-1-list-3": "Ang blockchain mismo at ang kasaysayan ng data ng transaksyon", - "layer-2-what-is-layer-1-list-4": "Ang consensus mechanism para sa network", - "layer-2-what-is-layer-1-list-link-1": "Nalilito pa rin sa Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Alamin kung ano ang Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Bakit kailangan natin ang layer 2?", - "layer-2-why-do-we-need-layer-2-1": "Ang tatlong kanais-nais na property ng blockchain ay ang pagiging decentralized, secure, at scalable nito. Ayon sa blockchain trilemma, dalawa lang sa tatlong nabanggit ang kayang makamit ng simpleng blockchain architecture. Gusto ng secure at decentralized na blockchain? Kailangan mong isakripisyo ang scalability.", - "layer-2-why-do-we-need-layer-2-2": "Sa kasalukuyan, nagpoproseso ang Ethereum mahigit 1 milyong transaksyon kada araw. Ang mataas na demand sa paggamit ng Ethereum ay maaaring magresulta sa mataas na presyo ng bayad sa transaksyon. Dito magagamit ang mga layer 2 network.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "Ang layunin ng layer 2 ay pataasin ang throughput ng transaksyon (mas maraming transaksyon kada segundo) nang hindi isinasakripisyo ang decentralization o seguridad.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Ang Ethereum Mainnet (layer 1) ay kaya lang magproseso ng mga 15 transaksyon kada segundo. Kapag mataas ang demand sa paggamit ng Ethereum, nagiging congested ang network, kung kaya, tumataas ang mga bayarin sa transaksyon at hindi nakakabili ang mga user na hindi kayang bayaran ang mga ganoong bayarin. Ang mga layer 2 ay mga solution na nagpapababa sa mga bayaring iyon sa pamamagitan ng pagpoproseso ng mga transaksyon sa labas ng layer-1 blockchain.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Iba pang detalye tungkol sa mithiin ng Ethereum", - "layer-2-benefits-of-layer-2-title": "Mga benepisyo ng layer 2", - "layer-2-lower-fees-title": "Pinapamura ang mga bayarin", - "layer-2-lower-fees-description": "Sa pamamagitan ng pagsasama-sama ng maraming off-chain na transaksyon sa isang transaksyon sa layer 1, magiging mas mura ang mga bayarin sa transaksyon, kaya mas accessible sa lahat ang Ethereum.", - "layer-2-maintain-security-title": "Pinapanatili ang seguridad", - "layer-2-maintain-security-description": "Isinasagawa ng mga layer 2 blockchain ang mga transaksyon ng mga ito sa Ethereum Mainnet, kung kaya, makikinabang ang mga user sa seguridad ng Ethereum network.", - "layer-2-expand-use-cases-title": "Pinapalawak ang mga use case", - "layer-2-expand-use-cases-description": "Dahil sa mas maraming transaksyon kada segundo, mas murang bayarin, at bagong teknolohiya, gagawa ang mga proyekto ng mga bagong application na may mas magandang karanasan ng user.", - "layer-2-how-does-layer-2-work-title": "Paano gumagana ang layer 2?", - "layer-2-how-does-layer-2-work-1": "Gaya ng nabanggit kanina, ang layer 2 ay isang collective term para sa mga scaling solution ng Ethereum na nangangasiwa ng mga transaksyon sa labas ng layer 1 ng Ethereum habang patuloy na ginagamit ang mahusay at decentralized na seguridad ng layer 1 ng Ethereum. Ang layer 2 ay isang hiwalay na blockchain na nagpapalawig sa Ethereum. Paano ito gumagana?", - "layer-2-how-does-layer-2-work-2": "May iba't ibang uri ng layer 2, at may kanya-kanyang trade-off at security model ang bawat isa sa mga ito. Dahil sa mga layer 2, hindi na papangasiwaan ng layer 1 ang mga transaksyon, kaya hindi na ito masyadong nagiging congested, at nagiging mas scalable ang lahat.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Pinagsasama-sama ng mga rollup (o ’niro-roll up’) ang daan-daang transaksyon sa isang transaksyon sa layer 1. Ipinapamahagi nito ang mga bayarin sa transaksyon sa L1 sa lahat ng nasa rollup, kaya nagiging mas mura ito para sa bawat user.", - "layer-2-rollups-2": "Hindi sa layer 1 ie-execute ang mga rollup transaction pero sa layer 1 isusumite ang data ng transaksyon. Sa pamamagitan ng pagsusumite ng data ng transaksyon sa layer 1, ini-inherit ng mga rollup ang seguridad ng Ethereum. Ito ay dahil kapag na-upload na ang data sa layer 1, kailangang bumalik sa Ethereum kapag may binawing rollup transaction. May dalawang magkaibang pamamaraan para sa mga rollup: optimistic at zero-knowledge - ang pangunahing pagkakaiba ng mga ito ay kung paano isinusumite ang data na ito ng transaksyon sa L1.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Masasabing 'optimistic' ang mga optimistic rollup dahil ipinagpapalagay na valid ang mga transaksyon, pero puwedeng kuwestiyunin ang mga ito kung kinakailangan. Kung pinaghihinalaang may hindi valid na transaksyon, magpapatakbo ng patunay ng problema para alamin kung nangyari nga ito.", - "layer-2-optimistic-rollups-childSentance": "Iba pang detalye tungkol sa mga optimistic rollup", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "Sa mga zero-knowledge rollup, gumagamit ng mga proof ng validity kapag off-chain na-compute ang mga transaksyon, at pagkatapos ay ibinibigay sa Ethereum Mainnet ang na-compress na data bilang patunay ng validity ng mga ito.", - "layer-2-zk-rollups-childSentance": "Iba pang detalye tungkol sa mga ZK-rollup", - "layer-2-dyor-title": "Mag-research: mga panganib ng layer 2", - "layer-2-dyor-1": "Maraming bagong proyekto sa layer 2 kung saan kailangan pa ring umasa ng mga user na maging tapat ang ilang operator habang sinisikap ng mga itong i-decentralize ang kanilang mga network. Palaging mag-research para magpasya kung kumportable ka sa anumang panganib na kaakibat nito.", - "layer-2-dyor-2": "Para sa iba pang impormasyon sa teknolohiya, mga panganib, at mga trust assumption ng mga layer 2, inirerekomenda naming tingnan ang L2BEAT na nagbibigay ng komprehensibong framework ng assessment sa panganib ng bawat proyekto.", - "layer-2-dyor-3": "Pumunta sa L2BEAT", - "layer-2-use-layer-2-title": "Gamitin ang layer 2", - "layer-2-use-layer-2-1": "Ngayong nauunawaan mo na kung bakit mayroong layer 2 at kung paano ito gumagana, simulan na natin!", - "layer-2-contract-accounts": "Kung gumagamit ka ng smart contract wallet tulad ng Safe o Argent, hindi mo kontrolado ang address na ito sa layer 2. Kailangan mo munang i-redeploy ang iyong contract account sa address na iyon sa layer 2. Ang mga classic account na may recovery phrase ang awtomatikong magmamay-ari sa mismong account sa lahat ng network sa layer 2.", - "layer-2-use-layer-2-generalized-title": "Mga generalized na layer 2", - "layer-2-use-layer-2-generalized-1": "Parang Ethereum ang mga generalized na layer 2 — ngunit mas mura. Ang anumang magagawa mo sa Ethereum layer 1, magagawa mo rin sa layer 2. Maraming dapp na ang nagsimulang mag-migrate sa mga network na ito o kaya ay dumiretso na sa pag-deploy sa layer 2 nang hindi dumaraan sa Mainnet.", - "layer-2-use-layer-2-application-specific-title": "Mga application specific layer 2", - "layer-2-use-layer-2-application-specific-1": "Ang mga application specific layer 2 ay mga proyekto nakatutok sa pag-optimize para sa partikular na application space, na nagdudulot ng mas magandang performance.", - "layer-2-sidechains-title": "Impormasyon sa mga sidechain, validium, at alternatibong blockchain", - "layer-2-sidechains-1": "Ang mga sidechain at validium ay mga blockchain na nagpapahintulot sa mga assets mula sa Ethereum na magamit sa ibang blockchain. Ang mga sidechain at validium ay tumatakbo kasabay ng Ethereum, at nakikipag-interact sa Ethereum sa pamamagitan ng mga bridge, ngunit hindi kinukuha ng mga ito ang kanilang seguridad o data availability sa Ethereum.", - "layer-2-sidechains-2": "Katulad ng mga layer 2 ang pag-scale ng dalawang ito - nag-aalok ang mga ito ng mga mas murang bayarin sa transaksyon at mas mataas na throughput sa transaksyon - pero magkaiba ang mga trust assumption ng mga ito.", - "layer-2-more-on-sidechains": "Iba pang impormasyon tungkol sa mga sidechain", - "layer-2-more-on-validiums": "Iba pang impormasyon tungkol sa mga validium", - "layer-2-sidechains-4": "Ang ilang layer 1 blockchain ay nag-uulat ng mas mataas na throughput at mga mas murang bayarin sa transaksyon kaysa sa Ethereum, ngunit karaniwang may mga kapalit ito sa ibang aspeto. Halimbawa, mas malalaking kinakailangan sa hardware para sa pagpapatakbo ng mga node.", - "layer-2-onboard-title": "Pano makapasok sa layer 2", - "layer-2-onboard-1": "May dalawang pangunahing paraan para ilipat ang iyong mga asset sa layer 2: mag-bridge ng pondo mula sa Ethereum gamit ang isang smart contract o i-withdraw ang iyong pondo sa isang exchange nang direkta sa network sa layer 2.", - "layer-2-onboard-wallet-title": "Nasa wallet mo ang pondo?", - "layer-2-onboard-wallet-1": "Kung mayroon ka nang ETH sa iyong wallet, kakailanganin mong gumamit ng bridge para ilipat ito sa layer 2 mula sa Ethereum Mainnet.", - "layer-2-more-on-bridges": "Iba pang detalye tungkol sa mga bridge", - "layer-2-onboard-wallet-input-placeholder": "Piliin ang L2 kung saan mo gustong mag-bridge", - "layer-2-onboard-wallet-selected-1": "Puwede kang kumonekta sa", - "layer-2-onboard-wallet-selected-2": "gamit ang mga wallet na ito:", - "layer-2-bridge": "Bridge", - "layer-2-onboard-exchange-title": "Nasa exchange ang pondo?", - "layer-2-onboard-exchange-1": "Nag-aalok na ngayon ang ilang centralized exchanges ng mga direktang pag-withdraw at pagdeposito sa mga layer 2. Tingnan kung aling mga exchange ang sumusuporta sa mga pag-withdraw sa layer 2 at kung aling mga layer 2 ang sinusuportahan ng mga ito.", - "layer-2-onboard-exchange-2": "Kakailanganin mo rin ng wallet kung saan mo ilalagay ang na-withdraw mong pondo.", - "layer-2-onboard-find-a-wallet": "Maghanap ng Ethereum wallet.", - "layer-2-onboard-exchange-input-placeholder": "Tingnan ang mga exchange na sumusuporta sa L2", - "layer-2-deposits": "Mga pagdeposito", - "layer-2-withdrawals": "Mga pag-withdraw", - "layer-2-go-to": "Pumunta sa", - "layer-2-tools-title": "Mga tool na magagamit sa layer 2", - "layer-2-tools-l2beat-description": "Ang L2BEAT ay isang mahusay na resource para makita ang mga assessment sa teknikal na panganib ng mga proyekto sa layer 2. Inirerekomenda naming tingnan ang mga resource nito kapag nagsasaliksik ng mga partikular na proyekto sa layer 2.", - "layer-2-tools-l2fees-description": "Ipinapakita ng L2 Fees ang kasalukuyang presyo (sa USD) para sa mga transaksyon sa iba't ibang layer 2.", - "layer-2-tools-chainlist-description": "Ang Chainlist ay isang mahusay na resource para sa pag-import ng mga network RPC sa mga sumusuportang wallet. Makikita mo rito ang mga RPC para sa mga proyekto sa layer 2 na makakatulong sa iyong makakonekta.", - "layer-2-tools-zapper-description": "Pamahalaan ang iyong buong web3 portfolio mula sa DeFi hanggang sa mga NFT at anupamang susunod. Mag-invest sa mga pinakabagong oportunidad mula sa isang convenient na lugar.", - "layer-2-tools-zerion-description": "Buuin at pamahalaan ang iyong buong DeFi portfolio sa iisang lugar. Tuklasin ang mundo ng decentralized finance ngayon.", - "layer-2-tools-debank-description": "Maging updated sa lahat ng mahalagang pangyayari sa mundo ng web3", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Bakit walang 'opisyal' na Ethereum L2?", - "layer-2-faq-question-1-description-1": "Tulad kung paanong walang 'opisyal' na Ethereum client, wala ring 'opisyal' na Ethereum layer 2. Walang pahintulot sa Ethereum - kung tutuusin, puwedeng gumawa ang kahit sino ng layer 2! Maraming team ang mag-i-implement ng sarili nilang bersyon ng layer 2, at makikinabang ang buong ecosystem mula sa iba't ibang pamamaraan sa pagdidisenyo na na-optimize para sa iba't ibang use case. Tulad kung paanong mayroon tayong maraming Ethereum client na ginawa ng iba't ibang grupo upang magkaroon ng diversity sa network, ganoon din ide-develip ang mga layer 2 sa hinaharap.", - "layer-2-faq-question-2-title": "Ano ang pagkakaiba ng mga optimistic at zero-knowledge rollup?", - "layer-2-faq-question-2-description-1": "Pinagsasama-sama (o ’niro-roll up’) ng mga optimistic at zero-knowledge rollup ang daan-daang transaksyon sa iisang transaksyon sa layer 1. Hindi sa layer 1 ie-execute ang mga rollup transaction pero sa layer 1 mapo-post ang data ng transaksyon.", - "layer-2-faq-question-2-description-2": "Ang pangunahing pagkakaiba ay kung anong data ang pino-post sa layer 1 at kung paano vine-verify ang data. Isinasagawa ng mga validity proof (na ginagamit ng mga zero-knowledge rollup) ang mga computation off-chain at nagpo-post ang mga ito ng proof, samantalang isinasagawa lang ng mga patunay ng problema (na ginagamit ng mga optimistic rollup) ang mga computation on-chain kapag pinaghihinalaang may pagkakamali na dapat suriin.", - "layer-2-faq-question-2-description-3": "Sa ngayon, ang karamihan sa mga ZK-rollup ay partikular sa application, kumpara sa mga optimistic rollup na kalimitan ay magagamit sa iba't ibang application.", - "layer-2-more-info-on-optimistic-rollups": "Iba pang impormasyon sa mga optimistic rollup", - "layer-2-more-info-on-zk-rollups": "Iba pang impormasyon sa mga zero-knowledge rollup", - "layer-2-faq-question-4-title": "Ano ang mga panganib sa layer 2?", - "layer-2-faq-question-4-description-1": "May mga karagdagang panganib sa mga proyekto sa layer 2 kumpara sa pangangasiwa ng pondo at direktang pakikipagtransaksyon sa Ethereum Mainnet. Halimbawa, maaaring magkaproblema sa mga sequencer, kaya't kailangan mong maghintay bago ma-access ang iyong pondo.", - "layer-2-faq-question-4-description-2": "Inirerekomenda naming mag-research ka bago mag-transfer ng malaking pondo sa layer 2. Para sa karagdagang impormasyon tungkol sa teknolohiya, mga panganib, at mga trust assumption ng mga layer 2, inirerekomenda naming tingnan ang L2BEAT, na nagbibigay ng komprehensibong framework ng assessment sa panganib ng bawat proyekto.", - "layer-2-faq-question-4-description-3": "Ang mga blockchain bridge, na nangangasiwa ng mga pag-transfer ng asset sa layer 2, ay dine-develop pa lang at malamang na hindi pa natutuklasan ang pinakamainam na disenyo ng bridge. Kamakailan lang ay may mga pag-hack ng mga bridge.", - "layer-2-faq-question-5-title": "Bakit hindi nakalista ang ilang proyekto sa layer 2 dito?", - "layer-2-faq-question-5-description-1": "Gusto naming tiyaking inililista namin ang pinakamahuhusay na resource na posible para makapag-navigate ang mga user sa layer 2 space nang ligtas at may kumpiyansa. May ginagamit kaming framework ng mga pamantayan sa kung paano sinusuri ang mga proyektong isasama.", - "layer-2-faq-question-5-view-listing-policy": "Tingnan ang aming patakaran sa paglista ng layer 2 dito.", - "layer-2-faq-question-5-description-2": "Malayang magmungkahi ang kahit sino na magdagdag ng layer 2 sa ethereum.org. Kung may layer 2 na hindi namin napansin, imungkahi ito.", - "layer-2-further-reading-title": "Karagdagang pagbabasa", - "a-rollup-centric-ethereum-roadmap": "Isang rollup-centric na ethereum roadmap", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Polygon sidechain vs mga Ethereum rollup: mga pamamaraan ng scaling ng layer 2| Vitalik Buterin at Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "MGA ROLLUP - Ang Pinakamahusay na Scaling Strategy ng Ethereum? Pagpapaliwanag sa Arbitrum at Optimism", - "scaling-layer-1-with-shard-chains": "Pag-scale sa layer 1 gamit ang mga shard chain", - "understanding-rollup-economics-from-first-principals": "Pag-unawa sa rollup economics mula sa mga pangunahing prinsipyo", - "arbitrum-description": "Ang Arbitrum One ay isang Optimistic Rollup na naglalayong magmukhang parang nag-i-interact ka sa Ethereum, pero hindi kasing mahal ng mga transaksyon sa L1 ang mga transaksyon dito.", - "optimism-description": "Ang Optimism ay isang mabilis, simple, at secure na EVM-equivalent optimistic rollup. Sine-scale nito ang teknolohiya ng Ethereum habang sine-scale din nito ang mga halaga nito sa pamamagitan ng retroactive na public goods funding.", - "boba-description": "Ang Boba ay isang Optimistic Rollup na orihinal na galing sa Optimism na isang scaling solution na may layuning bawasan ang mga bayarin sa gas, pataasin ang throughput ng transaksyon, at palawakin ang kakayahan ng mga smart contract.", - "loopring-description": "Ang zkRollup L2 solution ng Loopring ay may layuning ibigay ang mga garantiyang panseguridad na ibinibigay ng Ethereum mainnet, nang mas mabilis at mas mura: tataas ang throughput nang 1000x, at 0.1% lang ng bayarin sa L1 ang gagastusin.", - "zksync-description": "Ang ZKsync ay user-centric na zk rollup platform mula sa Matter Labs. Scaling solution ito para sa Ethereum, na live na sa Ethereum mainnet. Suportado nito ang mga pagbabayad, pag-swap ng token, at pag-mint ng NFT.", - "zkspace-description": "Ang ZKSpace platform ay may tatlong pangunahing bahagi: isang layer 2 AMM DEX na gumagamit ng teknolohiya ng mga ZK-Rollup na tinatawag na ZKSwap, isang serbisyo sa pagbabayad na tinatawag na ZKSquare, at isang marketplace ng NFT na tinatawag na ZKSea.", - "aztec-description": "Ang Aztec Network ang unang pribadong zk-rollup sa Ethereum, na nagbibigay-daan sa mga decentralized application na magkaroon ng privacy at mas mataas na kapasidad.", - "layer-2-note": "Tandaan:", - "layer-2-ecosystem-portal": "Ecosystem Portal", - "layer-2-token-lists": "Listahan ng Mga Token", - "layer-2-explore": "I-explore", - "page-dapps-ready-button": "Magsimula" -} diff --git a/src/intl/fr/page-layer-2.json b/src/intl/fr/page-layer-2.json deleted file mode 100644 index 9b3473a15ce..00000000000 --- a/src/intl/fr/page-layer-2.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "layer-2-arbitrum-note": "Preuves de fraude uniquement pour les utilisateurs en liste blanche, liste blanche non encore ouverte", - "layer-2-boba-note": "Validation de l'état en cours de développement", - "layer-2-optimism-note": "Preuves de défaillance en développement", - "layer-2-base-note": "Le système à l'épreuve des fraudes est actuellement en développement", - "layer-2-metadata-description": "Page d'introduction à la couche 2", - "layer-2-hero-title": "Couche 2", - "layer-2-hero-header": "Ethereum pour tous", - "layer-2-hero-subtitle": "Faire passer Ethereum à l'échelle pour l'adoption de masse.", - "layer-2-hero-alt-text": "Illustration des transactions en cours de déploiement sur la couche 2 et affichées sur le réseau principal Ethereum", - "layer-2-hero-button-1": "Qu'est-ce que la couche 2 ?", - "layer-2-hero-button-2": "Utiliser la couche 2", - "layer-2-hero-button-3": "Passer à la couche 2", - "layer-2-statsbox-1": "TVL verrouillée dans la couche 2 (USD)", - "layer-2-statsbox-2": "Frais moyens des transferts d'ETH de la couche 2 (USD)", - "layer-2-statsbox-3": "Changement de la TVL de la couche 2 (30 jours)", - "layer-2-what-is-layer-2-title": "Qu'est-ce que la couche 2 ?", - "layer-2-what-is-layer-2-1": "Couche 2 (L2) est un terme collectif décrivant un ensemble spécifique de solutions de mise à l'échelle d'Ethereum. Une couche 2 est une blockchain séparée qui étend Ethereum et hérite des garanties de sécurité d'Ethereum.", - "layer-2-what-is-layer-2-2": "Maintenant, creusons un peu plus le sujet. Pour ce faire, nous devons d'abord expliquer la couche 1 (L1).", - "layer-2-what-is-layer-1-title": "Qu'est-ce que la couche 1 ?", - "layer-2-what-is-layer-1-1": "La couche 1 est la blockchain de base. Ethereum et Bitcoin sont toutes deux des blockchains de couche 1 car ce sont les fondations sous-jacentes sur lesquelles divers réseaux de couche 2 se construisent. Les « rollups » sur Ethereum et le réseau Lightning sur Bitcoin sont des exemples de projets de la couche 2. Toute activité de transaction utilisateur sur ces projets de couche 2 peut en définitive attérir dans la blockchain de la couche 1.", - "layer-2-what-is-layer-1-2": "Ethereum fonctionne également comme couche de disponibilité des données pour la couche 2. Les projets de la couche 2 afficheront leurs données de transaction sur Ethereum, en s'appuyant sur Ethereum pour la disponibilité des données. Ces données peuvent être utilisées pour obtenir l'état de la couche 2, ou pour contester les transactions sur la couche 2.", - "layer-2-what-is-layer-1-list-title": "La couche 1 d'Ethereum comprend :", - "layer-2-what-is-layer-1-list-1": "Un réseau d'opérateurs de nœuds afin de sécuriser et valider le réseau", - "layer-2-what-is-layer-1-list-2": "Un réseau de producteurs de blocs", - "layer-2-what-is-layer-1-list-3": "La chaine de blocs elle-même et l'historique des données de transaction", - "layer-2-what-is-layer-1-list-4": "Le mécanisme de consensus pour le réseau", - "layer-2-what-is-layer-1-list-link-1": "Toujours pas clair ?", - "layer-2-what-is-layer-1-list-link-2": "Découvrez ce qu'est Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Pourquoi avons-nous besoin de la couche 2 ?", - "layer-2-why-do-we-need-layer-2-1": "Idéalement, une blockchain devrait posséder trois propriétés : être décentralisée, sécurisée et capable de monter en charge. Le trilemme de la blockchain stipule qu'une architecture blockchain simple ne peut assurer que deux de ces trois propriétés. Vous voulez une blockchain sécurisée et décentralisée ? Vous devez sacrifier la montée en charge.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum traite actuellement plus d'un million de transactions par jour. La demande d'utilisation d'Ethereum peut provoquer l'augmentation des frais de transactions. C'est là que les réseaux de couche 2 interviennent.", - "layer-2-why-do-we-need-layer-2-scalability": "Évolutivité", - "layer-2-why-do-we-need-layer-2-scalability-1": "L'objectif principal de la couche 2 est d'augmenter le débit des transactions (plus de transactions par seconde) sans sacrifier la décentralisation ni la sécurité.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Le réseau principal d'Ethereum (couche 1) n'est capable de traiter qu'environ 15 transactions par seconde. Lorsque la demande d'utiliser Ethereum est importante, le réseau devient congestionné, ce qui augmente les frais de transaction et exclut par le prix des utilisateurs qui n'ont pas les moyens de payer ces frais. Les couches 2 sont des solutions permettant de réduire ces frais en traitant des transactions en dehors de la blockchain de couche 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "En savoir plus sur la vision d'Ethereum", - "layer-2-benefits-of-layer-2-title": "Les avantages de la couche 2", - "layer-2-lower-fees-title": "Des frais plus bas", - "layer-2-lower-fees-description": "En combinant plusieurs transactions hors chaîne en une seule opération sur la couche 1, les frais de transaction sont considérablement réduits. Cela permet de rendre Ethereum plus accessible à toutes et tous.", - "layer-2-maintain-security-title": "Une sécurité conservée", - "layer-2-maintain-security-description": "Les blockchains de la couche 2 règlent leurs transactions sur le réseau principal d'Ethereum, permettant ainsi aux utilisateurs de bénéficier de la sécurité du réseau Ethereum.", - "layer-2-expand-use-cases-title": "Des cas d'usage plus nombreux", - "layer-2-expand-use-cases-description": "Avec davantage de transactions par seconde traitées, des frais plus bas et de nouvelles technologies, les projets vont s'étendre à de nouvelles applications avec une expérience utilisateur améliorée.", - "layer-2-how-does-layer-2-work-title": "Comment la couche 2 fonctionne-t-elle ?", - "layer-2-how-does-layer-2-work-1": "Comme susmentionné, le terme couche 2 regroupe les solutions de passage à l'échelle d'Ethereum qui permettent de traiter les transactions en dehors de la couche 1 d'Ethereum, tout en profitant de sa robuste sécurité décentralisée. Une couche 2 est une blockchain séparée qui étend Ethereum. Comment ça marche?", - "layer-2-how-does-layer-2-work-2": "Il y a différents types de couche 2, chacune ayant ses propres compromis et modèles de sécurité. Les couches 2 enlèvent une partie des transactions à traiter par la couche 1, lui permettant d'être moins congestionnée, et le tout monte plus facilement en charge.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Les Rollups regroupent ('enroulent' en anglais) des centaines de transactions dans une seule transaction de la couche 1. Cela partage les frais de transaction entre tous ceux qui participent au regroupement, les rendant moins chères pour chaque utilisateur.", - "layer-2-rollups-2": "Les données de transaction dans le rollup sont soumises à la couche 1, mais l'exécution est effectuée séparément par le rollup. En soumettant les données de transaction sur la couche 1, les rollups héritent de la sécurité d'Ethereum. En effet, une fois les données téléchargées sur la couche 1, l’annulation d’une transaction de rollup nécessite l’annulation d’Ethereum. Il existe deux approches différentes des rollups : optimiste et sans connaissance - elles diffèrent principalement par la manière dont ces données de transaction sont soumises à la couche 1.", - "layer-2-optimistic-rollups-title": "Rollups optimisés", - "layer-2-optimistic-rollups-description": "Les rollups 'optimistes' le sont dans le sens où les transactions sont supposées être valides, mais peuvent être contestées si nécessaire. Si une transaction est suspectée d'être non valide, une preuve de faute est exécutée pour voir si elle a bien eu lieu.", - "layer-2-optimistic-rollups-childSentance": "Plus sur les rollups optimistes", - "layer-2-zk-rollups-title": "Rollups ZK", - "layer-2-zk-rollups-description": "Les rollups ZK utilisent des preuves de validité où les transactions sont traitées hors chaîne, puis les données compressées sont fournies au réseau principal Ethereum comme preuve de leur validité.", - "layer-2-zk-rollups-childSentance": "Plus d'infos sur les ZK-rollups", - "layer-2-dyor-title": "Faites vos propres recherches : les risques de la couche 2", - "layer-2-dyor-1": "De nombreux projets de couche 2 sont relativement jeunes et requièrent encore aux utilisateurs de faire confiance à l'honnêteté de certains opérateurs le temps qu'ils travaillent à décentraliser leurs réseaux. Faites d'abord vos propres recherches pour décider si vous êtes à l'aise avec les risques encourus.", - "layer-2-dyor-2": "Pour en savoir plus sur la technologie, les risques et les hypothèses de confiance sur les couches 2, nous vous recommandons de consulter L2BEAT, qui fournit un cadre complet d'évaluation des risques pour chaque projet.", - "layer-2-dyor-3": "Accéder à L2BEAT", - "layer-2-use-layer-2-title": "Utilisez la couche 2", - "layer-2-use-layer-2-1": "Maintenant que vous comprenez pourquoi la couche 2 existe et comment elle fonctionne, il est temps de vous lancer !", - "layer-2-contract-accounts": "Si vous utilisez des portefeuilles de contrat intelligent tels que Safe ou Argent, vous n'aurez pas de contrôle sur cette adresse sur une couche 2, à moins que vous redéployiez votre compte de contrat à cette adresse sur la couche 2. Les comptes classiques avec une phrase de récupération possèderont automatiquement le même compte sur tous les réseaux de couche 2.", - "layer-2-use-layer-2-generalized-title": "Les couches 2 à visée générale", - "layer-2-use-layer-2-generalized-1": "Les couches généralisées de couche 2 se comportent exactement comme Ethereum — mais en moins cher. Tout ce que vous pouvez faire sur la couche 1 Ethereum, vous pouvez également le faire sur la couche 2. Beaucoup de DApps ont déjà commencé à migrer vers ces réseaux ou ont complètement ignoré le réseau principal pour construire directement des projets sur une couche 2.", - "layer-2-use-layer-2-application-specific-title": "Application spécifique de la couche 2", - "layer-2-use-layer-2-application-specific-1": "Les applications spécifiques à la couche 2 sont des projets qui se spécialisent dans l'optimisation pour un espace d'application spécifique, ce qui apporte des performances améliorées.", - "layer-2-sidechains-title": "Une remarque sur les chaines latérales, les validiums et chaînes de blocs alternatives", - "layer-2-sidechains-1": "Les chaines latérales et les validiums sont des chaînes de blocs qui permettent de transférer des actifs d'Ethereum et de les utiliser sur une autre chaînes de blocs. Les chaînes latérales et les validiums fonctionnent en parallèle d'Ethereum, et interagissent avec Ethereum à travers des ponts, mais ils ne tirent pas leur sécurité ou leur disponibilité de données d'Ethereum.", - "layer-2-sidechains-2": "Les deux permettent une évolutivité similaire à la couche 2 - ils offrent des frais de transaction plus faibles et un débit de transaction plus élevé - mais ont différentes hypothèses de confiance.", - "layer-2-more-on-sidechains": "Plus d'informations sur les chaînes latérales", - "layer-2-more-on-validiums": "Plus d'informations sur les validiums", - "layer-2-sidechains-4": "Certaines blockchains de couche 1 annoncent des débits plus élevés et des frais de transactions plus bas qu'Ethereum, mais ils font en général des compromis ailleurs, par exemple en exigeant du matériel plus puissant pour faire fonctionner les noeuds.", - "layer-2-onboard-title": "Comment accéder à la couche 2", - "layer-2-onboard-1": "Il y a deux moyens principaux de mettre vos actifs sur la couche 2 : relier des fonds d'Ethereum via un contrat intelligent ou retirer vos fonds par un échange directement sur le réseau de la couche 2.", - "layer-2-onboard-wallet-title": "Des fonds sur votre portefeuille ?", - "layer-2-onboard-wallet-1": "Si vous avez déjà vos ETH dans votre portefeuille, vous devrez utiliser un pont pour les déplacer du réseau principal Ethereum à la couche 2.", - "layer-2-more-on-bridges": "En savoir plus sur les ponts", - "layer-2-onboard-wallet-input-placeholder": "Sélectionnez la couche 2 vers laquelle vous voulez connecter", - "layer-2-onboard-wallet-selected-1": "Vous pouvez vous connecter à", - "layer-2-onboard-wallet-selected-2": "en utilisant ces portefeuilles :", - "layer-2-bridge": "Les ponts", - "layer-2-onboard-exchange-title": "Des fonds sur une plateforme d'échange ?", - "layer-2-onboard-exchange-1": "Certaines plateformes d'échange centralisées offrent maintenant directement des retraits et des dépôts directs sur la couche 2. Vérifiez quelles plateformes prennent en charge les retraits sur la couche 2 et quelles couches 2 elles supportent.", - "layer-2-onboard-exchange-2": "Vous aurez également besoin d'un portefeuille pour retirer vos fonds.", - "layer-2-onboard-find-a-wallet": "Trouver un portefeuille Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Vérifier les échanges qui prennent en charge la couche 2", - "layer-2-deposits": "Dépôts", - "layer-2-withdrawals": "Retraits", - "layer-2-go-to": "Aller à", - "layer-2-tools-title": "Outils à utiliser sur la couche 2", - "layer-2-tools-l2beat-description": "L2BEAT est un excellent site pour se documenter sur les risques techniques des projets des couches 2. Nous vous recommandons de vérifier sur ce site quand vous recherchez des projets spécifiques de couche 2.", - "layer-2-tools-growthepie-description": "Analyses organisées à propos des couches 2 Ethereum", - "layer-2-tools-ethereumecosystem-description": "Page non officielle de l'écosystème d'Ethereum et de ses couches de niveau 2, incluant Base, Optimism et Starknet, proposant des centaines de dApps et d'outils.", - "layer-2-tools-l2fees-description": "L2 Fees vous permet de voir le coût à un moment précis (en USD) pour réaliser des transactions sur les différentes couches 2.", - "layer-2-tools-chainlist-description": "Chainlist est un excellent site pour enregistrer des réseaux RPC sur votre portefeuille. Vous trouverez les RPC pour les projets de couche 2 afin de vous aider à vous y connecter.", - "layer-2-tools-zapper-description": "Gérez l'ensemble de votre portefeuille web3 de la DeFi aux NFT et quel que soit le projet. Investissez dans les dernières opportunités à partir d'un unique endroit.", - "layer-2-tools-zerion-description": "Construisez et gérez tout votre portefeuille DeFi à partir d'un seul endroit. Découvrez le monde de la finance décentralisée aujourd'hui.", - "layer-2-tools-debank-description": "Suivez tous les événements importants dans le monde web3", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Pourquoi n'y a-t-il pas de couche 2 'officielle' d'Ethereum ?", - "layer-2-faq-question-1-description-1": "Tout comme il n'y a pas de client Ethereum « officiel », il n'y a pas de couche 2 Ethereum « officielle ». Ethereum est sans permission - techniquement n'importe qui peut créer une couche 2 ! Plusieurs équipes implémenteront leur version d'une couche 2, et l'écosystème dans son ensemble bénéficiera d'une diversité d'approches de conception optimisées pour différents cas d'utilisation. Tout comme nous avons plusieurs clients Ethereum développés par plusieurs équipes afin d'avoir une diversité dans le réseau, ce sera aussi la façon dont les couches 2 se développeront à l'avenir.", - "layer-2-faq-question-2-title": "Quelle est la différence entre les Optimistic Rollups et les rollups ZK ?", - "layer-2-faq-question-2-description-1": "Les rollups optimisés et les rollups ZK regroupent des centaines de transactions en une seule transaction sur la couche 1. Les transactions des rollups sont exécutées en dehors de la couche 1 mais les données de transaction sont soumises sur celle-ci.", - "layer-2-faq-question-2-description-2": "La principale différence est de savoir quelles données sont soumises sur la couche 1 et comment les données sont vérifiées. Les preuves de validité (utilisées par les rollups ZK) exécutent les calculs hors chaîne et publient une preuve de leur validité, alors que les fault proof (utilisées par les rollups optimisés) exécutent les calculs sur la chaîne uniquement lorsqu'une faute est suspectée et qu'elle doit être vérifiée.", - "layer-2-faq-question-2-description-3": "Pour le moment, la plupart des zk-rollups sont spécifiques à une application, contrairement aux rollups optimistes qui ont pu être largement généralisés.", - "layer-2-more-info-on-optimistic-rollups": "Plus d'informations sur les rollups optimistes", - "layer-2-more-info-on-zk-rollups": "Plus d'informations sur les rollups sans connaissances", - "layer-2-faq-question-4-title": "Quels sont les risques de la couche 2 ?", - "layer-2-faq-question-4-description-1": "Les projets de couche 2 présentent des risques supplémentaires par rapport à la détention de fonds et à la réalisation de transactions directement sur le réseau principal Ethereum . Par exemple, les séquenceurs peuvent tomber en panne, vous obligeant à attendre pour accéder à vos fonds.", - "layer-2-faq-question-4-description-2": "Nous vous encourageons à faire vos propres recherches avant de transférer des fonds importants sur une couche 2. Pour plus d'information sur la technologie, les risques et les hypothèses de confiance d'une couche 2, nous vous recommandons de consulter L2BEAT, qui vous fournira un cadre complet d'évaluation des risques de chaque projet.", - "layer-2-faq-question-4-description-3": "Les ponts de blockchain, qui facilitent les transferts d'actifs sur la couche 2, sont à leurs premiers stades de développement et il est probable que leur conception ne soit pas encore optimale. Il y a eu deshacks de ponts récemment.", - "layer-2-faq-question-5-title": "Pourquoi certains projets de couche 2 ne sont-ils pas listés ici  ?", - "layer-2-faq-question-5-description-1": "Nous voulons nous assurer que nous répertorions les meilleures ressources possibles afin que les utilisateurs puissent naviguer dans l'espace de la couche 2 en toute sécurité et confiance. Nous maintenons un cadre de critères pour l'évaluation des projets en vue de leur inclusion.", - "layer-2-faq-question-5-view-listing-policy": "Consultez notre politique d'inclusion de la couche 2 ici.", - "layer-2-faq-question-5-description-2": "N'importe qui est libre de suggérer d'ajouter une couche 2 sur ethereum.org. S'il y a une couche 2 que nous avons manquée, s'il vous plaît suggérez-le ici.", - "layer-2-further-reading-title": "Complément d'information", - "a-rollup-centric-ethereum-roadmap": "Une feuille de route d'Ethereum centrée sur les rollups", - "an-incomplete-guide-to-rollups": "Un guide incomplet pour les rollups", - "polygon-sidechain-vs-ethereum-rollups": "Chaîne latérale Polygon vs rollups Ethereum : approches du passage à l'échelle par couche 2 | Vitalik Buterin et Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "Rollups - stratégie ultime de mise à l'échelle d'Ethereum ? Arbitrum & Optimism expliqués", - "scaling-layer-1-with-shard-chains": "Mise à l'échelle de la couche 1 à l'aide de chaînes de fragments", - "understanding-rollup-economics-from-first-principals": "Comprendre l'économie des rollups", - "arbitrum-description": "Arbitrum One est un rollup optimiste qui vise à donner le sentiment d'interagir directement avec Ethereum, mais avec des transactions qui coûtent une fraction de ce qu'elles coûteraient sur la couche 1.", - "optimism-description": "Optimism est un équivalent EVM du rollup optimiste, rapide, simple et sécurisé. Il met à l'échelle la technologie d'Ethereum tout en redimensionnant ses valeurs grâce au financement rétroactif des biens publics.", - "boba-description": "Boba est un rollup optimiste initialement dérivé de Optimism qui est une solution de mise à l'échelle qui vise à réduire les frais de gaz, améliorer le débit des transactions et étendre les capacités des contrats intelligents.", - "base-description": "Base est un L2 Ethereum sécurisé, bon marché et facile à utiliser pour les développeurs conçu pour apporter le prochain milliard d'utilisateur au web3. C'est un L2 Ethereum, incubé par Coinbase et conçu sur le projet open source OP Stack.", - "loopring-description": "La solution de rollup ZK L2 de Loopring vise à offrir les mêmes garanties de sécurité que le réseau principal Ethereum, avec une grande montée en charge : vitesse multipliée par 1000, et coût réduit à seulement 0,1 % du L1.", - "zksync-description": "zkSync est un ZK Rollup qui vise à mettre à l'échelle Ethereum et ses valeurs vers une adoption grand public, sans compromettre la sécurité ou la décentralisation.", - "zkspace-description": "La plateforme ZKSpace est constituée de 3 parties : un DEX AMM de couche 1 qui utiliser la technologie des ZK Rollups appelé ZKSwap, un service de paiement appelé ZKSquare, et une place de marche de NFTs appelée ZKSea.", - "aztec-description": "Aztec Network est le premier zk-rollup privé sur Ethereum,. Il permet aux applications décentralisées d'accéder à la confidentialité et de se développer.", - "starknet-description": "Starknet est un Validity Rollup de seconde couche. Il offre un débit élevé, des coûts de gaz faibles et conserve les niveaux de sécurité de la couche principale d'Ethereum.", - "layer-2-note": "Remarque :", - "layer-2-ecosystem-portal": "Portail de l'écosystème", - "layer-2-token-lists": "Listes de jetons", - "layer-2-explore": "Explorer", - "page-dapps-ready-button": "Aller" -} diff --git a/src/intl/hi/page-layer-2.json b/src/intl/hi/page-layer-2.json deleted file mode 100644 index 0ff40ac9c67..00000000000 --- a/src/intl/hi/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "धोखाधड़ी के प्रमाण केवल श्वेतसूची वाले उपयोगकर्ताओं के लिए, श्वेतसूची अभी तक नहीं खुली है", - "layer-2-boba-note": "विकास में राज्य सत्यापन", - "layer-2-optimism-note": "विकास में दोष के प्रमाणन", - "layer-2-hero-title": "परत 2", - "layer-2-hero-header": "हर किसी के लिए इथेरियम", - "layer-2-hero-subtitle": "मास अवलोकन के लिए इथेरियम को स्केल करना।", - "layer-2-hero-alt-text": "परत 2 पर लेनदेनों का एकत्रित होना और यह इथेरियम मेननेट पर पोस्ट होने का चित्रण", - "layer-2-hero-button-1": "परत 2 क्या है", - "layer-2-hero-button-2": "परत 2 का उपयोग करें", - "layer-2-hero-button-3": "परत 2 पर जाएँ", - "layer-2-statsbox-1": "परत 2 (USD) में बंद किया गया TVL", - "layer-2-statsbox-2": "औसतन परत 2 ETH स्थानांतरण शुल्क (USD)", - "layer-2-statsbox-3": "परत 2 TVL परिवर्तन (30 दिन)", - "layer-2-what-is-layer-2-title": "परत 2 क्या है?", - "layer-2-what-is-layer-2-1": "परत 2 (L2) एक संघटित शब्द है जिसका उपयोग विशिष्ट इथेरियम स्केलिंग समाधानों के वर्णन के लिए किया जाता है। परत 2 एक अलग ब्लॉकचेन होती है जो इथेरियम को विस्तारित करती है और इथेरियम की सुरक्षा गारंटियों का अधिग्रहण करती है।", - "layer-2-what-is-layer-2-2": "अब थोड़ा और विस्तार से इसे समझते हैं। इसे करने के लिए हमें पहले परत 1 (L1) की व्याख्या करनी होगी।", - "layer-2-what-is-layer-1-title": "परत 1 क्या है?", - "layer-2-what-is-layer-1-1": "परत 1 आधार ब्लॉकचेन होता है। इथेरियम और बिटकॉइन दोनों परत 1 ब्लॉकचेन होते हैं क्योंकि वे विभिन्न परत 2 नेटवर्क के लिए आधार प्रदान करती है। परत 2 प्रोजेक्ट्स के उदाहरण में इथेरियम पर \"रोलअप्स\" और बिटकॉइन पर लाइटनिंग नेटवर्क शामिल हैं। इन परत 2 प्रोजेक्ट्स पर सभी उपयोगकर्ता की लेनदेन गतिविधियाँ आखिरकार परत 1 ब्लॉकचेन में सम्मिलित कर दी जाती है।", - "layer-2-what-is-layer-1-2": "इथेरियम परत 2 के लिए डेटा उपलब्धता परत के रूप में भी कार्य करता है। परत 2 परियोजनाएं डेटा उपलब्धता के लिए इथेरियम पर भरोसा करते हुए अपने लेनदेन डेटा को इथेरियम पर पोस्ट करेंगी। इस डेटा का उपयोग परत 2 की स्थिति प्राप्त करने के लिए किया जा सकता है, या परत 2 पर लेनदेन पर विवाद करने के लिए किया जा सकता है।", - "layer-2-what-is-layer-1-list-title": "परत 1 के रूप में इथेरियम में शामिल है:", - "layer-2-what-is-layer-1-list-1": "नोड ऑपरेटरों का एक नेटवर्क जो नेटवर्क की सुरक्षा और मान्यता प्रमाणित करता है।", - "layer-2-what-is-layer-1-list-2": "ब्लॉक निर्माताओं का एक नेटवर्क", - "layer-2-what-is-layer-1-list-3": "ब्लॉकचेन का और लेनदेन डेटा का इतिहास", - "layer-2-what-is-layer-1-list-4": "आम सहमति तंत्र नेटवर्क के लिए", - "layer-2-what-is-layer-1-list-link-1": "क्या आपको अब भी इथेरियम पर संदेह है?", - "layer-2-what-is-layer-1-list-link-2": "जानें कि इथेरियम क्या है।", - "layer-2-why-do-we-need-layer-2-title": "हमें परत 2 की आवश्यकता क्यों है?", - "layer-2-why-do-we-need-layer-2-1": "किसी ब्लॉकचेन की तीन आकर्षक विशेषताएँ हैं कि वह विकेंद्रीकृत, सुरक्षित और मापदंड समर्थित होती है। ब्लॉकचेन ट्राइलेमा कहता है कि एक सरल ब्लॉकचेन व्यावसायिकता केवल तीन में से दो ही प्राप्त कर सकता है। क्या आप एक सुरक्षित और विकेंद्रीकृत ब्लॉकचेन चाहते हैं? तो आपको मापदंड समर्थनशीलता का त्याग करना पड़ेगा।", - "layer-2-why-do-we-need-layer-2-2": "वर्तमान में इथेरियम रोज़ाना 1+ मिलियन लेनदेन संसाधित करता है। इथेरियम का उपयोग करने की मांग लेनदेन शुल्क मूल्यों को उच्च कर सकती है। यहाँ परत 2 नेटवर्क आते हैं।", - "layer-2-why-do-we-need-layer-2-scalability": "स्केलेबिलिटी", - "layer-2-why-do-we-need-layer-2-scalability-1": "परत 2 का प्रमुख उद्देश्य, बिना विकेंद्रीकरण या सुरक्षा का त्याग किए, लेनदेन प्रवाह क्षमता को बढ़ाना (प्रति सेकंड अधिक लेनदेन)।", - "layer-2-why-do-we-need-layer-2-scalability-2": "इथेरियम मेननेट (परत 1) केवल लगभग 15 लेनदेन प्रति सेकंड संसाधित कर सकता है। जब इथेरियम का उपयोग करने की मांग अधिक होती है, नेटवर्क बहुत व्यस्त हो जाता है, जिससे लेनदेन शुल्क बढ़ जाते हैं, जिससे वह उपयोगकर्ता बाहर हो जाते हैं, जो इन शुल्क को नहीं दे सकते। परत 2 इन्हीं समाधानों के लिए होते हैं जिनसे ये शुल्क कम होते हैं जो परत-1 ब्लॉकचेन के बाहर लेनदेन संसाधित करने के लिए किए जाते हैं।", - "layer-2-why-do-we-need-layer-2-scalability-3": "इथेरियम की दृष्टि के बारे में और जानें", - "layer-2-benefits-of-layer-2-title": "परत 2 के लाभ", - "layer-2-lower-fees-title": "कम शुल्क", - "layer-2-lower-fees-description": "बहुत सारे ऑफ-चेन लेनदेनों को एक एकल परत 1 लेनदेन में मिलाकर, लेनदेन शुल्क को बड़े पैमाने पर कम किया जाता है, जिससे इथेरियम अधिक लोगो तक पहुँचने वाला बनता है।", - "layer-2-maintain-security-title": "सुरक्षा बनाए रखना", - "layer-2-maintain-security-description": "परत 2 ब्लॉकचेन मेननेट इथेरियम नेटवर्क पर अपने लेनदेनों को समाधान करते हैं, जिससे उपयोगकर्ता इथेरियम नेटवर्क की सुरक्षा से लाभ उठा सकते हैं।", - "layer-2-expand-use-cases-title": "उपयोग के मामलों का विस्तार", - "layer-2-expand-use-cases-description": "प्रति सेकंड अधिक लेनदेन, कम शुल्क और नई तकनीक, परियोजनाएँ नए अनुप्रयोगों में विस्तार करेंगी जिसमें उपयोगकर्ता के अनुभव में सुधार होगा।", - "layer-2-how-does-layer-2-work-title": "परत 2 कैसे काम करता है?", - "layer-2-how-does-layer-2-work-1": " जैसा कि हमने पहले उल्लेख किया, परत 2 एक संघटित शब्द है जिसका उपयोग इथेरियम की स्केलिंग समाधानों के लिए किया जाता है जो परत 1 के बाहर लेनदेनों को संभालते हैं, हालांकि वे इथेरियम परत 1 की मजबूत विकेंद्रीकृत सुरक्षा का भी लाभ उठाते हैं। परत 2 एक अलग ब्लॉकचेन होती है जो इथेरियम को विस्तारित करती है। यह कैसे काम करता है?", - "layer-2-how-does-layer-2-work-2": "कई विभिन्न प्रकार के परत 2 होते हैं, प्रत्येक के अपने विकल्प और सुरक्षा मॉडल होते हैं। परत 2 लेनदेनों के बोझ को परत 1 से हटा देती हैं, जिससे वहाँ व्यस्तता कम हो जाती है, और सबकुछ अधिक स्केलेबल हो जाता है।", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "सैंकड़ों लेनदेनों को परत 1 पर एक ही लेनदेन में रोलअप्स बंडल (रोलअप्स) करते हैं। यह परत L1 लेनदेन शुल्क को रोलअप में हर उपयोगकर्ता के बीच वितरित करता है, जिससे प्रत्येक उपयोगकर्ता के लिए शुल्क सस्ता हो जाता है।", - "layer-2-rollups-2": "रोलअप लेनदेन परत 1 से निष्पादित हो जाते हैं लेकिन लेनदेन डेटा परत 1 पर सबमिट किया जाता है। परत 1 पर लेनदेन डेटा जमा करके, रोलअप इथेरियम की सुरक्षा प्राप्त करते हैं। ऐसा इसलिए है क्योंकि एक बार डेटा को लेयर 1 पर अपलोड करने के बाद, रोलअप लेनदेन को वापस करने के लिए एथेरियम को वापस करने की आवश्यकता होती है। रोलअप के लिए दो अलग-अलग दृष्टिकोण हैं: आशावादी और शून्य-ज्ञान - वे मुख्य रूप से इस बात पर भिन्न होते हैं कि यह लेनदेन डेटा L1 को कैसे प्रस्तुत किया जाता है।", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "आशावादी रोलअप इस अर्थ में 'आशावादी' हैं, क्योंकि लेनदेन को वैध माना जाता है, लेकिन यदि आवश्यक हो तो इसे चुनौती दी जा सकती है। यदि किसी अमान्य लेनदेन का संदेह है, तो यह देखने के लिए एक दोष प्रमाण चलाया जाता है कि क्या यह हुआ है।", - "layer-2-optimistic-rollups-childSentance": "आशावादी रोलअप पर अधिक जानकारी", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "शून्य-ज्ञान रोलअप वैधता प्रमाणों का उपयोग करते हैं, जहां लेनदेन की गणना ऑफ-चेन की जाती है, और फिर संपीड़ित डेटा को उनकी वैधता के प्रमाण के रूप में इथेरियम मेननेट को आपूर्ति की जाती है।", - "layer-2-zk-rollups-childSentance": "ZK-रोलअप पर अधिक जानकारी", - "layer-2-dyor-title": "अपना खुद का शोध करें: परत 2 के जोखिम", - "layer-2-dyor-1": "कई परत 2 परियोजनाएं अपेक्षाकृत नयी हैं और अभी भी उपयोगकर्ताओं को कुछ ऑपरेटरों पर ईमानदार होने के लिए भरोसा करने की आवश्यकता होती है क्योंकि वे अपने नेटवर्क को विकेंद्रीकृत करने के लिए काम करते हैं। यह तय करने के लिए हमेशा खुद शोध करें कि क्या आप इसमें शामिल किसी भी जोखिम के साथ सहज हैं।", - "layer-2-dyor-2": "परत 2 की तकनीक, जोखिम और विश्वास मान्यताओं के बारे में अधिक जानकारी के लिए, हम L2BEAT की जांच करने की सलाह देते हैं, जो प्रत्येक परियोजना का एक व्यापक जोखिम मूल्यांकन ढांचा प्रदान करता है।", - "layer-2-dyor-3": "L2BEAT पर जाएँ", - "layer-2-use-layer-2-title": "परत 2 का उपयोग करें", - "layer-2-use-layer-2-1": "अब जब आप समझते हैं कि परत 2 क्यों मौजूद है और यह कैसे काम करता है, तो आइए आगे बढ़ें!", - "layer-2-contract-accounts": "यदि आप स्मार्ट कॉन्ट्रैक्ट वॉलेट जैसे Safe या Argent का उपयोग कर रहे हैं, तो जब तक आप अपने अनुबंध खाते को परत 2 पर उस पते पर पुन: लागू नहीं करते हैं, तब तक परत 2 पर इस पते पर आपका नियंत्रण नहीं होगा। पुनर्प्राप्ति वाक्यांश वाले क्लासिक खाते स्वचालित रूप से सभी परत 2 नेटवर्क पर एक ही खाते के मालिक होंगे।", - "layer-2-use-layer-2-generalized-title": "सामान्यीकृत परत 2", - "layer-2-use-layer-2-generalized-1": "सामान्यीकृत परत 2 इथेरियम की तरह ही व्यवहार करते हैं - लेकिन सस्ते होते हैं। इथेरियम परत 1 पर आप जो कुछ भी कर सकते हैं, आप परत 2 पर भी कर सकते हैं। कई dapps ने पहले से ही इन नेटवर्कों पर माइग्रेट करना शुरू कर दिया है या परत 2 पर सीधे जाने के लिए मेननेट को पूरी तरह से छोड़ दिया है।", - "layer-2-use-layer-2-application-specific-title": "एप्लिकेशन विशिष्ट परत 2", - "layer-2-use-layer-2-application-specific-1": "एप्लिकेशन विशिष्ट परत 2 ऐसी परियोजनाएं हैं जो एक विशिष्ट एप्लिकेशन स्पेस के लिए अनुकूलन करने में विशेषज्ञ हैं, जो बेहतर प्रदर्शन लाते हैं।", - "layer-2-sidechains-title": "साइडचेन, वैलिडियम और वैकल्पिक ब्लॉकचेन पर एक नोट", - "layer-2-sidechains-1": "साइडचेन और वैलिडियम ऐसी ब्लॉकचेन हैं जो इथेरियम से दूसरे ब्लॉकचेन पर संपत्ति का ब्रिज बनाने और उसका उपयोग करने की अनुमति देते हैं। साइडचेन और वैलिडियम इथेरियम के समानांतर चलते हैं, और ब्रिज के माध्यम से इथेरियम के साथ बातचीत करते हैं, लेकिन वे इथेरियम से अपनी सुरक्षा या डेटा उपलब्धता प्राप्त नहीं करते हैं।", - "layer-2-sidechains-2": "दोनों परत 2 के समान स्केल करते हैं - वे कम लेनदेन शुल्क और उच्च लेनदेन प्रवाह प्रदान करते हैं - लेकिन अलग-अलग विश्वास धारणाएं हैं।", - "layer-2-more-on-sidechains": "साइडचेन के बारे में अधिक जानकारी", - "layer-2-more-on-validiums": "वैलिडियम के बारे में अधिक जानकारी", - "layer-2-sidechains-4": "कुछ परत 1 ब्लॉकचेन इथेरियम की तुलना में उच्च प्रवाह और कम लेनदेन शुल्क की रिपोर्ट करते हैं, लेकिन आम तौर पर कहीं और ट्रेड-ऑफ के साथ, उदाहरण के लिए नोड्स चलाने के लिए अधिक हार्डवेयर आवश्यकताएं होती हैं।", - "layer-2-onboard-title": "परत 2 पर कैसे पहुंचें", - "layer-2-onboard-1": "अपनी संपत्ति को परत 2 पर लाने के दो प्राथमिक तरीके हैं: एक स्मार्ट अनुबंध के माध्यम से इथेरियम से धन का ब्रिज बनाएँ या सीधे परत 2 नेटवर्क पर एक एक्सचेंज पर अपने धन को वापस ले लें।", - "layer-2-onboard-wallet-title": "क्या आपके वॉलेट में धन है?", - "layer-2-onboard-wallet-1": "यदि आपको पहले से ही अपने वॉलेट में अपना ETH मिल गया है, तो आपको इसे इथेरियम मेननेट से परत 2 तक ले जाने के लिए एक ब्रिज का उपयोग करना होगा।", - "layer-2-more-on-bridges": "ब्रिज के बारे में अधिक जानकारी", - "layer-2-onboard-wallet-input-placeholder": "L2 का चयन करें जिसे आप ब्रिज करना चाहते हैं", - "layer-2-onboard-wallet-selected-1": "आप इससे कनेक्ट कर सकते हैं", - "layer-2-onboard-wallet-selected-2": "इन वॉलेट का उपयोग करें:", - "layer-2-bridge": "ब्रिज", - "layer-2-onboard-exchange-title": "एक्सचेंज पर धन?", - "layer-2-onboard-exchange-1": "कुछ केंद्रीकृत एक्सचेंज अब परत 2 में प्रत्यक्ष निकासी और जमा की पेशकश करते हैं। जांचें कि कौन से एक्सचेंज परत 2 निकासी का समर्थन करते हैं और वे किस परत 2 का समर्थन करते हैं।", - "layer-2-onboard-exchange-2": "आपको अपना धन निकालने के लिए एक वॉलेट की भी आवश्यकता होगी।", - "layer-2-onboard-find-a-wallet": "एक इथेरियम वॉलेट खोजें।", - "layer-2-onboard-exchange-input-placeholder": "L2 का समर्थन करने वाले एक्सचेंजों की जाँच करें", - "layer-2-deposits": "जमा", - "layer-2-withdrawals": "निकासी", - "layer-2-go-to": "यहाँ जाओ", - "layer-2-tools-title": "परत 2 पर प्रभावी होने के लिए उपकरण", - "layer-2-tools-l2beat-description": "L2BEAT परत 2 परियोजनाओं के तकनीकी जोखिम आकलन को देखने के लिए एक उत्तम संसाधन है। परत 2 परियोजनाओं का शोध करते समय, हम उनके संसाधनों की जांच करने का सुझाव देते हैं।", - "layer-2-tools-l2fees-description": "L2 शुल्क आपको विभिन्न परत 2 पर लेनदेन करने के लिए वर्तमान लागत (USD में मूल्यांकित) देखने देता है।", - "layer-2-tools-chainlist-description": "Chainlist नेटवर्क RPC को सहायक वॉलेट में आयात करने के लिए एक महान संसाधन है। परत 2 परियोजनाओं में आपको जोड़े रखने में मदद करने के लिए यहाँ आपको कई RPC मिलेंगे।", - "layer-2-tools-zapper-description": "DeFi से NFT तक अपने पूरे web3 पोर्टफोलियो और जो कुछ भी आगे आता है, का प्रबंधन करें। एक सुविधाजनक स्थान से नवीनतम अवसरों में निवेश करें।", - "layer-2-tools-zerion-description": "एक ही स्थान से अपने पूरे DeFi पोर्टफोलियो का निर्माण और प्रबंधन करें। आज विकेंद्रीकृत वित्त की दुनिया की खोज करें।", - "layer-2-tools-debank-description": "web3 दुनिया में सभी महत्वपूर्ण घटनाओं के साथ बने रहें", - "layer-2-faq-title": "आम सवाल", - "layer-2-faq-question-1-title": "कोई 'आधिकारिक' इथेरियम L2 क्यों नहीं है?", - "layer-2-faq-question-1-description-1": "जैसे कोई 'आधिकारिक' इथेरियम क्लाइंट नहीं है, वैसे ही कोई 'आधिकारिक' इथेरियम परत 2 नहीं है। इथेरियम अनुमति की आवश्यकता नहीं होती है - तकनीकी रूप से कोई भी परत 2 बना सकता है! कई टीमें परत 2 के अपने संस्करण को लागू करेंगी, और एक पूरे के रूप में पारिस्थितिकी तंत्र को डिजाइन दृष्टिकोणों की विविधता से लाभ होगा जो विभिन्न उपयोग के मामलों के लिए अनुकूलित हैं। जैसे हमारे पास नेटवर्क में विविधता रखने के लिए कई टीमों द्वारा विकसित कई इथेरियम क्लाइंट हैं, और इस तरह से भी भविष्य में परत 2 विकसित होंगे।", - "layer-2-faq-question-2-title": "आशावादी और शून्य-ज्ञान रोलअप के बीच अंतर क्या है?", - "layer-2-faq-question-2-description-1": "सैंकड़ों लेनदेनों को परत 1 पर एक ही लेनदेन में रोलअप्स बंडल (रोलअप्स) करते हैं। रोलअप लेनदेन परत 1 के बाहर निष्पादित किए जाते हैं लेकिन लेनदेन डेटा परत 1 पर पोस्ट हो जाता है।", - "layer-2-faq-question-2-description-2": "प्राथमिक अंतर यह है कि परत 1 में कौन सा डेटा पोस्ट किया गया है और डेटा को कैसे सत्यापित किया जाता है। वैधता प्रमाण (शून्य-ज्ञान रोलअप द्वारा उपयोग किए जाने वाले) कम्प्यूटेशन को ऑफ-चेन चलाते हैं और एक प्रमाण पोस्ट करते हैं, जबकि गलती प्रमाण (आशावादी रोलअप द्वारा उपयोग किए जाते हैं) केवल तब कम्प्यूटेशन ऑन-चेन चलाते हैं जब गलती का संदेह होता है और इसकी जांच की जानी चाहिए।", - "layer-2-faq-question-2-description-3": "फिलहाल, आशावादी रोलअप के विपरीत अधिकांश ZK-रोलअप एप्लिकेशन विशिष्ट हैं, जो काफी हद तक सामान्य हैं।", - "layer-2-more-info-on-optimistic-rollups": "आशावादी रोलअप के बारे में अधिक जानकारी", - "layer-2-more-info-on-zk-rollups": "शून्य-ज्ञान रोलअप पर अधिक जानकारी", - "layer-2-faq-question-4-title": "परत 2 के साथ जोखिम क्या हैं?", - "layer-2-faq-question-4-description-1": "परत 2 परियोजनाओं में धन रखने और सीधे इथेरियम मेननेट पर लेनदेन करने की तुलना में अतिरिक्त जोखिम होते हैं। उदाहरण के लिए, अनुक्रमक नीचे जा सकते हैं, जिससे आपको धन तक पहुंचने के लिए इंतजार करना पड़ सकता है।", - "layer-2-faq-question-4-description-2": "हम आपको किसी परत 2 में महत्वपूर्ण धन स्थानांतरित करने से पहले अपना स्वयं का शोध करने के लिए प्रोत्साहित करते हैं। परत 2 की तकनीक, जोखिम और विश्वास मान्यताओं के बारे में अधिक जानकारी के लिए, हम L2BEAT की जांच करने की सलाह देते हैं, जो प्रत्येक परियोजना का एक व्यापक जोखिम मूल्यांकन ढांचा प्रदान करता है।", - "layer-2-faq-question-4-description-3": "ब्लॉकचेन ब्रिज, जो परत 2 में संपत्ति हस्तांतरण की सुविधा प्रदान करते हैं, विकास के अपने शुरुआती चरणों में हैं और यह संभावना है कि उच्चतम ब्रिज डिजाइन अभी तक खोजा नहीं गया है। कई ब्रिज के हाल ही में हैकिंग हुए हैं।", - "layer-2-faq-question-5-title": "कुछ परत 2 परियोजनाएं यहां सूचीबद्ध क्यों नहीं हैं?", - "layer-2-faq-question-5-description-1": "हम यह सुनिश्चित करना चाहते हैं कि हम सर्वोत्तम संसाधनों को सूचीबद्ध करें ताकि उपयोगकर्ता परत 2 स्पेस को सुरक्षित और आत्मविश्वास से नेविगेट कर सकें। हम मानदंडों का एक ढांचा बनाए रखते हैं कि परियोजनाओं को शामिल करने के लिए कैसे मूल्यांकन किया जाना है।", - "layer-2-faq-question-5-view-listing-policy": "हमारी परत 2 सूचीबद्ध नीति यहां देखें।", - "layer-2-faq-question-5-description-2": "कोई भी ethereum.org पर एक परत 2 जोड़ने का सुझाव देने के लिए स्वतंत्र है। यदि कोई परत 2 मौजूद है, जिसे हमने छोड़ दिया है, तो कृपया उसका सुझाव दें।", - "layer-2-further-reading-title": "अग्रिम पठन", - "a-rollup-centric-ethereum-roadmap": "एक रोलअप-केंद्रित इथेरियम रोडमैप", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "पॉलीगॉन साइडचेन बनाम इथेरियम रोलअप: परत 2 स्केलिंग दृष्टिकोण | विटालिक ब्यूटेरिन और लेक्स फ्रिडमैन", - "rollups-the-ultimate-ethereum-scaling-strategy": "रोलअप्स - इथेरियम स्केलिंग रणनीति? आर्बिट्रम और आशावादी समझाया गया", - "scaling-layer-1-with-shard-chains": "शार्ड चेन श्रृंखलाओं के साथ परत 1 स्केलिंग", - "understanding-rollup-economics-from-first-principals": "पहले उद्देश्यों से रोलअप अर्थशास्त्र को समझना", - "arbitrum-description": "आर्बिट्रम वन एक आशावादी रोलअप है जिसका उद्देश्य इथेरियम के साथ बातचीत करने जैसा महसूस करना है, लेकिन लेनदेन के साथ L1 पर वे जो करते हैं उसका एक अंश खर्च करते हैं।", - "optimism-description": "आशावादी एक तेज, सरल और सुरक्षित EVM-समकक्ष आशावादी रोलअप है। यह रेट्रोएक्टिव पब्लिक गुड फंडिंग के माध्यम से अपने मूल्यों को बढ़ाने के साथ, इथेरियम की तकनीक को भी बढ़ाता है।", - "boba-description": "बोबा मूल रूप से आशावादी से लिया गया एक आशावादी रोलअप है, जो एक स्केलिंग समाधान है, जिसका उद्देश्य गैस शुल्क को कम करना, लेनदेन प्रवाह में सुधार करना और स्मार्ट अनुबंधों की क्षमताओं का विस्तार करना है।", - "loopring-description": "लूपरिंग के zkरोलअप L2 समाधान का उद्देश्य इथेरियम मेननेट के समान सुरक्षा गारंटी प्रदान करना है, जिसमें एक बड़ा स्केलेबिलिटी बूस्ट है: प्रवाह में 1000x की वृद्धि हुई, और लागत L1 के केवल 0.1% तक कम हो गई।", - "zksync-description": "ZKsync, Matter Labs से एक उपयोगकर्ता-केंद्रित zk रोलअप प्लेटफॉर्म है। यह इथेरियम के लिए एक स्केलिंग समाधान है, जो पहले से ही इथेरियम मेननेट पर लाइव है। यह भुगतान, टोकन स्वैप और NFT मिंटिंग का समर्थन करता है।", - "zkspace-description": "ZKSpace प्लेटफ़ॉर्म में तीन मुख्य भाग होते हैं: ZK-रोलअप तकनीक का उपयोग करते हुए एक परत 2 AMM DEX, जिसे ZKSwap कहा जाता है, ZKSquare नामक एक भुगतान सेवा, और ZKSea नामक एक NFT मार्केटप्लेस।", - "aztec-description": "Aztec नेटवर्क इथेरियम पर पहला निजी zk-रोलअप है, जो विकेंद्रीकृत अनुप्रयोगों को गोपनीयता और पैमाने तक पहुंचने में सक्षम बनाता है।", - "layer-2-note": "नोट:", - "layer-2-ecosystem-portal": "पारिस्थितिकी तंत्र पोर्टल", - "layer-2-token-lists": "टोकन सूचियाँ", - "layer-2-explore": "अन्वेषण करना", - "page-dapps-ready-button": "जाएँ" -} diff --git a/src/intl/hr/page-layer-2.json b/src/intl/hr/page-layer-2.json deleted file mode 100644 index f4ae06dacb3..00000000000 --- a/src/intl/hr/page-layer-2.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "page-dapps-ready-button": "Kreni" -} diff --git a/src/intl/hu/page-layer-2.json b/src/intl/hu/page-layer-2.json deleted file mode 100644 index 0f8018c2824..00000000000 --- a/src/intl/hu/page-layer-2.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "layer-2-arbitrum-note": "A hibavizsgálat csak az engedélyezőlistán szereplő felhasználók számára elérhető, az engedélyezőlista még nincs megnyitva", - "layer-2-boba-note": "Az állapotvalidálás fejlesztés alatt áll", - "layer-2-optimism-note": "A hibavizsgálat fejlesztés alatt áll", - "layer-2-base-note": "A csalási bizonyítékok rendszere még fejlesztés alatt áll", - "layer-2-metadata-description": "Bevezetés az L2-be", - "layer-2-hero-title": "Második blokkláncréteg (L2)", - "layer-2-hero-header": "Ethereum mindenkinek", - "layer-2-hero-subtitle": "Az Ethereum skálázása a tömeges használat érdekében.", - "layer-2-hero-alt-text": "Annak illusztrációja, ahogyan a tranzakciók a második blokkláncrétegen (L2) összevonódnak, majd felkerülnek az Ethereum főhálózatára", - "layer-2-hero-button-1": "Mi az a második blokkláncréteg (L2)", - "layer-2-hero-button-2": "A második blokkláncréteg (L2) használata", - "layer-2-hero-button-3": "Áthelyezés a második blokkláncrétegre (L2)", - "layer-2-statsbox-1": "A második blokkláncrétegen (L2) lévő teljes letétbe helyezett érték (USD)", - "layer-2-statsbox-2": "Átlagos ETH átviteli díj a második blokkláncrétegre (L2) (USD)", - "layer-2-statsbox-3": "A második blokkláncrétegen (L2) lévő teljes letétbe helyezett érték változása (30 nap)", - "layer-2-what-is-layer-2-title": "Mi az a második blokkláncréteg (L2)?", - "layer-2-what-is-layer-2-1": "A 2. réteg (L2) egy gyűjtőfogalom, amely az Ethereum skálázási megoldásainak meghatározott készletét írja le. A 2. réteg egy különálló blokklánc, amely kiterjeszti az Ethereumot, és örökli az Ethereum biztonsági garanciáit.", - "layer-2-what-is-layer-2-2": "Most ássuk bele egy kicsit jobban magunkat, amihez meg kell értenünk az első blokkláncréteget (L1).", - "layer-2-what-is-layer-1-title": "Mi az az első blokkláncréteg (L1)?", - "layer-2-what-is-layer-1-1": "Az L1 az alap blokklánc. Az Ethereum és a Bitcoin is L1 blokkláncok, mert ezek alkotják az alapot, amelyre a különböző, második blokkláncréteget (L2) képző hálózatok épülnek. L2-projektnek minősülnek például az összevont tranzakciók (rollup) az Ethereumon, illetve a Bitcoinonra épült Lighting Network. Minden felhasználói tevékenység, ami ezeken az L2 projekteken történik, végül felkerül az L1 blokkláncra.", - "layer-2-what-is-layer-1-2": "Az Ethereum a 2. rétegek adatelérhetőségi rétegeként is működik. A 2. rétegbeli projektek az Ethereumra támaszkodva teszik közzé tranzakciós adataikat az Ethereumban. Ezek az adatok felhasználhatók a 2. réteg állapotának lekérésére, vagy a 2. réteg tranzakcióinak vitatására.", - "layer-2-what-is-layer-1-list-title": "Az Ethereum, mint első blokkláncréteg (L1) a következőket foglalja magában:", - "layer-2-what-is-layer-1-list-1": "Csomópont-operátorok hálózata a hálózat biztonságossá tételéhez és érvényesítéséhez", - "layer-2-what-is-layer-1-list-2": "Blokk-készítők hálózata", - "layer-2-what-is-layer-1-list-3": "A blokklánc maga és az összes tranzakciós adat", - "layer-2-what-is-layer-1-list-4": "A konszenzusmechanizmus a hálózathoz", - "layer-2-what-is-layer-1-list-link-1": "Van még olyan dolog, ami nem egyértelmű az Ethereum kapcsán?", - "layer-2-what-is-layer-1-list-link-2": "Ismerje meg az Ethereumot.", - "layer-2-why-do-we-need-layer-2-title": "Miért van szükség második blokkláncrétegre (L2)?", - "layer-2-why-do-we-need-layer-2-1": "A blokkláncok három kívánatos tulajdonsága, hogy decentralizáltak, biztonságosak és skálázhatók legyenek. A blokklánc-trilemma szerint egy egyszerű blokklánc-architektúra csak kettőt képes egyszerre biztosítani a háromból. Biztonságos és decentralizált blokkláncot szeretne? Akkor fel kell áldoznia a skálázhatóságot.", - "layer-2-why-do-we-need-layer-2-2": "Az Ethereum jelenleg napi 1+ millió tranzakciót dolgoz fel. Az Ethereum használatának igénye magas tranzakciós díjakat okozhat. Itt jönnek be a 2. rétegű hálózatok.", - "layer-2-why-do-we-need-layer-2-scalability": "Méretezhetőség", - "layer-2-why-do-we-need-layer-2-scalability-1": "Az L2 fő célja a tranzakcióátvitel növelése (több tranzakció másodpercenként) a decentralizáció vagy a biztonság feláldozása nélkül.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Az Ethereum Mainnet (1. réteg) csak nagyjából 15 tranzakciót képes feldolgozni másodpercenként. Ha nagy az igény az Ethereum használatára, a hálózat túlterheltté válik, ami növeli a tranzakciós díjakat, és kiárazza azokat a felhasználókat, akik nem engedhetik meg maguknak ezeket a díjakat. A 2. rétegek olyan megoldások, amelyek csökkentik ezeket a díjakat az 1. réteg blokkláncán kívüli tranzakciók feldolgozásával.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Bővebben az Ethereum jövőképéről", - "layer-2-benefits-of-layer-2-title": "A második blokkláncréteg (L2) előnyei", - "layer-2-lower-fees-title": "Alacsonyabb díjak", - "layer-2-lower-fees-description": "Azáltal, hogy számos láncon kívüli tranzakciót összevonnak és egyetlen tranzakcióként kerül be az L1 blokkláncba, a tranzakciós díjak jelentősen csökkennek, így az Ethereum mindenki számára elérhetőbbé válik.", - "layer-2-maintain-security-title": "Biztonság fenntartása", - "layer-2-maintain-security-description": "Az L2 blokkláncok az Ethereum főhálózatára küldik be tranzakcióikat, így a felhasználók részesülnek az Ethereum-hálózat biztonságából.", - "layer-2-expand-use-cases-title": "Több felhasználási lehetőség", - "layer-2-expand-use-cases-description": "A másodpercenkénti több tranzakció, az alacsonyabb díjak és az új technológia révén a projektek jobb felhasználói élményt nyújtó alkalmazásokká bővülnek.", - "layer-2-how-does-layer-2-work-title": "Hogyan működik a második blokkláncréteg (L2)?", - "layer-2-how-does-layer-2-work-1": "Ahogy fentebb említettük, az L2 egy gyűjtőfogalom azokra az Ethereum-skálázási megoldásokra, amelyek az Ethereum L1-rétegén kívül kezelik a tranzakciókat, miközben továbbra is kihasználják annak szilárd decentralizált biztonságát. Az L2 egy különálló blokklánc, amely kiterjeszti az Ethereumot. Hogyan működik?", - "layer-2-how-does-layer-2-work-2": "Különféle L2-megoldások léteznek, egyedi kompromisszumokkal és biztonsági modellekkel. A második blokkláncrétegek (L2) átveszik a tranzakciókezelés terhét az L1-től, hogy az kevésbé legyen túlterhelt, így pedig minden sokkal inkább skálázhatóbbá válik.", - "layer-2-rollups-title": "Összevont tranzakciók", - "layer-2-rollups-1": "Az összevont tranzakciók (rollup) sok száz tételt tudnak egyetlen L1 tranzakcióba összerendezni. Ezáltal az L1 tranzakciós díja eloszlik a felhasználók között, és minden ügylet olcsóbb lesz.", - "layer-2-rollups-2": "Az összevont tranzakciók bekerülnek az L1-re, azok végrehajtását ugyanakkor az L2 elkülönülten végzi. Ennek következtében az összevont tranzakció megörökli az Ethereum biztonságát. Amint az adat feltöltésre kerül az L1-be, az összevont tranzakció módosításához az Ethereumot kell megváltoztatni. Kétféle megoldás létezik: az optimista és a zero-knowledge (ZK, nulla tudású), melyek elsősorban abban különböznek, hogy miként adják át az adatot az L1-nek.", - "layer-2-optimistic-rollups-title": "Optimista összesítések", - "layer-2-optimistic-rollups-description": "A optimista rollupok lényege, hogy alapvetően azt feltételezik a tranzakciókról, hogy érvényesek, de szükség esetén kétségbe vonhatók. Érvénytelen tranzakció gyanúja esetén hibavizsgálatot hajtanak végre annak ellenőrzésére, hogy valóban erről van-e szó.", - "layer-2-optimistic-rollups-childSentance": "Bővebben az optimista rollupokról", - "layer-2-zk-rollups-title": "Zero-knowledge összegzők", - "layer-2-zk-rollups-description": "A zero-knowledge rollupok érvényességi igazolásokat használnak, amikor a tranzakciókat a láncon kívül számítják ki, majd tömörítve továbbítják az adatokat az Ethereum főhálózatának, hogy igazolják az ügyletek érvényességét.", - "layer-2-zk-rollups-childSentance": "Bővebben a ZK-rollupokról", - "layer-2-dyor-title": "Mindig nézzen utána Ön is: az L2-re vonatkozó kockázatok", - "layer-2-dyor-1": "Számos L2 projekt viszonylag újkeletű, és a felhasználóknak a működtetők őszinte magatartásában kell bízniuk, miközben azok igyekeznek decentralizálni a hálózataikat. Mindig mérlegelje, hogy az esetleges kockázatokat el tudja-e fogadni.", - "layer-2-dyor-2": "A 2. réteg technológiájával, kockázataival és bizalmi feltételezéseivel kapcsolatos további információkért javasoljuk, hogy tekintse meg az L2BEAT-et, amely minden projekthez átfogó kockázatértékelési keretet biztosít. .", - "layer-2-dyor-3": "Ugrás az L2BEAT oldalára", - "layer-2-use-layer-2-title": "A második blokkláncréteg (L2) használata", - "layer-2-use-layer-2-1": "Most, hogy egyértelművé vált, miért létezik a második blokkláncréteg (L2) és hogyan működik, vágjunk bele a használatába!", - "layer-2-contract-accounts": "Ha okosszerződéses pénztárcát használ, mint például a Safe vagy Argent, akkor a 2. rétegben nem fogja tudni irányítani ezt a címet, amíg át nem helyezi szerződéses fiókját az a cím a 2. rétegen. A helyreállítási kifejezéssel rendelkező klasszikus fiókok automatikusan ugyanazt a fiókot fogják birtokolni a 2. réteg összes hálózatán.", - "layer-2-use-layer-2-generalized-title": "Általános L2 hálózatok", - "layer-2-use-layer-2-generalized-1": "Az általánosított 2. rétegek ugyanúgy viselkednek, mint az Ethereum – de olcsóbbak. Bármi, amit megtehet az Ethereum 1. rétegében, megteheti a 2. rétegben is. Sok dapp már megkezdte a migrációt ezekre a hálózatokra, vagy teljesen kihagyta a Mainnetet építsen projekteket közvetlenül egy 2. rétegre.", - "layer-2-use-layer-2-application-specific-title": "Alkalmazásspecifikus L2-hálózatok", - "layer-2-use-layer-2-application-specific-1": "Az alkalmazásspecifikus L2-projektek egy adott alkalmazási terület optimalizálására specializálódtak, és ezáltal jobb teljesítményt nyújtanak.", - "layer-2-sidechains-title": "Megjegyzés a mellékláncokról, validiumokról és alternatív blokkláncokról", - "layer-2-sidechains-1": "Az Oldalláncok és validiumok olyan blokkláncok, amelyek lehetővé teszik az Ethereumból származó eszközök áthidalását és egy másik blokkláncon való felhasználását. Az oldalláncok és a validiumok párhuzamosan futnak az Ethereummal, és hidak révén lépnek kapcsolatba az Ethereummal, de biztonsági vagy adatelérhetőségüket nem az Ethereumtól származtatják.", - "layer-2-sidechains-2": "Mindkettő skálázási képessége az L2-megoldásokhoz hasonló – alacsonyabb tranzakciós díjakat és nagyobb tranzakciós átviteli sebességet kínálnak –, de eltérő bizalmi feltételezésekkel járnak.", - "layer-2-more-on-sidechains": "További információk a mellékláncokról", - "layer-2-more-on-validiums": "További információk a validiumokról", - "layer-2-sidechains-4": "Néhány L1 blokklánc az Ethereumhoz képest magasabb tranzakcióátvitelt és alacsonyabb díjakat tud kínálni, de általában más területeken kompromisszumokra kényszerülnek (például a csomópontok futtatásához komolyabb hardverre van szükség).", - "layer-2-onboard-title": "Hogyan lehet átkerülni az L2-re", - "layer-2-onboard-1": "Két fő módja van annak, hogy eszközeit áthelyezze a második blokkláncrétegre (L2): egy okosszerződésen keresztül áthidalhatja a pénzeszközeit az Ethereumról, vagy egy kriptotőzsdéről közvetlenül egy L2 hálózatra utalja ki pénzeszközeit.", - "layer-2-onboard-wallet-title": "A pénzeszközei a tárcájában vannak?", - "layer-2-onboard-wallet-1": "Ha már van ETH a tárcájában, akkor egy híd vagy összekötő segítségével tudja áthelyezni az Ethereum-főhálózatról egy L2 hálózatra.", - "layer-2-more-on-bridges": "További információk a hidakról", - "layer-2-onboard-wallet-input-placeholder": "Válassza ki az L2-t, amelyikre szeretne áthelyezni", - "layer-2-onboard-wallet-selected-1": "A következőképpen tud kapcsolódni az L2-höz", - "layer-2-onboard-wallet-selected-2": "ezen tárcák használatával:", - "layer-2-bridge": "Híd", - "layer-2-onboard-exchange-title": "A pénzeszközei kriptotőzsdén vannak?", - "layer-2-onboard-exchange-1": "Egyes centralizált tőzsdéken már lehetséges a közvetlen pénzkiutalás és befizetés az L2 hálózatokra. Ellenőrizze, hogy melyik tőzsdék támogatják az L2-re való kiutalást, illetve hogy melyik L2-t támogatják.", - "layer-2-onboard-exchange-2": "Emellett szüksége van egy tárcára is, ahova a pénzeszközeit kiutaltatja.", - "layer-2-onboard-find-a-wallet": "Válasszon magának egy Ethereum-tárcát.", - "layer-2-onboard-exchange-input-placeholder": "Nézze meg az L2-t támogató tőzsdéket", - "layer-2-deposits": "Letétbe helyezés", - "layer-2-withdrawals": "Letétkivonás", - "layer-2-go-to": "Ugrás ide:", - "layer-2-tools-title": "Hasznos eszközök a második blokkláncrétegen (L2)", - "layer-2-tools-l2beat-description": "Az L2BEAT nagyszerű eszköz az L2 projektek technikai kockázatértékelésének tanulmányozására. Tekintse meg az oldalon található információkat, amikor bizonyos L2 projekteket vizsgál.", - "layer-2-tools-growthepie-description": "Válogatott elemzések az Ethereum L2 megoldásokról", - "layer-2-tools-l2fees-description": "Az L2 Fees oldalon megnézheti a különböző L2 hálózatok aktuális tranzakciós díjait (USD-ban kifejezve).", - "layer-2-tools-chainlist-description": "A Chainlist nagyszerű eszköz a hálózati RPC-k támogatott tárcákba való importálásához. Itt találja az L2 projektekhez tartozó RPC-ket, melyek révén kapcsolatot tud létrehozni.", - "layer-2-tools-zapper-description": "Kezelje a teljes web3-portfólióját a DeFi-tól kezdve az NFT-kig, és bármit, ami ezután következik. Fektessen be a legújabb lehetőségekbe egyetlen kényelmes helyről.", - "layer-2-tools-zerion-description": "Építse fel és kezelje a teljes DeFi portfólióját egyetlen helyről. Fedezze fel a decentralizált pénzügyek világát még ma.", - "layer-2-tools-debank-description": "Kövesse nyomon a web3 világ minden fontos eseményét", - "layer-2-faq-title": "GYIK", - "layer-2-faq-question-1-title": "Miért nincs „hivatalos” Ethereum L2?", - "layer-2-faq-question-1-description-1": "Ahogyan nincs „hivatalos” Ethereum-kliens, úgy nincs „hivatalos” Ethereum L2 sem. Az Ethereum nem engedélyhez kötött – gyakorlatilag bárki létrehozhat L2 hálózatot! Számos csapat építi a második blokkláncréteg saját verzióját, és az ökoszisztéma egésze profitál a különféle felhasználási esetekre optimalizált tervezési megközelítések sokféleségéből. Hasonlóan ahhoz, ahogy több Ethereum-kliensünk is van, amelyet több csapat fejlesztett ki a hálózat sokszínűsége érdekében, a jövőben az L2 hálózatok is így fognak fejlődni.", - "layer-2-faq-question-2-title": "Mi a különbség az optimista és a zero-knowledge rollupok között?", - "layer-2-faq-question-2-description-1": "Mind az optimista, mind a zero-knowledge rollupok tranzakciók százait vonják össze egyetlen tranzakcióba az L1-en. Az összesített tranzakciók az L1-en kívül kerülnek végrehajtásra, de a tranzakciós adatok az L1-en is közzétételre kerülnek.", - "layer-2-faq-question-2-description-2": "Az elsődleges különbség az, hogy milyen adatok kerülnek az L1-be, és hogyan történik az adatok ellenőrzése. Az érvényességi igazolásokhoz (a zero-knowledge rollupok esetében) a láncon kívül futnak a számítások, melyek egy igazolást tesznek közzé, míg a hibabizonyításoknál (az optimista rollupoknál) csak akkor futtatják le a számításokat a láncon belül, ha hiba gyanítható, és ellenőrizni kell.", - "layer-2-faq-question-2-description-3": "Jelenleg a legtöbb zero-knowledge (ZK) rollup alkalmazásspecifikus, miközben az optimista rollupok nagyrészt általánosan alkalmazhatók.", - "layer-2-more-info-on-optimistic-rollups": "További információk az optimista rollupokról", - "layer-2-more-info-on-zk-rollups": "További információk a zero-knowledge rollupokról", - "layer-2-faq-question-4-title": "Milyen kockázatokkal jár az L2?", - "layer-2-faq-question-4-description-1": "A 2. rétegbeli projektek további kockázatokat rejtenek magukban az alapok birtoklásához és az Ethereum Mainnet-en történő közvetlen tranzakciókhoz képest. Például előfordulhat, hogy a sorrendezők leállnak, ami azt eredményezheti, hogy várnia kell az alapokhoz való hozzáféréshez.", - "layer-2-faq-question-4-description-2": "Mindenképpen érdemes megvizsgálni az adott projektet, mielőtt jelentős összegeket helyez át az L2-re. Az L2 hálózatok technológiájával, kockázataival és bizalmi feltételezéseivel kapcsolatban nézze meg az L2BEAT oldalát, amely minden projekthez átfogó kockázatelemzési keretrendszert biztosít.", - "layer-2-faq-question-4-description-3": "A blokklánchidak, melyek az eszközök L2-re való áthelyezését teszik lehetővé, még a fejlesztés korai szakaszában vannak, és valószínűleg még ki kell alakítani az optimális dizájnt. A közelmúltban történtek támadások a hidak ellen.", - "layer-2-faq-question-5-title": "Miért nem jelennek meg bizonyos L2 projektek itt?", - "layer-2-faq-question-5-description-1": "Szeretnénk a felhasználók számára a lehető legjobb eszközöket adni, hogy biztonságosan és magabiztosan tudjanak navigálni az L2 világában. Egy kritériumrendszer segítségével értékeljük a projekteket, hogy bekerülhetnek-e.", - "layer-2-faq-question-5-view-listing-policy": "Itt találja az L2-listázási szabályzatot.", - "layer-2-faq-question-5-description-2": "Bárki javasolhatja, hogy egy adott L2 megjelenjen az ethereum.org portálon. Ha Ön hiányolja valamelyik L2-t, akkor itt jelezze.", - "layer-2-further-reading-title": "További olvasnivaló", - "a-rollup-centric-ethereum-roadmap": "A rollupközpontú Ethereum ütemterve", - "an-incomplete-guide-to-rollups": "Egy nem teljeskörű útmutató az összevont tranzakciókhoz", - "polygon-sidechain-vs-ethereum-rollups": "A Polygon melléklánc és az Ethereum-rollupok összehasonlítása: L2 skálázási megközelítések | Vitalik Buterin és Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "Rollupok – A Ethereum végső skálázási stratégiája? Az Arbitrum és Optimism bemutatása", - "scaling-layer-1-with-shard-chains": "Az L1 skálázása párhuzamos futtatású (shard) láncokkal", - "understanding-rollup-economics-from-first-principals": "A rollupok gazdasági vonatkozásainak megértése az alapelvektől kezdve", - "arbitrum-description": "Az Arbitrum One egy olyan optimista rollup, melynek célja, hogy az ügyletek során olyan érzése legyen a felhasználónak, mintha az Ethereumot használná. Ugyanakkor a tranzakció költsége az L1 díj töredéke.", - "optimism-description": "Az Optimism egy gyors, egyszerű és biztonságos, az Ethereum-virtuális géppel (EVM) ekvivalens optimista rollup. A Ethereum technológiáját skálázza, miközben annak értékét is növeli a visszamenőleges közjó-finanszírozással.", - "boba-description": "A Boba egy optimista rollup, mely eredetileg az Optimism projektből ágazott ki. Egy olyan skálázási megoldás, mely törekszik a díjak csökkentésére, a tranzakcióátvitel növelésére, és kiterjeszti az okosszerződések funkcióit.", - "base-description": "A Base egy biztonságos, alacsony költségű, fejlesztőbarát Ethereum L2, amelyet azért építettek, hogy a következő milliárdnyi felhasználó számára elérhetővé tegye a web3-t. Ez egy Ethereum L2, amelyet a Coinbase inkubált, és a nyílt forráskódú OP Stackre épül.", - "loopring-description": "A Loopring zero-knowledge rollup L2 megoldása arra törekszik, hogy az Ethereum főhálózatával megegyező biztonsági garanciákat nyújtsa rendkívüli skálázási növekménnyel együtt: a tranzakcióátvitel 1000-szeres megnövelésével és a költség csökkentésével, ami az L1 díjának 0,1%-a.", - "zksync-description": "A ZKsync egy felhasználó-központú zero-knowledge rollup platform, amelyet a Matter Labs dolgozott ki. Egy Ethereum-skálázási megoldás, amely már elérhető az Ethereum főhálózatán. Támogatja a kifizetéseket, a tokenátváltást és az NFT-k létrehozását.", - "zkspace-description": "A ZKSpace platform három fő részből áll: az L2 AMM DEX (automatikus piackészítőként működő decentralizált tőzsde), mely ZK-rollup technológát használ, és ZKSwapnak nevezik; a kifizetési rendszer, melynek ZKSquare a neve; és az NFT-piactér, amely ZKSea néven fut.", - "aztec-description": "Az Aztec Network az első privát ZK-rollup az Ethereumon, mely lehetővé teszi, hogy a decentralizált alkalmazások élvezhessék az adatvédelmet és a skálázást.", - "starknet-description": "A Starknet egy validitáson alapuló összevont tranzakció (L2). Gyors tranzakcióátvitel, alacsony gázdíj jellemzi, miközben megtartja az Ethereum (L1) biztonsági szintjét.", - "layer-2-note": "Megjegyzés:", - "layer-2-ecosystem-portal": "Ökoszisztéma portál", - "layer-2-token-lists": "Tokenlisták", - "layer-2-explore": "Ugrás", - "page-dapps-ready-button": "Ugrás" -} diff --git a/src/intl/id/page-layer-2.json b/src/intl/id/page-layer-2.json deleted file mode 100644 index d34e1c7c419..00000000000 --- a/src/intl/id/page-layer-2.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "layer-2-arbitrum-note": "Bukti penipuan hanya untuk pengguna yang masuk ke dalam daftar putih, daftar putih belum dibuka", - "layer-2-boba-note": "Pemeriksaan status dalam pengembangan", - "layer-2-optimism-note": "Bukti kesalahan sedang dalam pengembangan", - "layer-2-hero-title": "Lapisan 2", - "layer-2-hero-header": "Ethereum untuk semua orang", - "layer-2-hero-subtitle": "Menskalakan Ethereum untuk adopsi massal.", - "layer-2-hero-alt-text": "Ilustrasi transaksi yang digulung di lapisan ke-2 dan diposting ke Jaringan Utama Ethereum", - "layer-2-hero-button-1": "Apa itu lapisan ke-2", - "layer-2-hero-button-2": "Menggunakan lapisan ke-2", - "layer-2-hero-button-3": "Pindah ke lapisan ke-2", - "layer-2-statsbox-1": "TVL terkunci di lapisan ke-2 (USD)", - "layer-2-statsbox-2": "Rata-rata biaya transfer ETH pada lapisan ke-2 (USD)", - "layer-2-statsbox-3": "Perubahan TVL Lapisan ke-2 (30 hari)", - "layer-2-what-is-layer-2-title": "Apa itu lapisan ke-2?", - "layer-2-what-is-layer-2-1": "Lapisan ke-2 (L2) adalah istilah kolektif untuk menggambarkan serangkaian solusi penskalaan Ethereum tertentu. Lapisan ke-2 adalah rantai blok terpisah yang memperluas jaringan Ethereum dan mewarisi jaminan keamanan Ethereum.", - "layer-2-what-is-layer-2-2": "Sekarang mari kita telusuri lebih dalam. Untuk melakukannya, pertama-tama kita perlu menjelaskan lapisan 1 (L1).", - "layer-2-what-is-layer-1-title": "Apa itu lapisan ke-1?", - "layer-2-what-is-layer-1-1": "Lapisan ke-1 adalah rantai blok dasar. Ethereum dan Bitcoin keduanya adalah blockchain lapisan 1 karena mereka adalah dasar mendasar yang berbagai jaringan lapisan ke-2 bangun di atasnya. Contoh proyek lapisan ke-2 termasuk \"rollups\" pada Ethereum dan Jaringan Lightning pada Bitcoin. Seluruh aktivitas transaksi pengguna pada proyek-proyek lapisan ke-2 ini pada akhirnya dapat diselesaikan kembali ke rantai blok lapisan ke-1.", - "layer-2-what-is-layer-1-2": "Ethereum juga berfungsi sebagai lapisan ketersediaan data untuk lapisan 2. Proyek-proyek lapisan ke-2 akan merangkum data transaksi mereka ke Ethereum, mengandalkan Ethereum untuk ketersediaan data. Data ini dapat digunakan untuk mendapatkan status dari lapisan ke-2, atau untuk mempermasalahkan transaksi pada lapisan ke-2.", - "layer-2-what-is-layer-1-list-title": "Ethereum termasuk sebagai lapisan ke-1:", - "layer-2-what-is-layer-1-list-1": "Sebuah Jaringan dari operator simpuluntuk mengamankan dan memvalidasi jaringan", - "layer-2-what-is-layer-1-list-2": "Sebuah jaringan dari produsen blok", - "layer-2-what-is-layer-1-list-3": "Rantai blok itu sendiri dan riwayat data transaksi", - "layer-2-what-is-layer-1-list-4": "Mekanisme Konsensus untuk jaringan", - "layer-2-what-is-layer-1-list-link-1": "Masih bingung dengan Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Pelajari apa itu Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Mengapa kita membutuhkan lapisan ke-2?", - "layer-2-why-do-we-need-layer-2-1": "Tiga sifat yang diinginkan dari sebuah rantai blok adalah terdesentralisasi, aman, dan dapat diskalakan. Rantai blok Trilema menyatakan bahwa arsitektur rantai blok yang sederhana hanya dapat mencapai dua dari tiga hal tersebut. Ingin rantai blok yang aman dan terdesentralisasi? Anda perlu mengorbankan skalabilitas.", - "layer-2-why-do-we-need-layer-2-2": "Saat ini, Ethereum memproses 1+ juta transaksi per hari. Permintaan penggunaan Ethereum dapat menyebabkan harga biaya transaksi menjadi tinggi. Inilah tempat masuknya jaringan lapisan ke-2.", - "layer-2-why-do-we-need-layer-2-scalability": "Skalabilitas", - "layer-2-why-do-we-need-layer-2-scalability-1": "Tujuan utama dari lapisan ke-2 adalah meningkatkan keluaran transaksi (transaksi per detik yang lebih tinggi) tanpa mengorbankan desentralisasi atau keamanan.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Jaringan Utama Ethereum (lapisan ke-1) hanya mampu memproses kira-kira 15 transaksi per detik. Ketika permintaan untuk menggunakan Ethereum tinggi, jaringan menjadi penuh, yang meningkatkan biaya transaksi dan membuat pengguna yang tidak mampu membayar biaya tersebut terpaksa keluar. Lapisan ke-2 adalah solusi yang mengurangi biaya tersebut dengan memproses transaksi di luar rantai blok lapisan ke-1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Selengkapnya tentang visi Ethereum", - "layer-2-benefits-of-layer-2-title": "Manfaat lapisan ke-2", - "layer-2-lower-fees-title": "Biaya yang lebih rendah", - "layer-2-lower-fees-description": "Dengan menggabungkan beberapa transaksi di luar rantai ke dalam satu transaksi layer ke-1, biaya transaksi berkurang secara besar-besaran, membuat Ethereum lebih mudah diakses oleh semua orang.", - "layer-2-maintain-security-title": "Menjaga keamanan", - "layer-2-maintain-security-description": "Rantai Blok lapisan ke-2 menyelesaikan transaksi mereka di Jaringan Utama Ethereum, memungkinkan pengguna untuk mendapatkan manfaat dari keamanan jaringan Ethereum.", - "layer-2-expand-use-cases-title": "Tampilkan penggunaan kasus", - "layer-2-expand-use-cases-description": "Dengan transaksi yang lebih tinggi per detik, biaya yang lebih rendah, dan teknologi baru, proyek-proyek akan berkembang menjadi aplikasi baru dengan pengalaman pengguna yang lebih baik.", - "layer-2-how-does-layer-2-work-title": "Bagaimana cara kerja lapisan ke-2?", - "layer-2-how-does-layer-2-work-1": "Seperti yang telah disebutkan di atas, lapisan ke-2 adalah istilah umum untuk solusi skalabilitas Ethereum yang mengelola transaksi di luar Ethereum lapisan ke-1 sambil tetap memanfaatkan keamanan desentralisasi yang kuat dari Ethereum lapisan ke-1. Sebuah lapisan ke-2 adalah sebuah rantai blok terpisah yang memperluas Ethereum. Bagaimana cara kerjanya?", - "layer-2-how-does-layer-2-work-2": "Terdapat beberapa jenis lapisan ke-2 yang berbeda, masing-masing memiliki kompromi dan model keamanan mereka sendiri. Lapisan ke-2 mengurangi beban transaksi dari lapisan ke-1, memungkinkan lapisan ke-1 menjadi kurang padat, dan membuat semuanya menjadi lebih skalabel.", - "layer-2-rollups-title": "Rollup", - "layer-2-rollups-1": "Rollups menggabungkan (atau 'roll up') ratusan transaksi ke dalam satu transaksi tunggal di lapisan ke-1. Ini membagi biaya transaksi L1 kepada semua orang dalam rollup, membuatnya lebih murah untuk setiap pengguna.", - "layer-2-rollups-2": "Transaksi rollup dieksekusi di luar lapisan ke-1 tetapi data transaksi diserahkan ke lapisan ke-1. Dengan mengirimkan data transaksi ke lapisan ke-1, rollup mewarisi keamanan Ethereum. Hal ini karena setelah data diunggah ke lapisan ke-1, membatalkan transaksi rollup memerlukan pembatalan Ethereum. Terdapat dua pendekatan berbeda untuk rollup: optimistik dan pengetahuan nol - keduanya berbeda terutama dalam cara data transaksi ini diserahkan ke L1.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Penggabungan yang optimis 'optimistik' dalam arti bahwa transaksi diasumsikan valid, tetapi dapat ditantang jika diperlukan. Jika transaksi tidak valid dicurigai, bukti kesalahan dijalankan untuk melihat apakah hal ini terjadi.", - "layer-2-optimistic-rollups-childSentance": "Lebih lanjut mengenai penggabungan yang optimis", - "layer-2-zk-rollups-title": "Rollup zero-knowledge", - "layer-2-zk-rollups-description": "Roll-up tanpa pengetahuan menggunakan bukti keabsahan di mana transaksi dihitung di luar rantai, kemudian data yang telah dikecilkan disediakan ke Jaringan Utama Ethereum sebagai bukti keabsahan transaksi tersebut.", - "layer-2-zk-rollups-childSentance": "Lebih lanjut mengenai roll-up ZK", - "layer-2-dyor-title": "Silakan melakukan riset sendiri: risiko dari lapisan ke-2", - "layer-2-dyor-1": "Banyak proyek lapisan ke-2 masih relatif muda dan masih memerlukan pengguna untuk mempercayai beberapa operator untuk jujur saat mereka bekerja untuk mendesentralisasi jaringan mereka. Selalu lakukan riset Anda sendiri untuk memutuskan apakah Anda nyaman dengan risiko yang terlibat.", - "layer-2-dyor-2": "Untuk informasi lebih lanjut mengenai teknologi, risiko, dan asumsi kepercayaan lapisan ke-2, kami sarankan untuk melihat L2BEAT, yang menyediakan kerangka penilaian risiko komprehensif untuk setiap proyek.", - "layer-2-dyor-3": "Pergi ke L2BEAT", - "layer-2-use-layer-2-title": "Menggunakan lapisan ke-2", - "layer-2-use-layer-2-1": "Sekarang setelah Anda memahami mengapa lapisan ke-2 ada dan bagaimana cara kerjanya, mari kita aktifkan dan siap digunakan!", - "layer-2-contract-accounts": "Jika Anda menggunakan dompet kontrak pintar seperti Safe atau Argent, Anda tidak akan memiliki kendali atas alamat ini di lapisan ke-2 sampai Anda mendeploy kembali akun kontrak Anda ke alamat tersebut di lapisan ke-2. Akun klasik dengan frasa pemulihan akan secara otomatis memiliki akun yang sama di semua jaringan lapisan ke-2.", - "layer-2-use-layer-2-generalized-title": "Lapisan ke-2 yang Umum", - "layer-2-use-layer-2-generalized-1": "Generalized Lapisan ke-2 berperilaku sama seperti Ethereum — namun dengan biaya yang lebih rendah. Segala hal yang dapat Anda lakukan di Ethereum Lapisan ke-1, juga dapat Anda lakukan di Lapisan ke-2. Banyak dapps (aplikasi terdesentralisasi) telah mulai bermigrasi ke jaringan-jaringan ini atau bahkan langsung mengabaikan Jaringan Utama untuk langsung di-deploy di lapisan ke-2.", - "layer-2-use-layer-2-application-specific-title": "Lapisa ke-2 yang khusus aplikasi", - "layer-2-use-layer-2-application-specific-1": "Lapisan ke-2 yang Khusus Aplikasi adalah proyek-proyek yang mengkhususkan diri dalam mengoptimalkan untuk ruang aplikasi tertentu, dengan tujuan meningkatkan kinerja.", - "layer-2-sidechains-title": "Sebuah catatan mengenai rantai samping, validium, dan rantai blok alternatif", - "layer-2-sidechains-1": "Rantai samping dan validium adalah rantai blok yang memungkinkan aset dari Ethereum dijembatani dan digunakan di rantai blok lain. Rantai samping dan validium beroperasi sejajar dengan Ethereum, dan berinteraksi dengan Ethereum melalui jembatan, tetapi keamanan dan ketersediaan datanya tidak berasal dari Ethereum.", - "layer-2-sidechains-2": "Kedua teknologi ini memiliki skala yang serupa dengan lapisan ke-2 - mereka menawarkan biaya transaksi yang lebih rendah dan keluaran transaksi yang lebih tinggi - namun memiliki asumsi kepercayaan yang berbeda.", - "layer-2-more-on-sidechains": "Info lebih lanjut dari rantai samping", - "layer-2-more-on-validiums": "Info lebih lanjut dari validium", - "layer-2-sidechains-4": "Beberapa rantai blok lapisan ke-1 melaporkan keluaran yang lebih tinggi dan biaya transaksi yang lebih rendah daripada Ethereum, tetapi umumnya dengan kompromi di tempat lain, misalnya kebutuhan perangkat keras yang lebih besar untuk menjalankan simpul.", - "layer-2-onboard-title": "Bagaimana cara masuk ke lapisan ke-2", - "layer-2-onboard-1": "Ada dua cara utama untuk memasukkan aset Anda ke dalam lapisan ke-2: menghubungkan dana dari Ethereum melalui kontrak pintar atau menarik dana Anda di bursa langsung ke jaringan lapisan ke-2.", - "layer-2-onboard-wallet-title": "Dana di dalam dompet Anda?", - "layer-2-onboard-wallet-1": "Jika Anda sudah memiliki ETH di dalam dompet Anda, Anda harus menggunakan penghubung untuk memindahkannya dari Jaringan Utama Ethereum ke lapisan ke-2.", - "layer-2-more-on-bridges": "Lebih lanjut tentang penghubung", - "layer-2-onboard-wallet-input-placeholder": "Pilih L2 yang ingin Anda hubungkan", - "layer-2-onboard-wallet-selected-1": "Anda dapat terhubung ke", - "layer-2-onboard-wallet-selected-2": "menggunakan dompet ini:", - "layer-2-bridge": "Penghubung", - "layer-2-onboard-exchange-title": "Dana di bursa?", - "layer-2-onboard-exchange-1": "Beberapa bursa terpusat sekarang menawarkan penarikan dan penyetoran langsung ke lapisan ke-2. Periksa bursa mana yang mendukung penarikan lapisan ke-2 dan lapisan ke-2 mana yang mereka dukung.", - "layer-2-onboard-exchange-2": "Anda juga membutuhkan dompet untuk menarik dana Anda.", - "layer-2-onboard-find-a-wallet": "Temukan dompet Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Periksa bursa yang mendukung L2", - "layer-2-deposits": "Setoran", - "layer-2-withdrawals": "Penarikan", - "layer-2-go-to": "Menuju ke", - "layer-2-tools-title": "Perangkat yang efektif pada lapisan ke-2", - "layer-2-tools-l2beat-description": "L2BEAT adalah sumber daya yang bagus untuk melihat penilaian risiko teknis dari proyek-proyek lapisan ke-2. Kami merekomendasikan untuk mencoba sumber daya mereka saat meneliti proyek lapisan ke-2 tertentu.", - "layer-2-tools-l2fees-description": "Biaya L2 memungkinkan Anda melihat biaya saat ini (dalam mata uang USD) untuk melakukan transaksi pada lapisan ke-2 yang berbeda.", - "layer-2-tools-chainlist-description": "Chainlist adalah sumber daya yang bagus untuk mengimpor RPC jaringan ke dalam dompet pendukung. Anda akan menemukan RPC untuk proyek lapisan ke-2 di sini untuk membantu Anda terhubung.", - "layer-2-tools-zapper-description": "Kelola seluruh portofolio web3 Anda mulai dari DeFi hingga NFT dan apa pun yang akan datang. Berinvestasi dalam peluang terbaru dari satu tempat yang nyaman.", - "layer-2-tools-zerion-description": "Bangun dan kelola seluruh portofolio DeFi Anda dari satu tempat. Temukan dunia keuangan terdesentralisasi saat ini.", - "layer-2-tools-debank-description": "Ikuti semua peristiwa penting di dunia web3", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Mengapa tidak ada Ethereum L2 yang 'resmi'?", - "layer-2-faq-question-1-description-1": "Sama seperti tidak ada klien Ethereum 'resmi', tidak ada Ethereum lapisan ke-2 'resmi'. Ethereum bersifat tanpa izin - secara teknis siapa pun dapat membuat lapisan ke-2! Beberapa tim akan mengimplementasikan versi mereka dari lapisan ke-2, dan seluruh ekosistem akan mendapatkan manfaat dari beragam pendekatan desain yang dioptimalkan untuk berbagai kasus penggunaan. Sama seperti kita memiliki beberapa klien Ethereum yang dikembangkan oleh beberapa tim untuk memiliki keragaman dalam jaringan, ini juga akan menjadi bagaimana lapisan ke-2 berkembang di masa depan.", - "layer-2-faq-question-2-title": "Apa perbedaan antara rollup optimistik dan Rollup tanpa pengetahuan?", - "layer-2-faq-question-2-description-1": "Baik rollup optimistik maupun Rollup tanpa pengetahuan menggabungkan (atau 'roll up') ratusan transaksi menjadi satu transaksi tunggal di lapisan ke-1. Transaksi rollup dieksekusi di luar lapisan ke-1 tetapi data transaksi diposting ke lapisan ke-1.", - "layer-2-faq-question-2-description-2": "Perbedaan utamanya terletak pada data apa yang diposting ke lapisan ke-1 dan bagaimana data tersebut diverifikasi. Bukti keabsahan (digunakan oleh Rollup tanpa pengetahuan) menjalankan perhitungan di luar rantai dan memposting bukti, sedangkan bukti kesalahan (digunakan oleh penggabungan yang optimis) hanya menjalankan perhitungan di dalam rantai saat kesalahan dicurigai dan harus diperiksa.", - "layer-2-faq-question-2-description-3": "Saat ini, sebagian besar Roll-up ZK bersifat khusus aplikasi, berbeda dengan penggabungan yang optimis yang pada umumnya lebih dapat digeneralisasi.", - "layer-2-more-info-on-optimistic-rollups": "Info lebih lanjut tentang penggabungan yang optimis", - "layer-2-more-info-on-zk-rollups": "Informasi lebih lanjut tentang Rollup tanpa pengetahuan", - "layer-2-faq-question-4-title": "Apa saja risiko lapisan ke-2?", - "layer-2-faq-question-4-description-1": "Proyek-proyek lapisan ke-2 memiliki risiko tambahan dibandingkan dengan menyimpan dana dan bertransaksi secara langsung di Jaringan Utama Ethereum. Misalnya, pihak penyusun urutan (sequencer) dapat mengalami masalah, yang mengharuskan Anda menunggu untuk mengakses dana.", - "layer-2-faq-question-4-description-2": "Kami mendorong Anda untuk melakukan riset sendiri sebelum mentransfer dana signifikan ke lapisan ke-2. Untuk informasi lebih lanjut mengenai teknologi, risiko, dan asumsi kepercayaan lapisan ke-2, kami sarankan untuk melihat L2BEAT, yang menyediakan kerangka penilaian risiko komprehensif untuk setiap proyek.", - "layer-2-faq-question-4-description-3": "Penghubung rantai blok, yang memfasilitasi transfer aset ke lapisan ke-2, masih dalam tahap awal pengembangan dan kemungkinan desain penghubung yang optimal belum ditemukan. Telah ada peretasan penghubung baru-baru ini.", - "layer-2-faq-question-5-title": "Mengapa beberapa proyek lapisan ke-2 tidak terdaftar di sini?", - "layer-2-faq-question-5-description-1": "Kami ingin memastikan bahwa kami mencantumkan sumber daya terbaik yang mungkin sehingga pengguna dapat menjelajahi ruang lapisan ke-2 dengan cara yang aman dan percaya diri. Kami memiliki kerangka kriteria untuk bagaimana proyek dievaluasi untuk inklusi.", - "layer-2-faq-question-5-view-listing-policy": "Lihat kebijakan daftar lapisan ke-2 kami di sini.", - "layer-2-faq-question-5-description-2": "Semua orang bebas untuk menyarankan penambahan lapisan ke-2 di ethereum.org. Jika ada lapisan ke-2 yang kami lewatkan, silakan sarankan.", - "layer-2-further-reading-title": "Bacaan lebih lanjut", - "a-rollup-centric-ethereum-roadmap": "Peta perjalanan ethereum yang berfokus pada rollup", - "an-incomplete-guide-to-rollups": "Panduan Tidak Lengkap tentang Rollup", - "polygon-sidechain-vs-ethereum-rollups": "Rantai samping Polygon vs Rollup Ethereum: pendekatan skalabilitas lapisan ke-2| Vitalik Buterin dan Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUP - Strategi Penskalaan Ethereum Maksimal? Penjelasan Arbitrum & Optimism", - "scaling-layer-1-with-shard-chains": "Menskalakan lapisan 1 dengan rantai shard", - "understanding-rollup-economics-from-first-principals": "Memahami ekonomi Rollup dari prinsip-prinsip dasar", - "arbitrum-description": "Arbitrum One adalah Penggabungan yang Optimis yang bertujuan memberikan pengalaman yang sama seperti berinteraksi dengan Ethereum, tetapi dengan biaya transaksi hanya sebagian kecil dari yang ada di L1.", - "optimism-description": "Optimism adalah penggabungan yang optimis EVM-equivalent yang cepat, sederhana, dan aman. Ini menskalakan teknologi Ethereum sambil juga memperluas nilai-nilainya melalui pendanaan barang publik retroaktif.", - "boba-description": "Boba adalah penggabungan yang optimis yang awalnya merupakan cabang dari Optimism yang merupakan solusi penskalaan yang bertujuan untuk mengurangi biaya gas, meningkatkan keluaran transaksi, dan memperluas kapabilitas kontrak pintar.", - "loopring-description": "Solusi zkRollup L2 dari Loopring bertujuan untuk menawarkan jaminan keamanan yang sama dengan jaringan utama Ethereum, dengan peningkatan skalabilitas yang besar: keluaran meningkat 1000x, dan biaya berkurang menjadi hanya 0,1% dari L1.", - "zksync-description": "ZKsync adalah platform Rollup zk yang berfokus pada pengguna dari Matter Labs. Ini adalah solusi penskalaan untuk Ethereum, sudah berjalan di Jaringan Utama Ethereum. Ini mendukung pembayaran, pertukaran token, dan penciptaan NFT.", - "zkspace-description": "Platform ZKSpace terdiri dari tiga bagian utama: bursa AMM DEX lapisan ke-2 yang menggunakan teknologi Rollup ZK bernama ZKSwap, layanan pembayaran bernama ZKSquare, dan pasar NFT bernama ZKSea.", - "aztec-description": "Jaringan Aztec adalah Rollup zk pribadi pertama di Ethereum, memungkinkan aplikasi terdesentralisasi untuk mengakses privasi dan skala.", - "starknet-description": "Starknet adalah Rollup Validitas Lapisan ke-2. Starknet menyediakan keluaran proses yang tinggi, biaya gas yang rendah, dan menjaga tingkat keamanan Lapisan ke-1 Ethereum.", - "layer-2-note": "Catatan:", - "layer-2-ecosystem-portal": "Portal Ekosistem", - "layer-2-token-lists": "Daftar Token", - "layer-2-explore": "Jelajahi", - "page-dapps-ready-button": "Mulai" -} diff --git a/src/intl/ig/page-layer-2.json b/src/intl/ig/page-layer-2.json deleted file mode 100644 index 1a89b44c161..00000000000 --- a/src/intl/ig/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "Ihe akaebe wayo naanị maka ndị ojiji a tụkwasịrị obi, listi ntụkwasị obi emeghebeghị", - "layer-2-boba-note": "Ọkwá nkwado n'ime mmepe", - "layer-2-optimism-note": "Enweghị mmejọ na mmepe", - "layer-2-hero-title": "Layer 2", - "layer-2-hero-header": "Ethereum maka onye ọ bụla", - "layer-2-hero-subtitle": "Ịtụle Ethereum maka nnabata mmadụ nnukwu.", - "layer-2-hero-alt-text": "Ihe atụ maka azụmahịa a kpọkọtara na akuku 2 na bipute ya na Ethereum Mainnet", - "layer-2-hero-button-1": "Gịnị bụ Layer 2", - "layer-2-hero-button-2": "Jiri layer 2", - "layer-2-hero-button-3": "Gaa na layer 2", - "layer-2-statsbox-1": "TVL akpọchiri na layer 2 (USD)", - "layer-2-statsbox-2": "Nkezi ego mbufe ụgwọ ETH layer 2 (USD)", - "layer-2-statsbox-3": "Mgbanwe layer 2 TVL (ụbọchị 30)", - "layer-2-what-is-layer-2-title": "Gịnị bụ layer 2?", - "layer-2-what-is-layer-2-1": "Layer 2 (L2) bụ okwu mkpokọta iji kọwaa otu ntọala Ethereum nbawanye ikike ngwọta. Layer 2 bụ blockchain dị iche iche na-agbatị Ethereum wee keta nkwa nchekwa nke Ethereum.", - "layer-2-what-is-layer-2-2": "Ugbu a, ka anyị gwuo ntakịrị n'ime ya. Iji mee nke a, anyị kwesịrị ibu ụzọ kọwaa layer 1 (L1).", - "layer-2-what-is-layer-1-title": "Gịnị bụ layer 1?", - "layer-2-what-is-layer-1-1": "Layer 1 bụ isi blockchain. Ethereum na Bitcoin bụ blockchain layer 1 n'ihi na ha bụ ntọala n'okpuru nke netwọk oyi akwa 2 dị iche iche na-ewu n'elu. Ihe atụ nke ọrụ layer 2 gụnyere nchekwa-ụzọ na Ethereum na Lightning Network n'elu Bitcoin. Ọrụ azụmahịa niile nke onye ọrụ na ọrụ layer 2 a nwere ike mechaa laghachi azụ na blockchain Layer 1.", - "layer-2-what-is-layer-1-2": "Ethereum na-arụkwa ọrụ dị ka data nnweta data maka layer 2s. Ọrụ Layer 2 ga-etinye data azụmahịa ha na Ethereum, dabere na Ethereum maka nnweta data. Enwere ike iji data a nweta ọnọdụ layer 2, ma ọ bụ ịgbagha azụmahịa na layer 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum dị ka layer 1 gụnyere:", - "layer-2-what-is-layer-1-list-1": "Netwọk nke ndị na-arụ ọrụ noodu iji chekwaa ma kwado netwọkụ ahụ", - "layer-2-what-is-layer-1-list-2": " Netwok nke ndi na emeputablok", - "layer-2-what-is-layer-1-list-3": "Blockchainna onwe ya na aguguala nke mmekorita data", - "layer-2-what-is-layer-1-list-4": "Usoro nkwekọrịtamaka netwọkụ ahụ", - "layer-2-what-is-layer-1-list-link-1": "Ka nwere mgbagwoju anya na Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Mụta ihe Ethereum bụ.", - "layer-2-why-do-we-need-layer-2-title": "Gini mere anyi jiri chọọ Layer 2?", - "layer-2-why-do-we-need-layer-2-1": "Ihe atumatu atọ Blokchain dinma bu na o naghi enwe otu onye isi, e chekwara ya echekwa, o n'aru oru ofuma.. Nke blockchain trilemma kwuru na nhazi blockchain dị mfe nwere ike nweta naanị abụọ n'ime atọ. Ịchọrọ blockchain e chekwara na enweghị otu onye isi? I ga achọ ịtụ àjà ọrụ.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum na-arụ ọrụ ugbu a 1+ nde azụmahịa kwa ụbọchị. Ọchịchọ iji Ethereum nwere ike ime ka ọnụ ahịa ego azụmaahịa dị elu. Nke a bụ ebe netwọk oyi akwa 2 na-abata.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "Ebumnuche nke layer 2 bụ ịbawanye mmepụta azụmahịa (azụmahịa dị elu kwa nkeji) na-achụghị mwepu ma ọ bụ nchekwa.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Ethereum Mainnet (layer 1) nwere ike ịhazi ya naanị ihe dị ka azụmahịa 15 kwa nkeji. Mgbe a na-achọ iji Ethereum dị elu, netwọk ahụ na-ejupụta, nke na-abawanye ụgwọ azụmahịa ma na-ere ndị ọrụ na-enweghị ike ịkwụ ụgwọ ndị ahụ. Layer 2s bụ ihe ngwọta na-ebelata ụgwọ ndị ahụ site na nhazi azụmahịa na blockchain layer-1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Ịhe ndị ọzọ na ọhụụ Ethereum", - "layer-2-benefits-of-layer-2-title": "Uru ńke layer 2", - "layer-2-lower-fees-title": "Ọnụ ego dị ala", - "layer-2-lower-fees-description": "N'igbakoo otutu azụmahịa anaghi eme na chen ka ha bụrụ layer 1, ego ha na ebenata, mezie ka Ethereum diri maka madu nile.", - "layer-2-maintain-security-title": "Debe nchekwa", - "layer-2-maintain-security-description": "Blockchain ọkwa 2 na edozi azụmahịa ha na Ethereum Mainnet, na ekwe ndị ọrụ iji nweta uru site na nchekwa nke netwọkụ Ethereum.", - "layer-2-expand-use-cases-title": "Gbasaa akara ejirila", - "layer-2-expand-use-cases-description": "Na azụmahịa dị elu kwa nkeji, ụgwọ mbenata, na teknoloji ohuru, oru na-agbanwanye ịghọ ngwa ohuru e mere ka o ka mma.", - "layer-2-how-does-layer-2-work-title": "Kedu ka akụkụ 2 si aru oru?", - "layer-2-how-does-layer-2-work-1": "Dịka anyị kwuru n'elu, akụkụ 2 bụ okwu mkpokọta maka Ethereum nbawanye ikike ngwọta na-edozi azụmahịa na ejighị layer 1 Ethereum ka ọ ka na-erite uru na nchekwa na dịghị na etiti nke akuku 1 Ethereum. Akụkụ 2 bụ blockchain nọ iche na agbatị Ethereum. Kedu ka nke ahụ si arụ ọrụ?", - "layer-2-how-does-layer-2-work-2": "Enwere ụdị akụkụ 2 dị iche iche, nke ọ bụla nwere ụdị ahia nke ya na ụdị nchekwa. Akuku 2s na-ewepụ ibu azụmahịa na akuku 1 na-enye ohere ka ọ bụ mgbakọ péré mpe, na ihe nille ga adị mfe ịgbakọ.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Mkpokọta Rollups (ma ọ bụ 'kpọkọta') ọtụtụ puku azụmahịa n'ime otu azụmahịa na akuku 1. Nke a na-ekesa ụgwọ azụmahịa L1 nye onye ọ bụla nọ na mpịakọta, na-eme ka ọ dị ọnụ ala maka onye ojiji ọ bụla.", - "layer-2-rollups-2": "A na eme azụmahịa njikọta na ejighị akụkụ 1 mana a na e nyefee data akụkụ 1. Site n'iyefee data azụmahịa nye akụkụ 1, mkpokọta ga ẹ kẹta nchekwa ńke Ethereum. Nke a bụ n'ihi na ozugbo ebugoro data ahụ na akuku 1, ịghaghachi azụmahịa kpọkọta ga achọ ịtụgharị Ethereum. Enwere ụzọ abụọ dị iche iche maka mkpokọta: nwe nchekwube na ihe ọmụma efu - ha dị iche iche na mbụ na otu esi enyefe data azụmahịa nye L1.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Mkpokọta nwere nchekwube n'echiche nke a na-eche na azụmahịa dị mma, mana enwere ike ịgba aka ma ọ bụrụ na ọ dị mkpa. Ọ bụrụ na a na-enyo enyo na azụmahịa na-ezighi ezi, a na-agbago akaebe mmejọ iji hụ ma nke a emeela.", - "layer-2-optimistic-rollups-childSentance": "Ihe ndi ọzọ na mkpokọta nwere nchekwube", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "Ihe ọmụma efu mkpokọta n'eji nkọwa ụdị ebe a na-agbakọ azụmahịa n'ọrụ-nwanyụ, na mgbe ahụ, a na-enye data agbakwunyere na Ethereum Mainnet dị ka ihe akaebe nke nkwado ha.", - "layer-2-zk-rollups-childSentance": "Ihe ndị ọzọ gbasara ZK-rollups", - "layer-2-dyor-title": "Mee nyocha nke gị: ihe ize ndụ nke akuku 2", - "layer-2-dyor-1": "Ọtụtụ ọrụ layer 2 dị obere ma ka na-achọ ka ndị ọrụ tụkwasị obi ụfọdụ ndị ọrụ ka ha kwuo eziokwu ka ha na-arụ ọrụ iji mee netwọk ha dịrị n'etiti. Na-eme nyocha nke onwe gị mgbe niile iji kpebie ma ọ dị gị mma maka ihe egwu ọ bụla metụtara.", - "layer-2-dyor-2": "Maka ozi ndị ọzọ gbasara teknụzụ, ihe egwu, na ntụkwasị obi echiche nke akuku 2s, anyị ga-akwado gi ịlele L2BEAT, nke na-enye usoro nyocha ihe egwu zuru oke nke ọrụ ọ bụla.", - "layer-2-dyor-3": "Gaa na L2BEAT", - "layer-2-use-layer-2-title": "Jiri layer 2", - "layer-2-use-layer-2-1": "Ugbu a ị ghọtara ihe kpatara akụkụ 2 dị na otu o si arụ ọrụ, ka anyị mee ka gị malite!", - "layer-2-contract-accounts": "Ọ bụrụ na ị na-eji obere akpa intaneti smart contract dịka Safe ma ọ bụ Argent, ị gaghị na-achịkwa adreesị a na akuku 2 ruo mgbe ị ga nyefee akaụntụ nkwekọrịta ga na adreesị dị na layer 2. Akaụntụ kpochapụwo na akpaokwu nweghachite ga-enwe otu akaụntụ na-akpaghị aka ná netwọk akụkụ 2 niile.", - "layer-2-use-layer-2-generalized-title": "Akụkụ 2s na n'ozuzu ya", - "layer-2-use-layer-2-generalized-1": "N'ozuzu akụkụ 2s na-akpa àgwà ka Ethereum - mana dị ọnụ ala. Ihe ọ bụla ị nwere ike ime na Ethereum akụkụ 1, ị nwekwara ike ime na akuku 2. Ọtụtụ dapps amalitelarị ịkwaga na netwọk ndị a ma ọ bụ na-amafe Mainnet kpam kpam iji tinye ya na akuku 2.", - "layer-2-use-layer-2-application-specific-title": "Ngwa kpọmkwem akụkụ 2s", - "layer-2-use-layer-2-application-specific-1": "Ngwa kpọmkwem akụkụ 2s bụ oru ngo na-ahụ maka ịkwalite oghere ngwa, na-eweta arụmọrụ ka mma.", - "layer-2-sidechains-title": "Ihe ndetu na sidechains, validiums na blockchain ọzọ", - "layer-2-sidechains-1": "Sidechains and validiums bụ blockchain nke na-ekwe ka akụ sitere na Ethereum mechie ma jiri ya na blockchain ọzọ. Sidechains na validiums na agba n'otu n'otu na Ethereum ma soro Ethereum na-emekọrịta ihe site na àkwà mmiri, mana ha anaghị enweta nchekwa ha ma ọ bụ nnweta data site na Ethereum.", - "layer-2-sidechains-2": "Ha abụọ nbawanye ikike n'otu aka ahụ na akuku 2s - ha na-enye ụgwọ azụmahịa dị ala na ntinye azụmahịa dị elu - mana ha nwere echiche ntụkwasị obi dị iche iche.", - "layer-2-more-on-sidechains": "Ozi ndị ọzọ gbasara sidechains", - "layer-2-more-on-validiums": "Ozi ndị ọzọ gbasara validiums", - "layer-2-sidechains-4": "Ụfọdụ layer 1 blockchains na-akọpụta mmepụta dị elu na ụgwọ azụmahịa dị ala karịa Ethereum, mana n'ozuzu ya na ahia ahia n'ebe ndị ọzọ, dịka ọmụmaatụ ihe ngwaike chọrọ maka ọnụ ọnụ.", - "layer-2-onboard-title": "Otu esi esi banye na akuku 2", - "layer-2-onboard-1": "Enwere ụzọ abụọ bụ isi iji nweta akụ gị n'elu akụkụ 2: nweta ego site na Ethereum site na nkwekọrịta smart ma ọ bụ wepụ ego gị na mgbanwe ozugbo na netwọk akụkụ 2.", - "layer-2-onboard-wallet-title": "Ego dị na Akpa ego intaneti gị?", - "layer-2-onboard-wallet-1": "Ọ bụrụ na ị nwetala ETH gị na obere akpa intaneti gị, ị ga-achọ iji àkwà mmiri bugharịa ya na Ethereum Mainnet gaa na okwa 2.", - "layer-2-more-on-bridges": "Ọzọ maka njikọ", - "layer-2-onboard-wallet-input-placeholder": "Họrọ L2 ịchọrọ ijikọ na", - "layer-2-onboard-wallet-selected-1": "Ị nwere ike jikọọ na", - "layer-2-onboard-wallet-selected-2": "na-eji akpa ego intaneti ndị a:", - "layer-2-bridge": "Njikọ", - "layer-2-onboard-exchange-title": "Ego na mgbanwe?", - "layer-2-onboard-exchange-1": "Ụfọdụ mgbanwe etiti ugbu a na-enye mwepu na nkwụnye ego ozugbo na akuku 2s. Lelee nke mgbanwe nkwado akụkụ 2 mwepụ na nke akuku 2s ha na-akwado.", - "layer-2-onboard-exchange-2": "Ị ga-achọkwa akpa ego intaneti iji wepụ ego gị na ya.", - "layer-2-onboard-find-a-wallet": "Chọta akpa ego intaneti Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Lelee mgbanwe ndị na-akwado L2", - "layer-2-deposits": "Nkwụnye ego", - "layer-2-withdrawals": "Mwepu", - "layer-2-go-to": "Gaa na", - "layer-2-tools-title": "Ngwaọrụ ka ọ dị irè na akuku 2", - "layer-2-tools-l2beat-description": "L2BEAT bụ nnukwu akụrụngwa maka ilele nyocha ihe egwu teknụzụ nke ọrụ akụkụ 2. Anyị na-akwado ịlele ihe onwunwe ha mgbe ị na-eme nchọpụta ụfọdụ ọrụ akụkụ 2.", - "layer-2-tools-l2fees-description": "Ụgwọ L2 na-enye gị ohere ịhụ ọnụ ahịa ugbu a (nke a na-akwụ na USD) maka ime azụmahịa na akuku 2 dị iche iche.", - "layer-2-tools-chainlist-description": "Chainlist bụ nnukwu akụrụngwa maka ibu bata netwọkụ RPC n'ime obere akpa intaneti nkwado. Ị ga-ahụ RPC maka ọrụ akụkụ 2 ebe a iji nyere gị aka jikọọ.", - "layer-2-tools-zapper-description": "Jikwaa mkpokọta web3 Pọtụfoliyo gị site na DeFi gaa na NFT na ihe ọ bụla na abịa. Tinye ego na ohere kachasị ọhụrụ site n'otu ebe dị mma.", - "layer-2-tools-zerion-description": "Wulite ma jikwaa Pọtụfoliyo DeFi gị niile site n'otu ebe. Chọpụta ụwa ego nke enweghị etiti taa.", - "layer-2-tools-debank-description": "Soro kwa ihe niile dị mkpa na-eme na ụwa web3", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Kedu ihe kpatara enweghị 'onye ọrụ' Ethereum L2?", - "layer-2-faq-question-1-description-1": "Dị ka enweghị onye ahịa Ethereum akwadoro, enweghị Ethereum layer 2 'akwadoro'. Ethereum enweghị ikike -onye ọ bụla nwere ike ịmepụta layer 2 n'iji teknụzụ! Otutu ìgwè ga-emejuputa ụdị ha nke layer 2, na gburugburu ebe obibi n'ozuzu ya ga-erite uru site na ụdị dị iche iche nke imewe na-abịaru nso nke kachasị maka iji dị iche iche. Dị ka anyị nwere ọtụtụ ndị ahịa Ethereum m\nemepụtara site na ọtụtụ otu iji nwee ụdị dị iche iche na netwọk, nke a ga-abụkwa otú layer 2 si etolite n'ọdịnihu.", - "layer-2-faq-question-2-title": "Gịnị bụ ọdịiche dị n'etiti optimistic na zero-knowledge rollups?", - "layer-2-faq-question-2-description-1": "Ma nchekwube na ihe ọmụma efu nchekwa-ụzọ chịkọta (ma ọ bụ 'kpọkọta') narị azụmahịa n'ime otu azụmahịa na layer 1. Nchekwa-ụzọ a na-eme azụmahịa na-abụghị nke layer 1 mana a na-eziga data azụmahịa na layer 1.", - "layer-2-faq-question-2-description-2": "Isi ihe dị iche bụ ihe ezigara data na layer 1 yana otu esi enyocha data ahụ. Ngosipụta nkwado (zero knowledge rollups na eji) arụ na-agbakọ n'ọrụ-nwanyụ ma biputere ihe akaebe, ebe ihe akaebe na-ezighị ezi (optimistic rollups na eji) naanị na eme mgbako n'ọnụ n'ọrụ mgbe a na-enyo mmejọ ma a ga-enyocha ya.", - "layer-2-faq-question-2-description-3": "N'oge a, ọtụtụ nchekwa-ụzọ ZK bụ ngwa kpọmkwem, n'ụzọ dị iche na nchekwube nchekwa-ụzọ bụ nke a na-ahụkarị.", - "layer-2-more-info-on-optimistic-rollups": "Ozi ndị ọzọ gbasara optimistic rollups", - "layer-2-more-info-on-zk-rollups": "Ozi ndị ọzọ gbasara zero-knowledge rollups", - "layer-2-faq-question-4-title": "Kedu ihe egwu dị na layer 2?", - "layer-2-faq-question-4-description-1": "Ọrụ layer 2 nwere ihe egwu ndị ọzọ ma e jiri ya tụnyere ijide ego na ịzụ ahịa ozugbo na Ethereum Mainnet. Dịka ọmụmaatụ, ndị na-eso ụzọ nwere ike gbadata, na-eduga gị ichere iji nweta ego.", - "layer-2-faq-question-4-description-2": "Anyị na-agba gị ume ka ị mee nyocha nke gị tupu ibufee nnukwu ego na layer 2. Maka ozi ndị ọzọ gbasara teknụzụ, ihe egwu, na echiche ntụkwasị obi nke layer 2s, anyị na-akwado ịleleL2BEAT, nke na-enye usoro nyocha ihe egwu zuru oke nke ọrụ ọ bụla.", - "layer-2-faq-question-4-description-3": "Blockchain bridges, nke na-enyere aka ịnyefe ihe onwunwe na oyi akwa 2, nọ n'oge mmalite nke mmepe na ọ ga-abụ na achọpụtabeghị nhazi akwa mmiri kachasị mma. Enweelahacks nke àkwà mmiri na-adịbeghị anya.", - "layer-2-faq-question-5-title": "Kedu ihe kpatara na edepụtaghị ụfọdụ ọrụ layer 2 ebe a?", - "layer-2-faq-question-5-description-1": "Anyị chọrọ ijide n'aka na anyị depụta ihe kacha mma enwere ike ime ka ndị ọrụ nwee ike ịnyagharịa oghere layer 2 na nchekwa na ntụkwasị obi. Anyị na-edobe usoro nke njirisi maka otu esi enyocha ọrụ maka nsonye.", - "layer-2-faq-question-5-view-listing-policy": "Lelee amụma ndepụta layer 2 anyị ebe a.", - "layer-2-faq-question-5-description-2": "Onye ọ bụla nweere onwe ya ịtụ aro ịgbakwunye layer 2 na ethereum.org. Ọ bụrụ na enwere layer 2 nke anyị tụfuru,biko tụọ aro ya.", - "layer-2-further-reading-title": "Further reading", - "a-rollup-centric-ethereum-roadmap": "Ụzọ mapu rollup-centric ethereum", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Polygon sidechain vesọs Ethereum rollups: ụzọ 2 eji etule| Vitalik Buterin na Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUPS- Atụmatụ Kacha mma Ethereum ga eji Tulee? Akọwara Arbitrum & nchekwube", - "scaling-layer-1-with-shard-chains": "Ịtụle layer 1 na agbụ shard", - "understanding-rollup-economics-from-first-principals": "Nghọta akụnụba rollup sitere na ndị bidoro mbụ", - "arbitrum-description": "Arbitrum bụ Optimistic Rollup nke na-achọ inwe mmetụta nke ọma ka ya na Ethereum na-akpakọrịta, mana na azụmahịa na-efu ntakịrị ihe ha na-eme na L1.", - "optimism-description": "Optimism bụ EVM, dị mfe, yana nchekwa. Ọ na-agbada teknụzụ Ethereum ka ọ nbawanye ikike ụkpụrụ ya site na ntinye ego ngwa ahịa ọha.", - "boba-description": "Boba bụ Optimistic Rollup nwere nchekwube ewepụtara na mbụ site na Optimism nke bụ ihe ngwọta na-achọsi ike ibelata ụgwọ gas, kwalite mmepụta azụmahịa, yana ịgbatị ike nke smart contracts.", - "loopring-description": "Loopring's zkRollup L2 Solution bu n'obi inye otu ihe nchekwa ahụ dị ka Ethereum mainnet, yana nnukwu mmụba scalability: mmepụta mụbara site na 1000x, ọnụ ahịa belatara naanị 0.1% nke L1.", - "zksync-description": "ZKsync bụ usoro ntụgharị zk nke na-eme ka onye ọrụ si na Matter Labs. Ọ bụ ihe ngwọta maka Ethereum, ebielarị na mainnet Ethereum. Ọ na-akwado ịkwụ ụgwọ, swaps token na nkeji NFT.", - "zkspace-description": "Platfọmu ZKSpace nwere akụkụ atọ bụ isi: layer 2 AMM DEX na-eji teknụzụ ZK-Rollups nke a na-akpọ ZKSwap, ọrụ ịkwụ ụgwọ a na-akpọ ZKSquare, na ebe ahịa NFT a na-akpọ ZKSea.", - "aztec-description": "Netwọk Aztec bụ zk-rollup nkeonwe nke mbụ na Ethereum, na eme ka ngwa agbasasịghị nweta ohere nzuzo na ọnụ ọgụgụ.", - "layer-2-note": "Mara:", - "layer-2-ecosystem-portal": "Portal Ecosystem", - "layer-2-token-lists": "Ndepụta Token", - "layer-2-explore": "Nyochaa", - "page-dapps-ready-button": "Gaa" -} diff --git a/src/intl/it/page-layer-2.json b/src/intl/it/page-layer-2.json deleted file mode 100644 index 4c7e3ef4c5a..00000000000 --- a/src/intl/it/page-layer-2.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "layer-2-arbitrum-note": "A prova di frode solo per gli utenti in whitelist, whitelist non ancora aperta", - "layer-2-boba-note": "Validazione dello stato in sviluppo", - "layer-2-optimism-note": "Prove di errore in sviluppo", - "layer-2-base-note": "Il sistema di prova di frode è attualmente in via di sviluppo", - "layer-2-metadata-description": "Pagina di introduzione al livello 2", - "layer-2-hero-title": "Livello 2", - "layer-2-hero-header": "Ethereum per tutti", - "layer-2-hero-subtitle": "Ridimensionare Ethereum per l'adozione di massa.", - "layer-2-hero-alt-text": "Illustrazione delle transazioni che vengono eseguite sul livello 2 e spedite sulla Rete principale Ethereum", - "layer-2-hero-button-1": "Cos'è il livello 2", - "layer-2-hero-button-2": "Usa il livello 2", - "layer-2-hero-button-3": "Spostarsi al livello 2", - "layer-2-statsbox-1": "TVL bloccato nel livello 2 (USD)", - "layer-2-statsbox-2": "Commissione di trasferimento media in ETH nel livello 2 (USD)", - "layer-2-statsbox-3": "Variazione TVL livello 2 (30 giorni)", - "layer-2-what-is-layer-2-title": "Cos'è il livello 2?", - "layer-2-what-is-layer-2-1": "Livello 2 (L2) è un termine collettivo per descrivere una serie specifica di soluzioni di ridimensionamento di Ethereum. Un livello 2 è una blockchain separata che estende Ethereum e ne eredita le garanzie di sicurezza.", - "layer-2-what-is-layer-2-2": "Ora approfondiamo un po' la questione. Per farlo, dobbiamo innanzitutto spiegare il livello 1 (L1).", - "layer-2-what-is-layer-1-title": "Cos'è il livello 1?", - "layer-2-what-is-layer-1-1": "Il livello 1 è la blockchain di base. Ethereum e Bitcoin sono entrambe blockchain di livello 1 perché sono le fondamenta sottostanti su cui si basano varie reti di livello 2. Esempi di progetti di livello 2 includono i \"rollup\" su Ethereum e la Lightning Network su Bitcoin. Tutta l'attività delle transazioni degli utenti su questi progetti di livello 2 può infine tornare alla blockchain di livello 1.", - "layer-2-what-is-layer-1-2": "Ethereum opera anche come un livello di disponibilità dei dati per i livelli 2. I progetti di livello 2 pubblicheranno i propri dati delle transazioni su Ethereum, facendo affidamento su Ethereum per la disponibilità dei dati. Questi dati possono essere utilizzati per ottenere lo stato del livello 2, o per contestare le transazioni nel livello 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum come livello 1 include:", - "layer-2-what-is-layer-1-list-1": "Una rete di operatori di nodi per proteggere e validare la rete", - "layer-2-what-is-layer-1-list-2": "Una rete di produttori di blocchi", - "layer-2-what-is-layer-1-list-3": "La blockchain stessa e lo storico dei dati delle transazioni", - "layer-2-what-is-layer-1-list-4": "Il meccanismo di consenso per la rete", - "layer-2-what-is-layer-1-list-link-1": "Ancora confuso su Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Scopri cos'è Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Perché abbiamo bisogno del livello 2?", - "layer-2-why-do-we-need-layer-2-1": "Tre proprietà desiderabili di una blockchain sono che essa è decentralizzata, sicura e scalabile. Il trilemma della blockchain afferma che un'architettura semplice della blockchain può ottenerne solo due di queste tre proprietà. Vuoi una blockchain sicura e decentralizzata? Devi sacrificare la scalabilità.", - "layer-2-why-do-we-need-layer-2-2": "Attualmente Ethereum elabora oltre 1 milione di transazioni al giorno. La domanda per l'utilizzo di Ethereum può far sì che i prezzi delle commissioni sulle transazioni siano elevati. È qui che entrano in gioco le reti di livello 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalabilità", - "layer-2-why-do-we-need-layer-2-scalability-1": "L'obiettivo principale del livello 2 è aumentare la velocità di una maggiore velocità e il volume delle transazioni (più transazioni al secondo), senza sacrificare la decentralizzazione o la sicurezza.", - "layer-2-why-do-we-need-layer-2-scalability-2": "La Rete Principale di Ethereum (livello 1) è in grado di elaborare solo 15 transazioni circa al secondo. Quando la domanda per l'utilizzo di Ethereum è elevata, la rete si congestiona, aumentando le commissioni sulla transazione ed escludendo gli utenti che non possono permettersi tali commissioni. I livelli 2 sono soluzioni che riducono quelle commissioni elaborando le transazioni al di fuori della blockchain di livello 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Approfondisci la visione di Ethereum", - "layer-2-benefits-of-layer-2-title": "Benefici del livello 2", - "layer-2-lower-fees-title": "Commissioni più basse", - "layer-2-lower-fees-description": "Combinando molteplici transazioni fuori dalla catena (off-chain) in una singola transazione di livello 1, le commissioni di transazione calano notevolmente, rendendo Ethereum più accessibile per tutti.", - "layer-2-maintain-security-title": "Mantenere la sicurezza", - "layer-2-maintain-security-description": "Le blockchain di livello 2 regolano le proprie transazioni sulla rete principale Ethereum, consentendo agli utenti di poter beneficiare della sicurezza della rete Ethereum.", - "layer-2-expand-use-cases-title": "Espandi i casi d'uso", - "layer-2-expand-use-cases-description": "Con più transazioni al secondo, basse commissioni, e una nuova tecnologia, i progetti si espanderanno in nuove applicazioni con una migliore esperienza utente.", - "layer-2-how-does-layer-2-work-title": "Come funzione il livello 2?", - "layer-2-how-does-layer-2-work-1": "Come menzionato sopra, livello 2 è un termine collettivo per le soluzioni di ridimensionamento di Ethereum che gestiscono le transazioni al di fuori del livello 1 di Ethereum, sfruttando comunque la robusta sicurezza decentralizzata del livello 1 di Ethereum. Un livello 2 è una blockchain separata che estende Ethereum. Come funziona?", - "layer-2-how-does-layer-2-work-2": "Esistono diversi tipi di livello 2, ognuno ha i suoi compromessi e i suoi modelli di sicurezza. I livelli 2 tolgono l'onere delle transazioni ai livelli 1 rendendoli meno congestionati e rendendoli più scalabili.", - "layer-2-rollups-title": "Rollup", - "layer-2-rollups-1": "I rollup (o “roll up”) elaborano centinaia di transazioni in una singola transazione di livello 1. In questo modo le commissioni delle transazioni L1 vengono distribuite tra tutti i membri nel rollup, rendendole più convenienti per ciascun utente.", - "layer-2-rollups-2": "I dati sulla transazione nel rollup sono inviati al livello 1, ma l'esecuzione avviene separatamente dal rollup. Inviando i dati sulla transazione al livello 1, i rollup ereditano la sicurezza di Ethereum. Questo perché una volta caricati i dati sul livello 1, l'annullamento della transazione di un rollup richiede l'annullamento di Ethereum. Esistono due approcci differenti ai rollup, ottimistici e a conoscenza zero, che differiscono principalmente nella modalità di invio di questi dati sulla transazione al L1.", - "layer-2-optimistic-rollups-title": "Rollup ottimistici", - "layer-2-optimistic-rollups-description": "I rollup ottimistici sono \"ottimistici\" nel senso che si presume che le transazioni siano valide, ma possono essere contestate se necessario. Se si sospetta una transazione non valida, si esegue una prova di errore per verificare se è avvenuta.", - "layer-2-optimistic-rollups-childSentance": "Approfondimento più sui rollup ottimistici", - "layer-2-zk-rollups-title": "Rollup a conoscenza zero (zero-knowledge)", - "layer-2-zk-rollups-description": "I rollup a conoscenza zero usano le prove di validità in cui le transazioni vengono calcolate al di fuori della catena e forniscono poi i dati compressi alla rete principale di Ethereum come prova della loro validità.", - "layer-2-zk-rollups-childSentance": "Maggiori informazioni sui rollup ZK", - "layer-2-dyor-title": "Fai delle verifiche: i rischi del livello 2", - "layer-2-dyor-1": "Molti progetti di livello 2 sono relativamente recenti e richiedono ancora che gli utenti si fidino dell'onestà di alcuni operatori che lavorano per decentralizzare le proprie reti. Fai sempre le tue ricerche per decidere se sei a tuo agio con i rischi connessi.", - "layer-2-dyor-2": "Per ulteriori informazioni sulla tecnologia, i rischi e i presupposti di fiducia dei livelli 2, consigliamo di dare un'occhiata a L2BEAT, che fornisce un quadro di valutazione completo dei rischi di ogni progetto.", - "layer-2-dyor-3": "Vai a L2BEAT", - "layer-2-use-layer-2-title": "Usa il livello 2", - "layer-2-use-layer-2-1": "Adesso che hai capito perché esiste il livello 2 e come funziona, inizia ad operare!", - "layer-2-contract-accounts": "Se stai usando un portafoglio con un contratto intelligente come Safe o Argent, non avrai il controllo di questo indirizzo sul livello 2 fino a che non ridistribuirai il tuo conto del contratto su questo indirizzo di livello 2. I conti classici con la frase di recupero possiederanno automaticamente lo stesso conto su tutte le reti di livello 2.", - "layer-2-use-layer-2-generalized-title": "Livelli 2 generalizzati", - "layer-2-use-layer-2-generalized-1": "I livelli 2 generalizzati si comportano proprio come Ethereum, ma sono più economici. Qualsiasi cosa tu possa fare sul livello 1 di Ethereum, puoi farla anche sul livello 2. Molte dapp hanno già iniziato a migrare su queste reti o hanno saltato del tutto la Rete Principale per costruitre progetti direttamente sul livello 2.", - "layer-2-use-layer-2-application-specific-title": "Livelli 2 specifici dell'applicazione", - "layer-2-use-layer-2-application-specific-1": "I livelli 2 specifici dell'applicazione sono progetti che si specializzano nell'ottimizzazione dello spazio specifico di un'applicazione, migliorando così le prestazioni.", - "layer-2-sidechains-title": "Una nota su catene secondarie, validium e blockchain alternative", - "layer-2-sidechains-1": "Le catene secondarie e i Validium sono blockchain che consentono alle risorse provenienti da Ethereum di varcare i confini ed essere usate su un'altra blockchain. Le catene secondarie e i Validium sono eseguiti in parallelo con Ethereum e interagiscono con esso tramite i ponti, ma non ne ereditano la sicurezza o la disponibilità dei dati.", - "layer-2-sidechains-2": "Entrambi scalano similmente ai livelli 2: offrono minori commissioni di transazione e maggiore volume di transazione, ma hanno presupposti di fiducia differenti.", - "layer-2-more-on-sidechains": "Maggiori informazioni sulle catene secondarie", - "layer-2-more-on-validiums": "Maggiori informazioni sui validium", - "layer-2-sidechains-4": "Alcune blockchain di livello 1 riferiscono volumi maggiori e commissioni sulle transazioni più basse rispetto a Ethereum, ma in genere con compromessi altrove, ad esempio maggiori requisiti hardware per l'esecuzione dei nodi.", - "layer-2-onboard-title": "Come arrivare a un livello 2", - "layer-2-onboard-1": "Esistono due modi principali per portare le tue risorse su un livello 2: collegare i fondi da Ethereum tramite un contratto intelligente o prelevarli su una borsa, direttamente alla rete di livello 2.", - "layer-2-onboard-wallet-title": "Fondi nel tuo portafoglio?", - "layer-2-onboard-wallet-1": "Se hai già i tuoi ETH nel tuo portafoglio, dovrai usare un ponte per spostarli dalla Rete Principale di Ethereum a un livello 2.", - "layer-2-more-on-bridges": "Maggiori informazioni sui ponti", - "layer-2-onboard-wallet-input-placeholder": "Seleziona il L2 verso cui effettuare il ponte", - "layer-2-onboard-wallet-selected-1": "Puoi connetterti a", - "layer-2-onboard-wallet-selected-2": "usando questi portafogli:", - "layer-2-bridge": "Ponte", - "layer-2-onboard-exchange-title": "Fondi su una borsa?", - "layer-2-onboard-exchange-1": "Alcune borse centralizzate offrono ora prelievi e depositi diretti ai livelli 2. Verifica quali borse supportano i prelievi di livello 2 e quali livelli 2 supportano.", - "layer-2-onboard-exchange-2": "Avrai anche bisogno di un portafoglio da cui prelevare i tuoi fondi.", - "layer-2-onboard-find-a-wallet": "Trova un portafoglio di Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Verifica le borse che supportano L2", - "layer-2-deposits": "Depositi", - "layer-2-withdrawals": "Prelievi", - "layer-2-go-to": "Vai a", - "layer-2-tools-title": "Strumenti per essere efficienti sul livello 2", - "layer-2-tools-l2beat-description": "L2BEAT è un'ottima risorsa per esaminare le valutazioni di rischio tecnico dei progetti di livello 2. Consigliamo di verificare le loro risorse ricercando i progetti dello specifico livello 2.", - "layer-2-tools-growthepie-description": "Analisi curate sui livelli 2 di Ethereum", - "layer-2-tools-ethereumecosystem-description": "Pagina non ufficiale dell'ecosistema di Ethereum e dei suoi Livelli 2, inclusi Base, Optimism e Starknet, con centinaiaa di dApp e strumenti.", - "layer-2-tools-l2fees-description": "Le commissioni del L2 ti consentono di vedere il costo corrente (denominato in USD) per effettuare le transazioni su diversi livelli 2.", - "layer-2-tools-chainlist-description": "Chainlist è un'ottima risorsa per importare RPC della rete nei portafogli che le supportano. Troverai le RPC per i progetti di livello 2 qui, per aiutarti a connetterti.", - "layer-2-tools-zapper-description": "Gestisci il tuo intero portafoglio web3, dalle DeFi agli NFT e qualsiasi altra cosa verrà in futuro. Investi nelle opportunità più recenti da un posto solo.", - "layer-2-tools-zerion-description": "Crea e gestisci il tuo intero portafoglio DeFi da un posto solo. Scopri il mondo della finanza decentralizzata oggi.", - "layer-2-tools-debank-description": "Tieniti aggiornato su tutti gli eventi importanti nel mondo web3", - "layer-2-faq-title": "Domande frequenti", - "layer-2-faq-question-1-title": "Perché non esiste un L2 di Ethereum \"ufficiale\"?", - "layer-2-faq-question-1-description-1": "Proprio come non esiste un client di Ethereum \"ufficiale\", non esiste alcun livello 2 di Ethereum \"ufficiale\". Ethereum non prevede permessi: tecnicamente chiunque può creare un livello 2! Diversi team implementeranno la propria versione di un livello 2 e l'ecosistema intero beneficerà di una diversità di approcci di design ottimizzati per diversi casi d'uso. Proprio come abbiamo diversi client di Ethereum sviluppati da diversi team per poter avere diversità nella rete, allo stesso modo si svilupperanno i livelli 2 in futuro.", - "layer-2-faq-question-2-title": "Qual è la differenza tra i rollup ottimistici e a conoscenza zero?", - "layer-2-faq-question-2-description-1": "Sia i rollup ottimistici che a conoscenza zero impacchettano (o \"avvolgono\") centinaia di transazioni in una sola transazione sul livello 1. Le transazioni di rollup sono eseguite al di fuori del livello 1, ma i dati delle transazioni sono pubblicati nel livello 1.", - "layer-2-faq-question-2-description-2": "La differenza principale consiste in quali dati sono pubblicati al livello 1 e come sono verificati i dati. Le prove di validità (usate dai rollup a conoscenza zero) eseguono i calcoli al di fuori della catena e pubblicano una prova, mentre le prove di errore (usate dai rollup ottimistici) eseguono i calcoli solo sulla catena, quando vi è un sospetto di errore che deve essere verificato.", - "layer-2-faq-question-2-description-3": "Al momento, gran parte dei rollup ZK sono specifici per le applicazioni, rispetto ai rollup ottimistici, che sono stati largamente generalizzabili.", - "layer-2-more-info-on-optimistic-rollups": "Maggiori informazioni sui rollup ottimistici", - "layer-2-more-info-on-zk-rollups": "Maggiori informazioni sui rollup a conoscenza zero (zero-knowledge)", - "layer-2-faq-question-4-title": "Quali sono i rischi con il livello 2?", - "layer-2-faq-question-4-description-1": "I progetti di livello 2 presentano rischi aggiuntivi rispetto al possesso di fondi e alla conclusione di transazioni direttamente sulla Rete Principale di Ethereum. Ad esempio, i sequenziatori potrebbero smettere di funzionare, causando un ritardo nell'accesso ai fondi.", - "layer-2-faq-question-4-description-2": "Ti invitiamo fare delle verifiche prima di trasferire fondi significativi a un livello 2. Per ulteriori informazioni sulla tecnologia, i rischi e i presupposti di fiducia dei livelli 2, consigliamo di dare un'occhiata a L2BEAT, che fornisce un quadro di valutazione completo dei rischi di ogni progetto.", - "layer-2-faq-question-4-description-3": "I ponti della blockchain, che facilitano i trasferimenti di risorse al livello 2, sono nelle loro fasi iniziali di sviluppo ed è possibile che il design ottimale del ponte non sia ancora stato scoperto. Si sono verificate degli attacchi recenti ai ponti.", - "layer-2-faq-question-5-title": "Perché alcuni progetti del livello 2 non sono elencati qui?", - "layer-2-faq-question-5-description-1": "Vogliamo assicurarci di elencare le migliori risorse possibili, così che gli utenti possano muoversi nello spazio del livello 2 in un modo sicuro e comodo. Manteniamo un quadro di criteri di valutazione dei progetti ai fini dell'inclusione.", - "layer-2-faq-question-5-view-listing-policy": "Visualizza qui la nostra politica di inserzione nel livello 2.", - "layer-2-faq-question-5-description-2": "Chiunque è libero di suggerire l'aggiunta di un livello 2 su ethereum.org. Se esiste un livello 2 che ci siamo persi, ti invitiamo di suggerirlo.", - "layer-2-further-reading-title": "Lettura consigliate", - "a-rollup-centric-ethereum-roadmap": "Una tabella di marcia di Ethereum incentrata sui rollup", - "an-incomplete-guide-to-rollups": "Una guida incompleta ai rollup", - "polygon-sidechain-vs-ethereum-rollups": "Catena secondaria di Polygon vs. rollup di Ethereum: approcci di ridimensionamento del livello 2| Vitalik Buterin e Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUP - La strategia definitiva di ridimensionamento di Ethereum? Arbitrum e Optimism Spiegati", - "scaling-layer-1-with-shard-chains": "Ridimensionamento del livello 1 con le catene di shard", - "understanding-rollup-economics-from-first-principals": "Comprendere l'economia dei rollup dalle basi", - "arbitrum-description": "Arbitrum è un rollup ottimistico che punta a dare la sensazione di interagire con Ethereum, ma con transazioni che costano una frazione di quanto costano sul L1.", - "optimism-description": "Optimism è un rollup ottimistico equivalente all'EVM veloce, semplice e sicuro. Scala la tecnologia di Ethereum ridimensionandone anche i valori tramite il finanziamento retroattivo di beni pubblici.", - "boba-description": "Boba è un Rollup Ottimistico, biforcato originariamente da Optimism, una soluzione di ridimensionamento mirata a ridurre le commissioni sul gas, migliorare il volume delle transazioni ed estendere le capacità dei contratti intelligenti.", - "base-description": "Base è un L2 di Ethereum sicuro, a basso costo e pensato per gli sviluppatori, per portare il prossimo miliardo di utenti sul web3. È un L2 di Ethereum, incubato da Coinbase e basato sullo Stack OP open source.", - "loopring-description": "La soluzione di L2 zkRollup di Loopring mira a offrire le stesse garanzie di sicurezza della rete principale di Ethereum, con un grande aumento di scalabilità: volume aumentato del 1000x e costo ridotto allo 0,1% di L1.", - "zksync-description": "zkSync è un Rollup ZK che mira a ridimensionare Ethereum e i suoi valori per l'adozione di massa, senza degradarne la sicurezza o la decentralizzazione.", - "zkspace-description": "La piattaforma ZKSpace è composta da tre parti principali: un DEX AMM di livello 2 che utilizza la tecnologia ZK-Rollups chiamata ZKSwap, un servizio di pagamento chiamato ZKSquare e un marketplace NFT chiamato ZKSea.", - "aztec-description": "Aztec Network è il primo rollup zk privato su Ethereum, che consente alle applicazioni decentralizzate di avere accesso alla privacy e di scalare.", - "starknet-description": "Starknet è un rollup di validità di livello 2. Fornisce un volume elevato, costi del gas ridotti e mantiene i livelli di sicurezza del livello 1 di Ethereum.", - "layer-2-note": "Nota:", - "layer-2-ecosystem-portal": "Portale dell'Ecosistema", - "layer-2-token-lists": "Elenchi di Token", - "layer-2-explore": "Esplora", - "page-dapps-ready-button": "Via!" -} diff --git a/src/intl/ja/page-layer-2.json b/src/intl/ja/page-layer-2.json deleted file mode 100644 index b121be1d0e9..00000000000 --- a/src/intl/ja/page-layer-2.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "layer-2-arbitrum-note": "不正証明はホワイトリストに登録されたユーザーのみ、ホワイトリストはまだ未公開。", - "layer-2-boba-note": "検証開発中", - "layer-2-optimism-note": "不正証明は開発中", - "layer-2-base-note": "不正証明システムは現在開発中", - "layer-2-metadata-description": "レイヤー2の紹介ページ", - "layer-2-hero-title": "レイヤー2", - "layer-2-hero-header": "すべての人に開かれたイーサリアム", - "layer-2-hero-subtitle": "マスアダプションに向けたイーサリアムのスケーリング。", - "layer-2-hero-alt-text": "レイヤー2上でトランザクションがロールアップされ、イーサリアムメインネットに送られる様子を示した図解", - "layer-2-hero-button-1": "レイヤー2とは", - "layer-2-hero-button-2": "レイヤー2を使う", - "layer-2-hero-button-3": "レイヤー2への移行", - "layer-2-statsbox-1": "レイヤー2でロックされた預かり資産(TVL) (USD)", - "layer-2-statsbox-2": "レイヤー2の平均のETH送金手数料 (USD)", - "layer-2-statsbox-3": "レイヤー2の預かり資産(TVL)変化 (30日間)", - "layer-2-what-is-layer-2-title": "レイヤー2とは", - "layer-2-what-is-layer-2-1": "レイヤー2 (L2) は、特定のイーサリアムのスケーリングソリューションの総称です。レイヤー2は、イーサリアムを拡張し、イーサリアムのセキュリティ保証がある別個のブロックチェーンです。", - "layer-2-what-is-layer-2-2": "では、もう少し掘り下げてみましょう。そのためにはまず、レイヤー1(L1)について説明する必要があります。", - "layer-2-what-is-layer-1-title": "レイヤー1とは", - "layer-2-what-is-layer-1-1": "レイヤー1とは、ベースとなるブロックチェーンです。イーサリアムとビットコインはどちらもレイヤー1のブロックチェーンであり、さまざまなレイヤー2のネットワークが構築する基盤となります。レイヤー2プロジェクトの例としては、イーサリアムの「ロールアップ」やビットコインのライトニングネットワークが挙げられます。これらのレイヤー2プロジェクトにおけるすべてのユーザーの取引活動は、最終的にレイヤー1のブロックチェーンに戻して決済することができます。", - "layer-2-what-is-layer-1-2": "また、イーサリアムはレイヤー2のデータ可用性レイヤーとしても機能します。レイヤー2プロジェクトはトランザクションデータをイーサリアム上に書き込むため、データの可用性をイーサリアムに依存します。このデータは、レイヤー2の状態を取得したり、レイヤー2上のトランザクションに異議を唱えたりするために利用できます。", - "layer-2-what-is-layer-1-list-title": "レイヤー1としてのイーサリアムは以下を含みます。", - "layer-2-what-is-layer-1-list-1": "ネットワークを保護し、検証するノードオペレーターのネットワーク", - "layer-2-what-is-layer-1-list-2": "ブロック生成者のネットワーク", - "layer-2-what-is-layer-1-list-3": "ブロックチェーン自体とトランザクションデータ履歴", - "layer-2-what-is-layer-1-list-4": "ネットワークの合意メカニズム", - "layer-2-what-is-layer-1-list-link-1": "イーサリアムについてまだ分からないことがありますか?", - "layer-2-what-is-layer-1-list-link-2": "イーサリアムとは何かを学びましょう。", - "layer-2-why-do-we-need-layer-2-title": "レイヤー2が必要な理由", - "layer-2-why-do-we-need-layer-2-1": "ブロックチェーンが望ましい理由は、分散型、安全性、スケーラブルの3つです。ブロックチェーンのトリレンマとは、単純なブロックチェーンのアーキテクチャでは、3つのうち2つしか実現できない、というものです。安全で分散型のブロックチェーンが必要な場合、スケーラビリティを犠牲にする必要があります。", - "layer-2-why-do-we-need-layer-2-2": "イーサリアムは現在、1日あたり100万件以上のトランザクションを処理しています。イーサリアムの需要が高まると、取引手数料の高騰を招く可能性があるため、レイヤー2ネットワークの出番となります。", - "layer-2-why-do-we-need-layer-2-scalability": "スケーラビリティ", - "layer-2-why-do-we-need-layer-2-scalability-1": "レイヤー2の主な目的は、分散性やセキュリティを犠牲にすることなく、トランザクションのスループット(1秒あたりのトランザクションの増加)を高めることです。", - "layer-2-why-do-we-need-layer-2-scalability-2": "イーサリアムのメインネット(レイヤー1)は、1秒間に約15件のトランザクションしか処理できません。イーサリアムの利用需要が高まると、ネットワークが混雑し、取引手数料が高騰します。これにより、手数料を支払えないユーザーは排除されます。レイヤー2は、レイヤー1のブロックチェーン上のトランザクションを処理することで、これらの手数料を削減するソリューションです。", - "layer-2-why-do-we-need-layer-2-scalability-3": "イーサリアムのビジョンの詳細", - "layer-2-benefits-of-layer-2-title": "レイヤー2のメリット", - "layer-2-lower-fees-title": "安いトランザクションフィー", - "layer-2-lower-fees-description": "複数のオフチェーントランザクションを1つのレイヤー1のトランザクションにまとめることで、トランザクションフィーを大幅に削減し、すべての人がイーサリアムにアクセスできるようになります。", - "layer-2-maintain-security-title": "セキュリティの維持", - "layer-2-maintain-security-description": "レイヤー2ブロックチェーンは、イーサリアムメインネットでトランザクションを確定するため、ユーザーはイーサリアムネットワークのセキュリティの恩恵を受けることができます。", - "layer-2-expand-use-cases-title": "ユースケースの拡大", - "layer-2-expand-use-cases-description": "1秒あたりのトランザクション量の増加、トランザクションフィーの減額、新技術の導入により、ユーザー体験が向上した新しいアプリケーションへと拡大するでしょう。", - "layer-2-how-does-layer-2-work-title": "レイヤー2の仕組み", - "layer-2-how-does-layer-2-work-1": "上述したように、レイヤー2はイーサリアムレイヤー1の強固な分散型セキュリティを利用しながら、イーサリアムレイヤー1上でトランザクションを処理するイーサリアムのスケーリングソリューションの総称です。レイヤー2は、イーサリアムを拡張する別のブロックチェーンです。これはどのような仕組みでしょうか? ", - "layer-2-how-does-layer-2-work-2": "レイヤー2には複数の種類があり、それぞれに固有のトレードオフとセキュリティモデルを備えています。レイヤー2は、レイヤー1からトランザクションの負荷を軽減してレイヤー1の混雑を緩和し、スケーラビリティを向上させます。", - "layer-2-rollups-title": "ロールアップ", - "layer-2-rollups-1": "ロールアップは、レイヤー1で、数百件のトランザクションを単一のトランザクションにまとめます。これにより、ロールアップ内のすべてのユーザーにL1トランザクションフィーが分配され、各ユーザーの手数料が割安になります。", - "layer-2-rollups-2": "ロールアップでのトランザクションデータはレイヤー1に送信されますが、実行はロールアップで別に行われます。トランザクション・データをレイヤー1に送信することで、ロールアップはイーサリアムのセキュリティを継承します。これは一度データがレイヤー1にアップロードされると、ロールアップ・トランザクションを元に戻すためにはイーサリアムをロールバックする必要があるからです。ロールアップには、オプティミスティック・ロールアップとゼロ知識ロールアップの2つのアプローチがあり、トランザクションデータをL1に送信する方法が主に異なります。", - "layer-2-optimistic-rollups-title": "オプティミスティック・ロールアップ", - "layer-2-optimistic-rollups-description": "オプティミスティック・ロールアップは、トランザクションが有効であると想定されるため、「楽観的(オプティミスティック)」と呼ばれます。ただし、必要に応じて異議を申し立てることができます。無効なトランザクションが疑われる場合、不正証明が実行され、そのトラザンクションの有効性が確認されます。", - "layer-2-optimistic-rollups-childSentance": "オプティミスティック・ロールアップの詳細", - "layer-2-zk-rollups-title": "ゼロ知識ロールアップ", - "layer-2-zk-rollups-description": "ゼロ知識ロールアップでは、トランザクションをオフチェーンで計算し、次に圧縮データを有効性証明としてイーサリアムのメインネットに提供することで有効性の証明を行っています。", - "layer-2-zk-rollups-childSentance": "ゼロ知識ロールアップの詳細", - "layer-2-dyor-title": "自分自身で調査が必要: レイヤー2のリスク", - "layer-2-dyor-1": "多くのレイヤー2プロジェクトは比較的歴史が浅く、ネットワークを分散化させるため、ユーザーはオペレーターの誠実さを信頼する必要があります。リスクを十分に理解し、自身で調査を行った上、ご自身の判断で利用してください。", - "layer-2-dyor-2": "レイヤー2の技術、リスク、信頼の前提については、各プロジェクトの包括的なリスク評価フレームワークを提供するL2BEATを確認することをお勧めします。", - "layer-2-dyor-3": "L2BEATへ移動", - "layer-2-use-layer-2-title": "レイヤー2を使う", - "layer-2-use-layer-2-1": "レイヤー2がなぜ必要か、またレイヤー2の仕組みを理解したところで、さっそく使ってみましょう。", - "layer-2-contract-accounts": "SafeやArgentのようなスマートコントラクトウォレットを使用している場合、レイヤー2のアドレスに対する管理権限を得るためには、そのアドレスのスマートコントラクトアカウントをレイヤー2に再デプロイする必要があります。リカバリーフレーズを持つクラシックアカウントは、すべてのレイヤー2ネットワークで自動的に同じアカウントを所有することになります。", - "layer-2-use-layer-2-generalized-title": "汎用レイヤー2", - "layer-2-use-layer-2-generalized-1": "汎用レイヤー2は、イーサリアムと同じように動作しますが、より安価です。イーサリアムのレイヤー1でできることは、すべてレイヤー2でもできます。多くの分散型アプリ(Dapp)はすでにこれらのネットワークに移行し始めています。また、メインネットでなく、レイヤー2に直接ビルドしているアプリもあります。\n", - "layer-2-use-layer-2-application-specific-title": "アプリケーション特化型レイヤー2", - "layer-2-use-layer-2-application-specific-1": "アプリケーション特化型レイヤー2は、特定のアプリケーション空間に対して最適化することに特化したプロジェクトで、パフォーマンス向上をもたらします。", - "layer-2-sidechains-title": "サイドチェーン、Validium、代替ブロックチェーンに関する注意点", - "layer-2-sidechains-1": "サイドチェーンとValidiumは、イーサリアムの資産をブリッジして別のブロックチェーン上で使用できるようにするブロックチェーンです。サイドチェーンとValidiumはイーサリアムと並行して動作し、ブリッジを通じてイーサリアムと相互通信しますが、セキュリティやデータの可用性をイーサリアムから得ているわけではありません。", - "layer-2-sidechains-2": "どちらもレイヤー2と同様の規模で、トランザクションフィーが安く、トランザクション・スループットが高いですが、信頼の前提が異なります。", - "layer-2-more-on-sidechains": "サイドチェーンの詳細情報", - "layer-2-more-on-validiums": "Validiumに関する詳細情報", - "layer-2-sidechains-4": "レイヤー1のブロックチェーンの中には、イーサリアムよりも高いスループットと低いトランザクションフィーを報告するものもありますが、通常、ノードを稼働させるためのハードウェア要件が大きくなるなど、他の部分でトレードオフが発生する可能性があります。", - "layer-2-onboard-title": "レイヤー2への資金移動", - "layer-2-onboard-1": "資産をレイヤー2に移動するには、主に2つの方法があります。スマートコントラクトを介してイーサリアムから資金をブリッジする、または取引所で資金を直接レイヤー2ネットワークに引き出すことができます。", - "layer-2-onboard-wallet-title": "ウォレットに資金が入っている場合", - "layer-2-onboard-wallet-1": "すでにウォレットにETHがある場合は、ブリッジを使ってイーサリアムメインネットからレイヤー2に資金を移動する必要があります。", - "layer-2-more-on-bridges": "ブリッジの詳細", - "layer-2-onboard-wallet-input-placeholder": "ブリッジ接続するレイヤー2を選択", - "layer-2-onboard-wallet-selected-1": "次に接続可能: ", - "layer-2-onboard-wallet-selected-2": "これらのウォレットを使用:", - "layer-2-bridge": "ブリッジ", - "layer-2-onboard-exchange-title": "取引所を介しての資金移動", - "layer-2-onboard-exchange-1": "現在、一部の非分散型取引所では、レイヤー2への直接の出金・入金が可能です。どの取引所がレイヤー2の出金に対応しているか、またどのレイヤー2に対応しているかをご確認ください。", - "layer-2-onboard-exchange-2": "資金を引き出し先のウォレットも必要です。", - "layer-2-onboard-find-a-wallet": "イーサリアムウォレットを探す", - "layer-2-onboard-exchange-input-placeholder": "レイヤー2をサポートしている取引所を確認", - "layer-2-deposits": "入金", - "layer-2-withdrawals": "出金", - "layer-2-go-to": "移動:", - "layer-2-tools-title": "レイヤー2で効果的なツール", - "layer-2-tools-l2beat-description": "L2BEATは、レイヤー2プロジェクトの技術的なリスク評価を確認する上での優れたリソースです。特定のレイヤー2プロジェクトについて調査する際には、L2BEATをチェックすることをお勧めします。", - "layer-2-tools-growthepie-description": "イーサリアムレイヤー2に関する精選された分析", - "layer-2-tools-ethereumecosystem-description": "非公式のイーサリアムおよびレイヤー2のエコシステムページで、Base、Optimism、Starknetを含んだ数百ものdAppとツールを特集しています。", - "layer-2-tools-l2fees-description": "L2 Feesは、異なるレイヤー2でのトランザクションにかかる現在のコスト (米ドル建て) を確認することができます。", - "layer-2-tools-chainlist-description": "Chainlistは、ネットワークRPCをサポートするウォレットにインポートするための優れたリソースです。レイヤー2プロジェクト用のRPCを見つけることができ、接続に役立ちます。", - "layer-2-tools-zapper-description": "分散型金融(DeFi)から非代替性トークン(NFT)、そして次に来るものまで、Web3のすべてのポートフォリオを管理できます。1か所から、使い勝手良く、最新の機会に投資できます。", - "layer-2-tools-zerion-description": "分散型金融(DeFi)ポートフォリオすべてを1か所で構築・管理できます。分散型金融の世界を体験してください。", - "layer-2-tools-debank-description": "Web3の世界で起きている重要な出来事の把握に便利です。", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "「公式の」イーサリアムレイヤー2がない理由", - "layer-2-faq-question-1-description-1": "「公式の」イーサリアムクライアントが存在しないように、「公式」イーサリアムレイヤー2もありません。イーサリアムはパーミッションレスであり、技術的には誰でもレイヤー2を作成することができます。複数のチームがそれぞれのバージョンのレイヤー2を実装し、エコシステム全体として、異なるユースケースに最適化された多様な設計アプローチからメリットを得ることができます。ネットワークに多様性を持たせるために、複数のチームが開発した複イーサリアムクライアントが複数あるように、これもまた今後にレイヤー2がどのように発展するかということになるでしょう。", - "layer-2-faq-question-2-title": "オプティミスティック・ロールアップとゼロ知識ロールアップの違い", - "layer-2-faq-question-2-description-1": "オプティミスティック・ロールアップもゼロ知識ロールアップも、何百ものトランザクションをレイヤー1上の1つのトランザクションに束ねる (または「ロールアップ」する)という点では同じです 。ロールアップ・トランザクションはレイヤー1の外部で実行されますが、トランザクション・データ自体はレイヤー1に書き込まれます。", - "layer-2-faq-question-2-description-2": "主な違いは、どのデータがレイヤー1に書き込まれるかと、そのデータがどのように検証されるかです。有効性証明 (ゼロ知識ロールアップで使用) は、オフチェーンで計算を実行し、証明を書き込みます。一方、不正証明 (オプティミスティック・ロールアップで使用) は、不正が疑われ確認する必要がある場合にのみ、オンチェーンで計算を実行します。", - "layer-2-faq-question-2-description-3": "現時点では、ゼロ知識ロールアップのほとんどはアプリケーションに特化している一方、オプティミスティック・ロールアップは、ほぼ広く一般化されています。", - "layer-2-more-info-on-optimistic-rollups": "オプティミスティック・ロールアップの詳細情報", - "layer-2-more-info-on-zk-rollups": "ゼロ知識ロールアップの詳細情報", - "layer-2-faq-question-4-title": "レイヤー2でのリスク", - "layer-2-faq-question-4-description-1": "レイヤー2プロジェクトには、イーサリアムメインネット上で直接資金を保有し取引する場合と比較して、リスクが高くなります。例えば、シーケンサーがダウンする可能性があり、その場合ご自身の資金にアクセスするのに待たなければならなくなる場合があります。", - "layer-2-faq-question-4-description-2": "重要な資金をレイヤー2に移す前に、ご自身で調査することをお勧めします。レイヤー2の技術、リスク、信頼の前提に関する詳細については、各プロジェクトの包括的なリスク評価フレームワークを提供するL2BEATを確認することをお勧めします。", - "layer-2-faq-question-4-description-3": "レイヤー2への資産移動を容易にするブロックチェーンブリッジは、開発の初期段階にあり、おそらく最適なブリッジの設計はまだ見つかってはいないでしょう。ブリッジのハッキングが最近発生しました。", - "layer-2-faq-question-5-title": "すべてのレイヤー2プロジェクトが掲載されていない理由", - "layer-2-faq-question-5-description-1": "ユーザーが安全、かつ信頼を持ってレイヤー2を利用できるように、可能な限りベストのリソースを掲載したいと考えています。また、掲載に関する評価基準もあります。", - "layer-2-faq-question-5-view-listing-policy": "レイヤー2の掲載ポリシーはこちらをご覧ください。", - "layer-2-faq-question-5-description-2": "誰でも自由にethereum.orgにレイヤー2を追加することを提案できます。もし、私たちが見逃しているレイヤー2があれば、ご提案ください。", - "layer-2-further-reading-title": "参考文献", - "a-rollup-centric-ethereum-roadmap": "ロールアップを中心としたイーサリアムのロードマップ", - "an-incomplete-guide-to-rollups": "ロールアップに関する雑記", - "polygon-sidechain-vs-ethereum-rollups": "ポリゴンのサイドチェーン vs イーサリアムのロールアップ: レイヤー2のスケーリング方法|Vitalik Buterin & Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ロールアップ - 究極のイーサリアム・スケーリング戦略になるか。ArbitrumとOptimismの説明", - "scaling-layer-1-with-shard-chains": "シャードチェーンによるレイヤー1のスケーリング", - "understanding-rollup-economics-from-first-principals": "第一原理からロールアップの経済性を理解", - "arbitrum-description": "アービトラムワン(Arbitrum One)は、オプティミスティック・ロールアップを採用しており、イーサリアムと同様のアプローチを目指していますが、トランザクションコストはL1よりも大幅に安くなります。", - "optimism-description": "Optimismは、高速でシンプルかつセキュアな、EVM相当のオプティミスティック・ロールアップです。イーサリアム技術をスケールリングさせると同時に、遡及的な公共財の資金調達 (Retroactive Public Goods Funding) によりその価値をスケールリングさせます。", - "boba-description": "Bobaは、もともとOptimismからフォークされたオプティミスティック・ロールアップで、ガス代の削減、トランザクション・スループットの向上、スマートコントラクトの機能拡張を目的とするスケーリング・ソリューションです。", - "base-description": "Baseは、安全、低コスト、デベロッパーフレンドリーなイーサリアムL2で、次の10億のユーザーをweb3にもたらすために構築されています。Coinbaseによってインキュベートされ、オープンソースのOPスタック上に構築されたイーサリアムL2です。", - "loopring-description": "Loopringのゼロ知識レイヤー2ソリューションは、イーサリアムのメインネットと同等のセキュリティ保証と、スループットが1000倍、コストがレイヤー1の0.1%という大幅なスケーラビリティの向上を目指しています。", - "zksync-description": "zkSyncは、イーサリアムのスケーリングを目指すゼロ知識ロールアップで、セキュリティや分散化を損なうことなくメインストリームに受け入れられることに価値を置いています。", - "zkspace-description": "ZKSpaceプラットフォームは、zk-Rollups技術を活用したレイヤー2のAMM DEXであるZKSwap、決済サービスのZKSquare、そしてNFTマーケットプレイスのZKSeaの3つの部分から構成されます。", - "aztec-description": "Aztecネットワークは、イーサリアム初のプライベート・ゼロ知識ロールアップで、分散型アプリケーションのプライバシーとスケールリングへのアクセスを可能にします。", - "starknet-description": "Starknet is a Validity Rollup Layer 2. It provides high throughput, low gas costs, and retains Ethereum Layer 1 levels of security.", - "layer-2-note": "注意:", - "layer-2-ecosystem-portal": "エコシステムポータル", - "layer-2-token-lists": "トークンリスト", - "layer-2-explore": "探索", - "page-dapps-ready-button": "次へ" -} diff --git a/src/intl/kn/page-layer-2.json b/src/intl/kn/page-layer-2.json deleted file mode 100644 index c943289eeb2..00000000000 --- a/src/intl/kn/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "ಫ್ರಾಡ್ ಪುರಾವೆಗಳನ್ನು ಶ್ರೇಣೀಕೃತ ಬಳಕೆದಾರರಿಗೆ ಮಾತ್ರ ನೀಡಲಾಗುತ್ತದೆ. ಶ್ರೇಣೀಕರಣ ಇನ್ನೂ ತೆರೆಯಿಲ್ಲ", - "layer-2-boba-note": "ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ರಾಜ್ಯದ ದೃಢೀಕರಣ", - "layer-2-optimism-note": "ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ದೋಷ ಸಾಬೀತುಗಳು", - "layer-2-hero-title": "ಪದರ 2", - "layer-2-hero-header": "ಎಲ್ಲರಿಗೂ ಇಥಿರಿಯಮ್", - "layer-2-hero-subtitle": "ಸಾಮೂಹಿಕ ಅಳವಡಿಕೆಯಗಾಗಿ ಇಥಿರಿಯಮ್ ಅನ್ನು ಸ್ಕೇಲ್ ಮಾಡುವುದು.", - "layer-2-hero-alt-text": "ಲೇಯರ್ 2 ರಲ್ಲಿ ಲೇವಾದೇವಿಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸುವಿಕೆಯ ಚಿತ್ರಣ ಮತ್ತು ಅದನ್ನು ಪೋಸ್ಟ್ ಮಾಡಲಾಗಿದೆ ಇಥಿರಿಯಮ್ ಮುಖ್ಯ ಜಾಲ", - "layer-2-hero-button-1": "ಲೇಯರ್ 2 ಎಂದರೇನು", - "layer-2-hero-button-2": "ಲೇಯರ್ 2 ಬಳಸಿ", - "layer-2-hero-button-3": "ಲೇಯರ್ 2 ಗೆ ಸರಿಸು", - "layer-2-statsbox-1": "ಲೇಯರ್ 2 ರಲ್ಲಿ ಲಾಕ್ ಮಾಡಿದ TVL (USD)", - "layer-2-statsbox-2": "ಲೇಯರ್ 2 ETH ವರ್ಗಾವಣೆ ಶುಲ್ಕದ ಸರಾಸರಿ (USD)", - "layer-2-statsbox-3": "ಲೇಯರ್ 2 ಟಿವಿಎಲ್ ಬದಲಾವಣೆ (30 ದಿನಗಳು)", - "layer-2-what-is-layer-2-title": "ಲೇಯರ್ 2 Eth ವರ್ಗಾವಣೆ ಶುಲ್ಕದ ಸರಾಸರಿ (Usd)?", - "layer-2-what-is-layer-2-1": "ಲೇಯರ್ 2 (L2) ಎಂಬುದು ಈಥೆರಿಯಂ ಸ್ಕೇಲಿಂಗ್ ಪರಿಹಾರಗಳ ಒಂದು ನಿರ್ದಿಷ್ಟ ಗುಂಪನ್ನು ವಿವರಿಸಲು ಬಳಸುವ ಸಾಮಾನ್ಯ ಪದವಾಗಿದೆ. ಲೇಯರ್ 2 ಎಂಬುದು ಈಥೆರಿಯಂ ಅನ್ನು ವಿಸ್ತರಿಸುವ ಮತ್ತು ಈಥೆರಿಯಂನ ಭದ್ರತಾ ಖಾತರೀಕರಣಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳುವ ಪ್ರತ್ಯೇಕ ಬ್ಲಾಕ್ಚೈನ್ ಆಗಿದೆ .", - "layer-2-what-is-layer-2-2": "ಇದರ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳೋಣ. ಅದಕ್ಕಾಗಿ, ನಾವು ಮೊದಲು ಲೇಯರ್ 1 (L1) ಅನ್ನು ವಿವರಿಸಬೇಕು.", - "layer-2-what-is-layer-1-title": "ಲೇಯರ್ 1 ಏನು?", - "layer-2-what-is-layer-1-1": "ಲೇಯರ್ 1 ಮೂಲ ಬ್ಲಾಕ್ಚೈನ್ ಆಗಿದೆ. ಈಥೇರಿಯಂ ಮತ್ತು ಬಿಟ್‌ನಾಣ್ಯ ಎರಡೂ ಲೇಯರ್ 1 ಬ್ಲಾಕ್ಚೈನ್‌ಗಳು, ಏಕೆಂದರೆ ಅವುಗಳು ಹಲವಾರು ಲೇಯರ್ 2 ನೆಟ್‌ವರ್ಕ್‌ಗಳು ನಿರ್ಮಿಸುವ ಅಡಿಯಲ್ಲಿರುವ ಅಡಿಪಾಯವಾಗಿವೆ . ಲೇಯರ್ 2 ಯೋಜನೆಗಳ ಉದಾಹರಣೆಗಳೆಂದರೆ ಈಥೇರಿಯಂನಲ್ಲಿನ \"ರೋಲ್‌ಅಪ್‌ಗಳು\" ಮತ್ತು ಬಿಟ್‌ಕೊಯಿನ್‌ನಲ್ಲಿನ ಲೈಟನಿಂಗ್ ನೆಟ್‌ವರ್ಕ್. ಈ ಲೇಯರ್ 2 ಯೋಜನೆಗಳಲ್ಲಿನ ಎಲ್ಲಾ ಬಳಕೆದಾರ लेनदेನ ಚಟುವಟಿಕೆಗಳು ಅಂತಿಮವಾಗಿ ಲೇಯರ್ 1 ಬ್ಲಾಕ್ಚೈನ್‌ಗೆ ಹಿಂತಿರುಗಬಹುದು.", - "layer-2-what-is-layer-1-2": "ಇಥಿರಿಯಮ್ ಲೇಯರ್ 2ಗಳ ದಟ್ಟತಾ ಮೂಲಕ ಡೇಟಾ ಪ್ರಾಮಾಣ್ಯವೂ ಹಾಗೂ ಲೇಯರ್2 ಪ್ರಾಜೆಕ್ಟ್ಗಳು ತಮ್ಮ ಲಲಿತ ಡೇಟಾವನ್ನು ಇಥಿರಿಯಮ್‌ಗೆ ಹೇಗೆಂದು ಬೆಲೆಯಿಡಲಾಗಿದೆಯೆಂದು ಹಾಗೂ ಇಥಿರಿಯಮ್‌ನೇ ಡೇಟಾ ಲಭ್ಯತೆಗೆ ನಿರ್ಭರವಾಗುವುದಕ್ಕೆ ಆಧಾರವಾಗುತ್ತದೆ. ಈ ಡೇಟಾವನ್ನು ಲೇಯರ್ 2 ದ ಸ್ಥಿತಿಯನ್ನು ಪಡೆಯಲು ಅಥವಾ ಲೇಯರ್ 2 ಡೇಟಾದ ವಿವಾದಗಳನ್ನು ರಾಜೀ ಮಾಡಲು ಬಳಸಬಹುದು.", - "layer-2-what-is-layer-1-list-title": "ಈಥೇರಿಯಂ ಲೇಯರ್ 1 ಒಳಗೊಂಡಿದೆ:", - "layer-2-what-is-layer-1-list-1": "ನೆಟ್‌ವರ್ಕ್‌ನ ಸುರಕ್ಷತೆ ಮತ್ತು ಮಾನ್ಯತೆಗಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ನೋಡ್ ಆಪರೇಟರ್ಗಳ ಜಾಲ", - "layer-2-what-is-layer-1-list-2": "ಬ್ಲಾಕ್ ಉತ್ಪಾದಕರ ಜಾಲ", - "layer-2-what-is-layer-1-list-3": "ಬ್ಲಾಕ್ಚೈನ್ ಮತ್ತು ವಹಿವಾಟು ದತ್ತಾಂಶದ ಇತಿಹಾಸ", - "layer-2-what-is-layer-1-list-4": "ಜಾಲದ ಒಮ್ಮತ ವ್ಯವಸ್ಥೆ", - "layer-2-what-is-layer-1-list-link-1": "ಇನ್ನೂ ಈಥೇರಿಯಂ ಬಗ್ಗೆ ಗೊಂದಲವಿದೆಯೇ?", - "layer-2-what-is-layer-1-list-link-2": "ಈಥೇರಿಯಂ ಎಂದರೇನು ಎಂದು ತಿಳಿಯಿರಿ.", - "layer-2-why-do-we-need-layer-2-title": "ನಮಗೆ ಲೇಯರ್ 2 ಅಗತ್ಯವೇ?", - "layer-2-why-do-we-need-layer-2-1": "ಬ್ಲಾಕ್ಚೈನ್‌ನ ಮೂರು ಮುಖ್ಯ ಗುಣಲಕ್ಷಣಗಳು ಅದರ ವಿಕೇಂದ್ರೀಕರಣ, ಭದ್ರತೆ ಮತ್ತು ಪ್ರಮಾಣೀಕರಣ. ಬ್ಲಾಕ್ಚೈನ್ ತ್ರಿಲೇಮ್ ಎಂದು ಕರೆಯಲ್ಪಡುವುದು ಒಂದು ಸರಳ ಬ್ಲಾಕ್ಚೈನ್ ವಾಸ್ತುಶಿಲ್ಪವು ಈ ಮೂರು ಪೈಕಿ ಎರಡು ಮಾತ್ರ ಸಾಧಿಸಬಹುದೆಂದು ಹೇಳುತ್ತದೆ. ನೀವು ಸುರಕ್ಷಿತ ಮತ್ತು ವಿಕೇಂದ್ರೀಕೃತ ಬ್ಲಾಕ್ಚೈನ್ ಬಯಸಿದರೆ, ನೀವು ಪ್ರಮಾಣೀಕರಣವನ್ನು ಬಲಿ ನೀಡಬೇಕಾಗುತ್ತದೆ.", - "layer-2-why-do-we-need-layer-2-2": "ಈಥೆರಿಯಂ ಪ್ರಸ್ತುತ ದಿನಕ್ಕೆ 1+ ಮಿಲಿಯನ್ ಒಳಗಿನ ಲಾಭಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ. ಈಥೆರಿಯಂ ಬಳಸುವ ಬೇಡಿಕೆಯು ಉನ್ನತ ಶ್ರೇಣಿಯ ಶುಲ್ಕ ದರಗಳನ್ನು ಉಂಟುಮಾಡಬಹುದು. ಇದು ಲೇಯರ್ 2 ನೆಟ್‌ವರ್ಕ್‌ಗಳಲ್ಲಿ ಬರುತ್ತದೆ.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "ಲೇಯರ್ 2 ನ ಮುಖ್ಯ ಗುರಿ ಎಂದರೆ ವಿಕೇಂದ್ರೀಕರಣ ಅಥವಾ ಭದ್ರತೆಯನ್ನು ಬಲಿ ನೀಡದೆ लेनदेनದ ಉಪಯುಕ್ತತೆಯನ್ನು (ಹೆಚ್ಚಿನ लेनदेन ಪ್ರತಿ ಸೆಕೆಂಡು) ಹೆಚ್ಚಿಸುವುದು.", - "layer-2-why-do-we-need-layer-2-scalability-2": "ಈಥೆರಿಯಂ ಮೇನ್‌ನೆಟ್ (ಲೇಯರ್ 1) ಎರಡು ಕೋಟಿಗೂ ಕಡಿಮೆ ಲೆಕ್ಕಗಳನ್ನು ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಮಾತ್ರ ಸಂಸ್ಕರಿಸಬಲ್ಲದು. ಈಥೆರಿಯಂ ಬಳಕೆಗೆ ಬೇಡಿಕೆ ಹೆಚ್ಚಾದಾಗ, ಜಾಲವು ಜಂಗಲ್ ಆಗುತ್ತದೆ, ಇದು ಲೆಕ್ಕನ ಶುಲ್ಕಗಳನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ ಮತ್ತು ಆ ಶುಲ್ಕಗಳನ್ನು ನಿಭಾಯಿಸಲು ಸಾಧ್ಯವಾಗದ ಬಳಕೆದಾರರನ್ನು ಹೊರಗಿಡುತ್ತದೆ. ಲೇಯರ್ 2ಗಳು ಲೇಯರ್ -1 ಬ್ಲಾಕ್ಚೈನ್‌ನಿಂದ ಲೆಕ್ಕಗಳನ್ನು ಸಂಸ್ಕರಿಸುವ ಮೂಲಕ ಆ ಶುಲ್ಕಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುವ ಪರಿಹಾರಗಳಾಗಿವೆ.", - "layer-2-why-do-we-need-layer-2-scalability-3": "ಈಥೆರಿಯಂನ ದೃಷ್ಟಿ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ", - "layer-2-benefits-of-layer-2-title": "ಲೇಯರ್ 2ನ ಪ್ರಯೋಜನಗಳು", - "layer-2-lower-fees-title": "ಕಡಿಮೆ ಶುಲ್ಕಗಳು", - "layer-2-lower-fees-description": "ಈಥೆರಿಯಂ ಅನ್ನು ಎಲ್ಲರಿಗೂ ಹೆಚ್ಚು ಲಭ್ಯವಾಗುವಂತೆ ಮಾಡಲು, ಲೇಯರ್ 1 ಟ್ರಾನ್ಸಾಕ್ಷನ್‌ಗೆ ಅನೇಕ ಆಫ್-ಚೈನ್ ಟ್ರಾನ್ಸಾಕ್ಷನ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಮೂಲಕ ಟ್ರಾನ್ಸಾಕ್ಷನ್ ಶುಲ್ಕಗಳನ್ನು ಭಾರವಾಗಿ ಕಡಿಮೆ ಮಾಡಲಾಗುತ್ತದೆ.", - "layer-2-maintain-security-title": "ಭದ್ರತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಿ", - "layer-2-maintain-security-description": "ಈಥೆರಿಯಂ ಮೇನ್‌ನೆಟ್‌ನ ಭದ್ರತೆಯಿಂದ ಲಾಭ ಪಡೆಯಲು ಬಳಕೆದಾರರಿಗೆ ಅನುವು ಮಾಡಿಕೊಡುವ ಸಲುವಾಗಿ, ಲೇಯರ್ 2 ಬ್ಲಾಕ್ಚೈನ್‌ಗಳು ತಮ್ಮ ಟ್ರಾನ್ಸಾಕ್ಷನ್‌ಗಳನ್ನು ಈಥೆರಿಯಂ ಮೇನ್‌ನೆಟ್‌ನಲ್ಲಿ ನೆಲೆಗೊಳಿಸುತ್ತವೆ.", - "layer-2-expand-use-cases-title": "ಬಳಕೆಯ ಪ್ರಕರಣಗಳನ್ನು ವಿಸ್ತರಿಸಿ", - "layer-2-expand-use-cases-description": "ಹೆಚ್ಚಿನ ಟ್ರಾನ್ಸಾಕ್ಷನ್‌ಗಳ ಸಾಮರ್ಥ್ಯ, ಕಡಿಮೆ ಶುಲ್ಕಗಳು ಮತ್ತು ಹೊಸ ತಂತ್ರಜ್ಞಾನದಿಂದಾಗಿ, ಯೋಜನೆಗಳು ಸುಧಾರಿತ ಬಳಕೆದಾರ ಅನುಭವದೊಂದಿಗೆ ಹೊಸ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಾಗಿ ವಿಸ್ತರಿಸುತ್ತವೆ.", - "layer-2-how-does-layer-2-work-title": "ಲೇಯರ್ 2 ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ?", - "layer-2-how-does-layer-2-work-1": "ಹಕ್ಕಾಗಿ ಮೇಲೆ ಹೇಳಿದಂತೆ, ಪದರ 2 ಎಂದರೆ ಈಥರಿಯಮ್ ಲೇಯರ್ 1 ರಿಂದ ವಿಭಾಗಿಸುವ ಹೊಂದಾಣಿಕೆಗಳನ್ನು ಕೂಡಿಸಲಿರುವ ಈಥರಿಯಮ್ ಮುಖರುದ್ದೇಶಿತ ಪರಿಹಾರಗಳ ಒಟ್ಟು ಹೆಸರು. ಹಕ್ಕಾಗೊಂದು ಹೊರಗಿನ ಬ್ಲಾಕ್ಚೈನ್ ಆಗಿದೆ ಮತ್ತು ಈಥರಿಯಮ್ ಅನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ. ಅದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?", - "layer-2-how-does-layer-2-work-2": "ಲೇಯರ್ 2 ಗಳು ಹಲವು ರೀತಿಯಲ್ಲಿ ಭಿನ್ನವಾಗಿವೆ, ಪ್ರತಿಯೊಂದೂ ತನ್ನದೇ ಆದ ಲಾಭದಾಯಕತೆಗಳು ಮತ್ತು ಅಪಾಯಗಳನ್ನು ಹೊಂದಿದೆ. ಲೇಯರ್ 2 ಗಳು ಲೇಯರ್ 1 ನಿಂದ ಟ್ರಾನ್ಸಾಕ್ಷನ್ ಬಾಧ್ಯತೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತವೆ, ಇದರಿಂದಾಗಿ ಲೇಯರ್ 1 ಕಡಿಮೆ ಜಂಗಲ್ ಆಗುತ್ತದೆ ಮತ್ತು ಎಲ್ಲವೂ ಹೆಚ್ಚು ಸ್ಕೇಲಬಲ್ ಆಗುತ್ತದೆ.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "ಆಟೂಪು ಸಂಕೇತಗಳು (ಅಥವಾ 'ಆಟೂಪು') ಲೇಯರ್ 1 ನಲ್ಲಿ ನೂರಾರು ಲಾಗನಗಳನ್ನು ಒಂದು ಲಾಗನದಲ್ಲಿ ಬಂಡಲಗೊಳಿಸುತ್ತವೆ. ಇದರಿಂದ, ಆಟೂಪಿನಿಂದ ಹಣೆಕೆಸಗಿದ ಪ್ರತಿಯೊಬ್ಬರಿಗೂ ಎಲ್ಲರಿಗೆ ಪರಿವಹನಾ ಲಾಗನ ಶುಲ್ಕಗಳು ಹಂಚಿಕೆಯಾಗುತ್ತವೆ, ಮುಕ್ತಾಯಿಸಿಕೊಳ್ಳುತ್ತದೆ.", - "layer-2-rollups-2": "ರೋಲಪ್ ಟ್ರಾನ್ಸ್ಯಾಕ್ಷನ್ಗಳು ಲೇಯರ್ 1 ಯಿಂದ ಅನ್ವಯಿಸಲ್ಪಡುತ್ತವೆ, ಆದರೆ ಟ್ರಾನ್ಸ್ಯಾಕ್ಷನ್ ಡೇಟಾವನ್ನು ಲೇಯರ್ 1ಗೆ ಸಲ್ಲಿಸಲಾಗುತ್ತದೆ. ಟ್ರಾನ್ಸ್ಯಾಕ್ಷನ್ ಡೇಟಾವನ್ನು ಲೇಯರ್ 1ಗೆ ಸಲ್ಲಿಸುವುದರಿಂದ, ರೋಲಪ್ಸ್ ಎಥೆರಿಯಮ್‌ನ ಭದ್ರತೆಯನ್ನು ಆರಿಸುತ್ತವೆ. ಏಕಾದರೆ ಡೇಟಾವನ್ನು ಲೇಯರ್ 1ಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಲಾದಾಗ, ರೋಲಪ್ ಟ್ರಾನ್ಸ್ಯಾಕ್ಷನ್ ರದ್ದು ಮಾಡಲು ಎಥೆರಿಯಮ್‌ನು ರದ್ದು ಮಾಡುವುದಾಗಿದೆ. ರೋಲಪ್ಸ್‌ಗೆ ಎರಡು ವಿಭಿನ್ನ ಹಾಸ್ಯಗುರಿಗಳಿವೆ: ಆಶಾವಾದಿಯ ಮತ್ತು ಶೂನ್ಯ-ಜ್ಞಾನ ಎಂಬುವು - ಈ ಟ್ರಾನ್ಸ್ಯಾಕ್ಷನ್ ಡೇಟಾವನ್ನು L1ಗೆ ಹೇಗೆ ಸಲ್ಲಿಸುವುದರ ಮೇಲೆ ಪ್ರಮುಖವಾಗಿ ಭಿನ್ನವಾಗಿದೆ.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ರೋಲ್‌ಅಪ್‌ಗಳು 'ಆಶಾವಾದಿಯಾಗಿದೆಯೇನೋ' ಎಂಬ ಅರ್ಥದಲ್ಲಿ ಇರುತ್ತದೆ, ಟ್ರಾನ್ಸ್ಯಾಕ್ಷನ್‌ಗಳು ಮಾನ್ಯವಾಗಿರುತ್ತವೆಯೆಂದು ಪ್ರಮಾಣೀಕರಿಸಲು ಆಲೋಚಿಸಬಹುದು, ಆದರೆ ಅಮಾನ್ಯ ಟ್ರಾನ್ಸ್ಯಾಕ್ಷನ್‌ಗಳನ್ನು ಸಂದೇಹಿಸಿದಾಗ, ತಪ್ಪು ಪ್ರಮಾಣ ನಡುವೆ ಕಳುಹಿಸಲು ಚಾಲೆಂಜ್ ಮಾಡಬಹುದು.", - "layer-2-optimistic-rollups-childSentance": "ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ರೋಲ್‌ಅಪ್‌ಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "ಝೀರೊ-ನಾಲಜ್ ರೋಲ್‌ಅಪ್‌ಗಳು ಮಾನ್ಯತೆ ಪುರಾವೆಗಳನ್ನು ಬಳಸುತ್ತವೆ, ಅಲ್ಲಿ লেনদেನಗಳನ್ನು ಆಫ್-ಚೈನ್‌ನಲ್ಲಿ ಗಣಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಂತರ ಅವುಗಳ ಮಾನ್ಯತೆಯ ಪುರಾವೆಯಾಗಿ ಈಥೀರಿಯಂ ಮೇನ್‌ನೆಟ್‌ಗೆ ಸಂಕುಚಿತ ಡೇಟಾವನ್ನು ಒದಗಿಸಲಾಗುತ್ತದೆ.", - "layer-2-zk-rollups-childSentance": "ZK-ರೋಲ್‌ಅಪ್‌ಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ", - "layer-2-dyor-title": "ಸ್ವಂತ ಸಂಶೋಧನೆ ಮಾಡಿ: ಲೇಯರ್ 2 ರ ಅಪಾಯಗಳು", - "layer-2-dyor-1": "ಲೇಯರ್ 2 ಯೋಜನೆಗಳಲ್ಲಿ ಹೆಚ್ಚಿನವು ತುಂಬಾ ಹೊಸದಾಗಿದ್ದು, ಅವುಗಳ ಜಾಲಗಳನ್ನು ಡೆಸೆಂಟ್ರಲೈಸ್ ಮಾಡುವಾಗ ಬಳಕೆದಾರರು ಕೆಲವು ಕಾರ್ಯಾಚರಣೆದಾರರನ್ನು ನಂಬಬೇಕಾಗುತ್ತದೆ. ಯಾವುದೇ ಅಪಾಯಗಳೊಂದಿಗೆ ನೀವು ಆರಾಮವಾಗಿರುತ್ತೀರಾ ಎಂದು ನಿರ್ಧರಿಸಲು ಯಾವಾಗಲೂ ನಿಮ್ಮದೇ ಆದ ಸಂಶೋಧನೆ ಮಾಡಿ.", - "layer-2-dyor-2": "ಲೇಯರ್ 2ಗಳ ತಂತ್ರಜ್ಞಾನ, ಅಪಾಯಗಳು ಮತ್ತು ನಂಬಿಕೆಯ ಆಧಾರಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಾವು L2BEAT ಅನ್ನು ಪರಿಶೀಲಿಸಲು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ, ಇದು ಪ್ರತಿ ಯೋಜನೆಯ ಒಂದು ಸಮಗ್ರ ಅಪಾಯದ ಮೌಲ್ಯಮಾಪನ ಚೌಕಟ್ಟನ್ನು ಒದಗಿಸುತ್ತದೆ.", - "layer-2-dyor-3": "L2BEATಗೆ ಹೋಗಿ", - "layer-2-use-layer-2-title": "ಲೇಯರ್ 2 ಬಳಸಿ", - "layer-2-use-layer-2-1": "ಈಗ ನೀವು ಲೇಯರ್ 2 ಏಕೆ ಇದೆ ಮತ್ತು ಅದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥ ಮಾಡಿಕೊಂಡಿದ್ದೀರಿ, ನಾವು ನಿಮ್ಮನ್ನು ಪ್ರಾರಂಭಿಸೋಣ!", - "layer-2-contract-accounts": "ನಿಮ್ಮಲ್ಲಿ ಸೇಫ್ ಅಥವಾ ಆರ್ಜೆಂಟ್ ಎಂಬ ಸ್ಮಾರ್ಟ್‌ ಕಾಂಟ್ರಾಕ್ಟ್ ವಾಲೆಟ್ ಬಳಸುತ್ತಿದ್ದರೆ, ಲೇಯರ್ 2 ಉಪಯೋಗಿಸುವ ಹೊಸ ವಿಳಾಸಕ್ಕೆ ನೀವು ನಿಯಂತ್ರಣ ಹೊಂದುವುದಿಲ್ಲ ಹಾಗೂ ನೀವು ಪುನರ್‌ವಿನ್ಯಾಸ ಮಾಡುವವರೆಗೂ ಲೇಯರ್ 2ಗೆ ನಿಮ್ಮ ಕಾಂಟ್ರಾಕ್ಟ್ ಖಾತೆಯನ್ನು ಆರ್ಜೆಂಟಿನಲ್ಲಿ ಆ ವಿಳಾಸದಲ್ಲಿ ಪುನರ್‌ವಿನ್ಯಾಸ ಮಾಡಿದರೆ ನಿಮ್ಮ ಹಕ್ಕುಗಳು ಇರುತ್ತವೆ. ರಿಕವರಿ ಪದವಿಯೊಂದಿಗೆ ಕ್ಲಾಸಿಕಲ್ ಖಾತೆಗಳು ಎಲ್ಲಾ ಲೇಯರ್ 2 ನೆಟ್‌ವರ್ಕ್ ನ ಮೂಲಕ ಸ್ವಯಂಸ್ಥಾನವನ್ನು ಪಡೆಯುತ್ತವೆ.", - "layer-2-use-layer-2-generalized-title": "ಸಾಮಾನ್ಯಗೊಳಿಸಿದ ಲೇಯರ್ 2ಗಳು", - "layer-2-use-layer-2-generalized-1": "ಸಾಮಾನ್ಯಗೊಳಿಸಿದ ಲೇಯರ್ 2ಗಳು ಎಥೆರಿಯಂನಂತೆಯೇ ವರ್ತಿಸುತ್ತವೆ - ಆದರೆ ಅವು ಕಡಿಮೆ ವೆಚ್ಚದವು. ಎಥೆರಿಯಂ ಲೇಯರ್ 1 ರಲ್ಲಿ ನೀವು ಮಾಡಬಹುದಾದ ಯಾವುದೇ ಕಾರ್ಯವನ್ನು ನೀವು ಲೇಯರ್ 2 ರಲ್ಲಿಯೂ ಮಾಡಬಹುದು. ಅನೇಕ ಡಿಎಪ್ಪಗಳು ಈ ಜಾಲಗಳಿಗೆ ವಲಸೆ ಹೋಗಲು ಪ್ರಾರಂಭಿಸಿವೆ ಅಥವಾ ಮೇನ್‌ನೆಟ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಹೊರಗಿಟ್ಟು ನೇರವಾಗಿ ಲೇಯರ್ 2 ರಲ್ಲಿ ನಿಯೋಜಿಸಲು ಪ್ರಾರಂಭಿಸಿವೆ.", - "layer-2-use-layer-2-application-specific-title": "ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಲೇಯರ್ 2ಗಳು", - "layer-2-use-layer-2-application-specific-1": "ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಲೇಯರ್ 2ಗಳು ನಿರ್ದಿಷ್ಟ ಅಪ್ಲಿಕೇಶನ್ ಜಾಗಕ್ಕಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾದ ಯೋಜನೆಗಳಾಗಿವೆ, ಇದು ಸುಧಾರಿತ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ತರುತ್ತದೆ.", - "layer-2-sidechains-title": "ಸೈಡ್‌ಚೈನ್‌ಗಳು, ವ್ಯಾಲಿಡಿಯಮ್‌ಗಳು ಮತ್ತು ಪರ್ಯಾಯ ಬ್ಲಾಕ್‌ಚೈನ್‌ಗಳ ಕುರಿತು ಒಂದು ಟಿಪ್ಪಣಿ", - "layer-2-sidechains-1": "ಸೈಡ್ ಚೈನ್ ಗಳು ಮತ್ತು ವ್ಯಾಲಿಡಿಯಂಗಳು ಬ್ಲಾಕ್ ಚೈನ್ ಗಳಾಗಿವೆ, ಇದು ಇಥಿರಿಯಮ್ ನಿಂದ ಸ್ವತ್ತುಗಳನ್ನು ಸೇತುವೆ ಮಾಡಲು ಮತ್ತು ಮತ್ತೊಂದು ಬ್ಲಾಕ್ ಚೈನ್ ನಲ್ಲಿ ಬಳಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಸೈಡ್ ಚೈನ್ ಗಳು ಮತ್ತು ವ್ಯಾಲಿಡಿಯಂಗಳು ಇಥಿರಿಯಮ್ ಗೆ ಸಮಾನಾಂತರವಾಗಿ ಚಲಿಸುತ್ತವೆ, ಮತ್ತು ಸೇತುವೆಗಳ ಮೂಲಕ ಇಥಿರಿಯಮ್ ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತವೆ, ಆದರೆ ಅವು ತಮ್ಮ ಭದ್ರತೆ ಅಥವಾ ಡೇಟಾ ಲಭ್ಯತೆಯನ್ನು ಇಥಿರಿಯಮ್ ನಿಂದ ಪಡೆಯುವುದಿಲ್ಲ.", - "layer-2-sidechains-2": "ಎರಡೂ ಲೇಯರ್ 2ಗಳಂತೆಯೇ ಸ್ಕೇಲ್ ಮಾಡುತ್ತವೆ - ಅವು ಕಡಿಮೆ लेनदेನ ಶುಲ್ಕ ಮತ್ತು ಹೆಚ್ಚಿನ लेनदेನದ ಪ್ರಸರಣವನ್ನು ನೀಡುತ್ತವೆ - ಆದರೆ ವಿಭಿನ್ನ ನಂಬಿಕೆಯ ಊಹೆಗಳನ್ನು ಹೊಂದಿವೆ.", - "layer-2-more-on-sidechains": "ಸೈಡ್‌ಚೈನ್‌ಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ", - "layer-2-more-on-validiums": "ವ್ಯಾಲಿಡಿಯಮ್‌ಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ", - "layer-2-sidechains-4": "ಕೆಲವು ಲೇಯರ್ 1 ಬ್ಲಾಕ್‌ಚೈನ್‌ಗಳು ಈಥೆರಿಯಂಗಿಂತ ಹೆಚ್ಚಿನ ಟ್ರಾನ್ಸಾಕ್ಷನ್‌ಗಳ ಪ್ರಸರಣ ಮತ್ತು ಕಡಿಮೆ ಟ್ರಾನ್ಸಾಕ್ಷನ್ ಶುಲ್ಕಗಳನ್ನು ವರದಿ ಮಾಡುತ್ತವೆ, ಆದರೆ ಸಾಮಾನ್ಯವಾಗಿ ಬೇರೆಡೆ ಉದಾಹರಣೆಗೆ ನೋಡ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ಹೆಚ್ಚಿನ ಹಾರ್ಡ್‌ವೇರ್ ಅವಶ್ಯಕತೆಗಳಂತಹ ಉಪಯೋಗಗಳೊಂದಿಗೆ.", - "layer-2-onboard-title": "ಲೇಯರ್ 2 ಗೆ ಹೇಗೆ ಹೋಗುವುದು", - "layer-2-onboard-1": "ಲೇಯರ್ 2 ಗೆ ನಿಮ್ಮ ಆಸ್ತಿಗಳನ್ನು ಪಡೆಯಲು ಎರಡು ಪ್ರಮುಖ ವಿಧಾನಗಳಿವೆ: ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದದ ಮೂಲಕ ಎಥೆರಿಯಂನಿಂದ ಹಣವನ್ನು ಸೇತುವೆ ಮಾಡಿ ಅಥವಾ ನೇರವಾಗಿ ಲೇಯರ್ 2 ಜಾಲಕ್ಕೆ ವಿನಿಮಯದಲ್ಲಿ ನಿಮ್ಮ ಹಣವನ್ನು ಹಿಂಪಡೆಯಿರಿ.", - "layer-2-onboard-wallet-title": "ನಿಮ್ಮ ವ್ಯಾಲೆಟ್ ನಲ್ಲಿ ಹಣವಿದೆಯೇ?", - "layer-2-onboard-wallet-1": "ನಿಮ್ಮ ವಾಲೆಟ್‌ನಲ್ಲಿ ETH ಈಗಾಗಲೇ ಇದ್ದರೆ, ನೀವು ಇಥಿರಿಯಮ್ಮುಖ್ಯ ಜಾಲದಿಂದ ಲೇಯರ್ 2 ಗೆ ಅದನ್ನು ಸೇತುವೆ ಮಾಡಲು ಬ್ರಿಡ್ಜ್ ಅನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ.", - "layer-2-more-on-bridges": "ಸೇತುವೆಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿ", - "layer-2-onboard-wallet-input-placeholder": "ಲೇಯರ್ 2 ಅನ್ನು ನೀವು ಯಾವ ಜಾಲಕ್ಕೆ ಸೇತುವೆ ಮಾಡಲು ಬಯಸುತ್ತೀರಿ ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ", - "layer-2-onboard-wallet-selected-1": "ನೀವು ಸಂಪರ್ಕಿಸಬಹುದು", - "layer-2-onboard-wallet-selected-2": "ಈ ವ್ಯಾಲೆಟ್ ಗಳನ್ನು ಬಳಸುವುದು:", - "layer-2-bridge": "ಸೇತುವೆ", - "layer-2-onboard-exchange-title": "ನಿಮ್ಮ ಹಣ ವಿನಿಮಯದಲ್ಲಿದೆ?", - "layer-2-onboard-exchange-1": "ಕೆಲವು ಕೇಂದ್ರೀಕೃತ ವಿನಿಮಯಗಳು ಈಗ ಲೇಯರ್ 2 ಗಳಿಗೆ ನೇರ ಹಿಂಪಡೆಯುವಿಕೆ ಮತ್ತು ಠೇವಣಿಗಳನ್ನು ನೀಡುತ್ತಿವೆ. ಲೇಯರ್ 2 ಹಿಂಪಡೆಯುವಿಕೆಗಳನ್ನು ಬೆಂಬಲಿಸುವ ವಿನಿಮಯಗಳು ಮತ್ತು ಅವು ಯಾವ ಲೇಯರ್ 2 ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ.", - "layer-2-onboard-exchange-2": "ನಿಮ್ಮ ಹಣವನ್ನು ಹಿಂಪಡೆಯಲು ನೀವು ವಾಲೆಟ್ ಅನ್ನು ಸಹ ಬಳಸಬೇಕಾಗುತ್ತದೆ.", - "layer-2-onboard-find-a-wallet": "ಒಂದು ಎಥೀರಿಯಂ ವಾಲೆಟ್‌ಅನ್ನು ಹುಡುಕಿ.", - "layer-2-onboard-exchange-input-placeholder": "ಲೇಯರ್ 2 ಅನ್ನು ಬೆಂಬಲಿಸುವ ವಿನಿಮಯಗಳನ್ನು ಪರಿಶೀಲಿಸಿ", - "layer-2-deposits": "ಠೇವಣಿಗಳು", - "layer-2-withdrawals": "ಹಿಂಪಡೆಯುವಿಕೆಗಳು", - "layer-2-go-to": "ಅಲ್ಲಿ ಹೋಗು", - "layer-2-tools-title": "ಲೇಯರ್ 2 ನಲ್ಲಿ ಪರಿಣಾಮಕಾರಿಯಾಗಲು ಉಪಕರಣಗಳು", - "layer-2-tools-l2beat-description": "ಲೇಯರ್ 2 ಯೋಜನೆಗಳ ತಾಂತ್ರಿಕ ಅಪಾಯದ ಮೌಲ್ಯಮಾಪನಗಳನ್ನು ನೋಡಲು ಬೀಟ್ ಒಂದು ಉತ್ತಮ ಸಂಪನ್ಮೂಲವಾಗಿದೆ. ನಿರ್ದಿಷ್ಟ ಲೇಯರ್ 2 ಯೋಜನೆಗಳನ್ನು ಸಂಶೋಧಿಸುವಾಗ ನಾವು ಅವರ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ.", - "layer-2-tools-l2fees-description": "L2 ಶುಲ್ಕಗಳು ವಿಭಿನ್ನ ಲೇಯರ್ 2 ಗಳಲ್ಲಿ ವಹಿವಾಟುಗಳನ್ನು ಮಾಡಲು ಪ್ರಸ್ತುತ ವೆಚ್ಚವನ್ನು (USD ನಲ್ಲಿ ಹೆಸರಿಸಲಾಗಿದೆ) ನೋಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.", - "layer-2-tools-chainlist-description": "ನೆಟ್‌ವರ್ಕ್ ಆರ್‌ಪಿಸಿಯನ್ನು ಪೋಷಕ ವ್ಯಾಲೆಟ್‌ಗಳಿಗೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳಲು ಚೈನ್‌ಲಿಸ್ಟ್ ಉತ್ತಮ ಸಂಪನ್ಮೂಲವಾಗಿದೆ. ನಿಮ್ಮನ್ನು ಸಂಪರ್ಕಿಸಲು ಸಹಾಯ ಮಾಡಲು ಲೇಯರ್ 2 ಯೋಜನೆಗಳಿಗಾಗಿ ನೀವು RPC ಗಳನ್ನು ಇಲ್ಲಿ ಕಾಣಬಹುದು.", - "layer-2-tools-zapper-description": "ನಿಮ್ಮ ಸಂಪೂರ್ಣ ವೆಬ್3 ಖಜಾನೆಯನ್ನು DeFi ನಿಂದ NFT ಗಳಿಗೆ ಮತ್ತು ಮುಂದಿನ ಏನನ್ನಾದರೂ ನಿರ್ವಹಿಸಿ. ಒಂದೇ ಅನುಕೂಲಕರ ಸ್ಥಳದಿಂದ ಇತ್ತೀಚಿನ ಅವಕಾಶಗಳಲ್ಲಿ ಹೂಡಿಕೆ ಮಾಡಿ.", - "layer-2-tools-zerion-description": "ನಿಮ್ಮ ಸಂಪೂರ್ಣ DeFi ಖಜಾನೆಯನ್ನು ಒಂದೇ ಸ್ಥಳದಿಂದ ನಿರ್ಮಿಸಿ ಮತ್ತು ನಿರ್ವಹಿಸಿ. ಇಂದು ಡೆಸೆಂಟ್ರಲೈಸ್ಡ್ ಫೈನಾನ್ಸ್ ಜಗತ್ತನ್ನು ಅನ್ವೇಷಿಸಿ.", - "layer-2-tools-debank-description": "ವೆಬ್3 ಜಗತ್ತಿನಲ್ಲಿ ನಡೆಯುತ್ತಿರುವ ಎಲ್ಲಾ ಮುಖ್ಯ ಘಟನೆಗಳೊಂದಿಗೆ ಜೊತೆಗೂಡಿರಿ", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "ಎಥೆರಿಯಂ ಲೇಯರ್ 2 ಗೆ ಯಾಕೆ ಯಾವುದೇ 'ಅಧಿಕೃತ' ಇಲ್ಲ?", - "layer-2-faq-question-1-description-1": "ಯಾವುದೇ 'ಅಧಿಕೃತ' ಇಥಿರಿಯಮ್ ಕ್ಲೈಂಟ್ ಇಲ್ಲದಿರುವಂತೆಯೇ, ಯಾವುದೇ 'ಅಧಿಕೃತ' ಇಥಿರಿಯಮ್ ಲೇಯರ್ 2 ಇಲ್ಲ. ಇಥಿರಿಯಮ್ ಅನುಮತಿಯಿಲ್ಲ - ತಾಂತ್ರಿಕವಾಗಿ ಯಾರಾದರೂ ಲೇಯರ್ 2 ಅನ್ನು ರಚಿಸಬಹುದು! ಬಹು ತಂಡಗಳು ತಮ್ಮ ಲೇಯರ್ 2 ರ ಆವೃತ್ತಿಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತವೆ ಮತ್ತು ಒಟ್ಟಾರೆಯಾಗಿ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯು ವಿಭಿನ್ನ ಬಳಕೆಯ ಸಂದರ್ಭಗಳಿಗೆ ಹೊಂದುವಂತೆ ವಿನ್ಯಾಸ ವಿಧಾನಗಳ ವೈವಿಧ್ಯತೆಯಿಂದ ಪ್ರಯೋಜನ ಪಡೆಯುತ್ತದೆ. ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ವೈವಿಧ್ಯತೆಯನ್ನು ಹೊಂದಲು ನಾವು ಅನೇಕ ತಂಡಗಳಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಅನೇಕ ಇಥಿರಿಯಮ್ ಕ್ಲೈಂಟ್‌ಗಳನ್ನು ಹೊಂದಿರುವಂತೆಯೇ, ಭವಿಷ್ಯದಲ್ಲಿ ಲೇಯರ್ 2 ಗಳು ಹೇಗೆ ಅಭಿವೃದ್ಧಿಗೊಳ್ಳುತ್ತವೆ.", - "layer-2-faq-question-2-title": "ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ಮತ್ತು ಶೂನ್ಯ-ಜ್ಞಾನ ರೋಲ್‌ಅಪ್‌ಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವೇನು?", - "layer-2-faq-question-2-description-1": "ಎರಡೂ ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ಮತ್ತು ಶೂನ್ಯ-ಜ್ಞಾನದ ರೋಲ್ಅಪ್‌ಗಳು ನೂರಾರು ಒಪ್ಪಂದಗಳನ್ನು ಲೇಯರ್ 1 ರಲ್ಲಿ ಒಂದೇ ಒಪ್ಪಂದದಲ್ಲಿ ಜೋಡಿಸುತ್ತವೆ (ಅಥವಾ ’ರೋಲ್ ಅಪ್’). ರೋಲ್ಅಪ್ ಒಪ್ಪಂದಗಳು ಲೇಯರ್ 1 ರ ಹೊರಗೆ ಜಾರಿಗೊಳ್ಳುತ್ತವೆ ಆದರೆ ಒಪ್ಪಂದದ ಡೇಟಾವನ್ನು ಲೇಯರ್ 1 ಗೆ ಪೋಸ್ಟ್ ಮಾಡಲಾಗುತ್ತದೆ.", - "layer-2-faq-question-2-description-2": "ಲೇಯರ್ 1 ಗೆ ಯಾವ ಡೇಟಾವನ್ನು ಪೋಸ್ಟ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಡೇಟಾವನ್ನು ಹೇಗೆ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ ಎಂಬುದು ಪ್ರಾಥಮಿಕ ವ್ಯತ್ಯಾಸವಾಗಿದೆ. ಸಿಂಧುತ್ವ ಪುರಾವೆಗಳು (ಶೂನ್ಯ-ಜ್ಞಾನ ರೋಲ್‌ಅಪ್‌ಗಳಿಂದ ಬಳಸಲ್ಪಡುತ್ತವೆ) ಗಣನೆಗಳನ್ನು ಆಫ್-ಚೈನ್ ಅನ್ನು ರನ್ ಮಾಡುತ್ತವೆ ಮತ್ತು ಪುರಾವೆಯನ್ನು ಪೋಸ್ಟ್ ಮಾಡುತ್ತವೆ, ಆದರೆ ದೋಷ ಪುರಾವೆಗಳು (ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ರೋಲ್‌ಅಪ್‌ಗಳಿಂದ ಬಳಸಲ್ಪಡುತ್ತವೆ) ದೋಷವನ್ನು ಶಂಕಿಸಿದಾಗ ಮಾತ್ರ ಗಣನೆಗಳನ್ನು ಆನ್-ಚೈನ್ ಅನ್ನು ರನ್ ಮಾಡುತ್ತವೆ ಮತ್ತು ಪರಿಶೀಲಿಸಬೇಕು.", - "layer-2-faq-question-2-description-3": "ಈ ಸಮಯದಲ್ಲಿ, ಹೆಚ್ಚಿನ ZK-ರೋಲ್ಅಪ್‌ಗಳು ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟವಾಗಿವೆ, ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ರೋಲ್ಅಪ್‌ಗಳಿಗೆ ವಿರುದ್ಧವಾಗಿದೆ, ಅವು ಹೆಚ್ಚಾಗಿ ಸಾಮಾನ್ಯೀಕರಿಸಲ್ಪಟ್ಟಿವೆ.", - "layer-2-more-info-on-optimistic-rollups": "ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ ರೋಲ್‌ಅಪ್‌ಗಳ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿ", - "layer-2-more-info-on-zk-rollups": "ಶೂನ್ಯ-ಜ್ಞಾನ ರೋಲಪ್‌ಗಳ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿ", - "layer-2-faq-question-4-title": "ಲೇಯರ್ 2 ರ ಅಪಾಯಗಳೇನು?", - "layer-2-faq-question-4-description-1": "ಲೇಯರ್ 2 ಪ್ರಾಜೆಕ್ಟ್‌ಗಳು ನಿಧಿಯನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಂಡು ನೇರವಾಗಿ ಇಥಿರಿಯಮ್ ಮೈನ್ನೆಟ್ ನಲ್ಲಿ ವಹಿವಾಟು ನಡೆಸುವುದಕ್ಕೆ ಹೋಲಿಸಿದರೆ ಹೆಚ್ಚುವರಿ ಅಪಾಯಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, ಸೀಕ್ವೆನ್ಸರ್‌ಗಳು ಕಡಿಮೆಯಾಗಬಹುದು, ಇದು ನಿಧಿಯನ್ನು ಪ್ರವೇಶಿಸಲು ನೀವು ಕಾಯಬೇಕಾಗುತ್ತದೆ.", - "layer-2-faq-question-4-description-2": "ಗಮನಾರ್ಹ ಹಣವನ್ನು ಲೇಯರ್ 2 ಗೆ ವರ್ಗಾಯಿಸುವ ಮೊದಲು ನಿಮ್ಮ ಸ್ವಂತ ಸಂಶೋಧನೆ ಮಾಡಲು ನಾವು ನಿಮ್ಮನ್ನು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ. ಲೇಯರ್ 2 ಗಳ ತಂತ್ರಜ್ಞಾನ, ಅಪಾಯಗಳು ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಊಹೆಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ಪ್ರತಿ ಯೋಜನೆಯ ಸಮಗ್ರ ಅಪಾಯ ಮೌಲ್ಯಮಾಪನ ಚೌಕಟ್ಟನ್ನು ಒದಗಿಸುವ L2BEAT ಅನ್ನು ಪರಿಶೀಲಿಸಲು ನಾವು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ.", - "layer-2-faq-question-4-description-3": "ಪದರ 2 ಕ್ಕೆ ಆಸ್ತಿ ವರ್ಗಾವಣೆಗೆ ಅನುಕೂಲವಾಗುವ ಬ್ಲಾಕ್ ಚೈನ್ ಸೇತುವೆಗಳು ಅಭಿವೃದ್ಧಿಯ ಆರಂಭಿಕ ಹಂತದಲ್ಲಿವೆ ಮತ್ತು ಸೂಕ್ತವಾದ ಸೇತುವೆ ವಿನ್ಯಾಸವನ್ನು ಇನ್ನೂ ಕಂಡುಹಿಡಿಯಲಾಗಿಲ್ಲ. ಸೇತುವೆಗಳ ಇತ್ತೀಚಿನ Bridge ಹ್ಯಾಕ್ ಗಳು.", - "layer-2-faq-question-5-title": "ಕೆಲವು ಲೇಯರ್ 2 ಯೋಜನೆಗಳನ್ನು ಏಕೆ ಇಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾಗಿಲ್ಲ?", - "layer-2-faq-question-5-description-1": "ನಾವು ಬಳಕೆದಾರರು ಲೇಯರ್ 2 ಸ್ಪೇಸ್ ಅನ್ನು ಸುರಕ್ಷಿತ ಮತ್ತು ಖಚಿತವಾದ ರೀತಿಯಲ್ಲಿ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವಂತೆ ಅತ್ಯುತ್ತಮ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲು ಬಯಸುತ್ತೇವೆ. ನಾವು ಸೇರ್ಪಡೆಗಾಗಿ ಯೋಜನೆಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ವಿಧಾನಕ್ಕಾಗಿ ಮಾನದಂಡಗಳ ಚೌಕಟ್ಟನ್ನು ನಿರ್ವಹಿಸುತ್ತೇವೆ.", - "layer-2-faq-question-5-view-listing-policy": "ನಮ್ಮ ಲೇಯರ್ 2 ಪಟ್ಟಿ ನೀತಿಯನ್ನು ಇಲ್ಲಿ ವೀಕ್ಷಿಸಿ.", - "layer-2-faq-question-5-description-2": "Ethereum.org ಮೇಲೆ ಪದರ 2 ಅನ್ನು ಸೇರಿಸಲು ಯಾರಾದರೂ ಮುಕ್ತರಾಗಿದ್ದಾರೆ. ನಾವು ಮರೆತಿರುವ ಪದರ 2 ಇದ್ದರೆ ದಯವಿಟ್ಟು ಅದನ್ನು ಸೂಚಿಸಿ.", - "layer-2-further-reading-title": "Further reading", - "a-rollup-centric-ethereum-roadmap": "ರೋಲಪ್-ಕೇಂದ್ರಿತ ಎಥೆರಿಯಮ್ ಮಾರ್ಗಸೂಚಿ", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "ಪಾಲಿಗಾನ್ ಸೈಡ್‌ಚೈನ್ ವಿರುದ್ಧ ಎಥೆರಿಯಮ್ ರೋಲ್ಅಪ್‌ಗಳು: ಲೇಯರ್ 2 ಸ್ಕೇಲಿಂಗ್ ವಿಧಾನಗಳು | ವಿಟಾಲಿಕ್ ಬುಟರಿನ್ ಮತ್ತು ಲೆಕ್ಸ್ ಫ್ರೈಡ್ಮನ್", - "rollups-the-ultimate-ethereum-scaling-strategy": "ರೋಲಪ್‌ಗಳು - ಉನ್ನತ ಎಥೆರಿಯಮ್ ಸ್ಕೇಲಿಂಗ್ ಸ್ಟ್ರಾಟಜಿ? ಆರ್ಬಿಟ್ರಮ್ ಮತ್ತು ಆಪ್ಟಿಮಿಸಂ ವಿವರಿಸಲಾಗಿದೆ", - "scaling-layer-1-with-shard-chains": "ಶಾರ್ಡ್ ಚೈನ್ಸ್ ಸ್ಕೇಲಿಂಗ್ ಲೇಯರ್ 1", - "understanding-rollup-economics-from-first-principals": "ರೋಲ್ಅಪ್ ಅರ್ಥಶಾಸ್ತ್ರವನ್ನು ಮೊದಲ ತತ್ವಗಳಿಂದ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು", - "arbitrum-description": "ಆರ್ಬಿಟ್ರಮ್ ಒಂದು ಆಶಾವಾದಿ ರೋಲ್ಅಪ್ ಆಗಿದ್ದು, ಇದು ಎಥೆರಿಯಮ್‌ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವಂತೆಯೇ ಅನುಭವಿಸಲು ಗುರಿಯಿಟ್ಟುಕೊಂಡಿದೆ, ಆದರೆ ಲೇಯರ್ 1 ನಲ್ಲಿ ಅವು ಮಾಡುವುದಕ್ಕಿಂತ ಟ್ರಾನ್ಸಾಕ್ಷನ್‌ಗಳ ವೆಚ್ಚವು ಒಂದು ಭಾಗವಾಗಿರುತ್ತದೆ.", - "optimism-description": "ಆಪ್ಟಿಮಿಸ್ಮ್ಎನ್ನುವುದು ತ್ವರಿತ, ಸರಳ ಮತ್ತು ಸುರಕ್ಷಿತವಾದ EVM ಸಮನಾಂತರ ಆಪ್ಟಿಮಿಸ್ಟಿಕ್ರೋ ಲ್ಅಪ್ ಆಗಿದೆ. ಇದು ಎಥೆರಿಯಮ್‌ನ ತಂತ್ರಜ್ಞಾನವನ್ನು ಸ್ಕೇಲ್ ಮಾಡುವುದಲ್ಲದೆ, ಹಿಂದುಮುಖವಾಗಿ ಸಾರ್ವಜನಿಕ ಉತ್ತಮಗಳ ಹಣಕಾಸು ಮೂಲಕ ಅದರ ಮೌಲ್ಯಗಳನ್ನು ಸ್ಕೇಲ್ ಮಾಡುತ್ತದೆ.", - "boba-description": "ಬೋಬಾ ಮೂಲತಃ Optimism ಆಶಾವಾದದಿಂದ ರೂಪುಗೊಂಡ ಆಶಾವಾದಿ ರೋಲಪ್ ಆಗಿದ್ದು, ಇದು Gas ಶುಲ್ಕವನ್ನು ಕಡಿಮೆ ಮಾಡುವ, ವಹಿವಾಟಿನ ಹರಿವನ್ನು ಸುಧಾರಿಸುವ ಮತ್ತು ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದಗಳ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ವಿಸ್ತರಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿರುವ ಸ್ಕೇಲಿಂಗ್ ಪರಿಹಾರವಾಗಿದೆ.", - "loopring-description": "ಲೂಪ್ರಿಂಗ್ನ zkRollup L2 ಪರಿಹಾರವು ಇಥಿರಿಯಮ್ ಮೈನೆಟ್ನಂತೆಯೇ ಅದೇ ಭದ್ರತಾ ಖಾತರಿಗಳನ್ನು ನೀಡುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ, ದೊಡ್ಡ ಸ್ಕೇಲಬಿಲಿಟಿ ಬೂಸ್ಟ್ನೊಂದಿಗೆ: ಥ್ರೂಪುಟ್ 1000 ಪಟ್ಟು ಹೆಚ್ಚಾಗಿದೆ, ಮತ್ತು ವೆಚ್ಚವನ್ನು L1 ನ ಕೇವಲ 0.1% ಕ್ಕೆ ಇಳಿಸಲಾಗಿದೆ.", - "zksync-description": "ZKsync ಎಂಬುದು ಮ್ಯಾಟರ್ ಲ್ಯಾಬ್ಸ್ ನ ಬಳಕೆದಾರ-ಕೇಂದ್ರಿತ zk ರೋಲ್ ಅಪ್ ಪ್ಲಾಟ್ ಫಾರ್ಮ್ ಆಗಿದೆ. ಇದು ಎಥೆರಿಯಮ್ಗೆ ಸ್ಕೇಲಿಂಗ್ ಪರಿಹಾರವಾಗಿದೆ, ಇದು ಈಗಾಗಲೇ ಇಥಿರಿಯಮ್ ಮೈನೆಟ್ನಲ್ಲಿ ವಾಸಿಸುತ್ತಿದೆ. ಇದು ಪಾವತಿಗಳು, ಟೋಕನ್ ವಿನಿಮಯಗಳು ಮತ್ತು NFT ಮಿಂಟಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.", - "zkspace-description": "ZKSpace ಪ್ಲಾಟ್ ಫಾರ್ಮ್ ಮೂರು ಪ್ರಮುಖ ಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: ZKSwap ಎಂದು ಕರೆಯಲ್ಪಡುವ ZK-ರೋಲಪ್ಸ್ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸುವ ಲೇಯರ್ 2 AMM DEX, ZKSquare ಎಂಬ ಪಾವತಿ ಸೇವೆ ಮತ್ತು ZKSea ಎಂಬ NFT ಮಾರುಕಟ್ಟೆ.", - "aztec-description": "Aztec ಅಜ್ಟೆಕ್ ನೆಟ್ವರ್ಕ್ ಎಥೆರಿಯಮ್ನಲ್ಲಿನ ಮೊದಲ ಖಾಸಗಿ ಝಡ್ಕೆ-ರೋಲಪ್ ಆಗಿದ್ದು, ವಿಕೇಂದ್ರೀಕೃತ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಗೌಪ್ಯತೆ ಮತ್ತು ಪ್ರಮಾಣವನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.", - "layer-2-note": "ಸೂಚನೆ:", - "layer-2-ecosystem-portal": "ಪರಿಸರ ವ್ಯವಸ್ಥೆ ಪೋರ್ಟಲ್", - "layer-2-token-lists": "ಟೋಕನ್ ಪಟ್ಟಿಗಳು", - "layer-2-explore": "ಅನ್ವೇಷಿಸು", - "page-dapps-ready-button": "Go" -} diff --git a/src/intl/ko/page-layer-2.json b/src/intl/ko/page-layer-2.json deleted file mode 100644 index a90a6582586..00000000000 --- a/src/intl/ko/page-layer-2.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "layer-2-arbitrum-note": "사기 증명은 화이트리스트 유저만 사용할 수 있습니다(화이트리스트는 아직 열리지 않았습니다)", - "layer-2-boba-note": "상태 검증 개발 중", - "layer-2-optimism-note": "오류 증명 개발 중", - "layer-2-hero-title": "레이어 2", - "layer-2-hero-header": "모두를 위한 이더리움", - "layer-2-hero-subtitle": "대중화를 위한 이더리움 확장.", - "layer-2-hero-alt-text": "레이어 2에서 롤업되고 이더리움 메인넷에 게시된 트랜잭션에 대한 삽화", - "layer-2-hero-button-1": "레이어 2의 정보", - "layer-2-hero-button-2": "레이어 2 사용", - "layer-2-hero-button-3": "레이어 2로 이동", - "layer-2-statsbox-1": "레이어 2의 총 예치금(USD)", - "layer-2-statsbox-2": "레이어 2의 ETH 송금 수수료 평균(USD)", - "layer-2-statsbox-3": "레이어 2의 총 예치금 변화량(30일 기준)", - "layer-2-what-is-layer-2-title": "레이어 2가 무엇인가요?", - "layer-2-what-is-layer-2-1": "레이어 2(L2)는 이더리움 확장 솔루션을 일컫는 말입니다. 레이어 2는 이더리움을 확장하는 별도의 블록체인이며 이더리움의 보증된 보안을 물려받습니다.", - "layer-2-what-is-layer-2-2": "이제 조금 더 자세하게 알아봅시다. 이를 위해서는 먼저 레이어 1(L1)을 알아야 합니다.", - "layer-2-what-is-layer-1-title": "레이어 1이란 무엇인가요?", - "layer-2-what-is-layer-1-1": "레이어 1은 기본 블록체인입니다. 이더리움과 비트코인은 둘 다 수많은 레이어 2 네트워크를 구축하는 기반이기 때문에 모두 레이어 1 블록체인이라고 할 수 있습니다. 레이어 2 프로젝트의 예시에는 이더리움의 \"롤업\" 및 비트코인의 라이트닝 네트워크가 있습니다. 이러한 레이어 2 프로젝트에서 이루어지는 모든 사용자 트랜잭션 활동은 궁극적으로 레이어 1 블록체인으로 되돌아갈 수 있습니다.", - "layer-2-what-is-layer-1-2": "이더리움은 레이어 2에 대한 데이터 가용성 레이어로도 기능합니다. 레이어 2 프로젝트는 데이터 가용성을 위해 이더리움에 의존하여 트랜잭션 데이터를 이더리움에 게시합니다. 이 데이터는 레이어 2의 상태를 가져오거나 레이어 2의 트랜잭션에 이의를 제기하는 데 사용할 수 있습니다.", - "layer-2-what-is-layer-1-list-title": "레이어 1로서의 이더리움에는 다음이 포함됩니다.", - "layer-2-what-is-layer-1-list-1": "네트워크를 보호하고 검증하기 위한 노드 작업자의 네트워크", - "layer-2-what-is-layer-1-list-2": "블록 생산자의 네트워크", - "layer-2-what-is-layer-1-list-3": "블록체인 자체 및 트랜잭션 데이터 기록", - "layer-2-what-is-layer-1-list-4": "네트워크에 대한 합의 메커니즘", - "layer-2-what-is-layer-1-list-link-1": "이더리움이 무엇인지 아직 모르시겠죠?", - "layer-2-what-is-layer-1-list-link-2": "이더리움에 대해 배워봅시다.", - "layer-2-why-do-we-need-layer-2-title": "왜 레이어2가 필요한가요?", - "layer-2-why-do-we-need-layer-2-1": "블록체인의 매력적인 3가지 특징은 탈중앙화, 안전, 그리고 확장성입니다. 블록체인 트릴레마는 간단한 블록체인 설계는 3가지 특징 중 2개만 달성할 수 있다는 것을 의미합니다. 안전하고 탈중앙화된 블록체인을 원하십니까? 그렇다면 확장성을 희생해야 합니다.", - "layer-2-why-do-we-need-layer-2-2": "이더리움은 현재 하루 100만 건 이상의 트랜잭션을 처리합니다. 이더리움을 사용하려는 수요가 증가하면 트랜잭션 수수료가 상승할 수 있습니다. 트랜잭션을 제때 처리하지 못하고 트랜잭션이 밀리기 시작하면 수수료가 과도하게 높아질 수 있는데 이러한 병목 현상을 해결하기 위해 레이어 2 네트워크가 등장했습니다.", - "layer-2-why-do-we-need-layer-2-scalability": "확장성", - "layer-2-why-do-we-need-layer-2-scalability-1": "레이어 2의 주요 목표는 탈중앙화와 보안을 유지한 채 트랜잭션 처리량을 늘리는 것(초당 트랜잭션 증가)입니다.", - "layer-2-why-do-we-need-layer-2-scalability-2": "이더리움 메인넷(레이어 1)은 초당 약 15건의 트랜잭션밖에 처리하지 못합니다. 이더리움을 사용하려는 수요가 많으면 이더리움 네트워크에 혼잡이 발생하여 트랜잭션 수수료가 높아지고 이를 감당할 수 없는 사용자들이 네트워크를 이탈합니다. 레이어 2는 레이어 1 블록체인 외부에서 트랜잭션을 처리하여 수수료를 낮추는 솔루션입니다.", - "layer-2-why-do-we-need-layer-2-scalability-3": "이더리움 비전에 대한 자세한 정보", - "layer-2-benefits-of-layer-2-title": "레이어 2의 장점", - "layer-2-lower-fees-title": "더 낮은 수수료", - "layer-2-lower-fees-description": "여러 오프체인 트랜잭션을 단일 레이어 1 트랜잭션으로 결합함으로써 거래 수수료가 크게 줄어들고 모든 사람이 이더리움에 더 쉽게 접근할 수 있습니다.", - "layer-2-maintain-security-title": "보안 유지", - "layer-2-maintain-security-description": "레이어 2 블록체인은 이더리움 메인넷에서 트랜잭션을 정산하므로 사용자가 이더리움 네트워크의 보안 혜택을 누릴 수 있습니다.", - "layer-2-expand-use-cases-title": "사용 사례 확장", - "layer-2-expand-use-cases-description": "더 높은 초당 트랜잭션, 더 낮은 수수료, 그리고 새로운 기술을 통해 프로젝트는 향상된 사용자 경험과 함께 새로운 애플리케이션으로 확장됩니다.", - "layer-2-how-does-layer-2-work-title": "레이어 2는 어떻게 작동합니까? \n", - "layer-2-how-does-layer-2-work-1": "앞서 설명했듯이 레이어 2는 이더리움 레이어 1의 강력한 탈중앙화된 보안을 계속 활용하면서 이더리움 레이어 1 외부에서 트랜잭션을 처리하는 이더리움 확장 솔루션의 대명사입니다. 레이어 2는 이더리움을 확장시키는 별도의 블록체인입니다. 레이어 2는 어떻게 작동할까요?", - "layer-2-how-does-layer-2-work-2": "레이어 2는 여러 유형으로 나뉘며 각각 저마다의 장단점과 보안 모델이 있습니다. 레이어 2는 레이어 1의 트랜잭션 처리 부담을 나눠 혼잡을 줄이고 모든 것을 더욱 확장할 수 있습니다.", - "layer-2-rollups-title": "롤업", - "layer-2-rollups-1": "롤업은 레이어 1의 단일 트랜잭션에 수백 건의 트랜잭션을 한데 묶습니다(즉 'roll up'). 이를 통해 롤업의 모든 사용자에게 레이어 1 트랜잭션 수수료를 분배하여 모든 이들이 더 저렴하게 이용할 수 있습니다.", - "layer-2-rollups-2": "롤업 트랜잭션은 레이어 1 외부에서 처리되고 트랜잭션 데이터만 레이어 1로 제출됩니다. 레이어 1로 트랜잭션 데이터를 제출함으로써 롤업은 이더리움의 뛰어난 보안을 승계합니다. 데이터가 레이어 1에 업로드된 상황에서 이더리움 네트워크 전체를 되돌리지 않는 한 롤업 트랜잭션을 되돌릴 수 없기 때문입니다. 롤업에는 낙관적 롤업과 영지식 롤업이라는 두 가지 접근 방식이 있습니다. 두 방식은 주로 이 트랜잭션 데이터가 L1으로 제출되는 방식에 따라 달라집니다.", - "layer-2-optimistic-rollups-title": "낙관적 롤업", - "layer-2-optimistic-rollups-description": "낙관적 롤업은 트랜잭션이 유효한 것으로 간주되나 필요한 경우 이의를 제기할 수 있다는 점에서 '낙관적(optimistic)'입니다. 유효하지 않은 트랜잭션이 의심되면 오류 증명이 실행되어 이것이 발생했는지 확인합니다.", - "layer-2-optimistic-rollups-childSentance": "낙관적 롤업에 대해 자세히 알아보기", - "layer-2-zk-rollups-title": "영지식 롤업", - "layer-2-zk-rollups-description": "영지식 롤업은 트랜잭션이 오프체인에서 계산되는 유효성 증명을 사용하고 압축된 데이터가 유효성 증명으로 이더리움 메인넷에 제공됩니다.", - "layer-2-zk-rollups-childSentance": "영지식 롤업에 대해 자세히 알아보기", - "layer-2-dyor-title": "자체 조사: 레이어 2의 위험", - "layer-2-dyor-1": "많은 레이어 2 프로젝트들은 비교적 젊고 네트워크를 탈중앙화시키기 위해 작업함에 따라 여전히 사용자들에게 일부 운영자를 신뢰하도록 요구합니다. 관련 리스크를 수용할 수 있는지 결정하려면 항상 본인이 직접 정보를 찾으며 조사하세요.", - "layer-2-dyor-2": "레이어 2의 기술, 위험 및 신뢰 가정에 대한 자세한 내용은 각 프로젝트의 포괄적인 위험 평가 프레임워크를 제공하는 L2BEAT를 확인하는 것이 좋습니다.", - "layer-2-dyor-3": "L2BEAT로 이동", - "layer-2-use-layer-2-title": "레이어 2 사용", - "layer-2-use-layer-2-1": "이제 레이어 2가 존재하는 이유와 작동 방법에 대해 이해했으니, 실제로 레이어 2를 사용해 보겠습니다!", - "layer-2-contract-accounts": "Safe나 Argent 같은 스마트 계약 지갑을 사용하는 경우 레이어 2에서 해당 주소의 통제권을 가지려면 자신의 계약 계정을 레이어 2의 해당 주소로 재배포해야 합니다. 복구 구문이 있는 클래식 계정은 자동으로 모든 레이어 2 네트워크에서 동일한 계정을 소유합니다.", - "layer-2-use-layer-2-generalized-title": "일반화된 레이어 2", - "layer-2-use-layer-2-generalized-1": "일반화된 레이어 2는 이더리움과 똑같이 작동하지만 더 저렴합니다. 이더리움 레이어 1에서 할 수 있는 모든 작업은 레이어 2에서도 실행할 수 있습니다. 많은 디앱이 이미 레이어 2 네트워크로 이전을 시작했거나 레이어 2에 바로 배포할 수 있도록 메인넷을 건너뛰었습니다.", - "layer-2-use-layer-2-application-specific-title": "애플리케이션 특화 레이어 2", - "layer-2-use-layer-2-application-specific-1": "애플리케이션 지정 레이어 2는 특정 애플리케이션 공간을 최적화하여 성능을 향상시키는 데 특화된 프로젝트입니다.", - "layer-2-sidechains-title": "사이드체인, 발리디움 및 대체 블록체인에 관하여 알아둘 점", - "layer-2-sidechains-1": "사이드체인 및 발리디움은 이더리움에 있는 자산을 다른 블록체인으로 이동시키고 사용할 수 있게 하는 블록체인입니다. 사이드체인 및 발리디움은 이더리움과 병렬로 구동되고 브리지를 통해 이더리움과 상호작용하지만, 이더리움만큼의 보안 또는 데이터 가용성까지 동일하지는 않습니다.", - "layer-2-sidechains-2": "둘 다 레이어 2와 비슷한 방식으로 확장합니다. 모두 기존보다 거래 수수료가 저렴하며 처리량이 높지만 신뢰 가능성 면에서는 차이가 납니다.", - "layer-2-more-on-sidechains": "사이드체인에 대해 자세히 알아보기", - "layer-2-more-on-validiums": "발리디움에 대해 자세히 알아보기", - "layer-2-sidechains-4": "일부 레이어 1 블록체인은 이더리움보다 처리량이 많고 트랜잭션 수수료가 낮다고 하지만 일반적으로 그에 따른 반대급부가 있습니다. 예를 들어 노드 운영에 필요한 하드웨어 기준이 더 높을 수 있습니다.", - "layer-2-onboard-title": "레이어 2 시작하기", - "layer-2-onboard-1": "레이어 2에 자금을 맡기는 방법에는 크게 두 가지가 있습니다. 스마트 계약을 통해 이더리움에서 레이어 2 네트워크로 자금을 이동하거나, 거래소에서 인출한 자금을 곧장 레이어 2 네트워크로 이동하는 것입니다.", - "layer-2-onboard-wallet-title": "자금이 지갑에 있나요?", - "layer-2-onboard-wallet-1": "지갑에 이미 이더(ETH)가 있다면 브리지를 사용하여 이더리움 메인넷에서 레이어 2로 이동시켜야 합니다.", - "layer-2-more-on-bridges": "브리지에 대해 자세히 알아보기", - "layer-2-onboard-wallet-input-placeholder": "연결하고자 하는 레이어 2를 선택", - "layer-2-onboard-wallet-selected-1": "다음 지갑을 사용하여", - "layer-2-onboard-wallet-selected-2": "연결 가능:", - "layer-2-bridge": "브리지", - "layer-2-onboard-exchange-title": "자금이 거래소에 있나요?", - "layer-2-onboard-exchange-1": "일부 중앙화 거래소는 이제 레이어 2로 직접 인출 및 예치를 지원합니다. 레이어 2 인출을 지원하는 거래소와 각 거래소에서 지원하는 레이어 2를 확인하십시오.", - "layer-2-onboard-exchange-2": "자금을 출금하려면 지갑도 필요합니다.", - "layer-2-onboard-find-a-wallet": "이더리움 지갑 찾기", - "layer-2-onboard-exchange-input-placeholder": "L2가 지원되는 거래소 살펴보기", - "layer-2-deposits": "입금", - "layer-2-withdrawals": "출금", - "layer-2-go-to": "이동", - "layer-2-tools-title": "레이어 2에서 효과적으로 사용할 수 있는 도구", - "layer-2-tools-l2beat-description": "L2BEAT는 레이어 2 프로젝트의 기술적 위험성을 평가할 수 있는 좋은 리소스입니다. 특정 레이어 2 프로젝트를 연구할 때 이 도구를 확인해 보는 것을 추천합니다.", - "layer-2-tools-l2fees-description": "L2 Fees를 사용하면 다른 레이어 2에서 거래할 때 발생하는 현재 가격(USD로 표시)을 볼 수 있습니다.", - "layer-2-tools-chainlist-description": "Chainlist는 네트워크 RPC를 지원하는 지갑으로 가져오는 데 유용한 리소스입니다. 여기에서 연결할 수 있도록 도와주는 레이어 2 프로젝트용 RPC를 찾을 수 있습니다.", - "layer-2-tools-zapper-description": "DeFi에서 NFT 및 그 외의 모든 것을 포함하여 전체 웹3 포트폴리오를 관리합니다. 편리한 장소에서 새로운 기회에 투자하세요.", - "layer-2-tools-zerion-description": "한 장소에서 DeFi 포트폴리오 전체를 빌드하고 관리합니다. 지금 분산형 금융의 세계를 탐험하세요.", - "layer-2-tools-debank-description": "웹3의 세계에서 일어나는 모든 중요한 일을 확인하세요", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "'공식' 이더리움 L2가 없는 이유는 무엇인가요?", - "layer-2-faq-question-1-description-1": "이더리움 '공식' 클라이언트가 존재하지 않듯이, 이더리움 '공식' 레이어 2 또한 존재하지 않습니다. 이더리움은 권한을 가지지 않습니다. 기술적으로 누구든지 레이어 2를 만들 수 있습니다! 다양한 팀에서 자신의 레이어 2 버전을 구현하며, 이더리움 생태계 전체는 상이한 사용 사례에 최적화된 다양한 디자인 접근성을 누리게 됩니다. 네트워크의 다양성을 위해 여러 이더리움 클라이언트가 개발되었듯이, 이 또한 미래에는 레이어 2 개발 방법이 될 것입니다.", - "layer-2-faq-question-2-title": "낙관적 롤업과 영지식 롤업의 차이점은 무엇인가요?", - "layer-2-faq-question-2-description-1": "낙관적 롤업과 영지식 롤업(또는 '롤 업') 모두 수백 개의 트랜잭션을 레이어 1에서 하나의 트랜잭션으로 묶습니다. 롤업 트랜잭션은 레이어 1 외부에서 실행되지만 트랜잭션 데이터는 레이어 1로 전송됩니다.", - "layer-2-faq-question-2-description-2": "주요 차이점은 레이어 1에 게시되는 데이터 및 데이터 검증 방법입니다. 유효성 증명(영지식 롤업에서 사용)은 오프체인 계산을 실행하여 증명 결과를 전송하는 반면, 오류 증명(낙관적 롤업에서 사용)은 결함이 의심되어 반드시 확인해야 할 때만 온체인 계산을 실행합니다.", - "layer-2-faq-question-2-description-3": "현재 대부분의 영지식 롤업은 애플리케이션 특화 방식인 반면, 낙관적 롤업은 큰 범위에서 일반화할 수 있습니다.", - "layer-2-more-info-on-optimistic-rollups": "낙관적 롤업에 대해 자세히 알아보기", - "layer-2-more-info-on-zk-rollups": "영지식 롤업에 대해 자세히 알아보기", - "layer-2-faq-question-4-title": "레이어 2의 위험은 무엇입니까?", - "layer-2-faq-question-4-description-1": "레이어 2 프로젝트에는 이더리움 메인넷에서 자금을 보유하고 직접 거래하는 것과 비교되는 추가적인 위험성이 있습니다. 예를 들어, 시퀀서가 다운되는 경우 자금에 접근하기 위해 기다려야 하는 상황이 발생할 수 있습니다.", - "layer-2-faq-question-4-description-2": "레이어 2로 중요한 자금을 전송하기 전에 이에 대해 직접 알아보는 것을 추천합니다. 레이어 2의 기술, 위험성 및 신뢰할 경우의 가정에 대한 자세한 정보는 각 프로젝트에 대한 포괄적인 위험성 평가 프레임워크를 제공하는 L2BEAT를 확인하는 것이 좋습니다.", - "layer-2-faq-question-4-description-3": "레이어 2로 자산을 전송할 수 있도록 하는 블록체인 브리지는 개발 초기 단계에서부터 있었으며 아직까지 최적의 브리지 설계를 찾지 못했을 수도 있습니다. 최근에 브리지에 해킹이 발생하였습니다.", - "layer-2-faq-question-5-title": "일부 레이어 2 프로젝트가 이 목록에 없는 이유는 무엇입니까?", - "layer-2-faq-question-5-description-1": "이더리움에서는 사용자가 안전하고 자신 있게 레이어 2의 세계를 탐색할 수 있도록 가능한 최상의 자료를 제공하도록 노력합니다. 프로젝트 포함에 대한 평가 기준의 틀을 유지하기도 합니다.", - "layer-2-faq-question-5-view-listing-policy": "여기에서 레이어 2 나열 정책을 살펴보세요.", - "layer-2-faq-question-5-description-2": "누구나 ethereum.org에 레이어 2 추가를 자유롭게 제안할 수 있습니다. 필요하지만 추가되지 않은 레이어 2가 있다면 제안해 주세요.", - "layer-2-further-reading-title": "부록", - "a-rollup-centric-ethereum-roadmap": "롤업 중심의 이더리움 로드맵", - "an-incomplete-guide-to-rollups": "롤업에 대한 미완성된 가이드", - "polygon-sidechain-vs-ethereum-rollups": "폴리곤 사이드체인과 이더리움 롤업: 레이어 2 확장 접근 방식 | Vitalik Buterin 및 Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "롤업 - 궁극의 이더리움 확장 전략이라고요? 아비트럼 및 옵티미즘 설명", - "scaling-layer-1-with-shard-chains": "조각 체인을 이용한 레이어 1 확장", - "understanding-rollup-economics-from-first-principals": "첫 번째 원칙을 통한 롤업 경제 이해", - "arbitrum-description": "아비트럼 원(Arbitrum One)은 이더리움과 상호 작용하는 것과 똑같은 느낌을 주는 것이 목표인 낙관적 롤업이지만 트랜잭션 비용은 L1에서 동일한 작업을 수행할 때보다 훨씬 저렴합니다.", - "optimism-description": "옵티미즘(Optimism)은 빠르고 편리하며 안전한 EVM과 동일한 수준의 낙관적 롤업입니다. 옵티미즘은 이더리움의 기술을 확장하는 한편 소급 공공재 자금조달을 통해 이더리움의 가치를 높입니다.", - "boba-description": "Boba는 확장 솔루션 옵티미즘에서 유래했으며 가스 요금을 줄이고 트랜잭션 처리량을 개선하며 스마트 계약의 한계를 확장하는 것을 목표로 하는 낙관적 롤업입니다.", - "loopring-description": "Loopring의 영지식 롤업 L2 솔루션은 이더리움 메인넷과 동일한 보안 수준 보장을 목표로 하지만 확장 가능성은 훨씬 더 뛰어납니다. 거래 처리량은 최대 1000배까지 늘어났으며 수수료는 L1의 0.1%로 감소되었습니다.", - "zksync-description": "ZKsync는 Matter Labs에서 개발한 사용자 중심의 영지식 롤업 플랫폼입니다. 이더리움을 위한 확장 솔루션이며 이미 이더리움 메인넷에서 사용되고 있습니다. 결제, 토큰 교환 및 NFT 발행을 지원합니다.", - "zkspace-description": "ZKSpace 플랫폼은 세 가지 주요 부분인 ZKSwap(ZK롤업 기술을 활용한 레이어 2 AMM DEX), ZKSquare(지급결제 서비스), ZKSea(NFT 마켓플레이스)로 구성됩니다.", - "aztec-description": "Aztec 네트워크는 이더리움의 첫 번째 비공개 영지식 롤업이며 분산형 애플리케이션이 정보를 보호하고 확장할 수 있도록 합니다.", - "starknet-description": "스타크넷은 검증 롤업 레이어2입니다. 이는 많은 양을 처리할 수 있으며 가스 비용이 저렴하고 이더리움 레이어1의 보안 수준을 유지합니다.", - "layer-2-note": "참고:", - "layer-2-ecosystem-portal": "생태계 포털", - "layer-2-token-lists": "토큰 목록", - "layer-2-explore": "탐색", - "page-dapps-ready-button": "이동" -} diff --git a/src/intl/ml/page-layer-2.json b/src/intl/ml/page-layer-2.json deleted file mode 100644 index 1f89e542cbd..00000000000 --- a/src/intl/ml/page-layer-2.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "page-dapps-ready-button": "ചെല്ലൂ" -} diff --git a/src/intl/mr/page-layer-2.json b/src/intl/mr/page-layer-2.json deleted file mode 100644 index 5fb8aea6365..00000000000 --- a/src/intl/mr/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "फसवणुकीचे पुरावे फक्त श्वेत सूची वाले वापरकर्त्यांसाठी, श्वेतसूची अद्याप उघडलेली नाही", - "layer-2-boba-note": "विकासामध्ये राज्य प्रमाणीकरण", - "layer-2-optimism-note": "विकासातील दोष पुरावे", - "layer-2-hero-title": "स्तर 2", - "layer-2-hero-header": "प्रत्येकासाठी Ethereum", - "layer-2-hero-subtitle": "मोठ्या प्रमाणावर दत्तक घेण्यासाठी Ethereum स्केलिंग.", - "layer-2-hero-alt-text": "थर 2 वर आणले जाणारे आणि Ethereum मेननेटवर पोस्ट केलेल्या व्यवहारांचे चित्रण", - "layer-2-hero-button-1": "लेयर 2 म्हणजे काय", - "layer-2-hero-button-2": "लेयर 2 वापरा", - "layer-2-hero-button-3": "लेयर 2 वर जा", - "layer-2-statsbox-1": "TVL लॉक इन लेयर 2 (USD)", - "layer-2-statsbox-2": "सरासरी लेयर 2 ETH हस्तांतरण शुल्क (USD)", - "layer-2-statsbox-3": "लेयर 2 TVL बदल (30 दिवस)", - "layer-2-what-is-layer-2-title": "लेयर 2 म्हणजे काय?", - "layer-2-what-is-layer-2-1": "Ethereum स्केलिंग सोल्यूशनच्या विशिष्ट संचाचे वर्णन करण्यासाठी लेयर 2 (L2) एक सामूहिक संज्ञा आहे. लेयर 2 ही एक वेगळी ब्लॉकचेन आहे जी Ethereum चा विस्तार करते आणि Ethereum च्या सुरक्षिततेची हमी वारसा देते.", - "layer-2-what-is-layer-2-2": "आता त्यात थोडे अधिक जाणून घेऊया. हे करण्यासाठी आपल्याला प्रथम लेयर 1 (L1) स्पष्ट करणे आवश्यक आहे.", - "layer-2-what-is-layer-1-title": "लेयर 1 म्हणजे काय?", - "layer-2-what-is-layer-1-1": "लेयर 1 बेस ब्लॉकचेन आहे. Ethereum आणि Bitcoin हे दोन्ही लेयर 1 ब्लॉकचेन आहेत कारण ते विविध लेयर 2 नेटवर्क्सच्या शीर्षस्थानी तयार केलेले मूलभूत पाया आहेत. लेयर 2 प्रकल्पांच्या उदाहरणांमध्ये Ethereum वरील \"रोलअप\" आणि Bitcoin वरील लाइटनिंग नेटवर्क समाविष्ट आहे. या लेयर 2 प्रकल्पांवरील सर्व वापरकर्ता व्यवहार क्रियाकलाप शेवटी स्तर 1 ब्लॉकचेनवर परत येऊ शकतात.", - "layer-2-what-is-layer-1-2": "Ethereum लेयर 2s साठी डेटा उपलब्धता स्तर म्हणून देखील कार्य करते. लेयर 2 प्रकल्प डेटा उपलब्धतेसाठी Ethereum वर अवलंबून राहून त्यांचा व्यवहार डेटा Ethereum वर पोस्ट करतील. हा डेटा लेयर 2 ची स्थिती जाणून घेण्यासाठी किंवा लेयर 2 वरील व्यवहार विवाद करण्यासाठी वापरला जाऊ शकतो.", - "layer-2-what-is-layer-1-list-title": "लेयर 1 मध्ये Ethereum समाविष्ट आहे:", - "layer-2-what-is-layer-1-list-1": "नेटवर्क सुरक्षित आणि प्रमाणित करण्यासाठी नोड ऑपरेटरचे नेटवर्क", - "layer-2-what-is-layer-1-list-2": "ब्लॉक उत्पादकांचे नेटवर्क", - "layer-2-what-is-layer-1-list-3": "ब्लॉकचेन स्वतः आणि व्यवहार डेटाचा इतिहास", - "layer-2-what-is-layer-1-list-4": "नेटवर्कसाठी एकमत यंत्रणा", - "layer-2-what-is-layer-1-list-link-1": "Ethereum वर अजूनही गोंधळलेले आहात?", - "layer-2-what-is-layer-1-list-link-2": "Ethereum म्हणजे काय ते जाणून घ्या.", - "layer-2-why-do-we-need-layer-2-title": "आम्हाला लेयर 2ची आवश्यकता का आहे?", - "layer-2-why-do-we-need-layer-2-1": "ब्लॉकचेनचे तीन इष्ट गुणधर्म म्हणजे ते विकेंद्रित, सुरक्षित आणि स्केलेबल आहे. ब्लॉकचेन ट्रायलेम्मा सांगते की एक साधी ब्लॉकचेन आर्किटेक्चर फक्त दोन साध्य करू शकते तीन पैकी. सुरक्षित आणि विकेंद्रित ब्लॉकचेन हवे आहे? आपण स्केलेबिलिटी बलिदान करणे आवश्यक आहे.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum सध्या दररोज 1+ दशलक्ष व्यवहारांवर प्रक्रिया करते. Ethereum वापरण्याच्या मागणीमुळे व्यवहार शुल्काच्या किमती जास्त असू शकतात. येथे लेयर 2 नेटवर्क येतात.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "लेयर 2 चे मुख्य उद्दिष्ट विकेंद्रीकरण किंवा सुरक्षिततेचा त्याग न करता ट्रान्झॅक्शन थ्रूपुट (प्रति सेकंद जास्त व्यवहार) वाढवणे हे आहे.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Ethereum मेननेट (लेयर 1) केवळ प्रति सेकंद अंदाजे 15 व्यवहार प्रक्रिया करण्यास सक्षम आहे. जेव्हा Ethereum वापरण्याची मागणी जास्त असते, तेव्हा नेटवर्क गजबजलेले होते, ज्यामुळे व्यवहार शुल्क वाढते आणि ते शुल्क परवडत नसलेल्या वापरकर्त्यांना किंमत मिळते. लेयर 2s हे असे उपाय आहेत जे लेयर-1 ब्लॉकचेनमधील व्यवहारांवर प्रक्रिया करून ते शुल्क कमी करतात.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Ethereum च्या दृष्टीबद्दल अधिक", - "layer-2-benefits-of-layer-2-title": "लेयर 2 चे फायदे", - "layer-2-lower-fees-title": "कमी फी", - "layer-2-lower-fees-description": "एका लेयर 1 व्यवहारामध्ये एकाधिक ऑफ-चेन व्यवहार एकत्र करून, व्यवहार शुल्क मोठ्या प्रमाणात कमी केले जाते, ज्यामुळे Ethereum सर्वांसाठी अधिक प्रवेशयोग्य बनते.", - "layer-2-maintain-security-title": "सुरक्षा सांभाळा", - "layer-2-maintain-security-description": "लेयर 2 ब्लॉकचेन त्यांचे व्यवहार Ethereum मेननेटवर सेटल करतात, ज्यामुळे वापरकर्त्यांना Ethereum नेटवर्कच्या सुरक्षेचा फायदा होऊ शकतो.", - "layer-2-expand-use-cases-title": "वापर प्रकरणे विस्तृत करा", - "layer-2-expand-use-cases-description": "प्रति सेकंद जास्त व्यवहार, कमी शुल्क आणि नवीन तंत्रज्ञानासह, सुधारित वापरकर्ता अनुभवासह प्रकल्प नवीन अनुप्रयोगांमध्ये विस्तारित होतील.", - "layer-2-how-does-layer-2-work-title": "लेयर 2 कसे कार्य करते?", - "layer-2-how-does-layer-2-work-1": "आम्ही वर नमूद केल्याप्रमाणे, लेयर 2 ही Ethereum स्केलिंग सोल्यूशन्ससाठी सामूहिक संज्ञा आहे जी Ethereum लेयर 1 च्या मजबूत विकेंद्रित सुरक्षेचा लाभ घेत असताना देखील Ethereum स्तर 1 मधील व्यवहार हाताळते. लेयर 2 ही एक वेगळी ब्लॉकचेन आहे जी Ethereumचा विस्तार करते. ते कसे कार्य करते?", - "layer-2-how-does-layer-2-work-2": "लेयर 2 चे अनेक प्रकार आहेत, प्रत्येकाचे स्वतःचे ट्रेड-ऑफ आणि सुरक्षा मॉडेल आहेत. लेयर 2s लेयर 1 वरून व्यवहाराचा बोजा काढून टाकतो ज्यामुळे ते कमी गर्दीचे होऊ शकते आणि सर्वकाही अधिक स्केलेबल बनते.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "रोलअप बंडल (किंवा ‘रोल अप’) लेयर 1 वरील एकाच व्यवहारात शेकडो व्यवहार. हे रोलअपमधील प्रत्येकामध्ये L1 व्यवहार शुल्क वितरीत करते, जे प्रत्येक वापरकर्त्यासाठी स्वस्त बनवते.", - "layer-2-rollups-2": "रोलअप व्यवहार लेयर 1 मधून अंमलात आणले जातात परंतु व्यवहार डेटा लेयर 1 मध्ये सबमिट केला जातो. लेयर 1 वर व्यवहार डेटा सबमिट करून, रोलअप्स Ethereum ची सुरक्षितता वारसा घेतात. याचे कारण असे की एकदा डेटा लेयर 1 वर अपलोड झाला की, रोलअप व्यवहार परत करण्यासाठी Ethereum परत करणे आवश्यक आहे. रोलअपसाठी दोन भिन्न दृष्टीकोन आहेत: आशावादी आणि शून्य-ज्ञान - ते L1 ला हा व्यवहार डेटा कसा सबमिट केला जातो यावर प्रामुख्याने भिन्न आहेत.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "आशावादी रोलअप या अर्थाने 'आशावादी' असतात की व्यवहार वैध असल्याचे गृहित धरले जाते, परंतु आवश्यक असल्यास आव्हान दिले जाऊ शकते. अवैध व्यवहाराचा संशय असल्यास, हे घडले आहे की नाही हे पाहण्यासाठी दोष पुरावा चालविला जातो.", - "layer-2-optimistic-rollups-childSentance": "आशावादी रोलअप्सवर अधिक", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "शून्य-ज्ञान रोलअप्स वैधतेचे पुरावे वापरतात जेथे व्यवहारांची ऑफ-चेन गणना केली जाते आणि नंतर संकुचित डेटा त्यांच्या वैधतेचा पुरावा म्हणून Ethereum मेननेटला पुरवला जातो.", - "layer-2-zk-rollups-childSentance": "ZK-रोल्सअप वर अधिक", - "layer-2-dyor-title": "तुम्ही स्वतःच संशोधन करा: लेयर 2 चे धोके", - "layer-2-dyor-1": "अनेक लेयर 2 प्रकल्प तुलनेने तरुण आहेत आणि तरीही वापरकर्त्यांनी काही ऑपरेटर्सवर विश्वास ठेवणे आवश्यक आहे कारण ते त्यांचे नेटवर्क विकेंद्रित करण्यासाठी कार्य करतात. तुम्हाला समाविष्ट असलेल्या कोणत्याही जोखमींबद्दल सोयीस्कर आहे की नाही हे ठरवण्यासाठी नेहमी तुमचे स्वतःचे संशोधन करा.", - "layer-2-dyor-2": "लेयर 2s च्या तंत्रज्ञान, जोखीम आणि विश्वासाच्या गृहीतकांबद्दल अधिक माहितीसाठी, आम्ही L2BEAT तपासण्याची शिफारस करतो, जे प्रत्येक प्रकल्पाचे सर्वसमावेशक जोखीम मूल्यांकन फ्रेमवर्क प्रदान करते.", - "layer-2-dyor-3": "L2BEAT वर जा", - "layer-2-use-layer-2-title": "लेयर 2 वापरा", - "layer-2-use-layer-2-1": "लेयर 2 का अस्तित्वात आहे आणि ते कसे कार्य करते हे आता तुम्हाला समजले आहे, चला तुम्हाला तयार करू या!", - "layer-2-contract-accounts": "तुम्ही सेफ किंवा अर्जेंट सारखे स्मार्ट कॉन्ट्रॅक्ट वॉलेट वापरत असल्यास, लेयर 2 वरील या पत्त्यावर तुमचे नियंत्रण नसेल जोपर्यंत तुम्ही तुमचे कॉन्ट्रॅक्ट खाते लेयर 2 वरील पत्त्यावर पुन्हा तैनात करत नाही. पुनर्प्राप्ती वाक्यांशासह क्लासिक खाती सर्व लेयर 2 नेटवर्कवर आपोआप समान खाते असतील.", - "layer-2-use-layer-2-generalized-title": "सामान्यीकृत लेयर 2s", - "layer-2-use-layer-2-generalized-1": "सामान्यीकृत लेयर 2s अगदी Ethereum प्रमाणे वागतात — परंतु स्वस्त. Ethereum लेयर 1 वर तुम्ही जे काही करू शकता, ते तुम्ही लेयर 2 वर देखील करू शकता. अनेक dapps ने या नेटवर्कवर आधीच स्थलांतर करण्यास सुरुवात केली आहे किंवा लेयर 2 वर थेट तैनात करण्यासाठी मेननेट पूर्णपणे वगळले आहे.", - "layer-2-use-layer-2-application-specific-title": "अनुप्रयोग विशिष्ट लेयर 2s", - "layer-2-use-layer-2-application-specific-1": "ऍप्लिकेशन स्पेसिफिक लेयर 2s हे असे प्रोजेक्ट आहेत जे विशिष्ट ऍप्लिकेशन स्पेससाठी ऑप्टिमाइझ करण्यात माहिर असतात, सुधारित कार्यप्रदर्शन आणतात.", - "layer-2-sidechains-title": "साइडचेन, व्हॅलिडियम आणि पर्यायी ब्लॉकचेनवर एक टीप", - "layer-2-sidechains-1": "साइडचेन आणि व्हॅलिडियम हे ब्लॉकचेन आहेत जे Ethereumमधील मालमत्तेला ब्रिज करून दुसर्‍या ब्लॉकचेनवर वापरण्याची परवानगी देतात. साइडचेन आणि व्हॅलिडियम Ethereum च्या समांतर चालतात आणि पुलांद्वारे Ethereum शी संवाद साधतात, परंतु ते Ethereum कडून त्यांची सुरक्षा किंवा डेटा उपलब्धता मिळवत नाहीत.", - "layer-2-sidechains-2": "लेयर 2s प्रमाणेच दोन्ही स्केल - ते कमी व्यवहार शुल्क आणि उच्च व्यवहार थ्रूपुट ऑफर करतात - परंतु भिन्न विश्वास गृहीत धरतात.", - "layer-2-more-on-sidechains": "साइडचेनवर अधिक माहिती", - "layer-2-more-on-validiums": "वैलिडियम वर अधिक माहिती", - "layer-2-sidechains-4": "काही लेयर 1 ब्लॉकचेन्स Ethereum पेक्षा जास्त थ्रुपुट आणि कमी व्यवहार शुल्क नोंदवतात, परंतु सामान्यत: इतरत्र ट्रेड-ऑफसह, उदाहरणार्थ, नोड्स चालवण्यासाठी जास्त हार्डवेअर आवश्यकता.", - "layer-2-onboard-title": "लेयर 2 वर कसे जायचे", - "layer-2-onboard-1": "लेयर 2 वर तुमची मालमत्ता मिळवण्याचे दोन प्राथमिक मार्ग आहेत: स्मार्ट कॉन्ट्रॅक्टद्वारे Ethereumकडून ब्रिज फंड किंवा थेट लेयर 2 नेटवर्कवर एक्सचेंजवर तुमचे पैसे काढा.", - "layer-2-onboard-wallet-title": "तुमच्या वॉलेटमध्ये निधी?", - "layer-2-onboard-wallet-1": "तुमच्या वॉलेटमध्ये तुमचे ETH आधीच असल्यास, ते Ethereum मेननेटवरून लेयर 2 वर हलवण्यासाठी तुम्हाला ब्रिज वापरण्याची आवश्यकता असेल.", - "layer-2-more-on-bridges": "ब्रिजेसवर अधिक", - "layer-2-onboard-wallet-input-placeholder": "तुम्हाला ब्रिज करायचा असलेला L2 निवडा", - "layer-2-onboard-wallet-selected-1": "शी कनेक्ट करू शकता", - "layer-2-onboard-wallet-selected-2": "हे वॉलेट वापरून:", - "layer-2-bridge": "ब्रिज", - "layer-2-onboard-exchange-title": "एक्सचेंजवर निधी?", - "layer-2-onboard-exchange-1": "काही केंद्रीकृत एक्सचेंज आता लेयर 2s मध्ये थेट पैसे काढणे आणि ठेवी ऑफर करतात. कोणते एक्सचेंज लेयर 2 पैसे काढण्यास समर्थन देतात आणि ते कोणत्या लेयर 2s ला समर्थन देतात ते तपासा.", - "layer-2-onboard-exchange-2": "तुमचे पैसे काढण्यासाठी तुम्हाला वॉलेट देखील आवश्यक असेल.", - "layer-2-onboard-find-a-wallet": "Ethereum वॉलेट शोधा.", - "layer-2-onboard-exchange-input-placeholder": "L2 चे समर्थन करणारे एक्सचेंज तपासा", - "layer-2-deposits": "ठेवी", - "layer-2-withdrawals": "पैसे काढणे", - "layer-2-go-to": "जा", - "layer-2-tools-title": "लेयर 2 वर प्रभावी होण्यासाठी साधने", - "layer-2-tools-l2beat-description": "L2BEAT हे लेयर 2 प्रकल्पांचे तांत्रिक जोखीम मूल्यांकन पाहण्यासाठी एक उत्तम स्त्रोत आहे. विशिष्ट लेयर 2 प्रकल्पांवर संशोधन करताना आम्ही त्यांची संसाधने तपासण्याची शिफारस करतो.", - "layer-2-tools-l2fees-description": "L2 फी तुम्हाला वेगवेगळ्या लेयर 2s वर व्यवहार करण्यासाठी सध्याची किंमत (USD मध्ये नामांकित) पाहू देते.", - "layer-2-tools-chainlist-description": "चेनलिस्ट हे नेटवर्क RPC ला सपोर्टिंग वॉलेटमध्ये इंपोर्ट करण्यासाठी एक उत्तम स्त्रोत आहे. तुम्‍हाला कनेक्‍ट करण्‍यात मदत करण्‍यासाठी तुम्‍हाला येथे लेयर 2 प्रोजेक्‍टसाठी RPC मिळेल.", - "layer-2-tools-zapper-description": "तुमचा संपूर्ण web3 पोर्टफोलिओ DeFi ते NFT आणि पुढे जे काही येईल ते व्यवस्थापित करा. एका सोयीस्कर ठिकाणाहून नवीनतम संधींमध्ये गुंतवणूक करा.", - "layer-2-tools-zerion-description": "तुमचा संपूर्ण DeFi पोर्टफोलिओ एकाच ठिकाणाहून तयार करा आणि व्यवस्थापित करा. आज विकेंद्रित वित्त जग शोधा.", - "layer-2-tools-debank-description": "web3 जगातील सर्व महत्त्वाच्या घडामोडींची माहिती ठेवा", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "इथे 'अधिकृत' Ethereum L2 का नाही?", - "layer-2-faq-question-1-description-1": "ज्याप्रमाणे 'अधिकृत' Ethereum क्लायंट नाही, त्याचप्रमाणे 'अधिकृत' Ethereum लेयर 2 नाही. Ethereum परवानगीहीन आहे - तांत्रिकदृष्ट्या कोणीही लेयर 2 तयार करू शकतो! एकापेक्षा जास्त संघ त्यांच्या लेयर 2 ची आवृत्ती अंमलात आणतील आणि संपूर्णपणे इकोसिस्टमला विविध वापराच्या प्रकरणांसाठी ऑप्टिमाइझ केलेल्या डिझाइन पद्धतींच्या विविधतेचा फायदा होईल. नेटवर्कमध्‍ये विविधता येण्‍यासाठी आमच्याकडे एकाधिक टीम्सद्वारे विकसित केलेले अनेक Ethereum क्लायंट आहेत, तसेच हे देखील भविष्यात लेयर 2s कसे विकसित होईल.", - "layer-2-faq-question-2-title": "आशावादी आणि शून्य-ज्ञान रोलअप्स मध्ये काय फरक आहे?", - "layer-2-faq-question-2-description-1": "दोन्ही आशावादी आणि शून्य-ज्ञान रोलअप बंडल (किंवा ‘रोल अप’) लेयर 1 वरील एकाच व्यवहारात शेकडो व्यवहार. रोलअप व्यवहार लेयर 1 च्या बाहेर अंमलात आणले जातात परंतु व्यवहार डेटा लेयर 1 वर पोस्ट केला जातो.", - "layer-2-faq-question-2-description-2": "लेयर 1 वर कोणता डेटा पोस्ट केला जातो आणि डेटा कसा सत्यापित केला जातो हा प्राथमिक फरक आहे. वैधता पुरावे (शून्य-नॉलेज रोलअप्सद्वारे वापरलेले) गणना ऑफ-चेन चालवतात आणि एक पुरावा पोस्ट करतात, तर फॉल्ट प्रूफ (आशावादी रोलअप्सद्वारे वापरलेले) केवळ जेव्हा दोष संशयित असेल आणि तपासले जाणे आवश्यक आहे तेव्हाच ऑन-चेन गणने चालवतात.", - "layer-2-faq-question-2-description-3": "याक्षणी, बहुतेक ZK-रोलअप्स हे ऍप्लिकेशन-विशिष्ट आहेत, आशावादी रोलअप्सच्या विरूद्ध जे मोठ्या प्रमाणात सामान्यीकरण करण्यायोग्य आहेत.", - "layer-2-more-info-on-optimistic-rollups": "आशावादी रोलअप्सबद्दल अधिक माहिती", - "layer-2-more-info-on-zk-rollups": "शून्य-ज्ञान रोलअपवर अधिक माहिती", - "layer-2-faq-question-4-title": "लेयर 2 चे धोके काय आहेत?", - "layer-2-faq-question-4-description-1": "Ethereum मेननेट वर निधी ठेवण्याच्या आणि थेट व्यवहार करण्याच्या तुलनेत लेयर 2 प्रकल्पांमध्ये अतिरिक्त जोखीम असते. उदाहरणार्थ, सिक्वेन्सर कमी होऊ शकतात, ज्यामुळे तुम्हाला निधीमध्ये प्रवेश करण्यासाठी प्रतीक्षा करावी लागेल.", - "layer-2-faq-question-4-description-2": "लेयर 2 मध्ये महत्त्वपूर्ण निधी हस्तांतरित करण्यापूर्वी आम्ही तुम्हाला तुमचे स्वतःचे संशोधन करण्यास प्रोत्साहित करतो. लेयर 2s च्या तंत्रज्ञान, जोखीम आणि विश्वासाच्या गृहीतकांबद्दल अधिक माहितीसाठी, आम्ही L2BEAT तपासण्याची शिफारस करतो, जे प्रत्येक प्रकल्पाचे सर्वसमावेशक जोखीम मूल्यांकन फ्रेमवर्क प्रदान करते.", - "layer-2-faq-question-4-description-3": "ब्लॉकचेन ब्रिज, जे लेयर 2 मध्ये मालमत्तेचे हस्तांतरण सुलभ करतात, त्यांच्या विकासाच्या सुरुवातीच्या टप्प्यात आहेत आणि अशी शक्यता आहे की इष्टतम ब्रिज डिझाइन अद्याप शोधले गेले नाही. पुलांच्या अलीकडील खाच आहेत.", - "layer-2-faq-question-5-title": "काही लेयर 2 प्रकल्प येथे सूचीबद्ध का नाहीत?", - "layer-2-faq-question-5-description-1": "आम्ही हे सुनिश्चित करू इच्छितो की आम्ही शक्य तितक्या सर्वोत्तम संसाधनांची यादी करतो जेणेकरून वापरकर्ते लेयर 2 जागा सुरक्षित आणि आत्मविश्वासाने नेव्हिगेट करू शकतील. समाविष्ट करण्यासाठी प्रकल्पांचे मूल्यमापन कसे केले जाते यासाठी आम्ही निकषांची चौकट राखतो.", - "layer-2-faq-question-5-view-listing-policy": "आमचे स्तर 2 सूची धोरण येथे पहा.", - "layer-2-faq-question-5-description-2": "कोणीही ethereum.org वर लेयर 2 जोडण्याचा सल्ला देण्यास मोकळे आहे. आम्‍ही चुकलेला लेयर 2 असल्यास, कृपया ते सुचवा.", - "layer-2-further-reading-title": "Further reading", - "a-rollup-centric-ethereum-roadmap": "रोलअप-केंद्रित ethereum रोडमॅप", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "पॉलीगॉन साइडचेन वि Ethereum रोलअप्स: लेयर 2 स्केलिंग पध्दती| विटालिक बुटेरिन आणि लेक्स फ्रिडमन", - "rollups-the-ultimate-ethereum-scaling-strategy": "रोलअप्स - अंतिम Ethereum स्केलिंग धोरण? Arbitrum आणि Optimism स्पष्ट केले", - "scaling-layer-1-with-shard-chains": "शार्ड चेनसह स्केलिंग लेयर 1", - "understanding-rollup-economics-from-first-principals": "पहिल्या तत्त्वांवरून रोलअप अर्थशास्त्र समजून घेणे", - "arbitrum-description": "Arbitrum One हा एक आशावादी रोलअप आहे ज्याचा उद्देश Ethereum शी संवाद साधण्यासारखा आहे, परंतु व्यवहारांसाठी ते L1 वर जे काही करतात त्याच्या काही अंशी किंमत आहे.", - "optimism-description": "Optimism हा एक जलद, साधा आणि सुरक्षित EVM-समतुल्य आशावादी रोलअप आहे. हे Ethereum च्या तंत्रज्ञानाला स्केल करते आणि पूर्वलक्षी सार्वजनिक वस्तूंच्या निधीद्वारे त्याची मूल्ये देखील वाढवते.", - "boba-description": "Boba हा एक आशावादी रोलअप आहे जो मूळतः Optimism मधून तयार केलेला आहे जो एक स्केलिंग सोल्यूशन आहे ज्याचा उद्देश गॅस फी कमी करणे, ट्रान्झॅक्शन थ्रूपुट सुधारणे आणि स्मार्ट कॉन्ट्रॅक्ट्सची क्षमता वाढवणे आहे.", - "loopring-description": "लूपिंग च्या zkRollup L2 सोल्यूशनचे उद्दिष्ट Ethereum मेननेट प्रमाणेच सुरक्षिततेची हमी देण्याचे आहे, मोठ्या प्रमाणात स्केलेबिलिटी बूस्टसह: थ्रुपुट 1000x ने वाढले, आणि किंमत L1 च्या फक्त 0.1% पर्यंत कमी झाली.", - "zksync-description": "ZKsync हे मॅटर लॅब्सचे वापरकर्ता-केंद्रित zk रोलअप प्लॅटफॉर्म आहे. हे Ethereum साठी स्केलिंग सोल्यूशन आहे, आधीच Ethereum मेननेट वर लाइव्ह आहे. हे पेमेंट, टोकन स्वॅप आणि NFT मिंटिंगला समर्थन देते.", - "zkspace-description": "ZKSpace प्लॅटफॉर्ममध्ये तीन मुख्य भाग आहेत: ZKSwap नावाची ZK-Rollups तंत्रज्ञान वापरणारी लेयर 2 AMM DEX, ZKSquare नावाची पेमेंट सेवा आणि ZKSea नावाची NFT मार्केटप्लेस.", - "aztec-description": "Aztec नेटवर्क हे Ethereum वरील पहिले खाजगी zk-रोलअप आहे, जे विकेंद्रित अनुप्रयोगांना गोपनीयता आणि स्केलमध्ये प्रवेश करण्यास सक्षम करते.", - "layer-2-note": "सूचना:", - "layer-2-ecosystem-portal": "पारिस्थितिकी तंत्र पोर्टल", - "layer-2-token-lists": "प्रतिक सूचियाँ", - "layer-2-explore": "अन्वेषण", - "page-dapps-ready-button": "Go" -} diff --git a/src/intl/ms/page-layer-2.json b/src/intl/ms/page-layer-2.json deleted file mode 100644 index 37854f63a26..00000000000 --- a/src/intl/ms/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "Bukti penipuan hanya untuk pengguna yang disenarai putih, senarai putih tidak dibuka lagi", - "layer-2-boba-note": "Pengesahan keadaan sedang dibangunkan", - "layer-2-optimism-note": "Bukti salah sedang dibangunkan", - "layer-2-hero-title": "Layer 2", - "layer-2-hero-header": "Ethereum untuk semua", - "layer-2-hero-subtitle": "Meningkatkan skala Ethereum untuk penggunaan besar-besaran.", - "layer-2-hero-alt-text": "Ilustrasi transaksi dilancarkan pada lapisan 2 dan disiarkan ke Rangkaian Utama Ethereum", - "layer-2-hero-button-1": "Apakah itu lapisan 2", - "layer-2-hero-button-2": "Gunakan lapisan 2", - "layer-2-hero-button-3": "Berpindah ke lapisan 2", - "layer-2-statsbox-1": "TVL dikunci dalam lapisan 2 (USD)", - "layer-2-statsbox-2": "Purata fi pemindahan ETH lapisan 2 (USD)", - "layer-2-statsbox-3": "Perubahan TVL Lapisan 2 (30 hari)", - "layer-2-what-is-layer-2-title": "Apakah itu lapisan 2?", - "layer-2-what-is-layer-2-1": "Lapisan 2 (L2) ialah istilah kolektif untuk menggambarkan set tertentu penyelesaian penskalaan Ethereum. Lapisan 2 ialah blok rantai berasingan yang memanjangkan Ethereum dan mewarisi jaminan keselamatan Ethereum.", - "layer-2-what-is-layer-2-2": "Sekarang mari kita mendalami lagi. Untuk melakukan ini kita perlu menjelaskan lapisan 1 (L1).", - "layer-2-what-is-layer-1-title": "Apakah itu lapisan 1?", - "layer-2-what-is-layer-1-1": "Lapisan 1 ialah blok rantai asas. Ethereum dan Bitcoin ialah blok rantai lapisan 1 kerana kedua-duanya asas yang mendasari pelbagai rangkaian lapisan 2. Contoh projek lapisan 2 termasuk \"gulungan\" pada Ethereum dan Rangkaian Kilat pada Bitcoin. Semua aktiviti transaksi pengguna pada projek lapisan 2 akhirnya boleh kembali ke blok rantai lapisan 1.", - "layer-2-what-is-layer-1-2": "Ethereum juga berfungsi sebagai lapisan ketersediaan data untuk lapisan 2. Projek lapisan 2 akan menyiarkan data transaksi ke Ethereum, serta bergantung pada Ethereum untuk ketersediaan data. Data ini boleh digunakan untuk mendapatkan keadaan lapisan 2, atau untuk mempertikaikan transaksi pada lapisan 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum sebagai lapisan 1 termasuk:", - "layer-2-what-is-layer-1-list-1": "Sebuah rangkaian pengendali nod untuk menjamin dan mengesahkan rangkaian", - "layer-2-what-is-layer-1-list-2": "Sebuah rangkaian pengeluar blok", - "layer-2-what-is-layer-1-list-3": "Blok rantai sendiri dan sejarah data transaksi", - "layer-2-what-is-layer-1-list-4": "Mekanisme konsensus untuk rangkaian", - "layer-2-what-is-layer-1-list-link-1": "Masih keliru tentang Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Ketahui perihalan Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Mengapa kita perlukan lapisan 2?", - "layer-2-why-do-we-need-layer-2-1": "Tiga sifat yang diingini daripada blok rantai adalah bahawa ia ternyahpusat, selamat dan boleh diskala. Trilema blok rantai menyatakan bahawa seni bina blok rantai yang ringkas hanya boleh mencapai dua daripada tiga. Inginkan blok rantai yang selamat dan ternyahpusat? Anda perlu mengorbankan kebolehskalaan.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum kini memproses 1+ juta transaksi setiap hari. Permintaan untuk menggunakan Ethereum boleh menyebabkan harga fi transaksi menjadi tinggi. Di sinilah kegunaan rangkaian lapisan 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Kebolehskalaan", - "layer-2-why-do-we-need-layer-2-scalability-1": "Matlamat utama lapisan 2 adalah untuk meningkatkan daya pemprosesan transaksi (transaksi lebih tinggi sesaat) tanpa mengorbankan penyahpusatan atau keselamatan.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Rangkaian Utama Ethereum (lapisan 1) hanya dapat memproses kira-kira 15 transaksi setiap saat. Apabila permintaan untuk menggunakan Ethereum tinggi, rangkaian menjadi sesak, yang meningkatkan fi transaksi dan mengecualikan pengguna yang tidak mampu membayar fi tersebut. Lapisan 2 ialah penyelesaian yang mengurangkan fi tersebut dengan memproses transaksi daripada blok rantai lapisan 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Maklumat lanjut tentang visi Ethereum", - "layer-2-benefits-of-layer-2-title": "Manfaat lapisan 2", - "layer-2-lower-fees-title": "Fi lebih rendah", - "layer-2-lower-fees-description": "Dengan menggabungkan berbilang transaksi luar rantaian ke dalam satu transaksi lapisan 1, fi transaksi dikurangkan secara besar-besaran, menjadikan Ethereum lebih mudah diakses untuk semua.", - "layer-2-maintain-security-title": "Mengekalkan keselamatan", - "layer-2-maintain-security-description": "Blok rantai lapisan 2 menyelesaikan transaksi Rangkaian Utama di Ethereum, membolehkan pengguna mendapat manfaat daripada keselamatan rangkaian Ethereum.", - "layer-2-expand-use-cases-title": "Memperluas kes penggunaan", - "layer-2-expand-use-cases-description": "Dengan transaksi yang lebih tinggi sesaat, fi yang lebih rendah dan teknologi baharu, projek akan berkembang kepada aplikasi baru dengan pengalaman pengguna yang lebih baik.", - "layer-2-how-does-layer-2-work-title": "Bagaimana lapisan 2 berfungsi?", - "layer-2-how-does-layer-2-work-1": "Seperti yang kami sebutkan di atas, lapisan 2 ialah istilah kolektif untuk penyelesaian penskalaan Ethereum yang mengendalikan transaksi di luar lapisan 1 Ethereum sambil masih memanfaatkan keselamatan lapisan 1 Ethereum yang teguh. Lapisan 2 ialah blok rantai berasingan yang melanjutkan Ethereum. Bagaimana ia berfungsi?", - "layer-2-how-does-layer-2-work-2": "Terdapat beberapa jenis lapisan 2, masing-masing mempunyai kelemahan dan model keselamatan sendiri. Lapisan 2 mengambil beban transaksi daripada lapisan 1, membolehkan ia kurang sesak, dan segala-galanya menjadi lebih mudah diskala.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Gulungan memberkaskan beratus-ratus transaksi ke dalam satu transaksi pada lapisan 1. Ini mengagihkan fi transaksi L1 merentasi semua orang dalam gulungan, menjadikan fi lebih murah bagi setiap pengguna.", - "layer-2-rollups-2": "Transaksi gulungan dilaksanakan di luar lapisan 1 tetapi data transaksi diserahkan ke lapisan 1. Dengan menyerahkan data transaksi ke lapisan 1, gulungan mewarisi keselamatan Ethereum. Ini kerana apabila data dimuat naik ke lapisan 1, membuat asal transaksi gulungan memerlukan Ethereum juga dibuat asal. Terdapat dua pendekatan yang berbeza untuk gulungan: optimistik dan pengetahuan sifar - kedua-duanya berbeza terutamanya tentang cara data transaksi ini dikemukakan kepada L1.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Gulungan optimistik adalah 'optimistik' dalam erti kata bahawa transaksi dianggap sah, tetapi boleh dicabar jika perlu. Jika transaksi tidak sah disyaki, bukti kesalahan dijalankan untuk melihat jika ini telah berlaku.", - "layer-2-optimistic-rollups-childSentance": "Lebih kepada gulungan optimistik", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "Gulungan pengetahuan sifar menggunakan bukti sah iaitu transaksi dikira di luar rantaian, dan kemudian data termampat dibekalkan kepada Rangkaian Utama Ethereum sebagai bukti kesahihan.", - "layer-2-zk-rollups-childSentance": "Maklumat lanjut tentang gulungan ZK", - "layer-2-dyor-title": "Melakukan penyelidikan anda sendiri: risiko lapisan 2", - "layer-2-dyor-1": "Banyak projek lapisan 2 agak baharu dan masih memerlukan pengguna untuk mempercayai kejujuran sesetengah pengendali ketika mereka mengusahakan penyahpusatan rangkaian mereka. Sentiasa buat penyelidikan anda sendiri untuk menentukan sama ada anda selesa dengan sebarang risiko yang terlibat.", - "layer-2-dyor-2": "Untuk maklumat lanjut tentang teknologi, risiko dan andaian kepercayaan lapisan 2, kami mengesyorkan anda menyemak L2BEAT, yang menyediakan rangka kerja penilaian risiko komprehensif bagi setiap projek.", - "layer-2-dyor-3": "Pergi ke L2BEAT", - "layer-2-use-layer-2-title": "Gunakan lapisan 2", - "layer-2-use-layer-2-1": "Sekarang anda faham sebab lapisan 2 wujud dan cara ia berfungsi, mari kita buat persediaan untuk anda!", - "layer-2-contract-accounts": "Jika anda menggunakan dompet kontrak pintar seperti Safe atau Argent, anda tidak akan mempunyai kawalan ke atas alamat ini pada lapisan 2 sehingga anda menggunakan semula akaun kontrak anda ke alamat tersebut pada lapisan 2. Akaun klasik dengan ungkapan pemulihan secara automatik akan memiliki akaun yang sama pada semua rangkaian lapisan 2.", - "layer-2-use-layer-2-generalized-title": "Lapisan umum 2", - "layer-2-use-layer-2-generalized-1": "Lapisan umum 2 berkelakuan sama seperti Ethereum — tetapi lebih murah. Apa-apa yang anda boleh lakukan pada lapisan Ethereum 1, anda juga boleh lakukan pada lapisan 2. Banyak dapp telah mula berhijrah ke rangkaian ini atau telah melangkau Rangkaian Utama sama sekali untuk menggunakan terus pada lapisan 2.", - "layer-2-use-layer-2-application-specific-title": "Lapisan 2 khusus aplikasi", - "layer-2-use-layer-2-application-specific-1": "Lapisan 2 khusus aplikasi ialah projek yang khusus untuk pengoptimuman bagi ruang aplikasi tertentu, membawa prestasi yang lebih baik.", - "layer-2-sidechains-title": "Nota pada rantai sisi, validium, dan blok rantai alternatif", - "layer-2-sidechains-1": "Rantai sisi dan validium ialah blok rantai yang membolehkan aset daripada Ethereum dihubungkan melalui jambatan dan digunakan pada blok rantai lain. Rantai sisi dan validium berjalan selari dengan Ethereum, dan berinteraksi dengan Ethereum melalui jambatan, tetapi tidak memperoleh keselamatan atau ketersediaan data daripada Ethereum.", - "layer-2-sidechains-2": "Kedua-dua diskala sama dengan lapisan 2 - menawarkan fi transaksi yang lebih rendah dan daya pemprosesan transaksi yang lebih tinggi - tetapi mempunyai andaian kepercayaan yang berbeza.", - "layer-2-more-on-sidechains": "Maklumat lanjut tentang rantai sisi", - "layer-2-more-on-validiums": "Maklumat lanjut tentang validium", - "layer-2-sidechains-4": "Sesetengah blok rantai lapisan 1 melaporkan daya pemprosesan lebih tinggi dan fi transaksi yang lebih rendah daripada Ethereum, tetapi secara umumnya ada keseimbangan dalam aspek lain, contohnya syarat perkakasan lebih tinggi untuk menjalankan nod.", - "layer-2-onboard-title": "Cara memasuki lapisan 2", - "layer-2-onboard-1": "Terdapat dua cara utama untuk memasukkan aset anda ke lapisan 2: hubungkan dana melalui jambatan dari Ethereum menggunakan kontrak pintar atau keluarkan dana anda di bursa terus ke rangkaian lapisan 2.", - "layer-2-onboard-wallet-title": "Dana dalam dompet anda?", - "layer-2-onboard-wallet-1": "Jika anda sudah ada ETH dalam dompet anda, anda perlu menggunakan jambatan untuk memindahkan ETH itu daripada Rangkaian Utama Ethereum ke lapisan 2.", - "layer-2-more-on-bridges": "Maklumat lanjut tentang jambatan", - "layer-2-onboard-wallet-input-placeholder": "Pilih L2 yang anda mahu hubungkan jambatan", - "layer-2-onboard-wallet-selected-1": "Anda boleh menyambung ke", - "layer-2-onboard-wallet-selected-2": "menggunakan dompet ini:", - "layer-2-bridge": "Jambatan", - "layer-2-onboard-exchange-title": "Dana pada bursa?", - "layer-2-onboard-exchange-1": "Beberapa bursa tukaran berpusat kini menawarkan pengeluaran langsung dan deposit kepada lapisan 2. Semak bursa yang menyokong pengeluaran lapisan 2 dan jenis lapisan 2 yang disokong.", - "layer-2-onboard-exchange-2": "Anda juga akan memerlukan dompet untuk menerima dana yang dikeluarkan.", - "layer-2-onboard-find-a-wallet": "Cari dompet Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Periksa bursa yang menyokong L2", - "layer-2-deposits": "Deposit", - "layer-2-withdrawals": "Pengeluaran", - "layer-2-go-to": "Pergi ke", - "layer-2-tools-title": "Alat yang berkesan pada lapisan 2", - "layer-2-tools-l2beat-description": "L2BEAT merupakan sumber yang hebat untuk melihat penilaian risiko teknikal bagi projek-projek lapisan 2. Kami mengesyorkan memeriksa sumber tersebut apabila menyelidik projek lapisan 2 tertentu.", - "layer-2-tools-l2fees-description": "Fi L2 membolehkan anda melihat kos semasa (dalam mata wang USD) untuk melakukan transaksi pada lapisan 2 yang berbeza.", - "layer-2-tools-chainlist-description": "Chainlist ialah sumber yang hebat untuk mengimport RPC rangkaian ke dalam dompet sokongan. Anda akan mendapati RPC untuk projek lapisan 2 di sini untuk membantu anda bersambung.", - "layer-2-tools-zapper-description": "Uruskan portfolio web3 anda daripada DeFi ke NFT dan apa sahaja yang akan datang. Buat pelaburan terhadap peluang terkini dari satu tempat yang mudah.", - "layer-2-tools-zerion-description": "Membina dan menguruskan keseluruhan portfolio DeFi anda dari satu tempat. Terokai dunia kewangan ternyahpusat hari ini.", - "layer-2-tools-debank-description": "Teruskan dengan semua kejadian penting dalam dunia web3", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Mengapa tiada L2 Ethereum 'rasmi'?", - "layer-2-faq-question-1-description-1": "Sama seperti tiada pelanggan Ethereum 'rasmi', tiada lapisan 2 Ethereum 'rasmi'. Ethereum tidak memerlukan izin - sesiapa sahaja boleh mencipta lapisan 2! Pelbagai pasukan akan melaksanakan versi lapisan 2 mereka sendiri, dan ekosistem secara keseluruhan akan mendapat manfaat daripada kepelbagaian pendekatan reka bentuk yang dioptimumkan untuk kes penggunaan yang berbeza. Sama seperti kami mempunyai pelbagai pelanggan Ethereum yang dibangunkan oleh pelbagai pasukan untuk mempunyai kepelbagaian dalam rangkaian, ini juga akan menjadi cara lapisan 2 berkembang pada masa akan datang.", - "layer-2-faq-question-2-title": "Apakah perbezaan antara gulungan optimistik dan pengetahuan sifar?", - "layer-2-faq-question-2-description-1": "Kedua-dua gulungan optimistik dan pengetahuan sifar memberkas (atau 'menggulung') beratus-ratus transaksi ke dalam satu transaksi pada lapisan 1. Transaksi gulungan dilaksanakan di luar lapisan 1 tetapi data transaksi akan disiarkan kepada lapisan 1.", - "layer-2-faq-question-2-description-2": "Perbezaan utama ialah data yang disiarkan pada lapisan 1 dan cara data disahkan. Bukti kesahihan (digunakan oleh gulungan pengetahuan sifar) menjalankan pengiraan di luar rantaian dan menyiarkan bukti, manakala bukti kesalahan (digunakan oleh gulungan optimistik) hanya menjalankan pengiraan di rantaian apabila kesalahan disyaki dan mesti diperiksa.", - "layer-2-faq-question-2-description-3": "Pada masa ini, kebanyakan gulungan ZK adalah khusus aplikasi, berbeza dengan gulungan optimistik yang sebahagian besarnya menyeluruh.", - "layer-2-more-info-on-optimistic-rollups": "Maklumat lanjut tentang gulungan optimistik", - "layer-2-more-info-on-zk-rollups": "Maklumat lanjut tentang gulungan pengetahuan sifar", - "layer-2-faq-question-4-title": "Apakah risiko dengan lapisan 2?", - "layer-2-faq-question-4-description-1": "Projek Lapisan 2 mengandungi risiko tambahan berbanding dengan memegang dana dan berurus niaga secara langsung di Rangkaian Utama Ethereum. Sebagai contoh, penjujukan mungkin terhenti, membuat anda terpaksa menunggu untuk mengakses dana.", - "layer-2-faq-question-4-description-2": "Kami menggalakkan anda untuk melakukan penyelidikan anda sendiri sebelum memindahkan dana penting kepada lapisan 2. Untuk maklumat lanjut tentang teknologi, risiko dan andaian kepercayaan lapisan 2, kami mengesyorkan anda menyemak L2BEAT, yang menyediakan rangka kerja penilaian risiko komprehensif bagi setiap projek.", - "layer-2-faq-question-4-description-3": "Jambatan blok rantai, yang memudahkan pemindahan aset ke lapisan 2, berada dalam peringkat awal pembangunan dan reka bentuk jambatan optimum mungkin belum ditemui. Terdapat godaman jambatan baru-baru ini.", - "layer-2-faq-question-5-title": "Mengapakah sesetengah projek lapisan 2 tidak disenaraikan di sini?", - "layer-2-faq-question-5-description-1": "Kami mahu memastikan sumber terbaik yang mungkin disenaraikan supaya pengguna boleh menavigasi ruang lapisan 2 secara selamat dan yakin. Kami mengekalkan rangka kriteria tentang cara projek dinilai bagi tujuan keterangkuman.", - "layer-2-faq-question-5-view-listing-policy": "Lihat dasar penyenaraian lapisan 2 kami di sini.", - "layer-2-faq-question-5-description-2": "Sesiapa sahaja bebas mencadangkan penambahan lapisan 2 pada ethereum.org. Jika terdapat lapisan 2 yang kami terlepas, sila cadangkan.", - "layer-2-further-reading-title": "Bacaan lanjut", - "a-rollup-centric-ethereum-roadmap": "Peta hala tuju ethereum yang tertumpu pada gulungan", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Rantai sisi Poligon berbanding Gulungan Ethereum: pendekatan penskalaan lapisan 2| Vitalik Buterin dan Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "GULUNGAN - Strategi Penskalaan Ethereum yang Unggul? Arbitrum dan Optimism dijelaskan", - "scaling-layer-1-with-shard-chains": "Penskalaan lapisan 1 dengan rantai pecahan", - "understanding-rollup-economics-from-first-principals": "Memahami ekonomi gulungan daripada prinsipal pertama", - "arbitrum-description": "Arbitrum One ialah Gulungan Optimistik yang bertujuan untuk rasa sama seperti berinteraksi dengan Ethereum, tetapi dengan transaksi yang mempunyai sebahagian kecil kos berbanding dengan yang diperlakukan pada L1.", - "optimism-description": "Optimism ialah gulungan optimistik setara EVM yang cepat, ringkas dan selamat. Ia menskala teknologi Ethereum sambil menskala nilainya melalui pembiayaan barangan awam retroaktif.", - "boba-description": "Boba ialah Gulungan Optimistik yang pada asalnya bercabang daripada Optimism, iaitu penyelesaian penskalaan yang bertujuan untuk mengurangkan fi gas, meningkatkan daya pemprosesan transaksi dan memperluaskan keupayaan kontrak pintar.", - "loopring-description": "Penyelesaian L2 zkRollup Loopring bertujuan untuk menawarkan jaminan keselamatan yang sama seperti rangkaian utama Ethereum, dengan peningkatan kebolehskalaan besar: daya pemprosesan ditingkatkan sebanyak 1000x, dan kos dikurangkan kepada hanya 0.1% daripada L1.", - "zksync-description": "ZKsync ialah platform gulungan zk berpusatkan pengguna daripada Matter Labs. Ia merupakan penyelesaian penskalaan untuk Ethereum, yang sudah aktif di rangkaian utama Ethereum. Ia menyokong pembayaran, pertukaran token dan penempaan NFT.", - "zkspace-description": "Platform ZKSpace terdiri daripada tiga bahagian utama: lapisan 2 AMM DEX menggunakan teknologi Gulungan ZK yang dikenali sebagai ZKSwap, perkhidmatan pembayaran yang dikenali sebagai ZKSquare, dan pasaran NFT dikenali sebagai ZKSea.", - "aztec-description": "Aztec Network ialah gulungan zk persendirian pertama di Ethereum, membolehkan aplikasi ternyahpusat untuk mengakses privasi dan skala.", - "layer-2-note": "Nota:", - "layer-2-ecosystem-portal": "Portal Ekosistem", - "layer-2-token-lists": "Senarai Token", - "layer-2-explore": "Terokai", - "page-dapps-ready-button": "Pergi" -} diff --git a/src/intl/nl/page-layer-2.json b/src/intl/nl/page-layer-2.json deleted file mode 100644 index 6c0e4270a03..00000000000 --- a/src/intl/nl/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "Fraud proofs alleen voor gewhiteliste gebruikers, whitelist is nog niet geopend", - "layer-2-boba-note": "Staatsvalidatie in ontwikkeling", - "layer-2-optimism-note": "Fault proofs in ontwikkeling", - "layer-2-hero-title": "Laag 2", - "layer-2-hero-header": "Ethereum voor iedereen", - "layer-2-hero-subtitle": "Ethereum opschalen voor massale aanname.", - "layer-2-hero-alt-text": "Illustratie van transacties die op laag 2 worden uitgevoerd en geplaatst op het Ethereum-hoofdnet", - "layer-2-hero-button-1": "Wat is laag 2", - "layer-2-hero-button-2": "Gebruik laag 2", - "layer-2-hero-button-3": "Verplaats naar laag 2", - "layer-2-statsbox-1": "TVL vergrendeld in laag 2 (USD)", - "layer-2-statsbox-2": "Gemiddelde ETH-overschrijvingsvergoeding van laag 2 (USD)", - "layer-2-statsbox-3": "TVL-verandering van laag 2 (30 dagen)", - "layer-2-what-is-layer-2-title": "Wat is laag 2?", - "layer-2-what-is-layer-2-1": "Laag 2 (L2) is een collectieve term om een specifieke set van Ethereum-schaaloplossingen te beschrijven. Een laag 2 is een aparte blockchain die Ethereum uitbreidt en de beveiligingsgaranties van Ethereum overerft.", - "layer-2-what-is-layer-2-2": "Laten we hier nu wat dieper op ingaan. Hiervoor moeten we eerst laag 1 (L1) uitleggen.", - "layer-2-what-is-layer-1-title": "Wat is laag 1?", - "layer-2-what-is-layer-1-1": "Laag 1 is de basis blockchain. Ethereum en Bitcoin zijn beide laag 1-blockchains omdat ze de onderliggende basis vormen waarop verscheidene laag 2-netwerken opgebouwd worden. Voorbeelden van laag 2-projecten zijn \"rollups\" op Ethereum en het Lightning Netwerk op Bitcoin. Alle gebruikerstransactie-activiteiten op deze laag-2 projecten kunnen uiteindelijk teruggeplaatst worden op de laag 1-blockchain.", - "layer-2-what-is-layer-1-2": "Ethereum functioneert ook als een databeschikbaarheidslaag voor laag 2. Laag 2-projecten zullen hun transactiegegevens op Ethereum plaatsen en vertrouwen op Ethereum voor de beschikbaarheid van gegevens. Deze gegevens kunnen gebruikt worden om de status van laag 2 te verkrijgen of om transacties op laag 2 te betwisten.", - "layer-2-what-is-layer-1-list-title": "Ethereum als laag 1 bevat:", - "layer-2-what-is-layer-1-list-1": "Een netwerk van node-beheerders om het netwerk te beveiligen en te valideren", - "layer-2-what-is-layer-1-list-2": "Een netwerk van blokproducenten", - "layer-2-what-is-layer-1-list-3": "De blockchain zelf en de geschiedenis van transactiegegevens", - "layer-2-what-is-layer-1-list-4": "Het consensusmechanisme voor het netwerk", - "layer-2-what-is-layer-1-list-link-1": "Nog steeds in de war over Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Leer wat Ethereum is.", - "layer-2-why-do-we-need-layer-2-title": "Waarom hebben we laag 2 nodig?", - "layer-2-why-do-we-need-layer-2-1": "De drie wenselijke eigenschappen van een blockchain zijn dat het gedecentraliseerd, veilig en schaalbaarmoet zijn. Het blockchain trilemma stelt dat een eenvoudige blockchainarchitectuur maar twee van de drie kan bereiken. Wil je een veilige en gedecentraliseerde blockchain? Dan moet je schaalbaarheid opofferen.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum verwerkt momenteel meer dan 1 miljoen transacties per dag. De vraag om Ethereum te gebruiken kan ervoor zorgen dat de transactiekosten hoog oplopen. Dit is waar laag 2-netwerken een rol spelen.", - "layer-2-why-do-we-need-layer-2-scalability": "Schaalbaarheid", - "layer-2-why-do-we-need-layer-2-scalability-1": "Het hoofddoel van laag 2 is om de transactiecapaciteit te verhogen (meer transacties per seconde) zonder in te boeten aan decentralisatie of veiligheid.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Het Ethereum-hoofdnet (laag 1) is enkel in staat om ongeveer 15 transacties per seconde te verwerken. Wanneer de vraag om Ethereum te gebruiken hoog is, raakt het netwerk verstopt, waardoor de transactiekosten toenemen en gebruikers die deze niet meer kunnen betalen uitgeprijsd worden. Laag 2-projecten zijn oplossingen die deze kosten verlagen door transacties te verwerken buiten de laag 1-blockchain.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Meer over de visie van Ethereum", - "layer-2-benefits-of-layer-2-title": "Voordelen van laag 2", - "layer-2-lower-fees-title": "Lagere kosten", - "layer-2-lower-fees-description": "Door meerdere off-chain transacties te combineren in één enkele laag 1-transactie, worden de transactiekosten enorm verlaagd, waardoor Ethereum toegankelijker wordt voor iedereen.", - "layer-2-maintain-security-title": "Veiligheid blijft behouden", - "layer-2-maintain-security-description": "Laag 2-blockchains vereffenen hun transacties op het Ethereum-hoofdnet, waardoor gebruikers kunnen profiteren van de beveiliging van het Ethereum-netwerk.", - "layer-2-expand-use-cases-title": "Meer use cases", - "layer-2-expand-use-cases-description": "Met meer transacties per seconde, lagere kosten en nieuwe technologie zullen projecten uitbreiden tot nieuwere toepassingen met een verbeterde gebruikerservaring.", - "layer-2-how-does-layer-2-work-title": "Hoe werkt laag 2?", - "layer-2-how-does-layer-2-work-1": "Zoals hierboven vermeld is laag 2 een verzamelterm voor de schaaloplossingen van Ethereum die transacties verwerken buiten Ethereum laag 1, en tegelijkertijd maakt deze laag gebruik van de robuuste gedecentraliseerde beveiliging van Ethereum laag 1. Een laag 2 is een aparte blockchain die Ethereum uitbreidt. Hoe werkt dit?", - "layer-2-how-does-layer-2-work-2": "Er zijn verschillende soorten laag 2, elk met zijn eigen afwegingen en veiligheidsmodel. Een laag 2 neemt de transactielast over van laag 1 zodat deze minder overbelast wordt en alles schaalbaarder wordt.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Rollups bundelen (of 'roll up') honderden transacties in één enkele transactie op laag 1. Dit verdeelt de L1-transactiekosten over iedereen in de rollup, wat het voor elke gebruiker goedkoper maakt.", - "layer-2-rollups-2": "Rollup-transacties worden uitgevoerd buiten laag 1, maar de transactiedata worden verzonden naar laag 1. Door het verzenden van transactiedata naar laag 1 erven rollups de veiligheid van Ethereum. Dit komt omdat, zodra de data op laag 1 staan, een rollup-transactie terugdraaien gelijkstaat aan het terugdraaien van Ethereum. Er zijn twee verschillende benaderingen voor rollups: optimistic en zero-knowledge. Deze verschillen voornamelijk in de manier waarop de transactiedata naar L1 worden verzonden.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Optimistic rollups zijn 'optimistisch' in de zin dat transacties als geldig worden beschouwd, maar kunnen worden betwist indien nodig. Als er vermoeden is van een ongeldige transactie, wordt een foutencontrole uitgevoerd om na te gaan of dit klopt.", - "layer-2-optimistic-rollups-childSentance": "Meer over optimistic rollups", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "Zero-knowledge rollups gebruiken geldigheidsbewijzen wanneer transacties buiten de keten worden berekend, en vervolgens worden gecomprimeerde gegevens aan het Ethereum-hoofdnet verstrekt als bewijs van hun geldigheid.", - "layer-2-zk-rollups-childSentance": "Meer over ZK-rollups", - "layer-2-dyor-title": "Doe uw eigen onderzoek: risico's van laag 2", - "layer-2-dyor-1": "Veel laag 2-projecten zijn redelijk nieuw en vereisen nog steeds dat gebruikers sommige operatoren als eerlijk moeten beschouwen, terwijl ze verder werken aan de decentralisatie van hun netwerken. Doe altijd je eigen onderzoek om te beslissen of je je op je gemak voelt met eventuele risico's.", - "layer-2-dyor-2": "Voor meer informatie over de technologie, risico's en betrouwbaarheid van laag 2'en, bevelen we u aan om L2BEAT te bekijken, dat een uitgebreid framework voor risicobeoordeling van elk project biedt.", - "layer-2-dyor-3": "Ga naar L2BEAT", - "layer-2-use-layer-2-title": "Gebruik laag 2", - "layer-2-use-layer-2-1": "Nu u begrijpt waarom laag 2 bestaat en hoe het werkt, kunnen we u op weg helpen!", - "layer-2-contract-accounts": "Als je gebruikt maakt van een portemonnee met slimme contracten zoals Safe of Argent, heb je geen controle over dit adres op een laag 2 totdat je jouw contractaccount naar dat adres herlanceert op de laag 2. Klassieke accounts met een herstelzin bezitten automatisch hetzelfde account op alle laag 2-netwerken.", - "layer-2-use-layer-2-generalized-title": "Gegeneraliseerde laag 2'en", - "layer-2-use-layer-2-generalized-1": "Gegeneraliseerde laag 2'en gedragen zich net als Ethereum - maar goedkoper. Alles wat je met Ethereums laag 1 kunt doen, kun je ook met laag 2 doen. Veel dapps zijn al begonnen met naar deze netwerken te migreren of hebben het hoofdnet helemaal overgeslagen om rechtstreeks op laag 2 te implementeren.", - "layer-2-use-layer-2-application-specific-title": "Toepassingsspecifieke laag 2'en", - "layer-2-use-layer-2-application-specific-1": "Toepassingsspecifieke laag 2'en zijn projecten die gespecialiseerd zijn in het optimaliseren van een specifieke toepassingsruimte, wat leidt tot verbeterde prestaties.", - "layer-2-sidechains-title": "Een opmerking over sidechains, validiums en alternatieve blockchains", - "layer-2-sidechains-1": "Sidechains en validiums zijn blockchains waarmee assets van Ethereum kunnen worden overbrugd en gebruikt op een andere blockchain. Sidechains en validiums lopen parallel met Ethereum en communiceren met Ethereum via bridges, maar ze ontlenen hun veiligheid of gegevensbeschikbaarheid niet van Ethereum.", - "layer-2-sidechains-2": "Beide worden op vergelijkbare wijze op laag 2'en geschaald - ze bieden lagere transactiekosten en hogere transactiedoorvoer - maar hebben verschillende aannames ten aanzien van het vertrouwen.", - "layer-2-more-on-sidechains": "Meer informatie over sidechains", - "layer-2-more-on-validiums": "Meer informatie over validiums", - "layer-2-sidechains-4": "Sommige laag 1-blockchains vermelden hogere capaciteit en lagere transactiekosten dan Ethereum, maar doorgaans met afwegingen op andere vlakken, bijvoorbeeld hogere eisen aan hardware om een node te draaien.", - "layer-2-onboard-title": "Zo komt u op een laag 2", - "layer-2-onboard-1": "Er zijn twee manieren om uw assets op laag 2 te krijgen: geld overbruggen van Ethereum (via een slim contract) of uw geld direct via een exchange opnemen en op het laag 2-netwerk zetten.", - "layer-2-onboard-wallet-title": "Middelen in je portemonnee?", - "layer-2-onboard-wallet-1": "Als u al ETH in uw portemonnee heeft, moet u een bridge gebruiken om het van het Ethereum-hoofdnet naar laag 2 te verplaatsen.", - "layer-2-more-on-bridges": "Meer over bridges", - "layer-2-onboard-wallet-input-placeholder": "Selecteer L2 waar u naar wilt overbruggen", - "layer-2-onboard-wallet-selected-1": "U kunt verbinden met", - "layer-2-onboard-wallet-selected-2": "met behulp van deze portemonnees:", - "layer-2-bridge": "Bridge", - "layer-2-onboard-exchange-title": "Middelen op een exchange?", - "layer-2-onboard-exchange-1": "Sommige gecentraliseerde exchanges bieden nu directe opnames en stortingen op laag 2 aan. Bekijk welke exchanges laag 2-opnames ondersteunen en welke laag 2'en ze ondersteunen.", - "layer-2-onboard-exchange-2": "U heeft ook een portemonnee nodig om uw middelen in op te nemen.", - "layer-2-onboard-find-a-wallet": "Zoek een Ethereum-portemonnee.", - "layer-2-onboard-exchange-input-placeholder": "Bekijk exchanges die L2 ondersteunen", - "layer-2-deposits": "Stortingen", - "layer-2-withdrawals": "Opnames", - "layer-2-go-to": "Ga naar", - "layer-2-tools-title": "Tools die effectief zijn op laag 2", - "layer-2-tools-l2beat-description": "L2BEAT is een geweldige bron voor het bekijken van technische risicobeoordelingen van projecten op laag 2. We raden aan om hun hulpbronnen te bekijken bij het onderzoeken van specifieke laag 2-projecten.", - "layer-2-tools-l2fees-description": "Met L2-vergoedingen kunt u de huidige kosten (genoteerd in USD) zien voor transacties op verschillende laag 2'en.", - "layer-2-tools-chainlist-description": "Chainlist is een geweldige bron voor het importeren van netwerk RPC's in ondersteunende portemonnees. U e vindt hier RPC's voor laag 2-projecten om u te helpen starten.", - "layer-2-tools-zapper-description": "Beheer uw hele web3-portfolio, van DeFi tot NFT's en wat er hierna nog komt. Investeer in de laatste kansen vanuit één handige plaats.", - "layer-2-tools-zerion-description": "Bouw en beheer uw hele DeFi-portfolio op één plaats. Ontdek de wereld van gedecentraliseerde financiën vandaag.", - "layer-2-tools-debank-description": "Blijf op de hoogte van alle belangrijke gebeurtenissen in de web3-wereld", - "layer-2-faq-title": "Veelgestelde vragen", - "layer-2-faq-question-1-title": "Waarom is er geen 'officiële' Ethereum L2?", - "layer-2-faq-question-1-description-1": "Net zoals er geen 'officiële' Ethereum-client is, is er geen 'officiële' laag 2 op Ethereum. Ethereum is vrijblijvend - technisch gezien kan iedereen een laag 2 maken! Verschillende teams zullen hun versie van laag 2 implementeren en het ecosysteem als geheel zal profiteren van een verscheidenheid aan benaderingen die zijn geoptimaliseerd voor verschillende gebruiksscenario's. Net als dat er meerdere Ethereum-clients zijn die werden ontwikkeld door verschillende teams om voor diversiteit in het netwerk te zorgen, zal dit ook de manier zijn waarop laag 2'en ontwikkeld zullen worden in de toekomst.", - "layer-2-faq-question-2-title": "Wat is het verschil tussen optimistic rollups en zero-knowledge rollups?", - "layer-2-faq-question-2-description-1": "Zowel optimistic als zero-knowledge rollups bundelen honderden transacties in een enkele transactie op laag 1. Rollup-transacties worden buiten laag 1 uitgevoerd, maar de transactiegegevens worden in laag 1 geplaatst.", - "layer-2-faq-question-2-description-2": "Het primaire verschil is welke gegevens worden geplaatst in laag 1 en hoe de gegevens worden geverifieerd. Bij geldigheidsbewijzen (gebruikt door zero-knowledge rollups) worden de berekeningen off-chain uitgevoerd en wordt een bewijs geplaatst, terwijl bij foutbewijzen (gebruikt door optimistic rollups) de berekeningen alleen on-chain worden uitgevoerd wanneer er een fout wordt vermoed, en deze moeten worden gecontroleerd.", - "layer-2-faq-question-2-description-3": "Op dit moment zijn de meeste ZK-rollups toepassingsspecifiek, in tegenstelling tot optimistic rollups die grotendeels generalistisch zijn.", - "layer-2-more-info-on-optimistic-rollups": "Meer informatie over optimistic rollups", - "layer-2-more-info-on-zk-rollups": "Meer informatie over zero-knowledge rollups", - "layer-2-faq-question-4-title": "Wat zijn de risico's met laag 2?", - "layer-2-faq-question-4-description-1": "Laag 2-projecten bevatten extra risico's in vergelijking met het houden van fondsen en direct transacties uitvoeren op het Ethereum-hoofdnet. Sequencers kunnen bijvoorbeeld dalen, wat ertoe leidt dat u moet wachten op toegang tot uw fondsen.", - "layer-2-faq-question-4-description-2": "We moedigen u aan om uw eigen onderzoek te doen voordat u aanzienlijke bedragen overmaakt naar laag 2. Voor meer informatie over de technologie, risico's en vertrouwensaannames van laag 2'en, raden we u aan omL2BEATte bekijken, wat een uitgebreid framework voor risicobeoordeling van elk project biedt.", - "layer-2-faq-question-4-description-3": "Blockchain-bridges, die transfers van assets naar laag 2 vergemakkelijken, bevinden zich in een vroeg stadium van ontwikkeling en het is waarschijnlijk dat het optimale bridge-ontwerp nog niet is ontdekt. Er vonden recente bridge-hacks plaats.", - "layer-2-faq-question-5-title": "Waarom staan sommige laag 2-projecten hier niet opgesomd?", - "layer-2-faq-question-5-description-1": "We willen ervoor zorgen dat we de best mogelijke bronnen vermelden zodat gebruikers laag 2 op veilige en zekere manier kunnen gebruiken. Wij onderhouden een framework met criteria voor de wijze waarop projecten worden geëvalueerd voor opname.", - "layer-2-faq-question-5-view-listing-policy": "Bekijk hier ons beleid inzake vermelding van laag 2'en.", - "layer-2-faq-question-5-description-2": "Iedereen kan voorstellen om een laag 2 toe te voegen op ethereum.org. Als er een laag 2 is die we hebben gemist, stel deze dan voor.", - "layer-2-further-reading-title": "Verder lezen", - "a-rollup-centric-ethereum-roadmap": "Een rollup-centrische ethereum-roadmap", - "an-incomplete-guide-to-rollups": "Een onvolledige handleiding voor Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Polygon sidechain vs Ethereum rollups: laag 2 schaalmethodologiën| Vitalik Buterin en Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUPS - de ultieme Ethereum-schalingsstrategie? Arbitrum en Optimism verklaard", - "scaling-layer-1-with-shard-chains": "Laag 1 schalen met shardketens", - "understanding-rollup-economics-from-first-principals": "De rollup-economie begrijpen vanuit de eerste beginselen", - "arbitrum-description": "Arbitrum One is een Optimistic Rollup die precies dezelfde interactie wil bieden als met Ethereum, maar dan met transacties die een fractie kosten van wat ze op L1 kosten.", - "optimism-description": "Optimism is een snelle, eenvoudige en veilige EVM-equivalente optimistic rollup. Het schaalt de technologie van Ethereum, terwijl het de waarden daarvan ook schaalt door middel van retroactieve financiering van publieke goederen.", - "boba-description": "Boba is een Optimistic Rollup die oorspronkelijk werd afgeleid van Optimism. Het is een schalingsoplossing die tot doel heeft de gaskosten te verlagen, de transactiedoorvoer te verbeteren en de mogelijkheden van slimme contracten uit te breiden.", - "loopring-description": "De zkRollup L2-oplossing van Loopring heeft tot doel dezelfde beveiligingsgaranties te bieden als het Ethereum-hoofdnet, met een grote schaalbaarheidsimpuls: doorvoer verhoogd met 1000x en de kosten verlaagd tot slechts 0,1% van L1.", - "zksync-description": "ZKsync is een gebruikerscentrisch zk rollup-platform van Matter Labs. Het is een schalingsoplossing voor Ethereum die al live is op het Ethereum-hoofdnet. Het ondersteunt betalingen, tokenuitwisselingen en NFT-minting.", - "zkspace-description": "Het ZKSpace-platform bestaat uit drie hoofddelen: een laag 2 AMM DEX die gebruik maakt van ZK-Rollups-technologie met de naam ZKSwap, een betalingsdienst genaamd ZKSquare en een NFT-marktplaats genaamd ZKSea.", - "aztec-description": "Aztec Network is de eerste private zk-rollup op Ethereum, waardoor gedecentraliseerde toepassingen toegang krijgen tot privacy en schaal.", - "layer-2-note": "Opmerking:", - "layer-2-ecosystem-portal": "Ecosysteemportaal", - "layer-2-token-lists": "Tokenlijsten", - "layer-2-explore": "Verkennen", - "page-dapps-ready-button": "Beginnen" -} diff --git a/src/intl/pcm/page-layer-2.json b/src/intl/pcm/page-layer-2.json deleted file mode 100644 index e5d2bc67089..00000000000 --- a/src/intl/pcm/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "Wi dey only give pruf of fraud to pipol wey dem don put for whitelist, but wi neva open the whitelist", - "layer-2-boba-note": "Validashon of state dey for divelopment", - "layer-2-optimism-note": "Fault pruf dey divelopment", - "layer-2-hero-title": "Layer 2", - "layer-2-hero-header": "Ethereum na for evrybody", - "layer-2-hero-subtitle": "Scaling Ethereum make everybody fit yus.", - "layer-2-hero-alt-text": "Doings of transakshon wey dey roll up on layer 2 and dem post am to ethereum mainnet", - "layer-2-hero-button-1": "Wetin be layer 2", - "layer-2-hero-button-2": "Make yu yus Layer 2", - "layer-2-hero-button-3": "Shift go layer 2", - "layer-2-statsbox-1": "The total value of assets wey dem don lock for layer 2 (for US dollars)", - "layer-2-statsbox-2": "Average fee wey dem dey charge for transfer of ETH for Layer 2 (in US dollars)", - "layer-2-statsbox-3": "How the total value of assets wey dem don lock for Layer 2 change (for the past 30 days)", - "layer-2-what-is-layer-2-title": "Wetin be layer 2?", - "layer-2-what-is-layer-2-1": "Layer 2 (L2) na set of solutions wey dem use take scale Ethereum. Layer 2 na separate blockchain wey dem use extend Ethereum and e still get the same security guarantees wey Ethereum get.", - "layer-2-what-is-layer-2-2": "Now make we enetr into am small. We go first need to explain wetin be layer 1 (L1).", - "layer-2-what-is-layer-1-title": "Wetin be layer 1?", - "layer-2-what-is-layer-1-1": "Layer 1 na the base blockchain. Ethereum and Bitcoin na both layer 1 blockchains becasue them be the foundation wey different layer 2 networks dey build on top. examples of layer 2 project dey dey build on top them include rollups on ethereum and the lightining network on bitcoin. all the use transaction wey dey on top this layer 2 project fot go back to the layer 1 blockchain.", - "layer-2-what-is-layer-1-2": "Ethereum still dey function as the data availability layer for Layer 2s. Layer 2 projects go post their transaction data for Ethereum, and dem go depend on Ethereum for data availability. Dem fit use this data to know the state of the Layer 2, or to dispute transactions wey happen for the Layer 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum way be layer 1 get:", - "layer-2-what-is-layer-1-list-1": "Na network of node operators dem take secure and validate the network", - "layer-2-what-is-layer-1-list-2": "Network of people wey dey produce block", - "layer-2-what-is-layer-1-list-3": "The blockchain e sef and the tori of how dem don dey take transfer things", - "layer-2-what-is-layer-1-list-4": "The agreement for the network", - "layer-2-what-is-layer-1-list-link-1": "You never understand Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Learn wetin be Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Why we go need layer 2?", - "layer-2-why-do-we-need-layer-2-1": "Three things wey dey important for blockchain na say e suppose deydecentralized, secure, and scalable. The blockchain trilemma talk say if you wan make your blockchain dey secure and decentralized, you go need to sacrifice scalability.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum dey process1+ million transactions per day. the demand wey dey to use ethereum fit cause transaction fee price make e go up and na there layer 2 networks come in.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "The main goal of layer 2 na to increase transaction all through and e no go compromise security and decentralization.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Ethereum mainnet fit only process 15 transaction per seconnds and when the demand to use ethereum con high, the network go con dey congested, and e go increase transaction fees and pursue people wey no fit afford the fees. Layer 2s be the solutions wey reduce those transaction fees when dem processing am comot for layer 1 blockchain.", - "layer-2-why-do-we-need-layer-2-scalability-3": "More tori about wetin Ethereum dey see for future", - "layer-2-benefits-of-layer-2-title": "Better things way dey for layer 2", - "layer-2-lower-fees-title": "Money wey small", - "layer-2-lower-fees-description": "If we fit join many off-chain transactions inside one layer 1 transaction, e go reduce transaction fees well well. This one go make Ethereum dey accessible for everybody.", - "layer-2-maintain-security-title": "Make everything secure", - "layer-2-maintain-security-description": "Second level blockchain dey finish their transfer matter for Ethereum main place, e make people fit enjoy the security wey Ethereum network get.", - "layer-2-expand-use-cases-title": "Make the thing wey e fit do plenty pass before", - "layer-2-expand-use-cases-description": "As we dey achieve higher transactions per second, lower fees and new technology, projects go fit expand into new applications wey go make user experience better well well.", - "layer-2-how-does-layer-2-work-title": "How layer 2 dey work?", - "layer-2-how-does-layer-2-work-1": "As we don talk am before, layer 2 na diffferent term for solutions wey dey build on ethereum wey fit handle transactions off ethereum layer 1 and e dey take advantage of the security of ethereum layer 1. Layer 2 na sepereate blockchain wey extend ethereumhow that one take work?", - "layer-2-how-does-layer-2-work-2": "Different types of layer 2 na hin dey, each of them get their won models. layer2 dey comot the transactional burden comot from layer 1 and e dey allow am become less congested and everything go dey alright.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Rollups bundle (or 'roll up') hundrends of transaction inside singe transaction on top layer 1. This make dem spread the L1 transaction fees for everybody wey dey the rollup, making am cheap for every user.", - "layer-2-rollups-2": "Rolup trasnaction dey excute off layer1 but dem dey submit the transaction data to layer 1. As dem submit the data so, e don dey under the dsecurity of ethereum. This na because once the data don upload to layer 1, if dem wan revert am na to revert ethereum. two different tactics dey to tackle rollups: optimistic and zero knowledge - they different on how we go dey submit transaction data to L1.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Optimistic rollups are 'optimistic' when we see say transactions dey assumed to be valid, but dem fit challenge am if e need. If dem suspect an invalid transactions, dem fit run fault proof to see if e don take place.", - "layer-2-optimistic-rollups-childSentance": "More on optimistic rollups", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "Zero knowledge rollups dey use validity proofs where the transactons dey offcahin and the data wey dem compress go go ethereum mainnet as proof of their validity.", - "layer-2-zk-rollups-childSentance": "More tori for ZK-rollups", - "layer-2-dyor-title": "Make yor own research: kasala for layer 2", - "layer-2-dyor-1": "Plenty layer 2 projects dey young and dem still need make users trust some operators make dem talk true on the decentralized networks. make you dey do your own research to take know if you dey comfortable with any risk involved.", - "layer-2-dyor-2": "For more tori on the risk and assumtions of layer 2s, we go recommend make you checkout L2BEAT, wey dey provide comprehensive risk assesment framework of different project.", - "layer-2-dyor-3": "Go L2BEAT", - "layer-2-use-layer-2-title": "Make yu yus Layer 2", - "layer-2-use-layer-2-1": "Nau wey you don understand why layer 2 and hau e dey work, make yu helep yu run am!", - "layer-2-contract-accounts": "If yu dey yus smart contract wallet like safe abi argent, yu nor go get kontrol ova address on top layer 2 ontil yu redeploy di contract akant wey dey on top dat address on di layer 2. klassik akant wey get rikovery fraiz go automatikaly own di same on all layer 2 networks.", - "layer-2-use-layer-2-generalized-title": "Generalized layer 2s", - "layer-2-use-layer-2-generalized-1": "Generalized layer 2s dey do like ethereum - but them cheap. Anything wey you fit do on Ethereum layer 1, you fit do am on top layer 2. many dapps don already dey migrate to these networks or have skipped mainnet altogether to deploy straight on a layer 2.", - "layer-2-use-layer-2-application-specific-title": "Aplikashon spesifik layer 2s", - "layer-2-use-layer-2-application-specific-1": "Aplicashon specific layer 2s be projects wey specialize to dey optimize for specific aplikashon space, wey go bring improved paformans.", - "layer-2-sidechains-title": "Small note on sidechains, validiums and alternative blockchains", - "layer-2-sidechains-1": "Sidechains and validiums be strong blockchains wey dey allow assest from ethereum.", - "layer-2-sidechains-2": "Both of them dey scale same with layer 2s- them dey give lower transaction fees and high transaction throughout but them get different trust assumptions.", - "layer-2-more-on-sidechains": "More tori on sidechains", - "layer-2-more-on-validiums": "More tori on validiums", - "layer-2-sidechains-4": "Some layer 1 solutions dey report higher throughput and transaction fees wey low pass ethereum, but na otherplace dem dey do the tradeoff, example wey we fit see na hardware wey you need to run nodes.", - "layer-2-onboard-title": "Hau yu fit take enta layer 2", - "layer-2-onboard-1": "Na two ways dey wey you fit take get your assests inside layer 2: na to bridge money from ethereum with smart contract abi make you withdraw your money on top any exchange directly to the layer 2 network.", - "layer-2-onboard-wallet-title": "Money for yur wallet?", - "layer-2-onboard-wallet-1": "If you don already get your ETH inside your wallet, you go need use bridge to move am from Ethereum mainnet to layer 2.", - "layer-2-more-on-bridges": "Matter about bridges", - "layer-2-onboard-wallet-input-placeholder": "Select the L2 wey you wan bridge to", - "layer-2-onboard-wallet-selected-1": "You fit connect to", - "layer-2-onboard-wallet-selected-2": "you fit use these wallets:", - "layer-2-bridge": "Bridge", - "layer-2-onboard-exchange-title": "Money on top any exchange?", - "layer-2-onboard-exchange-1": "Some centralized excahnges don dey do direct withdrawals and dem dey deposit to layer 2s. Check which excahnge dey support layer 2 withdrawals and which layer 2s dem dey support.", - "layer-2-onboard-exchange-2": "You go need wallet to take withdraw your money.", - "layer-2-onboard-find-a-wallet": "Find ethereum wallet.", - "layer-2-onboard-exchange-input-placeholder": "Check exchanges wey dey support L2", - "layer-2-deposits": "Deposits", - "layer-2-withdrawals": "Withdrawals", - "layer-2-go-to": "Go to", - "layer-2-tools-title": "Tools to take dey effective on top layer 2", - "layer-2-tools-l2beat-description": "L2BEAT na great resource to take dey look technical risk assessments of layer 2 projects. we go like make you dey check their resources when you dey research specific layer 2 projects.", - "layer-2-tools-l2fees-description": "L2 fees dey let you see the current cost(na usd you go see) wey you dey take do transactions on top different layer 2s.", - "layer-2-tools-chainlist-description": "Chainlist na great resoure to dey import network RPC's inside supporting wallets. you go see RPC's for layer 2 projects wey dey here to help you dey connected.", - "layer-2-tools-zapper-description": "Manage your web3 portfolio from Defi to NFTs and wetin dey come next. Invest for the latest opportunities wey dey come from onw conveienent place.", - "layer-2-tools-zerion-description": "Build and manage your Defi portfolio from one place. make you see everything about decentralized finance today.", - "layer-2-tools-debank-description": "Make you dey updated with all the important happenings inside the web3 world", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Why official ethereum L2 no dey?", - "layer-2-faq-question-1-description-1": "As official Ethereum client no dey, na the same way official Ethereum layer 2 no dey. Ethereum dey permisionless - and anybody fit create layer 2! different teams fit do their own version of layer 2, and the whole ecosystem go benefit from the different deisn approch wey dem dey use for diferent use cases. the same way wey we get multiple Ethereum clients develop multiple teams make dem fit get diversity in networks, naso dem go develop layer 2s for future.", - "layer-2-faq-question-2-title": "Wetiin be the difference between optimistic and zero-knowledge rollups?", - "layer-2-faq-question-2-description-1": "Both optimistic and zero knowledge rollups dey bundle hundred of transactions into single transaction layer 1. Rollup transactions go dey executed outside layer 1 but transaction data go dey posted to layer 1.", - "layer-2-faq-question-2-description-2": "The difference wey dey na the data wey dem dey post to layer 1 and how dem dey take verify the data. Validity proofs (wey zero knowledge rollups dey use) run the computations off chain and post proof but fault proofs (wey optimistic rollups dey use) dey run only computations on chain when dem suspect any fault and dem must check am.", - "layer-2-faq-question-2-description-3": "As e be now, most of the ZK-rollups be application specific, dem dey in contrast with optimistic rollups which dem don generalize.", - "layer-2-more-info-on-optimistic-rollups": "More tori about optimistic rollups", - "layer-2-more-info-on-zk-rollups": "Mor tori about zero knowledge rollups", - "layer-2-faq-question-4-title": "Wetin be the risks with layer 2?", - "layer-2-faq-question-4-description-1": "Layer 2 projects get additional risks if you compare am with holding moneey and make you dey do the transaction on ethereum main net. for example, sequences fit go down and e fit make you dey wait to get your money.", - "layer-2-faq-question-4-description-2": "We go advise make you do your own research before you transfeer plenty money to layer 2. for more tori about the tchnology,risk and trust assumption of layer 2 make you check L2BEAT e go give you more tour about risk assessment framework for different project.", - "layer-2-faq-question-4-description-3": "Blockchain bridges, na dem dey facilitate to layer 2, dem dey the early stages of development and e dey likely say them never discover the optimal bridge design yet. them don hack bridges of recent.", - "layer-2-faq-question-5-title": "Why dem no list some layer 2 projects here?", - "layer-2-faq-question-5-description-1": "Wi wont make sure sey wi list di best risorsis wey dey so users go fit navigate di layer 2 space in safe and konfident manna. Wi always dey maintain framework criteria wey dey take make sue of hau wi dey evaluate inklushon.", - "layer-2-faq-question-5-view-listing-policy": "View dis awa layer 2 listing policy here.", - "layer-2-faq-question-5-description-2": "Anyone dey free to suggest say make we add layer to layer 2 on ethereum.org. if any layer dey there wey we don miss,please suggest am for us.", - "layer-2-further-reading-title": "Further reading", - "a-rollup-centric-ethereum-roadmap": "Rollup centric ethereum roadmap", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Polygon sidechain vs ethereum rollups: layer 2 scaling appraoches| vitalik and lex fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUPS- The Ultimte ethereum scalling strategy? Arbitrum & Optimism explained", - "scaling-layer-1-with-shard-chains": "Scaling layer 1 with shared chains", - "understanding-rollup-economics-from-first-principals": "Understand wetin be rollup economics from first principle", - "arbitrum-description": "Arbitrum na one optimistic rollup wey dey hel people feel say dem dey interact with ethereum but with transactions wey dey cost a fraction of wetin dem dey do on L1.", - "optimism-description": "Optimism na fast, simple and secure EVM equivalent optimistic eollup. E dey scale ethereum tech and the value through tetroactive public goods funding.", - "boba-description": "Bona na optimistic rollup wey dem fork from optimism wey be scalling solution wey dey help reduce gas fees, improve transactions throughput, and extend the capabilities wey smart contraact get.", - "loopring-description": "Loopring's zkRollup L2 solution dey offer the same security guarantees weyy thereum mainent too dey offer with big scalability boost; through out increase by 100x and them reduce the cost to 0.1% of L1.", - "zksync-description": "ZKsync na user centric zk rollup platform wey come from Matter Labs. e dey scale the solutions for ethereum, and e don already dey live on ethereum mainnet. e support payments, token swaps and Nft minting.", - "zkspace-description": "The ZKSpace platform consists of three main parts wey be a layer 2 AMM DEX utilizing ZK-Rollups technology called ZKSwap, a payment service called ZKSquare, and an NFT marketplace called ZKSea.", - "aztec-description": "Aztec Network na the first private zk rollup wey dey ontop Ethereum, and e dey enable decentralized application access privacy and scale.", - "layer-2-note": "Note:", - "layer-2-ecosystem-portal": "Ecosystem portal", - "layer-2-token-lists": "Token Lists", - "layer-2-explore": "Explore", - "page-dapps-ready-button": "Go" -} diff --git a/src/intl/pl/page-layer-2.json b/src/intl/pl/page-layer-2.json deleted file mode 100644 index 831d80bd778..00000000000 --- a/src/intl/pl/page-layer-2.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "layer-2-arbitrum-note": "Dowody oszustwa tylko dla użytkowników z białej listy, która nie jest jeszcze otwarta", - "layer-2-boba-note": "Walidacja stanu jest w fazie rozwoju", - "layer-2-optimism-note": "Dowody błędów są w fazie rozwoju", - "layer-2-base-note": "System zabezpieczający przed oszustwami jest obecnie w fazie rozwoju", - "layer-2-metadata-description": "Strona wprowadzająca do warstwy 2", - "layer-2-hero-title": "Warstwa 2", - "layer-2-hero-header": "Ethereum dla wszystkich", - "layer-2-hero-subtitle": "Skalowanie Ethereum w celu masowej adopcji.", - "layer-2-hero-alt-text": "Ilustracja transakcji, która jest zwijana w warstwie 2, a następnie dodawana do głównej sieci Ethereum", - "layer-2-hero-button-1": "Czym jest warstwa 2?", - "layer-2-hero-button-2": "Używanie warstwy 2", - "layer-2-hero-button-3": "Przejdź do warstwy 2", - "layer-2-statsbox-1": "TVL zamknięte w warstwie 2 (USD)", - "layer-2-statsbox-2": "Średnia opłata transakcyjna warstwy 2 (USD)", - "layer-2-statsbox-3": "Zmiana warstwy 2 TVL (30 dni)", - "layer-2-what-is-layer-2-title": "Czym jest warstwa 2?", - "layer-2-what-is-layer-2-1": "Warstwa 2 (L2) to zbiorczy termin opisujący konkretny zestaw rozwiązań skalowania Ethereum. Warstwa 2 to oddzielny łańcuch bloków, który rozszerza Ethereum i korzysta z gwarancji bezpieczeństwa Ethereum.", - "layer-2-what-is-layer-2-2": "Teraz przyjrzyjmy się temu nieco bliżej. By to zrobić, musimy najpierw wyjaśnić, czym jest warstwa 1 (L1).", - "layer-2-what-is-layer-1-title": "Czym jest warstwa 1?", - "layer-2-what-is-layer-1-1": "Warstwa 1 to podstawowy blockchain. Ethereum i Bitcoin są blockchainami warstwy 1, ponieważ stanowią podstawę, na której zbudowane są różne sieci warstwy 2. Przykłady projektów warstwy 2 obejmują „pakiety zbiorcze” na Ethereum i Lightning Network na Bitcoinie. Cała aktywność transakcyjna użytkowników w tych projektach warstwy 2 może ostatecznie wrócić do blockchainu warstwy 1.", - "layer-2-what-is-layer-1-2": "Ethereum działa również jako warstwa dostępności danych dla warstwy 2. Projekty warstwy 2 będą publikować swoje transakcje na Ethereum, opierając się na Ethereum w celu zapewnienia dostępności danych. Dane te mogą być wykorzystywane do uzyskania stanu warstwy 2 lub do kwestionowania transakcji na poziomie 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum jako warstwa 1 obejmuje:", - "layer-2-what-is-layer-1-list-1": "Sieć operatorów węzłów do zabezpieczenia i weryfikacji sieci", - "layer-2-what-is-layer-1-list-2": "Sieć twórców bloków", - "layer-2-what-is-layer-1-list-3": "Sam łańcuch bloków i historię transakcji", - "layer-2-what-is-layer-1-list-4": "Mechanizm konsensusu dla sieci", - "layer-2-what-is-layer-1-list-link-1": "Nadal nie możesz się odnaleźć na Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Dowiedz się, czym jest Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Dlaczego potrzebujemy warstwy 2?", - "layer-2-why-do-we-need-layer-2-1": "Pożądane jest, aby łancuch bloków był: zdecentralizowany, bezpieczny i skalowalny. W trylemacie łańcucha bloków stwierdza się, że prosta architektura łańcucha bloków może osiągnąć tylko dwie z trzech tych wartości. Potrzebujesz bezpiecznego i zdecentralizowanego łańcucha bloków? Musisz poświęcić skalowalność.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum przetwarza obecnie ponad 1 milion transakcji dziennie. Zapotrzebowanie na korzystanie z Ethereum może powodować wysokie ceny opłat za transakcje. W tym miejscu wkraczają sieci warstwy 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Skalowalność", - "layer-2-why-do-we-need-layer-2-scalability-1": "Głównym celem warstwy 2 jest zwiększenie przepustowości transakcji (większa liczba transakcji na sekundę) bez poświęcania decentralizacji lub bezpieczeństwa.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Sieć główna Ethereum (warstwa 1) jest w stanie przetwarzać jedynie około 15 transakcji na sekundę. Gdy zapotrzebowanie na Ethereum jest wysokie, sieć staje się przeciążona, co zwiększa opłaty za transakcje i dyskwalifikuje użytkowników, którzy nie mogą sobie pozwolić na takie opłaty. Warstwa 2 to rozwiązania, które zmniejszają te opłaty poprzez przetwarzanie transakcji poza blockchainem warstwy 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Więcej o wizji Ethereum", - "layer-2-benefits-of-layer-2-title": "Korzyści wynikające z warstwy 2", - "layer-2-lower-fees-title": "Niższe opłaty", - "layer-2-lower-fees-description": "Dzięki połączeniu wielu transakcji poza łańcuchem dostaw w pojedynczą transakcję warstwy 1, znacznie obniżają się opłaty transakcyjne, co sprawia, że Ethereum jest bardziej dostępne dla wszystkich.", - "layer-2-maintain-security-title": "Zachowaj bezpieczeństwo", - "layer-2-maintain-security-description": "Warstwa 2 łańcuchów bloków rozlicza swoje transakcje na Ethereum Mainnet, umożliwiając użytkownikom korzystanie z bezpieczeństwa sieci Ethereum.", - "layer-2-expand-use-cases-title": "Rozwiń przypadki użycia", - "layer-2-expand-use-cases-description": "W związku z wyższymi transakcjami na sekundę, niższymi opłatami i nowymi technologiami projekty rozszerzą się na nowe aplikacje o lepszym doświadczeniu użytkowników.", - "layer-2-how-does-layer-2-work-title": "Jak działa Warstwa 2?", - "layer-2-how-does-layer-2-work-1": "Jak już wspomnieliśmy wyżej, warstwa 2 jest zbiorowym terminem określającym rozwiązania do skalowania Ethereum, które obsługują transakcje z warstwy 1 Ethereum przy jednoczesnym korzystaniu z solidnego zdecentralizowanego bezpieczeństwa warstwy 1 Ethereum. Warstwa 2 to oddzielny blockchain, który rozszerza Ethereum. Jak to działa?", - "layer-2-how-does-layer-2-work-2": "Istnieje kilka różnych typów warstwy 2, z których każdy ma swoje własne kompromisy i modele bezpieczeństwa. Warstwa 2 zdejmuje obciążenia transakcyjne z warstwy 1, dzięki czemu staje się ona mniej przeciążona i wszystko staje się bardziej skalowalne.", - "layer-2-rollups-title": "Pakiet zbiorczy", - "layer-2-rollups-1": "Pakiety zbiorcze łączą (lub „zwijają”) setki transakcji w jedną transakcję w warstwie 1. Powoduje to rozłożenie opłat transakcyjnych warstwy 1 na wszystkich użytkowników w pakiecie zbiorczym, co sprawia, że jest on tańszy dla każdego użytkownika.", - "layer-2-rollups-2": "Dane transakcji w pakiecie są przesyłane do warstwy 1, ale ich wykonanie jest realizowane oddzielnie przez pakiet. Przesyłając dane transakcji do warstwy 1, pakiety dziedziczą bezpieczeństwo Ethereum. Dzieje się tak, ponieważ po przesłaniu danych do warstwy 1 cofnięcie transakcji pakietu wymaga cofnięcia Ethereum. Istnieją dwa różne podejścia do pakietów: optymistyczne i o wiedzy zerowej (zero-knowledge) — różnią się one głównie sposobem przesyłania danych transakcji do warstwy 1.", - "layer-2-optimistic-rollups-title": "Optymistyczne pakiety zbiorcze", - "layer-2-optimistic-rollups-description": "Optymistyczne pakiety zbiorcze są „optymistyczne” w tym sensie, że zakłada się, że transakcje są ważne, ale w razie potrzeby można je zakwestionować. Jeśli podejrzewa się nieprawidłową transakcję, uruchamiany jest dowód błędu, aby sprawdzić, czy miała ona miejsce.", - "layer-2-optimistic-rollups-childSentance": "Więcej o optymistycznych pakietach zbiorczych", - "layer-2-zk-rollups-title": "Pakiety zbiorcze o wiedzy zerowej", - "layer-2-zk-rollups-description": "Pakiety zbiorcze o wiedzy zerowej wykorzystują dowody ważności, w których transakcje są obliczane poza łańcuchem, a następnie skompresowane dane są dostarczane do Ethereum Mainnet jako dowód ich ważności.", - "layer-2-zk-rollups-childSentance": "Więcej o pakietach zbiorczych o wiedzy zerowej", - "layer-2-dyor-title": "Wykonaj własne badania: ryzyko warstwy 2", - "layer-2-dyor-1": "Wiele projektów warstwy 2 jest stosunkowo nowych i nadal wymaga od użytkowników zaufania do uczciwości niektórych operatorów, którzy pracują nad decentralizacją swoich sieci. Zawsze przeprowadzaj własne badania, aby zdecydować, czy czujesz się komfortowo z jakimkolwiek związanym ryzykiem.", - "layer-2-dyor-2": "Po więcej informacji na temat technologii, zagrożeń i założeń dotyczących zaufania do warstwy 2 odsyłamy do L2BEAT, która zapewnia kompleksowe ramy oceny ryzyka dla każdego projektu.", - "layer-2-dyor-3": "Przejdź do L2BEAT", - "layer-2-use-layer-2-title": "Używanie warstwy drugiej", - "layer-2-use-layer-2-1": "Teraz, kiedy rozumiesz dlaczego istnieje warstwa 2 i jak to działa, wciągnijmy cię i zacznijmy!", - "layer-2-contract-accounts": "Jeśli korzystasz z portfela inteligentnego kontraktu, takiego jak Safe lub Argent, nie będziesz mieć kontroli nad tym adresem w warstwie 2, dopóki nie przeniesiesz swojego konta kontraktu na ten adres w warstwie 2. Klasyczne konta z frazą odzyskiwania będą automatycznie właścicielem tego samego konta we wszystkich sieciach warstwy 2.", - "layer-2-use-layer-2-generalized-title": "Uogólnione warstwy 2", - "layer-2-use-layer-2-generalized-1": "Uogólniona warstwa 2 zachowuje się jak Ethereum — ale jest tańsza. Wszystko, co możesz zrobić w warstwie 1 Ethereum, możesz również zrobić w warstwie 2. Wiele aplikacji rozpoczęło już migrację do tych sieci lub pominęło razem Mainnet, aby wdrożyć go prosto w warstwie 2.", - "layer-2-use-layer-2-application-specific-title": "Warstwy 2 specyficzne dla aplikacji", - "layer-2-use-layer-2-application-specific-1": "Warstwy 2 specyficzne dla aplikacji to projekty, które specjalizują się w optymalizacji dla konkretnej przestrzeni użytkowej, przynosząc lepszą wydajność.", - "layer-2-sidechains-title": "Notatka o łańcuchach bocznych, rozwiązaniach validium i alternatywnych łańcuchach bloków", - "layer-2-sidechains-1": "Łańcuchy boczne i rozwiązania validium to łańcuchy bloków, które pozwalają na przenoszenie aktywów z Ethereum i korzystanie z nich w innym łańcuchu bloków. Łańcuchy boczne i rozwiązania validium działają równolegle z Ethereum i współdziałają z Ethereum przez mosty, nie uzyskują jednak swojego bezpieczeństwa ani dostępności danych od Ethereum.", - "layer-2-sidechains-2": "Oba skalują podobnie do warstwy 2 — oferują niższe opłaty transakcyjne i większą przepustowość transakcji, ale mają różne założenia dotyczące zaufania.", - "layer-2-more-on-sidechains": "Więcej informacji na temat łańcuchów bocznych", - "layer-2-more-on-validiums": "Więcej informacji o rozwiązaniach validium", - "layer-2-sidechains-4": "Niektóre blockchainy warstwy 1 odnotowują większą przepustowość i niższe opłaty transakcyjne niż Ethereum, ale najczęściej z kompromisami w innych miejscach, na przykład większymi wymaganiami sprzętowymi dla uruchomienia węzłów.", - "layer-2-onboard-title": "Jak dostać się na warstwę 2?", - "layer-2-onboard-1": "Istnieją dwa podstawowe sposoby na przeniesienie swoich aktywów na warstwę 2: mostku środki z Ethereum za pomocą inteligentnego kontraktu lub wypłacaj środki na giełdzie bezpośrednio na sieć warstwy 2.", - "layer-2-onboard-wallet-title": "Fundusze w portfelu?", - "layer-2-onboard-wallet-1": "Jeśli masz już ETH w swoim portfelu, musisz użyć mostka, aby przenieść go z Ethereum Mainnet na warstwę 2.", - "layer-2-more-on-bridges": "Więcej o mostach", - "layer-2-onboard-wallet-input-placeholder": "Wybierz warstwę 2, do której chcesz mostkować", - "layer-2-onboard-wallet-selected-1": "Możesz połączyć się z", - "layer-2-onboard-wallet-selected-2": "korzystając z tych portfelów:", - "layer-2-bridge": "Most", - "layer-2-onboard-exchange-title": "Fundusze na giełdzie?", - "layer-2-onboard-exchange-1": "Niektóre scentralizowane giełdy oferują teraz bezpośrednie wypłaty i wpłaty do warstwy 2. Sprawdź, które giełdy obsługują wypłaty w warstwie 2 i które warstwy 2 obsługują.", - "layer-2-onboard-exchange-2": "Będziesz również potrzebować portfela, aby wypłacić swoje środki.", - "layer-2-onboard-find-a-wallet": "Znajdź portfel Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Sprawdź giełdy obsługujące warstwę 2", - "layer-2-deposits": "Depozyty", - "layer-2-withdrawals": "Wypłaty", - "layer-2-go-to": "Przejdź do", - "layer-2-tools-title": "Narzędzia skuteczne w warstwie 2", - "layer-2-tools-l2beat-description": "L2BEAT jest doskonałym zasobem umożliwiającym analizowanie technicznych ocen ryzyka projektów w warstwie 2. Zalecamy sprawdzenie ich zasobów podczas badania konkretnych projektów warstw 2.", - "layer-2-tools-growthepie-description": "Wyselekcjonowane dane analityczne na temat warstw 2 Ethereum", - "layer-2-tools-l2fees-description": "L2 Fees pozwala zobaczyć aktualny koszt (wyrażony w USD) dokonywania transakcji w różnych warstwach 2.", - "layer-2-tools-chainlist-description": "Chainlista to świetny zasób na importowanie sieciowych RPC do obsługi portfelów. Tutaj znajdziesz RPC dla projektów warstwy 2, co ułatwi ci połączenie się.", - "layer-2-tools-zapper-description": "Zarządzaj całym swoim portfelem web3 od DeFi do NFT i innymi. Inwestuj w najnowsze możliwości z jednego wygodnego miejsca.", - "layer-2-tools-zerion-description": "Zbuduj i zarządzaj całym swoim portfolio DeFi z jednego miejsca. Odkryj świat zdecentralizowanych finansów dzisiaj.", - "layer-2-tools-debank-description": "Bądź na bieżąco ze wszystkimi ważnymi wydarzeniami w świecie web3", - "layer-2-faq-title": "Najczęściej zadawane pytania (FAQ)", - "layer-2-faq-question-1-title": "Dlaczego nie ma „oficjalnej” warstwy 2 Ethereum?", - "layer-2-faq-question-1-description-1": "Tak jak nie ma „oficjalnego” klienta Ethereum, nie ma „oficjalnej” warstwy 2 Ethereum. Ethereum jest bezuprawnieniowe — z technicznego punktu widzenia każdy może utworzyć warstwę 2! Wiele zespołów zaimplementuje swoją wersję warstwy 2, a ekosystem jako całość skorzysta na różnorodnych podejść projektowych, które są zoptymalizowane pod kątem różnych zastosowań. Tak jak my mamy wiele klientów Ethereum opracowanych przez wiele zespołów, aby zapewnić sobie różnorodność w sieci, tak w przyszłości podobnie będą rozwijać się warstwy 2.", - "layer-2-faq-question-2-title": "Jaka jest różnica między optymistycznym pakietem zbiorczym a pakietem zbiorczym o wiedzy zerowej?", - "layer-2-faq-question-2-description-1": "Zarówno optymistyczne pakiety zbiorcze, jak i pakiety zbiorcze o wiedzy zerowej łączą setki transakcji w pojedynczą transakcję w warstwie 1. Transakcje Rollup są realizowane poza warstwą 1, ale dane transakcji są publikowane w warstwie 1.", - "layer-2-faq-question-2-description-2": "Podstawowa różnica polega na tym, jakie dane są zamieszczane na warstwie 1 i jak dane są weryfikowane. Dowody ważności (używane przez pakiety zbiorcze o wiedzy zerowej) przeprowadzają obliczenia poza łańcuchem i udostępniają dowód, podczas gdy dowody awarii (używane przez optymistyczne pakiety zbiorcze) uruchamiają obliczenia w łańcuchu tylko w przypadku podejrzenia awarii i muszą być sprawdzone.", - "layer-2-faq-question-2-description-3": "Obecnie większość pakietów zbiorczych o wiedzy zerowej jest specyficzna dla danego zastosowania, w przeciwieństwie do optymistycznych pakietów zbiorczych, które zostały w dużej mierze uogólnione.", - "layer-2-more-info-on-optimistic-rollups": "Więcej informacji o optymistycznych pakietach zbiorczych", - "layer-2-more-info-on-zk-rollups": "Więcej informacji o pakietach zbiorczych o wiedzy zerowej", - "layer-2-faq-question-4-title": "Jakie ryzyko wiąże się z warstwą 2?", - "layer-2-faq-question-4-description-1": "Projekty warstwy 2 wiążą się z dodatkowym ryzykiem w porównaniu z funduszami holdingowymi i przeprowadzaniem transakcji bezpośrednio na Ethereum Mainnet. Na przykład sekwenatory mogą zostać przerwane, co prowadzi do konieczności czekania na dostęp do funduszy.", - "layer-2-faq-question-4-description-2": "Zachęcamy do przeprowadzenia własnych badań przed przeniesieniem znacznej ilości środków do warstwy 2. Aby uzyskać więcej informacji na temat technologii, ryzyka i założeń dotyczących zaufania warstwy 2, zalecamy sprawdzenie L2BEAT, który zapewnia kompleksowe ramy oceny ryzyka dla każdego projektu.", - "layer-2-faq-question-4-description-3": "Mosty łańcuchów bloków, które ułatwiają transfer aktywów do warstwy 2, są na wczesnym etapie rozwoju i prawdopodobnie nie odkryto jeszcze optymalnego projektu mostu. Ostatnio doszło do włamań do mostów.", - "layer-2-faq-question-5-title": "Dlaczego nie wymieniono tutaj niektórych projektów warstw 2?", - "layer-2-faq-question-5-description-1": "Chcemy mieć pewność, że wymieniamy najlepsze możliwe zasoby, aby użytkownicy mogli poruszać się w przestrzeni warstwy 2 w bezpieczny i pewny sposób. Utrzymujemy ramy kryteriów oceny projektów pod kątem ich włączenia.", - "layer-2-faq-question-5-view-listing-policy": "Zobacz nasze zasady dotyczące listy firm dopuszczonych do obrotu giełdowego w warstwie 2.", - "layer-2-faq-question-5-description-2": "Każdy może zasugerować dodanie warstwy 2 na ethereum.org. Jeśli istnieje warstwa 2, którą przegapiliśmy, zasugeruj ją.", - "layer-2-further-reading-title": "Dalsza lektura", - "a-rollup-centric-ethereum-roadmap": "Plan działania ethereum skoncentrowany na pakietach zbiorczych", - "an-incomplete-guide-to-rollups": "Niekompletny przewodnik po pakietach zbiorczych", - "polygon-sidechain-vs-ethereum-rollups": "Łańcuch boczny Polygon kontra pakiety zbiorcze Ethereum: podejścia do skalowania warstwy 2| Vitalik Buterin i Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "PAKIETY ZBIORCZE – najlepsza strategia skalowania Ethereum? Arbitrum i Optymalizacja", - "scaling-layer-1-with-shard-chains": "Warstwa skalowania 1 z łańcuchami odłamkowymi", - "understanding-rollup-economics-from-first-principals": "Zrozumienie ekonomiki pakietów zbiorczych od pierwszych dyrektorów", - "arbitrum-description": "Arbitrum One jest optymistycznym pakietem zbiorczym, którego celem jest stworzenie wrażenia interakcji takich samych jak z Ethereum, ale z transakcjami kosztującymi ułamek tego, co w warstwie 1.", - "optimism-description": "Optimism jest szybkim, prostym i zabezpieczonym optymistycznym pakietem zbiorczym równoważnym z EVM. Skaluje technologię Ethereum, a jednocześnie skaluje swoje wartości poprzez wsteczne finansowanie dóbr publicznych.", - "boba-description": "Boba jest optymistycznym pakietem zbiorczym, który jest rozwiązaniem skalującym mającym na celu obniżenie opłat gazowych, zwiększenie przepustowości transakcji oraz zwiększenie możliwości inteligentnych kontraktów.", - "base-description": "Base to bezpieczna, tania i przyjazna dla deweloperów warstwa 2 Ethereum, stworzona z myślą o wprowadzeniu kolejnego miliarda użytkowników do web3. Jest to warstwa 2 Ethereum, stworzona przez Coinbase i zbudowana w oparciu o open-source OP Stack.", - "loopring-description": "Loopring zkRollup L2 ma na celu oferowanie takich samych gwarancji bezpieczeństwa jak Ethereum mainnet, przy dużym wzroście skalowalności: wydajność wzrosła o 1000x, a koszty zmniejszyły się do zaledwie 0,1% L1.", - "zksync-description": "ZKsync jest platformą rollup zk zorientowaną na użytkownika z Matter Labs. Jest to rozwiązanie skalujące dla Ethereum, już obecne w sieci głównej Ethereum. Obsługuje płatności, wymianę tokenów i kopanie NFT.", - "zkspace-description": "Platforma ZKSpace składa się z trzech głównych części: warstwy 2 AMM DEX wykorzystującej technologię pakietów zbiorczych o wiedzy zerowej o nazwie ZKSwap, usługi płatniczej o nazwie ZKSquare oraz rynku NFT o nazwie ZKSea.", - "aztec-description": "Aztec Network to pierwszy prywatny zk rollup na Ethereum, umożliwiający zdecentralizowanym aplikacjom dostęp do prywatności i skali.", - "starknet-description": "Starknet to rozwiązanie warstwy 2 walidujących pakietów zbiorczych. Zapewnia wysoką przepustowość, niskie koszty gazu i zachowuje poziom bezpieczeństwa warstwy 1 Ethereum.", - "layer-2-note": "Uwaga:", - "layer-2-ecosystem-portal": "Portal ekosystemu", - "layer-2-token-lists": "Lista tokenów", - "layer-2-explore": "Odkrywaj", - "page-dapps-ready-button": "Przejdź" -} diff --git a/src/intl/pt-br/page-layer-2.json b/src/intl/pt-br/page-layer-2.json deleted file mode 100644 index d65ef6f16c2..00000000000 --- a/src/intl/pt-br/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "Provas de fraude somente para usuários na lista de permissões, lista de permissões ainda não está aberta", - "layer-2-boba-note": "Validação de estado em desenvolvimento", - "layer-2-optimism-note": "Provas de falha em desenvolvimento", - "layer-2-hero-title": "Camada 2", - "layer-2-hero-header": "Ethereum para todos", - "layer-2-hero-subtitle": "Escalabilidade do Ethereum para adoção em massa.", - "layer-2-hero-alt-text": "Ilustração da implantação de transações na camada 2 e publicação na Ethereum Mainnet", - "layer-2-hero-button-1": "O que é a camada 2", - "layer-2-hero-button-2": "Usar a camada 2", - "layer-2-hero-button-3": "Mudar para a camada 2", - "layer-2-statsbox-1": "TVL bloqueado na camada 2 (USD)", - "layer-2-statsbox-2": "Taxa média de transferência de ETH na camada 2 (USD)", - "layer-2-statsbox-3": "Alteração do TVL na camada 2 (30 dias)", - "layer-2-what-is-layer-2-title": "O que é a camada 2?", - "layer-2-what-is-layer-2-1": "Camada 2 (L2) é um termo coletivo para descrever um conjunto específico de soluções de dimensionamento Ethereum. Uma camada 2 é uma blockchain separada que estende o Ethereum e herda as garantias de segurança da Ethereum.", - "layer-2-what-is-layer-2-2": "Agora, vamos analisar em mais detalhes. Para isso, primeiro precisamos explicar a camada 1 (L1).", - "layer-2-what-is-layer-1-title": "O que é a camada 1?", - "layer-2-what-is-layer-1-1": "A camada 1 é o blockchain de base. Ethereum e Bitcoin são ambos blockchains de camada 1 porque são a fundação subjacente sobre a qual diversas redes de camada 2 são desenvolvidas. Exemplos de projetos de camada 2 incluem \"rollups\" no Ethereum e a Lightning Network no Bitcoin. Todas as atividades de transações de usuários nesses projetos de camada 2 podem, em última análise, voltar ao blockchain de camada 1.", - "layer-2-what-is-layer-1-2": "Ethereum também funciona como uma camada de disponibilidade de dados para camadas 2. Projetos da camada 2 postarão seus dados de transação ao Ethereum, confiando a disponibilidade de dados ao Ethereum. Esses dados podem ser usados para obter o estado da camada 2 ou para disputar transações na camada 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum como camada 1 inclui:", - "layer-2-what-is-layer-1-list-1": "Uma rede de operadores de nó para proteger e validar a rede", - "layer-2-what-is-layer-1-list-2": "Uma rede de produtores de blocos", - "layer-2-what-is-layer-1-list-3": "O próprio blockchain e o histórico de dados de transações", - "layer-2-what-is-layer-1-list-4": "O mecanismo de consenso para a rede", - "layer-2-what-is-layer-1-list-link-1": "Ainda confuso sobre o Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Aprenda o que é Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Por que precisamos da camada 2?", - "layer-2-why-do-we-need-layer-2-1": "Três propriedades desejáveis de um blockchain são que ele é descentralizado, seguro e escalável. O trilema do blockchain afirma que uma arquitetura simples de blockchain pode atingir apenas dois em três. Quer um blockchain seguro e descentralizado? Você precisa sacrificar a escalabilidade.", - "layer-2-why-do-we-need-layer-2-2": "O Ethereum atualmente processa mais de um milhão de transações por dia. A demanda de utilização do Ethereum pode resultar no aumento dos preços da taxa de transação, e é nesse momento que as redes de camada 2 atuam.", - "layer-2-why-do-we-need-layer-2-scalability": "Dimensionamento", - "layer-2-why-do-we-need-layer-2-scalability-1": "O principal objetivo da camada 2 é aumentar a taxa de transferência de transações (mais transações por segundo) sem sacrificar a descentralização ou a segurança.", - "layer-2-why-do-we-need-layer-2-scalability-2": "A Ethereum Mainnet (camada 1) consegue processar apenas aproximadamente 15 transações por segundo. Quando a demanda de utilização do Ethereum é alta, a rede congestiona, o que aumenta o preço das taxas de transação e elimina os usuários que não as podem pagar. As camadas 2 são soluções que reduzem o preço dessas taxas ao processar as transações fora do blockchain de camada 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Mais sobre a visão do", - "layer-2-benefits-of-layer-2-title": "Benefícios da Camada 2", - "layer-2-lower-fees-title": "Menores taxas", - "layer-2-lower-fees-description": "Ao combinar múltiplas transações off-chain em uma única transação na camada 1, as taxas de transação são massivamente reduzidas, tornando a Ethereum mais acessível para todos.", - "layer-2-maintain-security-title": "Mantém a segurança", - "layer-2-maintain-security-description": "Os blockchains da camada 2 estabelecem suas transações na Rede Principal Ethereum, permitindo que os usuários se beneficiem da segurança da rede Ethereum.", - "layer-2-expand-use-cases-title": "Expandir casos de uso", - "layer-2-expand-use-cases-description": "Com transações mais altas por segundo, menores taxas e novas tecnologias, os projetos se expandirão para novos aplicativos com melhor experiência do usuário.", - "layer-2-how-does-layer-2-work-title": "Como a camada 2 funciona?", - "layer-2-how-does-layer-2-work-1": "Conforme exposto acima, a camada 2 é um termo coletivo das soluções de escalabilidade do Ethereum que gerenciam as transações fora da camada 1 do Ethereum, enquanto ainda aproveitam a segurança descentralizada eficiente da camada 1 do Ethereum. Uma camada 2 é um blockchain separado que amplia o Ethereum. Como isso funciona?", - "layer-2-how-does-layer-2-work-2": "Há diversos tipos diferentes de camada 2, cada um com seus próprios prós e contras e modelos de segurança. As camadas 2 retiram a carga transacional da camada 1, o que permite que ela fique menos congestionada, e tudo se torna mais dimensionável.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Os rollups agregam (\"enrolam\") centenas de transações em uma única transação na camada 1. Isso distribui as taxas de transação da camada 1 por todos no rollup, o que faz com que o preço fique mais acessível para cada usuário.", - "layer-2-rollups-2": "As transações de rollup são executadas fora da camada 1, mas os dados da transação são enviados à camada 1. Ao enviar os dados da transação à camada 1, os rollups herdam a segurança do Ethereum. Isso ocorre por que quando os dados são carregados na camada 1, reverter uma transação de rollup exige a reversão do Ethereum. Há duas abordagens diferentes de rollup: otimista e conhecimento-zero, e a principal diferença entre elas é a maneira como os dados da transação são enviados à camada 1.", - "layer-2-optimistic-rollups-title": "Rollups otimistas", - "layer-2-optimistic-rollups-description": "Os rollups otimistas são \"otimistas\" no sentido de que as transações são consideradas válidas, mas podem ser contestadas, se necessário. Se houver suspeita de uma transação inválida, será realizado um teste de falha para verificar tal situação.", - "layer-2-optimistic-rollups-childSentance": "Mais sobre rollups otimistas", - "layer-2-zk-rollups-title": "Rollups de conhecimento zero", - "layer-2-zk-rollups-description": "Os rollups de conhecimento zero usam provas de validade onde as transações são computadas fora da cadeia, em seguida, os dados compactados são fornecidos à Rede Principal Ethereum como prova de sua validade.", - "layer-2-zk-rollups-childSentance": "Mais sobre rollups de conhecimento zero", - "layer-2-dyor-title": "Faça sua própria pesquisa: riscos da camada 2", - "layer-2-dyor-1": "Muitos projetos de camada 2 são relativamente novos e ainda exigem que os usuários confiem na honestidade de alguns operadores à medida que trabalham na descentralização de suas redes. Sempre conduza uma pesquisa para decidir se você está à vontade com os riscos envolvidos.", - "layer-2-dyor-2": "Para obter mais informações sobre a tecnologia, riscos e premissas de confiança da camada 2, recomendamos verificar o L2BEAT, que fornece uma estrutura abrangente de avaliação de risco de cada projeto.", - "layer-2-dyor-3": "Ir para L2BEAT", - "layer-2-use-layer-2-title": "Use a camada 2", - "layer-2-use-layer-2-1": "Agora que você entendeu porque a Camada 2 existe e como ela funciona, vamos começar a trabalhar!", - "layer-2-contract-accounts": "Se utilizar uma carteira de contrato inteligente, como Safe ou Argent, você não terá controle sobre esse endereço em uma camada 2 até implantar novamente a sua conta de contrato nesse endereço na camada 2. As contas clássicas com frase de recuperação terão automaticamente a mesma conta em todas as redes de camada 2.", - "layer-2-use-layer-2-generalized-title": "A Camada de uso global 2s", - "layer-2-use-layer-2-generalized-1": "A camada de uso global 2s se comporta exatamente como o Ethereum – porém, custa menos. Qualquer coisa que se possa fazer na camada 1 do Ethereum, também pode-se fazer na camada 2. Muitos dapps já começaram a migrar para essa rede ou passaram a implantar diretamente na camada 2.", - "layer-2-use-layer-2-application-specific-title": "Camadas 2s específicas de aplicativos", - "layer-2-use-layer-2-application-specific-1": "As camadas 2s específicas de aplicativos são projetos especializados em otimizar para um espaço de aplicativo específico, trazendo melhor desempenho.", - "layer-2-sidechains-title": "Uma nota sobre sidechains, validiums e blockchains alternativas", - "layer-2-sidechains-1": "Sidechains e validiums são blockchains que permitem que ativos do Ethereum sejam conectados e usados em outro blockchain. Sidechains e validiums são executados em paralelo com o Ethereum e interagem com o Ethereum por meio de pontes, mas não derivam sua segurança ou disponibilidade de dados do Ethereum.", - "layer-2-sidechains-2": "Ambos escalam de forma semelhante à camada 2s – eles oferecem taxas de transação mais baixas e taxa de transferência mais alta – mas têm diferentes suposições de confiança.", - "layer-2-more-on-sidechains": "Mais informações sobre sidechains", - "layer-2-more-on-validiums": "Mais informações sobre validiums", - "layer-2-sidechains-4": "Alguns blockchains de camada 1 relatam uma maior taxa de transferência e taxas de transação mais baratas do que o Ethereum, mas geralmente com desvantagens em outros aspectos, por exemplo, maiores requisitos de hardware para a execução de nós.", - "layer-2-onboard-title": "Como chegar em uma camada 2", - "layer-2-onboard-1": "Existem dois caminhos principais para colocar seus ativos em uma camada 2: fazer a ponte de fundos do Ethereum por meio de um contrato inteligente ou retirar seus fundos em uma bolsa diretamente na rede da camada 2.", - "layer-2-onboard-wallet-title": "Saldo na sua carteira?", - "layer-2-onboard-wallet-1": "Se você já possui seus ETH em sua carteira, precisará usar uma ponte para movê-los da Rede Principal Ethereum para uma camada 2.", - "layer-2-more-on-bridges": "Mais sobre pontes", - "layer-2-onboard-wallet-input-placeholder": "Selecione L2 para o qual deseja fazer a ponte", - "layer-2-onboard-wallet-selected-1": "Você pode se conectar para", - "layer-2-onboard-wallet-selected-2": "usar estas carteiras:", - "layer-2-bridge": "Ponte", - "layer-2-onboard-exchange-title": "Fundos em uma exchange (corretora)?", - "layer-2-onboard-exchange-1": "Algumas corretoras centralizadas agora oferecem saques e depósitos diretos para a camada 2s. Verifique quais corretoras suportam retiradas da camada 2 e quais camadas 2s elas suportam.", - "layer-2-onboard-exchange-2": "Você também precisará de uma carteira para sacar seus fundos.", - "layer-2-onboard-find-a-wallet": "Encontre uma carteira Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Verifique as corretoras que suportam a L2", - "layer-2-deposits": "Depósitos", - "layer-2-withdrawals": "Retirada de fundos", - "layer-2-go-to": "Ir para", - "layer-2-tools-title": "Ferramentas para ser eficaz na camada 2", - "layer-2-tools-l2beat-description": "L2BEAT é um excelente recurso para analisar as avaliações técnicas de riscos de projetos da camada 2. Recomendamos verificar seus recursos ao pesquisar projetos específicos da camada 2.", - "layer-2-tools-l2fees-description": "L2 Taxas permite ver o custo atual (denominado em USD) para fazer transações em diferentes camadas 2s.", - "layer-2-tools-chainlist-description": "Chainlist é um ótimo recurso para importar RPC's de redes no suporte a carteiras. Você encontrará RPC's para projetos da camada 2 aqui para ajudá-lo a se conectar.", - "layer-2-tools-zapper-description": "Gerencie todo o seu portfólio web3 desde DeFi até NFTs e o que vier a seguir. Invista nas últimas oportunidades de um lugar conveniente.", - "layer-2-tools-zerion-description": "Construa e gerencie todo o seu portfólio DeFi em um só lugar. Descubra hoje o mundo das finanças descentralizadas.", - "layer-2-tools-debank-description": "Fique por dentro de todos os acontecimentos importantes do mundo web3", - "layer-2-faq-title": "Perguntas frequentes", - "layer-2-faq-question-1-title": "Por que não existe um Ethereum L2 'oficial'?", - "layer-2-faq-question-1-description-1": "Assim como não existe um cliente Ethereum 'oficial', não existe uma camada 2 Ethereum 'oficial'. O Ethereum não tem permissão – tecnicamente qualquer pessoa pode criar uma camada 2! Várias equipes implementarão sua versão de uma camada 2 e o ecossistema como um todo se beneficiará de uma diversidade de abordagens de design otimizadas para diferentes casos de uso. Assim como temos vários clientes Ethereum desenvolvidos por várias equipes para ter diversidade na rede, também será assim que a camada 2 se desenvolverá no futuro.", - "layer-2-faq-question-2-title": "Qual é a diferença entre rollups otimistas e de conhecimento zero?", - "layer-2-faq-question-2-description-1": "Tanto os rollups otimistas quanto os de conhecimento zero agrupam (ou reúnem) centenas de transações em uma única transação na camada 1. As transações de rollup são executadas fora da camada 1, mas os dados da transação são postados na camada 1.", - "layer-2-faq-question-2-description-2": "A principal diferença é quais dados são postados na camada 1 e como os dados são verificados. As provas de validade (usadas por rollups de conhecimento zero) executam os cálculos off-chain e postam uma prova, enquanto as provas de falha (usadas por rollups otimistas) só executam os cálculos on-chain quando a falha é suspeita e deve ser verificada.", - "layer-2-faq-question-2-description-3": "No momento, a maioria dos rollups de conhecimento zero são específicos para aplicativos, em contraste com os rollups otimistas, que foram amplamente generalizáveis.", - "layer-2-more-info-on-optimistic-rollups": "Mais informações sobre rollups otimistas", - "layer-2-more-info-on-zk-rollups": "Mais informações sobre rollups de conhecimento zero", - "layer-2-faq-question-4-title": "Quais os riscos com a camada 2?", - "layer-2-faq-question-4-description-1": "Os projetos da camada 2 contêm riscos adicionais em comparação com a retenção de fundos e transações diretamente na rede principal Ethereum. Por exemplo, os sequenciadores podem ficar inativos, levando você a ter que esperar para acessar os fundos.", - "layer-2-faq-question-4-description-2": "Incentivamos você a fazer a sua própria pesquisa antes de transferir fundos significativos para uma camada 2. Para obter mais informações sobre tecnologia, riscos e suposições de confiança da camada 2s, recomendamos verificar L2BEAT, que fornece uma estrutura abrangente de avaliação de risco de cada projeto.", - "layer-2-faq-question-4-description-3": "As pontes do blockchain, que facilitam a transferência de ativos para a camada 2, estão em seus estágios iniciais de desenvolvimento e é provável que o design ideal da ponte ainda não tenha sido descoberto. Recentemente, aconteceram ataques hackers em pontes.", - "layer-2-faq-question-5-title": "Por que alguns projetos da camada 2 não estão listados aqui?", - "layer-2-faq-question-5-description-1": "Queremos garantir que listamos os melhores recursos possíveis para que os usuários possam navegar no espaço da camada 2 de maneira segura e confiável. Mantemos uma estrutura de critérios sobre como os projetos são avaliados para inclusão.", - "layer-2-faq-question-5-view-listing-policy": "Veja nossa política de listagem da cListaamada 2 aqui.", - "layer-2-faq-question-5-description-2": "Qualquer pessoa é livre para sugerir a adição de uma camada 2 no ethereum.org. Se houver uma camada 2 que tenhamos perdido, por favor, sugira.", - "layer-2-further-reading-title": "Leitura adicional", - "a-rollup-centric-ethereum-roadmap": "Um planejamento ethereum centrado em rollup", - "an-incomplete-guide-to-rollups": "Um Guia Incompleto sobre Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Rollups de Ethereum vs Polygon Sidechain: abordagens de escalabilidade de camada 2 | Vitalik Buterin e Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUPS – A estratégia definitiva de escalabilidade do Ethereum? Arbitrum e Optimism explicados", - "scaling-layer-1-with-shard-chains": "Escalando a camada 1 com cadeias de fragmentos", - "understanding-rollup-economics-from-first-principals": "Entendendo a economia de rollup a partir dos primeiros princípios", - "arbitrum-description": "Arbitrum One é um rollup otimista que tem como objetivo dar a sensação exata de interagir com o Ethereum, mas com transações que custam uma fração do que custam na L1.", - "optimism-description": "O Optimism é um rollup otimista equivalente a uma EVM rápida, simples e segura. Ele dimensiona a tecnologia do Ethereum enquanto também dimensiona seus valores por meio de financiamento retroativo de bens públicos.", - "boba-description": "Boba é um Rollup Otimista originalmente bifurcado do otimismo, o qual é uma solução de escalabilidade que visa reduzir as taxas de gás, melhorar a vazão das transações e estender as capacidades dos contratos inteligentes.", - "loopring-description": "A solução zkRollup L2 da Loopring visa oferecer as mesmas garantias de segurança que a rede principal Ethereum, com um grande aumento de escalabilidade: taxa de transferência aumentada em 1000x e custo reduzido para apenas 0,1% da L1.", - "zksync-description": "ZKsync é uma plataforma de rollup zk centrada no usuário da Matter Labs. É uma solução de escalabilidade para o Ethereum, já disponível na rede principal Ethereum. Ele suporta pagamentos, trocas de token e cunhagem de NFT.", - "zkspace-description": "A plataforma ZKSpace é composta por três partes principais: uma camada 2 AMM DEX que utiliza a tecnologia ZK-Rollups, chamada ZKSwap, um serviço de pagamento chamado ZKSquare e um marketplace de NFT chamado ZKSea.", - "aztec-description": "A Aztec Network é o primeiro rollup de conhecimento zero privado no Ethereum, permitindo que aplicativos descentralizados acessem privacidade e escalabilidade.", - "layer-2-note": "Observação:", - "layer-2-ecosystem-portal": "Portal Ecossistema", - "layer-2-token-lists": "Listas de tokens", - "layer-2-explore": "Explorar", - "page-dapps-ready-button": "Vamos" -} diff --git a/src/intl/pt/page-layer-2.json b/src/intl/pt/page-layer-2.json deleted file mode 100644 index d51b4a3e606..00000000000 --- a/src/intl/pt/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "Provas de fraude apenas para utilizadores inscritos na lista de permissões, a lista de permissões ainda não está aberta", - "layer-2-boba-note": "Estado da validação em curso", - "layer-2-optimism-note": "Provas de erro em desenvolvimento", - "layer-2-hero-title": "Camada 2", - "layer-2-hero-header": "Ethereum para todos", - "layer-2-hero-subtitle": "Dimensionamento do Ethereum para adoção em massa.", - "layer-2-hero-alt-text": "Ilustração de transações a serem acumuladas no nível 2 e publicadas na rede principal Ethereum", - "layer-2-hero-button-1": "O que é o layer 2", - "layer-2-hero-button-2": "Utilizar o layer 2", - "layer-2-hero-button-3": "Mover para o layer 2", - "layer-2-statsbox-1": "TVL bloqueada no layer 2 (USD)", - "layer-2-statsbox-2": "Taxa de transferência média do layer 2 ETH (USD)", - "layer-2-statsbox-3": "Alteração da TVL do layer 2 (30 dias)", - "layer-2-what-is-layer-2-title": "O que é o layer 2?", - "layer-2-what-is-layer-2-1": "Layer 2 (L2) é um termo coletivo para descrever um conjunto específico de soluções de dimensionamento Ethereum. Um layer 2 é uma blockchain separada que aumenta a Ethereum e herda as garantias de segurança do Ethereum.", - "layer-2-what-is-layer-2-2": "Vamos agora aprofundar um pouco mais o tema. Para o fazer, precisamos de explicar primeiro o que é a camada 1 (L1).", - "layer-2-what-is-layer-1-title": "O que é o layer 1?", - "layer-2-what-is-layer-1-1": "A camada 1 é o blockchain base. Ethereum e Bitcoin são blockchains de camada 1 porque são a base subjacente sobre a qual várias redes de camada 2 são construídas. Exemplos de projetos da camada 2 incluem \"rollups\" no Ethereum e a Lightning Network no Bitcoin. Todas as atividades de transação do utilizador nesses projetos da camada 2 podem, em última análise, regressar ao blockchain da camada 1.", - "layer-2-what-is-layer-1-2": "A Ethereum também funciona como uma camada de disponibilidade de dados para os layers 2. Os projectos de layer 2 publicarão os seus dados de transação na Ethereum, confiando neste para a disponibilidade de dados. Estes dados podem ser utilizados para obter o estado do layer 2, ou para disputar transacções no layer 2.", - "layer-2-what-is-layer-1-list-title": "A Ethereum como layer 1 inclui:", - "layer-2-what-is-layer-1-list-1": "Uma rede de operadores de nós para proteger e validar a rede", - "layer-2-what-is-layer-1-list-2": "Uma rede de produtores de blocos", - "layer-2-what-is-layer-1-list-3": "A própria blockchain e o histórico dos dados das transações", - "layer-2-what-is-layer-1-list-4": "Mecanismo de consenso para a rede", - "layer-2-what-is-layer-1-list-link-1": "Ainda está confuso sobre a Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Saiba o que é a Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Porque é que precisamos do layer 2?", - "layer-2-why-do-we-need-layer-2-1": "Três propriedades desejáveis de uma blockchain são que seja descentralizada, segura e escalável. O trilema blockchain afirma que uma arquitetura blockchain simples pode alcançar apenas dois de três. Quer uma blockchain segura e descentralizada? Terá de sacrificar a escalabilidade.", - "layer-2-why-do-we-need-layer-2-2": "O Ethereum processa atualmente mais de 1 milhão de transações por dia. A procura de utilização do Ethereum pode fazer com que os preços das taxas de transação sejam elevados. É aqui que entram as redes de camada 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "O principal objetivo da camada 2 é aumentar o débito das transações (mais transações por segundo) sem sacrificar a descentralização ou a segurança.", - "layer-2-why-do-we-need-layer-2-scalability-2": "A rede principal Ethereum (camada 1) só consegue processar cerca de 15 transações por segundo. Quando a procura de Ethereum é elevada, a rede fica congestionada, o que aumenta as taxas de transação e exclui os utilizadores que não podem pagar essas taxas. As camadas 2 são soluções que reduzem essas taxas ao processar transações fora da blockchain da camada 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Mais informações sobre a visão da Ethereum", - "layer-2-benefits-of-layer-2-title": "Vantagens do layer 2", - "layer-2-lower-fees-title": "Comissões mais baixas", - "layer-2-lower-fees-description": "Ao combinar múltiplas transações fora da cadeia numa única transação de layer 1, as taxas de transação são fortemente reduzidas, tornando a Ethereum mais acessível.", - "layer-2-maintain-security-title": "Manter a segurança", - "layer-2-maintain-security-description": "As blockchains de layer 2 realizam as suas transações na rede principal Ethereum, permitindo que os utilizadores beneficiem da segurança da rede Ethereum.", - "layer-2-expand-use-cases-title": "Expandir os casos de utilização", - "layer-2-expand-use-cases-description": "Com mais transações por segundo, taxas mais baixas e novas tecnologias, os projetos irão expandir-se para novas aplicações com uma melhor experiência do utilizador.", - "layer-2-how-does-layer-2-work-title": "Como funciona o layer 2?", - "layer-2-how-does-layer-2-work-1": "Como anteriormente mencionado, a camada 2 é um termo coletivo para soluções de dimensionamento do Ethereum que lidam com transações da camada 1, aproveitando a segurança descentralizada robusta da camada 1 do Ethereum. Uma camada 2 é um blockchain separado que estende o Ethereum. Como funciona?", - "layer-2-how-does-layer-2-work-2": "Há vários tipos distintos de camada 2, cada um com as suas próprias vantagens e modelos de segurança. As camadas 2 retiram a carga transacional da camada 1, permitindo que esta fique menos congestionada e que tudo se torne mais escalável.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Os rollups (ou \"roll up\") agrupam centenas de transações numa única transação na camada 1. Isto distribui as taxas de transação L1 por todos os participantes no rollup, tornando-as mais baratas para cada um.", - "layer-2-rollups-2": "As transações de rollup são executadas fora da camada 1, mas os dados da transação são submetidos à camada 1. Ao enviar os dados da transação para a camada 1, os rollups herdam a segurança do Ethereum. Isso ocorre porque, uma vez que os dados são enviados para a camada 1, reverter uma transação de rollup requer reverter o Ethereum. Existem duas abordagens diferentes para os rollups: otimista e de conhecimento zero - diferem principalmente na forma como estes dados de transação são enviados para L1.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Os rollups otimistas são \"otimistas\" no sentido em que se assume que as transações são válidas, mas podem ser contestadas se necessário. Se se suspeitar de uma transação inválida, é executada uma prova de falha para verificar se esta ocorreu.", - "layer-2-optimistic-rollups-childSentance": "Mais informações sobre rollups otimistas", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "Os rollups de conhecimento zero utilizam provas de validação em que as transações são calculadas fora da cadeia e, em seguida, os dados comprimidos são fornecidos à Ethereum Mainnet como prova da sua validade.", - "layer-2-zk-rollups-childSentance": "Mais informações sobre os ZK-rollups", - "layer-2-dyor-title": "Faça a sua própria investigação: riscos do layer 2", - "layer-2-dyor-1": "Muitos projetos de camada 2 são relativamente recentes e ainda exigem que os utilizadores confiem na honestidade de alguns operadores enquanto trabalham para descentralizar as suas redes. Faça sempre a sua própria pesquisa para decidir se se sente confortável com os riscos envolvidos.", - "layer-2-dyor-2": "Para obter mais informações sobre a tecnologia, os riscos e os pressupostos de confiança dos layer 2, recomendamos que consulte o L2BEAT, que fornece uma estrutura de avaliação de riscos abrangente sobre cada projeto.", - "layer-2-dyor-3": "Aceder a L2BEAT", - "layer-2-use-layer-2-title": "Utilizar o layer 2", - "layer-2-use-layer-2-1": "Agora que já sabe porque é que o layer 2 existe e como funciona, vamos pô-lo a funcionar!", - "layer-2-contract-accounts": "Se estiver a usar uma carteira de contrato inteligente como a Safe ou a Argent, não terá controlo sobre este endereço numa camada 2 até reimplementar a sua conta de contrato para esse endereço na camada 2. As contas clássicas com frase de recuperação possuirão automaticamente a mesma conta em todas as redes de camada 2.", - "layer-2-use-layer-2-generalized-title": "Layer 2 generalizados", - "layer-2-use-layer-2-generalized-1": "Os layer 2 generalizados comportam-se exatamente como a Ethereum - mas mais baratos. Tudo o que se pode fazer no layer 1 da Ethereum, também se pode fazer no layer 2. Muitas dapps já começaram a migrar para essas redes ou ignoraram a Mainnet completamente para implementar diretamente num layer 2.", - "layer-2-use-layer-2-application-specific-title": "Aplicações específicas para layers 2", - "layer-2-use-layer-2-application-specific-1": "Aplicações específicas para layers 2 são projetos que se especializam na otimização para uma área de aplicação específica, proporcionando um melhor desempenho.", - "layer-2-sidechains-title": "Uma nota sobre sidechains, validiums e blockchains alternativas", - "layer-2-sidechains-1": "As Sidechains e validiums são blockchains que permitem que os ativos da Ethereum sejam ligados em ponte e usados noutra blockchain. As Sidechains e validiums funcionam em paralelo com a Ethereum e interagem com a Ethereum através de pontes, mas não derivam a sua segurança ou disponibilidade de dados da Ethereum.", - "layer-2-sidechains-2": "Ambas têm uma escala semelhante à dos layer 2 - oferecem taxas de transação mais baixas e maior débito de transações - mas têm pressupostos de confiança diferentes.", - "layer-2-more-on-sidechains": "Mais informações sobre sidechains", - "layer-2-more-on-validiums": "Mais informações sobre validiums", - "layer-2-sidechains-4": "Algumas blockchains de camada 1 apresentam um rendimento mais elevado e taxas de transação mais baixas do que a Ethereum, mas geralmente com contrapartidas noutras áreas, por exemplo, maiores requisitos de hardware para executar nós.", - "layer-2-onboard-title": "Como aceder a um layer 2", - "layer-2-onboard-1": "Existem duas formas fundamentais de colocar os seus ativos no layer 2: transferir fundos da Ethereum através de um contrato inteligente ou retirar os seus fundos de uma bolsa diretamente para a rede do layer 2.", - "layer-2-onboard-wallet-title": "Fundos na sua carteira?", - "layer-2-onboard-wallet-1": "Se já tiveres ETH na tua carteira, terás de usar uma ponte para o mover da Ethereum Mainnet para um layer 2.", - "layer-2-more-on-bridges": "Mais sobre pontes", - "layer-2-onboard-wallet-input-placeholder": "Selecione L2 para o qual pretende estabelecer uma ponte", - "layer-2-onboard-wallet-selected-1": "É possível ligar-se a", - "layer-2-onboard-wallet-selected-2": "utilizando uma destas carteiras:", - "layer-2-bridge": "Ponte", - "layer-2-onboard-exchange-title": "Fundos numa plataforma?", - "layer-2-onboard-exchange-1": "Algumas plataformas centralizadas oferecem atualmente levantamentos e depósitos diretos para layer 2s. Verifique quais as plataformas que suportam levantamentos de layer 2 e quais os layers 2 suportados.", - "layer-2-onboard-exchange-2": "Também precisará de uma carteira para levantar os seus fundos.", - "layer-2-onboard-find-a-wallet": "Procurar uma carteira Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Verificar as plataformas que suportam L2", - "layer-2-deposits": "Depósitos", - "layer-2-withdrawals": "Levantamentos", - "layer-2-go-to": "Aceder a", - "layer-2-tools-title": "Ferramentas para ser eficaz no layer 2", - "layer-2-tools-l2beat-description": "O L2BEAT é um excelente recurso para analisar as avaliações de risco técnico de projetos do layer 2. Recomendamos que consulte os seus recursos quando pesquisar projetos específicos do layer 2.", - "layer-2-tools-l2fees-description": "As taxas L2 permitem-lhe ver o custo atual (expresso em USD) para efetuar transações em diferentes layers 2.", - "layer-2-tools-chainlist-description": "Chainlist é um excelente recurso para importar RPCs de rede para carteiras suportadas. Encontrará aqui RPC para projetos de layer 2 para o ajudar a ligar-se.", - "layer-2-tools-zapper-description": "Gerir todos os fundos web3, desde DeFi a NFTs e tudo o que está para vir. Invista nas oportunidades mais recentes a partir de um local conveniente.", - "layer-2-tools-zerion-description": "Construa e gira todo o seu portfólio DeFi a partir de um único lugar. Descubra hoje mesmo o mundo das finanças descentralizadas.", - "layer-2-tools-debank-description": "Acompanhe todos os acontecimentos importantes do mundo da web3", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Porque é que não existe um Ethereum L2 \"oficial\"?", - "layer-2-faq-question-1-description-1": "Tal como não existe um cliente Ethereum \"oficial\", também não existe um layer 2 Ethereum \"oficial\". A Ethereum não tem permissões - tecnicamente, qualquer pessoa pode criar um layer 2! Várias equipas implementarão a sua versão de um layer 2, e o ecossistema como um todo beneficiará de uma diversidade de abordagens de design que são optimizadas para diferentes casos de utilização. Tal como temos múltiplos clientes Ethereum desenvolvidos por múltiplas equipas de forma a ter diversidade na rede, esta será também a forma como os layer 2 se desenvolverão no futuro.", - "layer-2-faq-question-2-title": "Qual é a diferença entre rollups optimistas e de conhecimento zero?", - "layer-2-faq-question-2-description-1": "Tanto os rollups optimistas como os de conhecimento zero agrupam (ou \"roll up\") centenas de transacções numa única transação no layer 1. As transações de rollup são executadas fora do layer 1, mas os dados da transação são lançados no layer 1.", - "layer-2-faq-question-2-description-2": "A principal diferença reside nos dados que são lançados no layer 1 e na forma como os dados são verificados. As provas de validade (utilizadas pelos rollups de conhecimento zero) executam os cálculos fora da cadeia e lançam uma prova, enquanto as provas de falha (utilizadas pelos rollups optimistas) apenas executam os cálculos na cadeia quando se suspeita de uma falha e esta deve ser verificada.", - "layer-2-faq-question-2-description-3": "Atualmente, a maioria dos rollups ZK são específicos de uma aplicação, em contraste com os rollups optimistas que têm sido largamente generalizáveis.", - "layer-2-more-info-on-optimistic-rollups": "Mais informações sobre rollups optimistas", - "layer-2-more-info-on-zk-rollups": "Mais informações sobre rollups de conhecimento zero", - "layer-2-faq-question-4-title": "Quais são os riscos do layer 2?", - "layer-2-faq-question-4-description-1": "Os projectos do layer 2 contêm riscos adicionais em comparação com a detenção de fundos e a sua transação direta na Ethereum Mainnet. Por exemplo, os sistemas de sequenciação podem ficar inoperacionais, levando-o a ter de esperar para aceder aos fundos.", - "layer-2-faq-question-4-description-2": "Incentivamo-lo a fazer a sua própria pesquisa antes de transferir fundos significativos para um layer 2. Para obter mais informações sobre esta tecnologia, riscos e pressupostos de confiança do layer 2, recomendamos verificar L2BEAT, que fornece uma estrutura abrangente de avaliação de riscos de cada projeto.", - "layer-2-faq-question-4-description-3": "As pontes Blockchain, que facilitam as transferências de ativos para o layer 2, estão nos seus estágios iniciais de desenvolvimento e é provável que o projeto ideal de ponte ainda não tenha sido descoberto. Houve hacks recentes em pontes.", - "layer-2-faq-question-5-title": "Porque é que alguns projetos de layer 2 não estão listados?", - "layer-2-faq-question-5-description-1": "Queremos garantir que listamos os melhores recursos possíveis para que os utilizadores possam navegar no espaço do layer 2 de uma forma segura e confiante. Mantemos um quadro de critérios para a forma como os projetos são avaliados para a sua inserção.", - "layer-2-faq-question-5-view-listing-policy": "Consulte aqui a nossa política para inclusão na lista dos layer 2.", - "layer-2-faq-question-5-description-2": "Qualquer um é livre de sugerir a adição de um layer 2 em ethereum.org. Se houver um layer 2 que não incluímos, sugira-a.", - "layer-2-further-reading-title": "Leitura adicional", - "a-rollup-centric-ethereum-roadmap": "Um roteiro para o ethereum centrado no rollup", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Polygon sidechain vs rollups do Ethereum: abordagens de escalonamento da camada 2| Vitalik Buterin e Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUPS - A melhor estratégia de aumento da Ethereum? Arbitrum & Optimism Explicado", - "scaling-layer-1-with-shard-chains": "Aumento do layer 1 com cadeias de fragmentos", - "understanding-rollup-economics-from-first-principals": "Compreender a economia do rollup desde os primeiros princípios", - "arbitrum-description": "O Arbitrum One é um Optimistic Rollup que tem como objetivo proporcionar a mesma sensação de estar a interagir com o Ethereum, mas com transações que custam uma fração do que custam no L1.", - "optimism-description": "O Optimism é um rollup otimista rápido, simples e seguro equivalente ao EVM. Dimensiona a tecnologia da Ethereum ao mesmo tempo que redimensiona os seus valores através do financiamento retroativo de bens públicos.", - "boba-description": "Boba é um Rollup otimista originalmente bifurcado do Optimism, que é uma solução de dimensionamento que visa reduzir as taxas de gás, melhorar a taxa de transferência de transações e expandir os recursos de contratos inteligentes.", - "loopring-description": "A solução zkRollup L2 da Loopring tem como objetivo oferecer as mesmas garantias de segurança que a rede Ethereum Mainnet, com um importante aumento de escalabilidade: o rendimento aumentou 1000 vezes e o custo foi reduzido para apenas 0,1% do custo no L1.", - "zksync-description": "ZKsync é uma plataforma da Matter Labs de rollup zk centrada no utilizador. É uma solução de redimensionamento para Ethereum, já disponível na rede Ethereum Mainnet. Suporta pagamentos, trocas de tokens e cunhagem de NFT.", - "zkspace-description": "A plataforma ZKSpace consiste em três partes principais: um AMM DEX de camada 2 que utiliza a tecnologia ZK-Rollups chamada ZKSwap, um serviço de pagamento chamado ZKSquare e um mercado NFT chamado ZKSea.", - "aztec-description": "A Aztec Network é o primeiro zk-rollup privado na Ethereum, permitindo que aplicações descentralizadas tenham privacidade e escalabilidade.", - "layer-2-note": "Nota:", - "layer-2-ecosystem-portal": "Portal do Ecossistema", - "layer-2-token-lists": "Lista de tokens", - "layer-2-explore": "Explorar", - "page-dapps-ready-button": "Ir" -} diff --git a/src/intl/ro/page-layer-2.json b/src/intl/ro/page-layer-2.json deleted file mode 100644 index 0b2babf4716..00000000000 --- a/src/intl/ro/page-layer-2.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "page-dapps-ready-button": "Porniți" -} diff --git a/src/intl/ru/page-layer-2.json b/src/intl/ru/page-layer-2.json deleted file mode 100644 index 98a4fd2621c..00000000000 --- a/src/intl/ru/page-layer-2.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "layer-2-arbitrum-note": "Доказательства мошенничества доступны только пользователям «белого списка», «белый список» ещё не открыт", - "layer-2-boba-note": "Валидация состояния находится в разработке", - "layer-2-optimism-note": "Функции по обнаружению неисправности находятся в разработке", - "layer-2-base-note": "Система доказательства мошенничества на данный момент находится в разработке", - "layer-2-metadata-description": "Введение в сети уровня 2", - "layer-2-hero-title": "Уровень 2", - "layer-2-hero-header": "Ethereum для всех", - "layer-2-hero-subtitle": "Масштабирование Ethereum для массового принятия.", - "layer-2-hero-alt-text": "Иллюстрация транзакций, свернутых на слое 2 и опубликованных в основной сети Ethereum Mainnet", - "layer-2-hero-button-1": "Что такое «уровень 2»", - "layer-2-hero-button-2": "Использовать уровень 2", - "layer-2-hero-button-3": "Перейти к уровню 2", - "layer-2-statsbox-1": "TVL, заблокированные на уровне 2 (USD)", - "layer-2-statsbox-2": "Средняя комиссия за перевод ETH на уровне 2 (USD)", - "layer-2-statsbox-3": "Изменение TVL на уровне 2 (последние 30 дней)", - "layer-2-what-is-layer-2-title": "Что такое «уровень 2»?", - "layer-2-what-is-layer-2-1": "Уровень 2 (L2) — это собирательный термин для описания определенного набора решений для масштабирования Ethereum. Уровень 2 — это отдельный блокчейн, который расширяет Ethereum и наследует гарантии безопасности Ethereum.", - "layer-2-what-is-layer-2-2": "Теперь давайте разберемся в этом немного подробнее. Для этого нам сначала нужно объяснить, что такое «слой 1» (L1).", - "layer-2-what-is-layer-1-title": "Что такое «уровень1»?", - "layer-2-what-is-layer-1-1": "Уровень 1 — это основной блокчейн. И Ethereum, и Bitcoin — блокчейны первого уровня, так как они выступают в качестве основы, над которой надстраиваются различные сети уровня 2. К примерам блокчейнов второго уровня относятся роллапы на Ethereum и Lightning Network на Bitcoin. Все пользовательские транзакции, происходящие на блокчейне уровня 2, в итоге находят отражение на блокчейне уровня 1.", - "layer-2-what-is-layer-1-2": "Ethereum служит также уровнем доступности данных для уровня 2. Проекты уровня 2 будут размещать данные транзакций в Ethereum, полагаясь на Ethereum для обеспечения доступности данных. Эти данные можно использовать для получения состояния уровня 2 или для оспаривания транзакций на уровне 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum, как уровень 1, включает такие элементы:", - "layer-2-what-is-layer-1-list-1": "Сеть операторов узлов для обеспечения безопасности и проверки сети", - "layer-2-what-is-layer-1-list-2": "Сеть производителей блоков", - "layer-2-what-is-layer-1-list-3": "Сам блокчейн и история данных транзакций", - "layer-2-what-is-layer-1-list-4": "Механизм консенсуса сети", - "layer-2-what-is-layer-1-list-link-1": "Остались вопросы по Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Узнайте, что такое Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Зачем нам нужен уровень 2?", - "layer-2-why-do-we-need-layer-2-1": "Три желательных свойства блокчейна: он децентрализованный, безопасный и масштабируемый. Трилемма блокчейна указывает, что простая архитектура блокчейна может достичь только двух из трех целей. Хотите безопасный и децентрализованный блокчейн? Вам необходимо пожертвовать масштабируемостью.", - "layer-2-why-do-we-need-layer-2-2": "На данный момент Ethereum обрабатывает больше 1 миллиона транзакций в день. Спрос на использование Ethereum может приводить к увеличению комиссии за транзакцию. В такие моменты вступают в игру сети уровня 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Масштабируемость", - "layer-2-why-do-we-need-layer-2-scalability-1": "Главной целью слоя 2 является увеличение пропускной способности транзакций (больше транзакций в секунду) без ущерба для децентрализации и безопасности.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Основная сеть Ethereum (уровень 1) может обрабатывать только примерно 15 транзакций в секунду. Когда спрос на использование Ethereum высок, сеть становится перегруженной, что увеличивает комиссии за транзакции и отсеивает пользователей, которые не могут позволить себе оплату этих комиссий. Сети уровня 2 — это решения, которые уменьшают такие комиссии, обрабатывая транзакции вне блокчейнов уровня 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Подробнее о концепции Ethereum", - "layer-2-benefits-of-layer-2-title": "Преимущества уровня 2", - "layer-2-lower-fees-title": "Ниже комиссии", - "layer-2-lower-fees-description": "Путем объединения нескольких внесетевых транзакций в одной транзакции уровня 1 транзакционные комиссии значительно уменьшились, делая Ethereum более доступным для всех.", - "layer-2-maintain-security-title": "Поддержание безопасности", - "layer-2-maintain-security-description": "Блокчейны уровня 2 осуществляют свои транзакции в основной сети Ethereum, позволяя пользователям извлекать выгоду из безопасности сети Ethereum.", - "layer-2-expand-use-cases-title": "Обширные варианты использования", - "layer-2-expand-use-cases-description": "С увеличением объема транзакций в секунду, снижением комиссий и развитием новых технологий проекты будут расширяться в новые приложения с улучшенным пользовательским интерфейсом.", - "layer-2-how-does-layer-2-work-title": "Как работает уровень 2?", - "layer-2-how-does-layer-2-work-1": "Как мы упомянули выше, слой 2 — это общий термин, объединяющий решения для масштабирования Ethereum, которые обрабатывают транзакции вне слоя 1 Ethereum, при этом по-прежнему используя преимущества надежной децентрализованной безопасности слоя 1 Ethereum. Слой 2 — это отдельный блокчейн, который расширяет Ethereum. Как это работает?", - "layer-2-how-does-layer-2-work-2": "Существует несколько разных типов слоя 2, и каждый из них имеет свои компромиссы и модели безопасности. Слои 2 забирают нагрузку от транзакций со слоя 1. Это освобождает его возможности и увеличивает масштабируемость.", - "layer-2-rollups-title": "Свертки", - "layer-2-rollups-1": "Роллапы комплектуют сотни транзакций в одну на слое 1. Это распределяет комиссии за транзакцию на слое 1 между всеми в роллапе, делая процедуру дешевле для каждого пользователя.", - "layer-2-rollups-2": "Данные транзакции в роллапе передаются на уровень 1, но выполнение производится роллапом самостоятельно. Передавая данные транзакций на уровень 1, роллапы наследуют безопасность Ethereum. Это связано с тем, что как только данные загружаются на уровень 1, отмена транзакции роллапа требует отмены в Ethereum. Существуют две различные концепции роллапов: оптимистическая и с нулевым разглашением — они различаются в первую очередь тем, как данные транзакций передаются на уровень 1.", - "layer-2-optimistic-rollups-title": "Оптимистичные свертки", - "layer-2-optimistic-rollups-description": "Оптимистические свертки являются «оптимистическими» в том смысле, что транзакции считаются действительными, но при необходимости их можно оспорить. Если есть подозрение, что транзакция недействительна, выполняется проверка на ошибки, чтобы выяснить, так ли это.", - "layer-2-optimistic-rollups-childSentance": "Подробнее об оптимистических роллапах", - "layer-2-zk-rollups-title": "Свертки с нулевым знанием", - "layer-2-zk-rollups-description": "Роллапы с нулевым разглашением используют доказательства достоверности, когда транзакции вычисляются вне цепи, и затем сжатые данные поставляются в основную сеть Ethereum, как доказательство их достоверности.", - "layer-2-zk-rollups-childSentance": "Подробнее о ZK-роллапах", - "layer-2-dyor-title": "Проведите собственное исследование: риски уровня 2", - "layer-2-dyor-1": "Много проектов на слое 2 являются относительно новыми и до сих пор нуждаются в пользовательском доверии к тому, что операторы будут честными, работая над децентрализацией их сетей. Всегда самостоятельно изучайте ситуацию, чтобы решить, устраивают ли вас имеющиеся риски.", - "layer-2-dyor-2": "Для более подробной информации о технологии, рисках и предположениях о доверии уровня 2 рекомендуем ознакомиться с L2BEAT, который обеспечивает комплексную систему оценки рисков каждого проекта.", - "layer-2-dyor-3": "Перейти к L2BEAT", - "layer-2-use-layer-2-title": "Использовать уровень 2", - "layer-2-use-layer-2-1": "Теперь, когда вы поняли, зачем существует уровень 2 и как он работает, давайте начнем!", - "layer-2-contract-accounts": "Если вы используете кошелек с умным контрактом, например Safe или Argent, у вас не будет контроля над этим адресом на уровне 2, пока вы не переведете свой аккаунт контракта на этот адрес на уровне 2. Классические аккаунты с фразой для восстановления будут автоматически владеть тем же аккаунтом во всех сетях уровня 2.", - "layer-2-use-layer-2-generalized-title": "Обобщенный уровень 2", - "layer-2-use-layer-2-generalized-1": "Обобщенный уровень 2 ведет себя, как Ethereum, но обходится дешевле. Все, что вы можете делать на уровне 1 Ethereum, можно также делать на уровне 2. Многие децентрализованные приложения (dapps) уже начали мигрировать на эту сеть или полностью пропустили основную сеть для разработки проектов непосредственно на уровне 2.", - "layer-2-use-layer-2-application-specific-title": "Уровень 2 для конкретных приложений", - "layer-2-use-layer-2-application-specific-1": "Уровень 2 для конкретных приложений — это проекты, специализирующиеся на оптимизации пространства определенного приложения, что обеспечивает улучшенную производительность.", - "layer-2-sidechains-title": "Обратите внимание на сайдчейны, валидиумы и альтернативные блокчейны", - "layer-2-sidechains-1": "Сайдчейны и валидиумы — это блокчейны, которые позволят связать активы из Ethereum и использовать их в другом блокчейне. Сайдчейны и валидиумы работают параллельно с Ethereum и взаимодействуют с Ethereum через мосты, но не получают защиту или доступность данных от Ethereum.", - "layer-2-sidechains-2": "Оба масштабируются аналогично уровню 2 — предлагают более низкие транзакционные комиссии и высокую транзакционную пропускную способность, — но имеют разные предположения о доверии.", - "layer-2-more-on-sidechains": "Подробнее о сайдчейнах", - "layer-2-more-on-validiums": "Подробнее о валидиумах", - "layer-2-sidechains-4": "У некоторых блокчейнов слоя 2 отображаемая пропускная способность выше, а комиссия за транзакцию — ниже, чем у Ethereum. Но при этом обычно есть другие минусы, например повышенные требования к оборудованию для работающих узлов.", - "layer-2-onboard-title": "Как попасть на уровень 2", - "layer-2-onboard-1": "Есть два основных способа доставить ваши активы на уровень 2: перевод средств из Ethereum посредством умного контракта или вывод ваших денежных средств на бирже непосредственно в сеть уровня 2.", - "layer-2-onboard-wallet-title": "Денежные средства в вашем кошельке?", - "layer-2-onboard-wallet-1": "Если в вашем кошельке уже есть ETH, необходимо использовать мост, чтобы переместить их из основной сети Ethereum на уровень 2.", - "layer-2-more-on-bridges": "Подробнее о мостах", - "layer-2-onboard-wallet-input-placeholder": "Выберите L2, к которому вы хотите подключиться", - "layer-2-onboard-wallet-selected-1": "Вы можете подключиться к", - "layer-2-onboard-wallet-selected-2": "используя эти кошельки:", - "layer-2-bridge": "Мост", - "layer-2-onboard-exchange-title": "Средства на бирже?", - "layer-2-onboard-exchange-1": "Некоторые централизованные биржи теперь предлагают прямой вывод денежных средств и депозиты на уровне 2. Проверьте, какие биржи поддерживают вывод денежных средств на уровне 2 и какой уровень 2 они поддерживают.", - "layer-2-onboard-exchange-2": "Вам также понадобится кошелек для вывода средств.", - "layer-2-onboard-find-a-wallet": "Найдите кошелек Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Проверьте биржи, которые поддерживают L2", - "layer-2-deposits": "Депозиты", - "layer-2-withdrawals": "Вывод средств", - "layer-2-go-to": "Перейти", - "layer-2-tools-title": "Инструменты, которые будут эффективны на уровне 2", - "layer-2-tools-l2beat-description": "L2BEAT — отличный ресурс для рассмотрения оценок технических рисков проектов уровня 2. Мы рекомендуем ознакомиться с этими ресурсами при исследовании конкретных проектов уровня 2.", - "layer-2-tools-growthepie-description": "Курируемая аналитика про вторые уровни Ethereum", - "layer-2-tools-ethereumecosystem-description": "Неофициальная страница с сотнями децентрализованных приложений и инструментов для Ethereum и уровней 2, включая Base, Optimism и Starknet.", - "layer-2-tools-l2fees-description": "Комиссии L2 позволят вам видеть текущую стоимость (выраженную в долларах США) для совершения транзакций на разных уровнях 2.", - "layer-2-tools-chainlist-description": "Chainlist является отличным ресурсом для импорта сетевых RPC в поддерживающие кошельки. Здесь вы найдете RPC для проектов уровня 2, которые помогут вам подключиться.", - "layer-2-tools-zapper-description": "Управляйте всем своим портфолио web3 от DeFi до NFT и тем, что будет дальше. Инвестируйте в новейшие возможности из одного удобного места.", - "layer-2-tools-zerion-description": "Создавайте все свое портфолио DeFi и управляйте им из одного места. Откройте для себя мир децентрализованных финансов сегодня.", - "layer-2-tools-debank-description": "Следите за всеми важными событиями в мире Web3", - "layer-2-faq-title": "Часто задаваемые вопросы", - "layer-2-faq-question-1-title": "Почему нет «официального» Ethereum L2?", - "layer-2-faq-question-1-description-1": "Так же как не существует «официального» клиента Ethereum, нет и «официального» уровня 2 Ethereum. Ethereum не требует разрешений: технически каждый может создать уровень 2! Несколько команд будут реализовывать свою версию уровня 2, и экосистеме получит выгоду от разнообразия подходов к проектированию, которые будут оптимизированы для различных вариантов использования. У нас есть несколько клиентов Ethereum, разработанных несколькими командами, чтобы обеспечить разнообразие в сети. Уровень 2 будет развиваться в будущем по тому же принципу.", - "layer-2-faq-question-2-title": "Какое различие между оптимистическими роллапами и роллапами с нулевым разглашением?", - "layer-2-faq-question-2-description-1": "Как оптимистические роллапы, так и роллапы с нулевым разглашением объединяют сотни транзакций в одну транзакцию на уровне 1. Свернутые транзакции выполняются вне уровня 1, но данные транзакции публикуются на уровне 1.", - "layer-2-faq-question-2-description-2": "Основное различие заключается в том, какие данные публикуются на уровне 1 и как эти данные проверяются. Доказательства достоверности (используемые в роллапах с нулевым разглашением) выполняют вычисления вне цепи и публикуют доказательство, в то время как доказательства ошибок (используемые оптимистическими свертками) выполняют вычисления в цепи, только когда подозревается ошибка и ее необходимо проверить.", - "layer-2-faq-question-2-description-3": "В настоящее время большинство ZK-сверток специфичны для конкретного приложения, в отличие от оптимистических сверток, которые в значительной степени являются обобщающими.", - "layer-2-more-info-on-optimistic-rollups": "Подробнее об оптимистических свертках", - "layer-2-more-info-on-zk-rollups": "Подробнее о свертках с нулевым знанием", - "layer-2-faq-question-4-title": "Каковы риски при использовании уровня 2?", - "layer-2-faq-question-4-description-1": "Проекты уровня 2 содержат дополнительные риски по сравнению с хранением средств и проведением транзакций непосредственно в основной сети Ethereum. Например, секвенсоры могут выйти из строя, в результате чего вам придется ждать, чтобы получить доступ к средствам.", - "layer-2-faq-question-4-description-2": "Мы рекомендуем вам провести собственное исследование, прежде чем переводить значительные средства на уровень 2. Для получения дополнительной информации о технологиях, рисках и предположениях о доверии на уровне 2 мы рекомендуем ознакомиться с ресурсом L2BEAT, который предоставляет комплексную систему оценки рисков для каждого проекта.", - "layer-2-faq-question-4-description-3": "Блокчейн-мосты, облегчающие передачу активов на уровень 2, находятся на ранних стадиях разработки, и вполне вероятно, что оптимальная конструкция моста еще не найдена. Были недавние взломы мостов.", - "layer-2-faq-question-5-title": "Почему здесь не указаны некоторые проекты уровня 2?", - "layer-2-faq-question-5-description-1": "Мы хотим убедиться, что перечисляем лучшие из возможных ресурсов, чтобы пользователи могли безопасно и уверенно перемещаться по пространству второго уровня. Мы придерживаемся системы критериев оценки проектов для включения.", - "layer-2-faq-question-5-view-listing-policy": "Ознакомьтесь с нашей политикой перечисления уровней 2.", - "layer-2-faq-question-5-description-2": "Любой может предложить добавить уровень 2 на ethereum.org. Если есть уровень 2, который мы пропустили, предложите его.", - "layer-2-further-reading-title": "Дополнительные ресурсы", - "a-rollup-centric-ethereum-roadmap": "Дорожная карта ethereum, ориентированная на свертки", - "an-incomplete-guide-to-rollups": "Неполное руководство по сверткам", - "polygon-sidechain-vs-ethereum-rollups": "Сайдчейн Polygon в сравнении со свертками Ethereum: подходы к масштабированию слоя 2 | Виталик Бутерин и Лекс Фридман", - "rollups-the-ultimate-ethereum-scaling-strategy": "СВЕРТКИ — наилучшая стратегия масштабирования Ethereum? Объяснение принципа работы Arbitrum и Optimism", - "scaling-layer-1-with-shard-chains": "Масштабирование уровня 1 с помощью цепочек осколков", - "understanding-rollup-economics-from-first-principals": "Понимание экономики сверток с первых принципов", - "arbitrum-description": "Arbitrum One — это «оптимистический сверток», который стремится полностью повторить ощущения от взаимодействия с Ethereum, но с транзакциями в разы дешевле, чем на L1.", - "optimism-description": "Optimism — это быстрая, простая и безопасная оптимистичная свертка, эквивалентная EVM. Он масштабирует технологию Ethereum, а также масштабирует его ценность за счет ретроактивного финансирования общественных благ.", - "boba-description": "Boba — это Optimistic Rollup, первоначально разветвленный от Optimism. Это решение для масштабирования, целью которого является снижение платы за газ, повышение пропускной способности транзакций и расширение возможностей умных контрактов.", - "base-description": "Base — это безопасный, недорогой, удобный для разработчиков 2-й уровень Ethereum, построенный, чтобы привлечь еще один миллиард пользователей в web3. Это 2-й уровень Ethereum, созданный Coinbase и построенный на стеке OP c открытым исходным кодом.", - "loopring-description": "Решение zkRollup L2 от Loopring стремится предложить те же гарантии безопасности, что и основная сеть Ethereum, при значительном увеличении масштабируемости: пропускная способность увеличилась в 1000 раз, а стоимость уменьшилась до 0,1 % по сравнению с L1.", - "zksync-description": "ZKsync — это роллап с технологией нулевого разглашения, целью которого является масштабирование Ethereum и его ценностей для широкого внедрения без ущерба для безопасности или децентрализации.", - "zkspace-description": "Платформа ZKSpace состоит из трех основных частей: AMM DEX слоя 2 с использованием технологии ZK-свертков под названием ZKSwap, платежного сервиса ZKSquare и площадки для торговли NFT под названием ZKSea.", - "aztec-description": "Aztec Network — это первая частная zk-свертка на Ethereum, позволяющая децентрализованным приложениям получить доступ к конфиденциальности и масштабированию.", - "starknet-description": "Starknet это ролл-ап 2-го уровня, использующий доказательства достоверности. Он предоставляет высокую пропускную способность, низкие затраты на газ и сохраняет уровень безопасности 1-го уровня Ethereum.", - "layer-2-note": "Примечание:", - "layer-2-ecosystem-portal": "Портал экосистемы", - "layer-2-token-lists": "Списки токенов", - "layer-2-explore": "Обзор", - "page-dapps-ready-button": "Вперед" -} diff --git a/src/intl/sl/page-layer-2.json b/src/intl/sl/page-layer-2.json deleted file mode 100644 index 0159c988bb1..00000000000 --- a/src/intl/sl/page-layer-2.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "page-dapps-ready-button": "Začni" -} diff --git a/src/intl/sr/page-layer-2.json b/src/intl/sr/page-layer-2.json deleted file mode 100644 index 2897db9ba7c..00000000000 --- a/src/intl/sr/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "Dokazi o prevari samo za korisnike na beloj listi, bela lista još uvek nije otvorena", - "layer-2-boba-note": "Provera stanja u razvoju", - "layer-2-optimism-note": "Dokazi o greškama u razvoju", - "layer-2-hero-title": "Sloj 2", - "layer-2-hero-header": "Ethereum za svakoga", - "layer-2-hero-subtitle": "Skaliranje Ethereuma za masovno prihvaćanje.", - "layer-2-hero-alt-text": "Ilustracija transakcija koje se prenose na nivo 2 i postavljaju na glavnu Ethereum mrežu", - "layer-2-hero-button-1": "Šta je sloj 2", - "layer-2-hero-button-2": "Koristite sloj 2", - "layer-2-hero-button-3": "Pređite na nivo 2", - "layer-2-statsbox-1": "Ukupna zaključana vrednost (TVL) na nivou 2 (USD)", - "layer-2-statsbox-2": "Ukupna zaključana vrednost (TVL) na sloju 2 (USD)", - "layer-2-statsbox-3": "Promena ukupne zaključane vrednosti (TVL) na sloju 2 u poslednjih 30 dana", - "layer-2-what-is-layer-2-title": "Šta je nivo 2?", - "layer-2-what-is-layer-2-1": "Nivo 2 (L2) je kolektivni izraz koji opisuje određeni skup rešenja za skaliranje Ethereuma. Nivo 2 je zaseban lanac blokova koji proširuje Ethereum i nasleđuje sigurnosne garancije Ethereum mreže.", - "layer-2-what-is-layer-2-2": "Hajde sada da zađemo dublje. Da bismo to uradili, prvo ćemo objasniti nivo 1 (L1).", - "layer-2-what-is-layer-1-title": "Šta je nivo 1?", - "layer-2-what-is-layer-1-1": "Nivo 1 je osnovni lanac blokova. Ethereum i Bitcoin su nivo 1 lanca blokova jer su glavna osnova na kojoj se grade različite mreže nivoa 2. Primeri projekata nivoa 2 uključuju 'rolape' na mreži Ethereum i Lightning Network na Bitcoin-u. Sve aktivnosti korisnika u vezi sa transakcijama na ovim projektima nivoa 2 na kraju se mogu uskladiti sa osnovnim slojem 1 lanca blokova.", - "layer-2-what-is-layer-1-2": "Ethereum takođe funkcioniše kao nivo dostupnosti podataka za nivo 2s. Projekti nivoa 2 će postavljati podatke o svojim transakcijama na Ethereum, oslanjajući se na Ethereum za dostupnost podataka. Ti podaci se mogu koristiti kako bi se dobilo stanje nivoa 2 ili za osporavanje transakcija na nivou 2.", - "layer-2-what-is-layer-1-list-title": "Ethereum, kao nivo 1, uključuje:", - "layer-2-what-is-layer-1-list-1": "Mrežu operatora čvoraza obezbeđivanje i validaciju mreže", - "layer-2-what-is-layer-1-list-2": "Mrežu kreatora blokova", - "layer-2-what-is-layer-1-list-3": "Lanac blokovakao takav i istoriju podataka o transakcijama", - "layer-2-what-is-layer-1-list-4": "Mehanizam konsenzusaza mrežu", - "layer-2-what-is-layer-1-list-link-1": "I dalje ste zbunjeni u vezi sa Ethereumom?", - "layer-2-what-is-layer-1-list-link-2": "Naučite šta je Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Zašto nam je potreban nivo 2?", - "layer-2-why-do-we-need-layer-2-1": "Tri poželjna svojstva lanca blokova su da je decentralizovan, siguran i skalabilan. Trilema lanca blokova tvrdi da jednostavna arhitektura lanca blokova može postići samo dva od ova tri svojstva. Želite siguran i decentralizovan lanac blokova? Morate žrtvovati skalabilnost.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum trenutno procesuiraviše od milion transakcija dnevno. Potražnja za korišćenjem Ethereuma može uzrokovati visoke cene naknada za transakcije. Tu dolaze do izražaja mreže nivoa 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Scalability", - "layer-2-why-do-we-need-layer-2-scalability-1": "Glavni cilj nivoa 2 je da poveća protok transakcija (veći broj transakcija po sekundi) bez žrtvovanja decentralizacije ili sigurnosti.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Ethereum glavna mreža (nivo 1) može da procesuira otprilike 15 transakcija u sekundi. Kada je potražnja za korišćenjem Ethereuma visoka, mreža postaje zagušena što povećava troškove transakcije i isključuju korisnike koji ne mogu da priušte te naknade. Nivoi 2 su rešenja koja smanjuju te naknade procesuiranjem transakcija van lanca blokova sloja 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Više o viziji Ethereuma", - "layer-2-benefits-of-layer-2-title": "Benefiti nivoa 2", - "layer-2-lower-fees-title": "Manje naknade", - "layer-2-lower-fees-description": "Spajanjem više transakcija van lanca u jednu jedinstvenu transakciju na sloju 1, naknade za transakcije se znatno smanjuju, čime se omogućava da Ethereum bude dostupniji za sve.", - "layer-2-maintain-security-title": "Zadržati bezbednost", - "layer-2-maintain-security-description": "Lanci blokova nivoa 2 obračunavaju svoje transakcije na Ethereum glavnoj mreži (Mainnet) omogućavajući korisnicima da imaju koristi od sigurnosti Ethereum mreže.", - "layer-2-expand-use-cases-title": "Proširite slučajeve primene", - "layer-2-expand-use-cases-description": "Sa većim brojem transakcija u sekundi, manjim nadoknadama i novom tehnologijom, projekti će se proširiti na nove aplikacije sa poboljšanim korisničkim iskustvom.", - "layer-2-how-does-layer-2-work-title": "Kako nivo 2 funkcioniše?", - "layer-2-how-does-layer-2-work-1": "Kao što smo već rekli, nivo 2 je zbirni termin za rešenja za skaliranje Ethereuma koja obrađuju transakcije van nivoa 1 dok ipak koriste njegovu snažnu, decentralizovanu bezbednost. Nivo 2 je odvojeni lanac blokova koji proširuje Ethereum. Kako ovo funkcioniše?", - "layer-2-how-does-layer-2-work-2": "Postoji nekoliko tipova nivoa 2 i svaki nosi sa sobom kompromise i bezbednosne modele. Nivo 2 preuzima teret transakcija sa nivoa 1, omogućujući mu da postane manje zagušen i da sve bude skalabilnije.", - "layer-2-rollups-title": "Rollups", - "layer-2-rollups-1": "Rolapi pakuju stotine transakcija u jednu transakciju na nivou 1. Ovo raspoređuje naknade za L1 transakcije među svim korisnicima u rolapu, čineći je jeftinijom za svakog korisnika.", - "layer-2-rollups-2": "Transakcije rolapa se izvršavaju van nivoa 1, ali se podaci o transakcijama podnose na nivo 1. Podnošenjem podataka o transakcijama na nivo 1, rolap nasleđuju sigurnost Ethereuma. To je zato što se jednom kada se podaci otpreme na nivo 1, poništavanje transakcije rolapa zahteva poništavanje i na Ethereumu. Postoje dva različita pristupa rolapima: optimistički i rolapi nultog znanja — razlikuju se pretežno po načinu podnošenja ovih podataka o transakcijama na L1.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Optimistički rolapi su 'optimistički' u smislu da se pretpostavlja da su transakcije ispravne, ali mogu biti osporene ako je to potrebno. Ako se sumnja na nevažeću transakciju, izvodi se dokaz o grešci kako bi se utvrdilo da li je došlo do takve greške.", - "layer-2-optimistic-rollups-childSentance": "Više o optimističkim rolapima", - "layer-2-zk-rollups-title": "Zero-knowledge rollups", - "layer-2-zk-rollups-description": "Rolapi nultog znanja koriste dokaze valjanosti gde se transakcije izračunavaju van lanca i onda se sažeti podaci dostavljaju na Ethereum glavnoj mreži (mainnet) kao dokaz o njihove validnosti.", - "layer-2-zk-rollups-childSentance": "Više o rolapima nultog znanja", - "layer-2-dyor-title": "Istražite: Rizici na nivo 2 projektima", - "layer-2-dyor-1": "Mnogi nivo 2 projekti su relativno mladi i još uvek zahtevaju od korisnika da veruju operaterima da će biti pošteni dok rade na decentralizaciji svojih mreža. Uvek istražite kako biste odlučili da li se osećate komforno sa bilo kakvim rizicima koji su uključeni.", - "layer-2-dyor-2": "Za više informacija o tehnologiji, rizicima, pretpostavkama poverenja u nivoe 2, preporučujemo da pogledate L2BEAT, koji pruža sveobuhvatni okvir za procenu rizika svakog projekta.", - "layer-2-dyor-3": "Idi na L2BEAT", - "layer-2-use-layer-2-title": "Koristite sloj 2", - "layer-2-use-layer-2-1": "Sada kada razumete zašto nivo 2 postoji i kako radi, hajde da počnemo!", - "layer-2-contract-accounts": "Ako koristite pametne ugovorne novčanike poput Safe ili Argent, nećete imati kontrolu nad ovom adresom na nivou 2 dok ponovo ne implementirate svoj ugovorni nalog na toj adresi na sloju 2. Klasični nalozi sa lozinkom za oporavak automatski će imati isti nalog na svim mrežama nivoa 2.", - "layer-2-use-layer-2-generalized-title": "Generalizovani nivoi 2", - "layer-2-use-layer-2-generalized-1": "Generalizovani nivoi 2 se ponašaju isto kao Ethereum – ali jeftinije. Bilo šta što možete da uradite na nivou 1 možete i na nivou 2. Mnoge decentralizovane aplikacije su već počele da prelaze na ove mreže ili su preskočile glavnu mrežu i direktno se primenjuju na nivou 2.", - "layer-2-use-layer-2-application-specific-title": "Nivoi 2 specifični za aplikaciju", - "layer-2-use-layer-2-application-specific-1": "Nivoi 2 specifični za određenu aplikaciju su projekti koji se specijalizuju za optimizaciju u određenom prostoru aplikacija, donoseći unapređenu performansu.", - "layer-2-sidechains-title": "Napomena o sporednim lancima, validijumima i alternativnim lancima blokova", - "layer-2-sidechains-1": "Sporedni lanci i validijumi su lanci blokova koji dozvoljavaju sredstvima sa Ethereuma da budu premošćeni i korišćeni na drugim lancima blokova. Sporedni lanci i validijumi rade paralelno sa Ethereumom i interaguju sa njim uz pomoć mostova, ali oni ne dobijaju svoju sigurnost ili odstupnost podataka od Ethereuma.", - "layer-2-sidechains-2": "Oba se skaliraju slično kao nivoi 2 — nude niže naknade za transakcije i veći protok transakcija — ali imaju različite pretpostavke poverenja.", - "layer-2-more-on-sidechains": "Više informacija o sporednim lancima", - "layer-2-more-on-validiums": "Više informacija o validijumima", - "layer-2-sidechains-4": "Neki nivo 1 lanci blokova prijavljuju veći protok i niže naknade za transakcije u odnosu na Ethereum, ali obično sa kompromisima na drugim poljima, na primer većim zahtevima za hardver za pokretanje čvorova.", - "layer-2-onboard-title": "Kako doći na nivo 2", - "layer-2-onboard-1": "Postoje dva osnovna načina kako da postavite svoja sredstva na nivo 2: premostite sredstva sa Ethereuma uz pomoć pametnog ugovora ili povucite svoja sredstva sa menjačnice direktno na nivo 2 mrežu.", - "layer-2-onboard-wallet-title": "Sredstva u vašem novčaniku?", - "layer-2-onboard-wallet-1": "Ukoliko već imate svoje ETH tokene u svom novčaniku, potrebno je da koristite most da prebacite sredstva sa Ethereum glavne mreže (mainnet) na nivo 2.", - "layer-2-more-on-bridges": "Više o mostovima", - "layer-2-onboard-wallet-input-placeholder": "Izaberite nivo 2", - "layer-2-onboard-wallet-selected-1": "Možete se povezati", - "layer-2-onboard-wallet-selected-2": "koristeći ove novčanike:", - "layer-2-bridge": "Most", - "layer-2-onboard-exchange-title": "Sredstva u menjačnici?", - "layer-2-onboard-exchange-1": "Neke centralizovane menjačnice sada nude direktna povlačenja i uplate sredstava na nivo 2. Proverite koje menjačnice podržavaju nivo 2.", - "layer-2-onboard-exchange-2": "Takođe će vam biti potreban i novčanik na koji ćete povući svoja sredstva.", - "layer-2-onboard-find-a-wallet": "Pronađite Ethereum novčanik.", - "layer-2-onboard-exchange-input-placeholder": "Pronađite menjačnice koje podržavaju nivo 2", - "layer-2-deposits": "Depoziti", - "layer-2-withdrawals": "Podizanje", - "layer-2-go-to": "Idi na", - "layer-2-tools-title": "Alati kako biste bili uspešni na nivou 2", - "layer-2-tools-l2beat-description": "L2BEAT je sjajan resurs za za proučavanje tehničkih procena rizika nivo 2 projekata. Preporučujemo da pogledate njihove resurse prilikom istraživanja konkretnih nivo 2 projekata.", - "layer-2-tools-l2fees-description": "L2 naknade vam dozvoljavaju da vidite trenutni trošak (U američkim dolarima) transakcije na različitim nivoima 2.", - "layer-2-tools-chainlist-description": "Chainlist je sjajan resurs za uvoz mrežnih RPC-ova u podržane novčanike. Ovde ćete pronaći RPC-ove za nivo 2 projekte koji će vam pomoći da se povežete.", - "layer-2-tools-zapper-description": "Upravljajte celim svojim web3 portfoliom od decentralizovanih finansija do NFT-ja i šta god da je sledeće. Ulažite u najnovije prilike sa jednog mesta.", - "layer-2-tools-zerion-description": "Izgradite portoflio decentralizovanih finansija i upravljajte njim sa jednog mesta. Otkrijte svet decentralizovanih finansija danas.", - "layer-2-tools-debank-description": "Budite u toku sa najbitnijim dešavanjima u web3 svetu", - "layer-2-faq-title": "FAQ", - "layer-2-faq-question-1-title": "Zašto ne postoji \"zvanični\" Ethereum nivo 2?", - "layer-2-faq-question-1-description-1": "Kao što ne postoji \"zvaničan\" Ethereum klijent, takođe ne postoji \"zvaničan\" Ethereum nivo 2. Ethereum je otvoren — tehnički, bilo ko može da kreira nivo 2! Više timova će implementirati svoju verziju nivoa 2, i čitav ekosistem će imati koristi od raznovrsnosti pristupa dizajnu koji su optimizovani za različite primene. Slično kao što imamo više Ethereum klijenata razvijenih od strane različitih timova kako bi postojala raznolikost u mreži, i nivoi 2 će se razvijati na sličan način u budućnosti.", - "layer-2-faq-question-2-title": "U čemu je razlika između optimističkih i rolapa nultog znanja?", - "layer-2-faq-question-2-description-1": "I optimistički i rolapi nultog znanja obuhvataju na stotine transakcija u jednu transakciju na nivou 1. Rolap transakcije izvršava van nivoa 1, ali podaci o transakciji se skladište na nivou 1.", - "layer-2-faq-question-2-description-2": "Glavna razlika je u tome koji podaci su skladišteni na nivo 1 i kako su ti podaci verifikovani. Validnost dokaza (koji koriste rolapi nultog znanja) izvode računanja van lanca blokova i postavljaju dokaz, dok dokazi o greškama (koji se koriste kod optimističkih rolapa) izvode računanja samo na lanac blokova kada se sumnja na grešku i moraju se proveriti.", - "layer-2-faq-question-2-description-3": "U ovom trenutku, većina rolapa nultog znanja su specifični za određene aplikacije nasuprot optimističkih rolapa koji su generalizovani.", - "layer-2-more-info-on-optimistic-rollups": "Više informacija o optimističkim rolapima", - "layer-2-more-info-on-zk-rollups": "Više informacija o rolapima nultog znanja", - "layer-2-faq-question-4-title": "Koji su rizici sa nivoom 2?", - "layer-2-faq-question-4-description-1": "Nivo 2 projekti sa sobom nose još neke rizike u odnosu na držanje sredstava i vršenje transakcija direktno na Ethereum glavnu mrežu. Na primer, sekvenceri mogu prestati raditi, što može rezultirati čekanjem kako biste pristupili sredstvima.", - "layer-2-faq-question-4-description-2": "Ohrabrujemo vas da uradite istraživanje pre nego što prebacite veća sredstva na nivo 2. Za više informacija o tehnologiji, rizicima i pretpostavkama poverenja na nivou 2, predlažemo da pogledate L2BEAT koji daje sveobuhvatan okvir za procenu rizika svakog projekta.", - "layer-2-faq-question-4-description-3": "Blokčejn mostovi, koji olakšavaju prenos sredstava na sloj 2, su u svojim ranim fazama razvoja i verovatno optimalni dizajn mosta još nije otkriven. Nedavno su se dogodili hakerski napadi na mostove.", - "layer-2-faq-question-5-title": "Zašto neki nivo 2 projekti nisu izlistani ovde?", - "layer-2-faq-question-5-description-1": "Želimo da budemo sigurni da navedemo najbolje moguće resurse kako bi korisnici mogli da navigiraju prostorom nivoa 2 na bezbedan i samouveren način. Održavamo okvir kriterijuma za procenu kako se projekti uključuju na listu.", - "layer-2-faq-question-5-view-listing-policy": "Pogledajte našu politiku nivoa 2 ovde.", - "layer-2-faq-question-5-description-2": "Svako je slobodan da predloži dodavanje nivoa 2 na ethereum.org. Ako smo propustili neki nivo 2, molimo vas da ga predložite.", - "layer-2-further-reading-title": "Dodatna literatura", - "a-rollup-centric-ethereum-roadmap": "Plan Ethereuma usmeren na rolape", - "an-incomplete-guide-to-rollups": "An Incomplete Guide to Rollups", - "polygon-sidechain-vs-ethereum-rollups": "Polygonov sporedni lanac naspram Ethereumovih rolapa: pristupi skaliranju nivoa 2 | Vitalik Buterin i Leks Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "Rolapi – Konačna strategija skaliranja Ethereuma? Objašnjenje Arbitrum-a i Optimism-a", - "scaling-layer-1-with-shard-chains": "Skaliranje nivoa 1 putem lanaca fragmenata", - "understanding-rollup-economics-from-first-principals": "Razumevanje ekonomije rolapa od osnovnih nalogodavaca", - "arbitrum-description": "Arbitrum One je optimistički rolap koji za cilj ima da se izgleda baš kao interakcija sa Ethereumom, ali sa transakcijama koje koštaju mali deo onoga što koštaju na L1.", - "optimism-description": "Optimism je brz, jednostavan i siguran optimistički rollup ekvivalentan EVM-u (Ethereum virtualnoj mašini). Skalira tehnologiju Ethereuma i istovremeno skalira njegove vrednosti putem retroaktivnog finansiranja javnih dobara.", - "boba-description": "Boba je optimistički rolap koji je prvobitno forkovan iz Optimisma i koji je rešenje za skaliranje koje ima za cilj smanjenje naknada za gas, poboljšanje protoka transakcija i proširenje mogućnosti pametnih ugovora.", - "loopring-description": "Loopringovo zkRollup nivo 2 rešenje ima za cilj da ponudi iste sigurnosne garancije kao Ethereum glavna mreža, uz veliki skok u skalabilnosti: protok povećan za 1000 puta, a troškovi smanjeni na samo 0,1% od nivoa 1.", - "zksync-description": "ZKsync je platforma za korisnike zasnovana na rolapu nultog znanja od strane Matter Labs kompanije. To je rešenje za skaliranje za Ethereum, koje je već aktivno na Ethereum glavnoj mreži. Podržava plaćanja, zamene tokena i izradu NFT-ijeva.", - "zkspace-description": "Platforma ZKSpace se sastoji iz tri glavna dela: AMM DEX nivoa 2 koji koristi tehnologiju rolapa nultog znanja pod nazivom ZKSwap, uslugu plaćanja nazvanu ZKSquare i tržište NFT-ova pod nazivom ZKSea.", - "aztec-description": "Aztec Network je prvi privatni rolap nultog znanja na Ethereumu, omogućujući decentralizovanim aplikacijama pristup privatnosti i skaliranju.", - "layer-2-note": "Napomena:", - "layer-2-ecosystem-portal": "Portal ekosistema", - "layer-2-token-lists": "Liste tokena", - "layer-2-explore": "Istražite", - "page-dapps-ready-button": "Idi" -} diff --git a/src/intl/sw/page-layer-2.json b/src/intl/sw/page-layer-2.json deleted file mode 100644 index 33b83173583..00000000000 --- a/src/intl/sw/page-layer-2.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "page-dapps-ready-button": "Nenda" -} diff --git a/src/intl/tr/page-layer-2.json b/src/intl/tr/page-layer-2.json deleted file mode 100644 index c551d4e3dbb..00000000000 --- a/src/intl/tr/page-layer-2.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "layer-2-arbitrum-note": "Sahtekarlık kanıtları sadece ön listede olan kullanıcılar içindir. Ön liste henüz açık değil.", - "layer-2-boba-note": "Durum doğrulaması geliştirme aşamasında", - "layer-2-optimism-note": "Sahtekarlık kanıtları geliştirme aşamasında", - "layer-2-hero-title": "Katman 2", - "layer-2-hero-header": "Herkes için Ethereum", - "layer-2-hero-subtitle": "Kitlesel onay için Ethereum'u ölçeklendirme.", - "layer-2-hero-alt-text": "İşlemlerin Katman 2'de toplanmasını ve Ethereum Ana Ağı'na gönderimini görselleştirme", - "layer-2-hero-button-1": "Katman 2 nedir", - "layer-2-hero-button-2": "Katman 2'yi kullan", - "layer-2-hero-button-3": "Katman 2'ye geç", - "layer-2-statsbox-1": "2. katman'daki toplam kitli değer (ABD Doları)", - "layer-2-statsbox-2": "Katman 2'de ortalama gönderim ücreti (Amerikan Doları)", - "layer-2-statsbox-3": "Katman 2 TVL değişimi (30 gün)", - "layer-2-what-is-layer-2-title": "Katman 2 nedir?", - "layer-2-what-is-layer-2-1": "2. katman (L2) Ethereum ölçeklenme çözümlerinin özel bir kümesini tanımlamak için kullanılan genel bir terimdir. Bir katman 2. Ethereum'u genişleten ve Ethereum'un güvenlik güvencelerini miras alan ayrı bir blokzincirdir.", - "layer-2-what-is-layer-2-2": "Şimdi daha derinlemesine inceleyelim. Bunu yapabilmek için ilk önce katman 1'i (L1) açıklamalıyız.", - "layer-2-what-is-layer-1-title": "Katman 1 nedir?", - "layer-2-what-is-layer-1-1": "Katman 1, ana blok zincirdir. Ethereum ve Bitcoin'in her ikisi de katman 1 blok zincirleridir çünkü bunlar çeşitli katman 2 ağlarının üzerine inşa edildiği temeldir. Katman 2 projelerine örnek olarak Ethereum'daki \"toplamalar\" ve Bitcoin'deki Lightning Ağı verilebilir. Bu katman 2 projelerindeki tüm kullanıcı işlem faaliyetleri, nihayetinde katman 1 blok zincirine geri dönebilir.", - "layer-2-what-is-layer-1-2": "Ethereum ayrıca Katman 2'ler için data kullanılabilirliği katmanı olarak çalışır. Katman 2 projeleri veri kullanılabilirliği için Ethereum'a güvenerek işlem verisini Ethereum'a gönderir. Bu veri, Katman 2 verisinin güncel durumunu ya da tartışmalı işlemleri görmek için kullanılabilir.", - "layer-2-what-is-layer-1-list-title": "Ethereum Katman 1 olarak aşağıdakileri bünyesinde barındırır:", - "layer-2-what-is-layer-1-list-1": "Ağı onaylamak ve ağın güvenliğini sağlamak içinbir düğüm operatörleri ağı", - "layer-2-what-is-layer-1-list-2": "Bir blok üreticileri ağı", - "layer-2-what-is-layer-1-list-3": "Blokzinicirininkendisi ve işlem verilerinin geçmişi", - "layer-2-what-is-layer-1-list-4": "Ağ için konsensus mekanizması", - "layer-2-what-is-layer-1-list-link-1": "Ethereum hakkında hâlâ kafanız karışık mı?", - "layer-2-what-is-layer-1-list-link-2": "Ethereum'un ne olduğunu öğren.", - "layer-2-why-do-we-need-layer-2-title": "Neden katman 2'ye ihtiyacımız var?", - "layer-2-why-do-we-need-layer-2-1": "Blokzincirlerinin üç ilgi çekici özelliği merkeziyetsiz, güvenli ve ölçeklenebilir olmasıdır. Blokzinciri üçlü karar aşaması bir blokzinciri mimarisinin yalnızca üç seçenekten birini seçebileceğin belirtir. Güvenli ve merkeziyetsiz bir blokzinciri mi istiyorsunuz? O zaman ölçeklenebilirliği feda etmeniz gerekiyor.", - "layer-2-why-do-we-need-layer-2-2": "Ethereum güncel olarak 1+ işlem gerçekleştirmektedir. Ethereum'un kullanımındaki artış, işlem ücretlerinin de yüksek olmasına neden olmaktadır. İşte burada katman 2 ağları devreye giriyor.", - "layer-2-why-do-we-need-layer-2-scalability": "Ölçeklenebilirlik", - "layer-2-why-do-we-need-layer-2-scalability-1": "Katman 2'nin temel misyonu, merkeziyetsizlik veya güvenlikten ödün vermeden işlem hacmini (saniye başına daha yüksek işlem sayısı) yükseltmektir.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Ethereum Ana ağı (Katman 1) saniyede yaklaşık sadece 15 işlem gerçekleştirebilmektedir. Ethereum'un kullanım talebi yüksek olduğu zamanlar ağ yoğunlaşığı için işlem ücretleri artar ve bu ücretleri karşılayamayan kullanıcılar dışarıda kalmış olur. Katman 2'ler, işlemleri Katman 1'in dışında işleyerek bu ücretlerin azalmasını sağlayan çözümlerdir.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Ethereum'un vizyonu hakkında daha fazlası", - "layer-2-benefits-of-layer-2-title": "Katman 2'nin yararları", - "layer-2-lower-fees-title": "Daha düşük işlem ücretleri", - "layer-2-lower-fees-description": "Birden fazla zincir dışı işlemin birleştirilerek tek bir Katman 1 işlemi haline getirilmesiyle, işlem ücretleri ciddi anlamda düştü, Ethereum herkes tarafından ulaşılabilir hale geldi.", - "layer-2-maintain-security-title": "Güvenliğin Sağlanması", - "layer-2-maintain-security-description": "Katman 2 blokzincirleri işlemlerini Ethereum Ana Ağı'na yerleştirerek kullanıcıların Ethereum Ağı'nın güvenliğinden faydalanmasını sağlıyor.", - "layer-2-expand-use-cases-title": "Artan kullanım alanı", - "layer-2-expand-use-cases-description": "Saniye başına daha fazla işlem adediyle, düşük işlem ücretleriyle ve yeni teknolojiyle, projeler, daha da gelişmiş kullanıcı deneyimi sunan yeni uygulamalar geliştiriyor.", - "layer-2-how-does-layer-2-work-title": "Katman 2 nasıl çalışır?", - "layer-2-how-does-layer-2-work-1": "Yukarıda belirtildiği gibi katman 2, işlemleri Ethereum'un katman 1'inden bağımsız gerçekleştirirken hâlâ Ethereum'un yani katman 1'in sağlam merkeziyetsiz güvenliğinden yararlanan Ethereum ölçeklendirme çözümleri için kapsayıcı bir terimdir. Katman 2, Ethereum'u genişleten ayrı bir blok zincirdir. Peki, bu nasıl işler?", - "layer-2-how-does-layer-2-work-2": "Katman 2'nin çeşitli türleri bulunmaktadır ve her biri kendi avantaj ve dezavantajlı güvenlik modellerine sahiptir. Katman 2'ler, işlem yükünü sırtlanarak katman 1'i hafifletir, böylece ana ağda tıkanıklık azalır ve her şey daha ölçeklenebilir kılınmış olur.", - "layer-2-rollups-title": "Toplamalar", - "layer-2-rollups-1": "Toplamalar, yüzlerce işlemi katman 1'in üzerinde tek bir işlemde paketler (veya \"toplar\"). Bu, L1 işlem ücretlerini toplamanın içerisindeki herkese dağıtarak her kullanıcı için daha ucuza fiyatlandırır.", - "layer-2-rollups-2": "Toplama işlemleri katman 1'in dışında gerçekleştirilir ama işlem verisi katman 1'e yazılır. İşlem verisini katman 1'e yazan toplamalar, Ethereum'un güvenliğini kullanmış olur. Bu, verinin katman 1'e işlenmesiyle bir toplama işlemini geri almanın tek yolunu Ethereum'u geri almayı gerektirdiği için böyledir. Toplamalarla ilgili iki farklı yaklaşım bulunmaktadır: iyimser ve sıfır-bilgi kanıtı - bu yaklaşımlar temelde işlem verisinin L1'e nasıl kaydedildiği konusunda farklılık göstermektedir.", - "layer-2-optimistic-rollups-title": "İyimser toplamalar", - "layer-2-optimistic-rollups-description": "İyimser toplamalar, gerektiğinde itiraz edilebilir olsa da işlemlerin geçerli olduğu varsayımıyla kaydedildiği için \"iyimser\" nitelendirilirler. Geçersiz bir işlem şüphesi doğarsa, hata kanıtı çalıştırılarak işlemin doğruluğu sınanır.", - "layer-2-optimistic-rollups-childSentance": "İyimser toplamalar hakkında daha fazlası", - "layer-2-zk-rollups-title": "Sıfır-bilgi toplamaları", - "layer-2-zk-rollups-description": "Sıfır bilgi toplayıcıları, işlemlerin zincir dışı işlenmesi ve daha sonra kendilerinin geçerlilik kanıtı olarak, Ethereum Ana Ağı'na sıkıştırılarak gönderilmesidir.", - "layer-2-zk-rollups-childSentance": "ZK toplamalarına dair daha fazlası", - "layer-2-dyor-title": "Kendi araştırmanı yap: Katman 2'nin riskleri", - "layer-2-dyor-1": "Katman 2 projelerinin birçoğu nispeten yenidir ve bu projeler ağları merkeziyetsiz kılmaya çalışırken bazı operatörlerin dürüst olacağına dair kullanıcıların güvenine ihtiyaç duymaktadır. Herhangi bir riske dair içinizin rahat olup olmadığına karar vermek için her zaman kendi araştırmanızı yapmalısınız.", - "layer-2-dyor-2": "Katman 2 teknolojisi, riskleri ve güvenilir yaklaşımları hakkında daha fazla bilgi için her projeye karşılaştırmalı risk değerlendirme çerçevesi sağlayan L2BEAT'e göz atmanızı tavsiye ederiz.", - "layer-2-dyor-3": "L2BEAT'e git", - "layer-2-use-layer-2-title": "Katman 2'yi kullan", - "layer-2-use-layer-2-1": "Artık Katman 2 neden var ve ne işe yarar biliyorsunuz, şimdi deneyimleme zamanı!", - "layer-2-contract-accounts": "Eğer Safe ya da Argent gibi bir akıllı sözleşme cüzdanı kullanıyorsanız, sözleşme hesabınızı katman 2'deki o adrese yeniden dağıtmadan bu adresin kontrolüne sahip değilsinizdir. Kurtarma ifadesi olan klasik hesaplar, tüm katman 2 ağlarında aynı hesaba otomatik olarak sahip olacaklardır.", - "layer-2-use-layer-2-generalized-title": "Genelleştirilmiş 2. katman", - "layer-2-use-layer-2-generalized-1": "Genel anlamda Katman 2'ler Ethereum gibi hareket eder - hem de daha ucuzdur. Ethereum Katman 2'de yapabileceğiniz herhangi bir şeyi Katman 2'de de yapabilirsiniz. Birçok merkeziyetsiz uygulama bu ağlara geçiş yaptı ya da Ana Ağı pas geçerek doğrudan Katman 2 üzerinde kuruldu.", - "layer-2-use-layer-2-application-specific-title": "Uygulamaya özel Katman 2'ler", - "layer-2-use-layer-2-application-specific-1": "Uygulama bazlı Katman 2'ler gelişmiş performansı ile spesifik bir uygulamayı optimize etmekte uzmanlaşmış projelerdir.", - "layer-2-sidechains-title": "Yan zincirler, validiumlar ve alternatif blokzincirler üzerine bir not", - "layer-2-sidechains-1": "Yan zincirler ve validiumlar Ethereum'dan köprüler üzerinden varlıkların gönderilmesine ve üzerinde kullanılmasına imkan sağlayan blokzincirlerdir.", - "layer-2-sidechains-2": "İkisi de Katman 2 gibi ölçeklenir - daha düşük işlem ücretleri ve daha hızlı işlem çıktıları vardır - fakat güvenlik konusundaki yaklaşımları farklıdır.", - "layer-2-more-on-sidechains": "Yan zincirlere dair daha fazlası", - "layer-2-more-on-validiums": "Vailidiumlara dair daha fazlası", - "layer-2-sidechains-4": "Bazı katman 1 blok zincirleri, Ethereum'dan daha yüksek işlem hacmi ve daha düşük işlem ücretleri bildirmektedir, ancak genellikle başka yerlerden ödün verilir yani örneğin, düğüm çalıştırmak için daha yüksek donanım gereksinimleri olur.", - "layer-2-onboard-title": "Katman 2'ye nasıl geçilir", - "layer-2-onboard-1": "Varlıklarınızı Katman 2'ye geçirmek için iki seçenek var: Varlıklarınızı bir akıllı kontratı kullanarak Ethereum'dan köprülemek ya da varlıklarınızı bir borsadan direk Katman 2 ağına çekmek.", - "layer-2-onboard-wallet-title": "Varlıklarınız cüzdanınızda mı?", - "layer-2-onboard-wallet-1": "Cüzdanınızda zaten ETH varsa Ethereum Ana Ağından 2. katmana taşımak için bir köprü kullanmanız gerekli.", - "layer-2-more-on-bridges": "Köprülere dair daha fazlası", - "layer-2-onboard-wallet-input-placeholder": "Köprülemek istediğiniz Katman 2'yi seçin", - "layer-2-onboard-wallet-selected-1": "Bağlanabilirsiniz", - "layer-2-onboard-wallet-selected-2": "bu cüzdanları kullanmak:", - "layer-2-bridge": "Köprü", - "layer-2-onboard-exchange-title": "Varlıklarınız bir borsada mı?", - "layer-2-onboard-exchange-1": "Bazı merkezi borsalar şu an direkt çekimleri ve Katman 2'lere yatırmayı destekliyor. Hangi borsaların hangi Katman 2'leri ve Katman 2 çekimlerini desteklediğine göz at.", - "layer-2-onboard-exchange-2": "Ayrıca fonlarınızı çekmek için bir cüzdana da ihtiyacınız olacak.", - "layer-2-onboard-find-a-wallet": "Bir Ethereum cüzdanı bulun.", - "layer-2-onboard-exchange-input-placeholder": "2. Katmanları destekleyen borsalara göz at", - "layer-2-deposits": "Depozitolar", - "layer-2-withdrawals": "Para çekmeler", - "layer-2-go-to": "Git", - "layer-2-tools-title": "Katman 2'de etkili olan araçlar", - "layer-2-tools-l2beat-description": "L2BEAT Katman 2 teknik risk değerlendirmesi için mükemmel bir kaynaktır. Katman 2 projelerini araştırırken bu kaynaklara bakmanızı tavsiye ederiz.", - "layer-2-tools-l2fees-description": "Katman 2 işlem ücretleri farklı Katman 2'ler üzerinde işlem yapmak için güncel olan maliyetleri (Amerikan Doları cinsinden) görmenizi sağlar.", - "layer-2-tools-chainlist-description": "Chainlist ağ RPC'lerini desteklenen cüzdanlara aktarmak için mükemmel bir kaynaktır. Katman 2 projelerine bağlanmanızı sağlayacak RPC'leri buradan bulabilirsiniz.", - "layer-2-tools-zapper-description": "Merkeziyetsiz finanstan NFT'lere ve gelecekteki herhangi yeni bir şeye, bütün Web3 portföyünüzü yönetin. Güncel fırsatlara tek bir platform üzerinden yatırım yapın.", - "layer-2-tools-zerion-description": "Tüm merkeziyetsiz finans portföyünüzü tek bir yerde kurun ve yönetin. Merkeziyetsiz finans dünyasını keşfedin.", - "layer-2-tools-debank-description": "Web3 dünyasındaki bütün önemli gelişmelerden haberdar ol", - "layer-2-faq-title": "SSS", - "layer-2-faq-question-1-title": "Neden resmi bir Katman 2 yok?", - "layer-2-faq-question-1-description-1": "\"Resmi\" bir Ethereum istemcisi olmadığı gibi, \"resmi\" bir Ethereum katman 2 de yoktur. Ethereum izinsizdir - teknik olarak herkes bir katman 2 oluşturabilir! Birden fazla ekip, kendi katman 2 versiyonunu uygulayacak ve bir bütün olarak ekosistem, farklı kullanım durumları için optimize edilmiş çeşitli tasarım yaklaşımlarından faydalanacaktır. Ağda çeşitliliğe sahip olmak için birden fazla ekip tarafından geliştirilen birden fazla Ethereum istemcisine sahip olmamız gibi, gelecekte katman 2'ler de bu şekilde gelişecektir.", - "layer-2-faq-question-2-title": "İyimser ve sıfır-bilgi toplamaları arasındaki fark nedir?", - "layer-2-faq-question-2-description-1": "Hem iyimser hem de sıfır bilgili özetler, yüzlerce işlemi katman 1'deki tek bir işlemde toplar (veya \"toplar\"). Toplama işlemleri katman 1 dışında yürütülür, ancak işlem verileri katman 1'e gönderilir.", - "layer-2-faq-question-2-description-2": "Birincil fark, Katman 1'e hangi verilerin gönderildiği ve verilerin nasıl doğrulandığıdır. Geçerlilik kanıtları (sıfır bilgi toplamaları tarafından kullanılır) hesaplamaları zincir dışında çalıştırır ve bir kanıt gönderir, oysa hata kanıtları (iyimser toplamalar tarafından kullanılır) hesaplamaları yalnızca hatadan şüphelenildiğinde ve kontrol edilmesi gerektiğinde zincir üzerinde çalıştırır.", - "layer-2-faq-question-2-description-3": "Şu anda, çoğu ZK toplamaları, büyük ölçüde genelleştirilebilir olan iyimser toplamaların aksine, uygulamaya özeldir.", - "layer-2-more-info-on-optimistic-rollups": "İyimser toplamalara dair daha fazlası", - "layer-2-more-info-on-zk-rollups": "Sıfır-bilgi toplamalarına dair daha fazlası", - "layer-2-faq-question-4-title": "Katman 2'lerin riskleri nelerdir?", - "layer-2-faq-question-4-description-1": "Katman 2 projeleri, fon tutmak ve doğrudan Ethereum Anaağ'da işlem yapmakla karşılaştırıldığında ek riskler içerir. Örneğin, sıralayıcılar çökebilir ve bu da fonlara erişmek için beklemeniz gerekmesine neden olabilir.", - "layer-2-faq-question-4-description-2": "Katman 2'ye önemli miktarda fon aktarmadan önce kendi araştırmanızı yapmanızı öneririz. Katman 2'nin teknolojisi, riskleri ve güven varsayımları hakkında daha fazla bilgi için, her proje için kapsamlı bir risk değerlendirme çerçevesi sağlayan L2BEAT adresini ziyaret etmenizi öneririz.", - "layer-2-faq-question-4-description-3": "2. katmana varlık transferlerini kolaylaştıran blok zincir köprüleri, geliştirmenin erken aşamalarındalar ve optimum köprü tasarımının henüz keşfedilmemiş olması muhtemel. Son zamanlarda köprü saldırıları oldu.", - "layer-2-faq-question-5-title": "Neden bazı Katman 2'ler burada listeli değil?", - "layer-2-faq-question-5-description-1": "Kullanıcıların 2. katman alanında güvenli ve kendinden emin bir şekilde gezinebilmeleri için mümkün olan en iyi kaynakları listelediğimizden emin olmak istiyoruz. Projelerin dahil edilmek üzere nasıl değerlendirildiğine ilişkin bir kriterler çerçevesi üzerinde çalışmayı sürdürüyoruz.", - "layer-2-faq-question-5-view-listing-policy": "2. katman listeleme politikamızı buradan görüntüleyin.", - "layer-2-faq-question-5-description-2": "Herkes ethereum.org üzerine bir Katman 2 ekleyebilir. Eğer kaçırdığımız bir Katman 2 projesi varsa lütfen öneride bulunun.", - "layer-2-further-reading-title": "Daha fazla okuma", - "a-rollup-centric-ethereum-roadmap": "Toplamalar merkezli, bir Ethereum yol haritası", - "an-incomplete-guide-to-rollups": "Toplamalar için Tamamlanmamış Bir Kılavuz", - "polygon-sidechain-vs-ethereum-rollups": "Polygon yan zinciri karşısında Ethereum toplamaları: katman 2 ölçeklendirme yaklaşımları | Vitalik Buterin ve Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "Toplamalar - Ethereum'u ölçekleme konusunda nihai strateji mi? Arbitrum & Optimism açıklaması", - "scaling-layer-1-with-shard-chains": "Katman 1'i parça zincirler ile ölçekleme", - "understanding-rollup-economics-from-first-principals": "Toplayıcıların ekonomik modellerinin temelleri", - "arbitrum-description": "Arbitrum One, Ethereum ile iletişim kurmuş gibi işlem yapmayı amaçlayan bir İyimser Toplama'dır, ancak işlemler, L1'de olduklarından çok daha düşük maliyetlidir.", - "optimism-description": "İyimserlik; hızlı, basit ve güvenli bir EVM eş değeri iyimser toplamadır. Ethereum'un teknolojisini ölçeklendirirken aynı zamanda Ethereum'un değerlerini, geçmişe dönük kamu fonlaması yardımyla ölçeklendirir.", - "boba-description": "Boba, başlangıçta gaz ücretlerini azaltmayı, işlem hacmini iyileştirmeyi ve akıllı sözleşmelerin yeteneklerini genişletmeyi amaçlayan bir ölçeklendirme çözümü olan Optimism'den çatallanan bir İyimser Toplamadır.", - "loopring-description": "Loopring'in zkRollup L2 çözümü, büyük bir ölçeklenebilirlik artışı ile Ethereum ana ağı ile aynı güvenlik garantilerini sunmayı hedefliyor: verim 1000 kat arttı ve maliyet Katman 1'in sadece %0,1'ine düşürüldü.", - "zksync-description": "ZKsync, Matter Labs'ın kullanıcı merkezli bir zk toplama platformudur. Zaten Ethereum ana ağında yaşayan Ethereum için bir ölçeklendirme çözümüdür. Ödemeleri, token takaslarını ve NFT basımını destekler.", - "zkspace-description": "ZKSpace platformu üç ana bölümden oluşmaktadır: ZK-Rollups teknolojisini kullanan bir katman 2 otomatik piyasa yapıcısı (AMM) ve merkeziyetsiz borsa (DEX) olan ZKSwap, ZKSquare adında bir ödeme hizmeti ve ZKSea adında bir NFT pazarı.", - "aztec-description": "Aztec Ağı, Ethereum'daki ilk özel zk toplamasıdır ve merkeziyetsiz uygulamaların gizliliğe ve ölçeklendirmeye erişmesini sağlar.", - "layer-2-note": "Not:", - "layer-2-ecosystem-portal": "Ekosistem Portalı", - "layer-2-token-lists": "Token listeleri", - "layer-2-explore": "Keşfet", - "page-dapps-ready-button": "Başla" -} diff --git a/src/intl/uk/page-layer-2.json b/src/intl/uk/page-layer-2.json deleted file mode 100644 index 8ab552d77dd..00000000000 --- a/src/intl/uk/page-layer-2.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "layer-2-arbitrum-note": "Докази шахрайства тільки для користувачів з білого списку, білий список ще не відкритий", - "layer-2-boba-note": "Державна верифікація в розробці", - "layer-2-optimism-note": "Захист від помилок у розробці", - "layer-2-base-note": "Система захисту від шахрайства знаходиться на стадії розробки", - "layer-2-metadata-description": "Вступна сторінка до 2-го рівня", - "layer-2-hero-title": "Рівень 2", - "layer-2-hero-header": "Ethereum для всіх", - "layer-2-hero-subtitle": "Масштабування Ethereum для масового прийняття.", - "layer-2-hero-alt-text": "Ілюстрація транзакцій, які згортаються на рівні 2 й публікуються в Ethereum Mainnet", - "layer-2-hero-button-1": "Що таке «рівень 2»?", - "layer-2-hero-button-2": "Використати рівень 2", - "layer-2-hero-button-3": "Перейти до рівня 2", - "layer-2-statsbox-1": "TVL, заблокований на рівні 2 (USD)", - "layer-2-statsbox-2": "Середня комісія за переказ ETH рівня 2 (USD)", - "layer-2-statsbox-3": "Зміна TVL рівня 2 (30 днів)", - "layer-2-what-is-layer-2-title": "Що таке «рівень 2»?", - "layer-2-what-is-layer-2-1": "Рівень 2 (L2) – це збірний термін для опису певного набору рішень для масштабування Ethereum. Рівень 2 – це окремий блокчейн, який розширює Ethereum і успадковує гарантії безпеки Ethereum.", - "layer-2-what-is-layer-2-2": "Розгляньмо тепер це питання трохи докладніше. Щоб це зробити, спочатку потрібно пояснити, що таке «рівень 1» (L1).", - "layer-2-what-is-layer-1-title": "Що таке «рівень 1»?", - "layer-2-what-is-layer-1-1": "Рівень 1 є базовим блокчейном. Ethereum і Bitcoin є блокчейном рівня 1, оскільки вони є міцною основою, навколо якої будуються різні мережі рівня 2 . Приклади проєктів рівня 2: «зведення» на Ethereum і Lightning Network поверх Bitcoin. Уся активність транзакцій користувачів у цих проєктах рівня 2 може зрештою повернутися до блокчейну рівня 1.", - "layer-2-what-is-layer-1-2": "Крім того, Ethereum функціонує як рівень доступності даних для проєктів другого рівня. Проєкти другого рівня публікують свої дані про транзакції в Ethereum, покладаючись на доступність даних Ethereum. Ці дані можуть бути використані для отримання інформації про стан 2-го рівня або для оскарження транзакцій на 2-му рівні.", - "layer-2-what-is-layer-1-list-title": "Ethereum як рівень 1 містить такі елементи:", - "layer-2-what-is-layer-1-list-1": "Мережа операторів вузлів для захисту та валідації мережі", - "layer-2-what-is-layer-1-list-2": "Мережа виробників блоків", - "layer-2-what-is-layer-1-list-3": "Сам блокчейн і історія даних транзакцій", - "layer-2-what-is-layer-1-list-4": "Механізм консенсусу для мережі", - "layer-2-what-is-layer-1-list-link-1": "Усе ще плутаєтеся щодо Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Дізнайтеся, що таке Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Навіщо нам рівень 2?", - "layer-2-why-do-we-need-layer-2-1": "Три бажані властивості блокчейну: він децентралізований, безпечний та масштабований. Трилема блокчейну вказує, що проста архітектура блокчейну може досягти лише двох з трьох цілей. Хочете безпечний і децентралізований блокчейн? Вам потрібно поступитися масштабованістю.", - "layer-2-why-do-we-need-layer-2-2": "Наразі Ethereum обробляє понад 1 мільйон транзакцій на день. Попит на використання Ethereum може призвести до високих цін на комісію за транзакції. Саме тут з’являються мережі другого рівня.", - "layer-2-why-do-we-need-layer-2-scalability": "Масштабованість", - "layer-2-why-do-we-need-layer-2-scalability-1": "Основна мета рівня 2 — збільшити швидкість транзакцій і пропускну здатність транзакцій (більше транзакцій в секунду) без шкоди для децентралізації або безпеки.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Мережа Ethereum Мейннет (1-й рівень) здатна обробляти лише приблизно 15 транзакцій на секунду. Коли попит на використання Ethereum високий, мережа стає перевантаженою, що збільшує комісію за транзакції та витісняє користувачів, які не можуть собі дозволити таку комісію. Другий рівень – це рішення, які знижують ці комісії, обробляючи транзакції поза блокчейном першого рівня.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Докладніше про бачення Ethereum", - "layer-2-benefits-of-layer-2-title": "Переваги рівня 2", - "layer-2-lower-fees-title": "Нижчі комісії", - "layer-2-lower-fees-description": "Завдяки поєднанню кількох транзакцій поза мережею в одну транзакцію рівня 1 комісія за транзакції значно знижується, що робить Ethereum доступнішим для всіх.", - "layer-2-maintain-security-title": "Підтримка безпеки", - "layer-2-maintain-security-description": "Блокчейни рівня 2 здійснюють розрахунки за транзакціями в мережі Ethereum Mainnet, що дає користувачам змогу застосовувати переваги функцій безпеки мережі Ethereum.", - "layer-2-expand-use-cases-title": "Розширення варіантів використання", - "layer-2-expand-use-cases-description": "Завдяки більшій кількості транзакцій за секунду, нижчим комісіям і новим технологіям проєкти розширюватимуться до нових програм із покращеним користувацьким досвідом.", - "layer-2-how-does-layer-2-work-title": "Як працює рівень 2?", - "layer-2-how-does-layer-2-work-1": "Як ми вже згадували вище, рівень 2 є загальним терміном для рішень масштабування Ethereum, які обробляють транзакції поза рівнем 1 Ethereum, усе ще користуючись надійною децентралізованою безпекою рівня 1 Ethereum. Рівень 2 — окремий блокчейн, який розширює Ethereum. Як це працює?", - "layer-2-how-does-layer-2-work-2": "Існує кілька різних типів рівня 2, кожен із яких має свої власні компроміси й моделі безпеки. Рівень 2 відводить транзакційне навантаження від рівня 1, що дає йому змогу стати менш перевантаженим, і все стає масштабованішим.", - "layer-2-rollups-title": "Зведення", - "layer-2-rollups-1": "Зведення (або «згортання») сотень транзакцій в одну транзакцію на рівні 1. Це розподіляє плату за транзакції на рівні 1 для всіх у згортанні, що робить процедуру дешевшою для кожного користувача.", - "layer-2-rollups-2": "Згортання транзакцій виконується поза рівнем 1, але дані транзакцій надсилаються до рівня 1. Надсилаючи дані транзакцій на рівень 1, згорнуті транзакції успадковують безпеку Ethereum: щойно дані завантажено на рівень 1, скасування згорнутої транзакції вимагає скасування Ethereum. Існує два різних підходи до згортання: оптимістичний і з нульовим розголошенням. Вони відрізняються насамперед тим, як дані про транзакції передаються на рівень 1.", - "layer-2-optimistic-rollups-title": "Оптимістичні зведення", - "layer-2-optimistic-rollups-description": "Оптимістичні зміни є «оптимістичними» в тому сенсі, що транзакції вважаються дійсними, але можуть бути оскаржені, якщо це необхідно. Якщо є підозра на недійсну транзакцію, виконується перевірка на помилку, щоб побачити, чи це так.", - "layer-2-optimistic-rollups-childSentance": "Докладніше про оптимістичні зведення", - "layer-2-zk-rollups-title": "Зведення з нульовим знанням", - "layer-2-zk-rollups-description": "Зведення з нульовими знаннями використовують підтвердження дійсності, коли транзакції обчислюються поза ланцюгом, а потім стиснуті дані надсилаються до основної мережі Ethereum як доказ їх дійсності.", - "layer-2-zk-rollups-childSentance": "Докладніше про ZK-зведення", - "layer-2-dyor-title": "Проведіть власне дослідження: ризики рівня 2", - "layer-2-dyor-1": "Багато проєктів на рівні 2 є відносно новими й досі вимагають від користувачів вірити, що деякі оператори є чесними, оскільки вони працюють над децентралізацією своїх мереж. Завжди робіть свої власні дослідження, щоб вирішити, чи комфортно вам із наявними ризиками.", - "layer-2-dyor-2": "Для отримання додаткової інформації про технології, ризики та припущення щодо довіри 2-го рівня, ми рекомендуємо ознайомитися з L2BEAT, який надає комплексну систему оцінки ризиків для кожного проєкту.", - "layer-2-dyor-3": "Перейти до L2BEAT", - "layer-2-use-layer-2-title": "Використати рівень 2", - "layer-2-use-layer-2-1": "Тепер, коли ви розумієте, чому існує рівень 2 і як він працює, підготуймо вас до роботи!", - "layer-2-contract-accounts": "Якщо ви використовуєте гаманець зі смартконтрактами, як-от Safe або Argent, ви не матимете контролю над цією адресою на 2-му рівні, доки не перемістите свій контрактний обліковий запис на цю адресу на 2-му рівні. Класичні облікові записи з відновлювальною фразою будуть автоматично належати тому самому обліковому запису в усіх мережах другого рівня.", - "layer-2-use-layer-2-generalized-title": "Узагальнений рівень 2", - "layer-2-use-layer-2-generalized-1": "Узагальнений 2-й рівень поводиться так само як Ethereum, але він дешевше. Все, що ви можете робити на першому рівні Ethereum, ви можете робити й на другому рівні. Багато dapp вже почали мігрувати до цих мереж або взагалі пропустили Mainnet, щоб будувати проєкти безпосередньо на 2-му рівні.", - "layer-2-use-layer-2-application-specific-title": "Рівень 2 певної програми", - "layer-2-use-layer-2-application-specific-1": "Рівень 2 певної програми — це проєкти, які спеціалізуються на оптимізації простору певної програми, що забезпечує покращену продуктивність.", - "layer-2-sidechains-title": "Примітка про сайдчейни, валідіуми й альтернативні блокчейни", - "layer-2-sidechains-1": "Сайдчейни і валідіуми – це блокчейни, які надають можливість переносити активи з Ethereum і використовувати їх в іншому блокчейні. Сайдчейни і валідіуми працюють паралельно з Ethereum і взаємодіють з ним через мости, але не отримують власну безпеку та доступність даних від Ethereum.", - "layer-2-sidechains-2": "Обидва масштабуються подібно до рівня 2 – пропонують нижчі комісії за транзакції та вищу пропускну здатність, – але мають різні припущення про довіру.", - "layer-2-more-on-sidechains": "Докладніше про сайдчейни", - "layer-2-more-on-validiums": "Докладніше про валідіуми", - "layer-2-sidechains-4": "Деякі блокчейни рівня 1 повідомляють про більшу пропускну здатність і нижчу плату за транзакції, ніж Ethereum, але зазвичай із компромісами в інших місцях, як-от суворіші апаратні вимоги до запущених вузлів.", - "layer-2-onboard-title": "Як потрапити на рівень 2", - "layer-2-onboard-1": "Є два основні способи перевести ваші активи на рівень 2: переказати кошти з Ethereum через смартконтракт або вивести свої кошти на біржі безпосередньо в мережу рівня 2.", - "layer-2-onboard-wallet-title": "Кошти у вашому гаманці?", - "layer-2-onboard-wallet-1": "Якщо ви вже маєте свій ETH у своєму гаманці, вам потрібно буде використовувати міст, щоб перемістити його з основної мережі Ethereum на рівень 2.", - "layer-2-more-on-bridges": "Докладніше про мости", - "layer-2-onboard-wallet-input-placeholder": "Виберіть L2, до якого потрібно під’єднатися", - "layer-2-onboard-wallet-selected-1": "Ви можете під’єднатися до", - "layer-2-onboard-wallet-selected-2": "використовуючи ці гаманці:", - "layer-2-bridge": "Міст", - "layer-2-onboard-exchange-title": "Кошти на біржі?", - "layer-2-onboard-exchange-1": "Деякі централізовані біржі тепер пропонують пряме зняття коштів і депозити на рівні 2. Перевірте, які біржі підтримують зняття коштів рівня 2 і який рівень 2 вони підтримують.", - "layer-2-onboard-exchange-2": "Вам також знадобиться гаманець для виведення коштів.", - "layer-2-onboard-find-a-wallet": "Знайдіть гаманець Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Перевірте біржі, які підтримують L2", - "layer-2-deposits": "Депозити", - "layer-2-withdrawals": "Зняття коштів", - "layer-2-go-to": "Перейти до", - "layer-2-tools-title": "Інструменти, які будуть ефективними на рівні 2", - "layer-2-tools-l2beat-description": "L2BEAT — чудовий ресурс для перегляду оцінки технічного ризику проєктів рівня 2. Ми рекомендуємо ознайомитися з їхніми ресурсами під час дослідження конкретних проєктів рівня 2.", - "layer-2-tools-growthepie-description": "Кураторська аналітика про другий рівень Ethereum", - "layer-2-tools-l2fees-description": "Інструмент L2 Fees дає змогу побачити поточну вартість (у доларах США) для здійснення транзакцій на різних рівнях 2.", - "layer-2-tools-chainlist-description": "Chainlist — чудовий ресурс для імпорту мережевих RPC у підтримувані гаманці. Тут ви знайдете RPC для проєктів рівня 2, які допоможуть вам приєднатися.", - "layer-2-tools-zapper-description": "Керуйте всім своїм портфоліо web3 від DeFi до NFT і будь-чим, що буде далі. Інвестуйте в новітні можливості з одного зручного місця.", - "layer-2-tools-zerion-description": "Створюйте весь свій портфель DeFi і керуйте ним з одного місця. Відкрийте для себе світ децентралізованих фінансів сьогодні.", - "layer-2-tools-debank-description": "Будьте в курсі всіх важливих подій у світі web3", - "layer-2-faq-title": "Запитання й відповіді", - "layer-2-faq-question-1-title": "Чому немає «офіційного» Ethereum L2?", - "layer-2-faq-question-1-description-1": "Так само як не існує «офіційного» клієнта Ethereum, немає «офіційного» рівня 2 Ethereum. Ethereum не вимагає дозволів — технічно кожен може створити рівень 2! Кілька команд реалізовуватимуть свою версію рівня 2, і екосистема в цілому отримає переваги від різноманітності підходів до проєктування, оптимізованих для різних випадків використання. Подібно до того, як у нас є кілька клієнтів Ethereum, розроблених кількома командами, щоб мати різноманітність у мережі, так у майбутньому розвиватиметься рівень 2.", - "layer-2-faq-question-2-title": "Яка різниця між оптимістичними зведеннями й зведеними з нульовими знаннями?", - "layer-2-faq-question-2-description-1": "Як оптимістичне зведення, так і зведення з нульовим знанням об’єднують (або «згортають») сотні транзакцій в одну транзакцію на рівні 1. Зведені транзакції виконуються за межами рівня 1, але дані транзакцій публікуються на рівні 1.", - "layer-2-faq-question-2-description-2": "Основна відмінність полягає в тому, які дані публікуються на рівні 1 і як дані перевіряються. Підтвердження дійсності (що використовуються зведеннями з нульовим знанням) запускають обчислення поза ланцюжком і публікують підтвердження, водночас підтвердження помилок (використовуються оптимістичними зведеннями) запускають обчислення в ланцюжку, тільки коли є підозра на помилку і її потрібно перевірити.", - "layer-2-faq-question-2-description-3": "На цей час більшість ZK-зведень є специфічними для певної програми, на відміну від оптимістичних зведень, які здебільшого є узагальненими.", - "layer-2-more-info-on-optimistic-rollups": "Докладніше про оптимістичні зведення", - "layer-2-more-info-on-zk-rollups": "Докладніше про зведення з нульовим знанням", - "layer-2-faq-question-4-title": "Які ризики несе рівень 2?", - "layer-2-faq-question-4-description-1": "Проекти 2-го рівня несуть додаткові ризики в порівнянні з утриманням коштів і проведенням транзакцій безпосередньо в мережі Ethereum. Наприклад, секвенсори можуть не працювати, через що вам доведеться почекати, щоб отримати доступ до коштів.", - "layer-2-faq-question-4-description-2": "Ми заохочуємо вас провести власне дослідження, перш ніж переказувати значні кошти на рівень 2. Щоб дізнатися більше про технологію, ризики та припущення про довіру рівня 2, ми рекомендуємо ознайомитися з ресурсом L2BEAT, який забезпечує комплексну структуру оцінки ризиків кожного проєкту.", - "layer-2-faq-question-4-description-3": "Блокчейн-мости, які полегшують передачу активів на рівень 2, перебувають на ранніх стадіях розробки, і, ймовірно, оптимальний дизайн мосту ще не знайдено. Були недавні злами мостів.", - "layer-2-faq-question-5-title": "Чому тут не наведено деякі проєкти рівня 2?", - "layer-2-faq-question-5-description-1": "Ми хочемо переконатися, що перераховуємо найкращі ресурси, щоб користувачі могли безпечно й упевнено переміщатися в просторі рівня 2. Ми підтримуємо систему критеріїв оцінки проєктів для включення.", - "layer-2-faq-question-5-view-listing-policy": "Ознайомтеся з нашою політикою розміщення рівня 2 тут.", - "layer-2-faq-question-5-description-2": "Кожен може запропонувати додати рівень 2 на ethereum.org. Якщо є рівень 2, який ми пропустили, запропонуйте його.", - "layer-2-further-reading-title": "Додаткові ресурси", - "a-rollup-centric-ethereum-roadmap": "Дорожня карта ethereum, орієнтована на зведення", - "an-incomplete-guide-to-rollups": "Неповний посібник із використання зведень", - "polygon-sidechain-vs-ethereum-rollups": "Сайдчейн Polygon проти зведень Ethereum: підходи до масштабування рівня 2| Віталік Бутерін і Лекс Фрідман", - "rollups-the-ultimate-ethereum-scaling-strategy": "ЗВЕДЕННЯ – найкраща стратегія масштабування Ethereum? Пояснення арбітруму й оптимізму", - "scaling-layer-1-with-shard-chains": "Масштабування рівня 1 за допомогою ланцюжків сегментів даних", - "understanding-rollup-economics-from-first-principals": "Розуміння економіки зведень від перших принципів", - "arbitrum-description": "Arbitrum One — це оптимістичне зведення, націлене на ту саму взаємодію з Ethereum, але з транзакціями, які коштують набагато менше, ніж на рівні 1.", - "optimism-description": "Optimism — це швидке, просте й безпечне оптимістичне зведення, еквівалентне EVM. Він масштабує технологію Ethereum, а також масштабує його цінності шляхом ретроактивного фінансування суспільних благ.", - "boba-description": "Boba — це Optimistic Rollup, спочатку відгалужений від Optimism. Це рішення для масштабування, спрямоване на зниження плати за газ, підвищення пропускної здатності транзакцій і розширення можливостей смартконтрактів.", - "base-description": "Base – це безпечний, недорогий, зручний для розробників Ethereum L2, створено задля залучення наступного мільярда користувачів до web3. Це Ethereum 2-го рівня, інкубований Coinbase і побудований на відкритому вихідному коді OP Stack.", - "loopring-description": "Рішення zkRollup L2 від Loopring має на меті запропонувати ті самі гарантії безпеки, що й основна мережа Ethereum, з великим прискоренням масштабованості: пропускна спроможність збільшена в 1000 разів, а вартість зменшена до лише 0,1 % від L1.", - "zksync-description": "ZKsync — це зведена платформа zk, орієнтована на користувача, від Matter Labs. Це рішення для масштабування Ethereum, яке вже доступне в основній мережі Ethereum. Він підтримує платежі, обмін токенами й карбування NFT.", - "zkspace-description": "Платформа ZKSpace складається з трьох основних частин: AMM DEX рівня 2, що використовує технологію ZK-зведень під назвою ZKSwap, платіжний сервіс під назвою ZKSquare і ринок NFT під назвою ZKSea.", - "aztec-description": "Aztec Network — це перше приватне zk-зведення на Ethereum, яке надає децентралізованим програмам доступ до конфіденційності й масштабування.", - "starknet-description": "Starknet – це мережа згортання Validity 2-го рівня. Вона забезпечує високу пропускну здатність, низькі витрати на газ і зберігає безпеку Ethereum 1-го рівня.", - "layer-2-note": "Примітка.", - "layer-2-ecosystem-portal": "Екосистемний портал", - "layer-2-token-lists": "Списки токенів", - "layer-2-explore": "Огляд", - "page-dapps-ready-button": "ОК" -} diff --git a/src/intl/vi/page-layer-2.json b/src/intl/vi/page-layer-2.json deleted file mode 100644 index 6a9eedc8d0e..00000000000 --- a/src/intl/vi/page-layer-2.json +++ /dev/null @@ -1,134 +0,0 @@ -{ - "layer-2-arbitrum-note": "Bằng chứng gian lận chỉ dành cho những người dùng trong danh sách trắng, hiện danh sách trắng vẫn chưa mở", - "layer-2-boba-note": "Kiểm duyệt trạng thái trong quá trình phát triển", - "layer-2-optimism-note": "Bằng chứng gian lận đang trong quá trình phát triển", - "layer-2-base-note": "Hệ thống bằng chứng gian lận hiện đang được phát triển", - "layer-2-metadata-description": "Trang giới thiệu đến lớp 2", - "layer-2-hero-title": "Lớp 2", - "layer-2-hero-header": "Ethereum dành cho mọi người", - "layer-2-hero-subtitle": "Mở rộng quy mô của Ethereum để nhiều người áp dụng.", - "layer-2-hero-alt-text": "Hình minh họa các giao dịch đang được tổng hợp trên Lớp 2 và đăng lên mạng chính của Ethereum", - "layer-2-hero-button-1": "Lớp 2 là gì", - "layer-2-hero-button-2": "Sử dụng Lớp 2", - "layer-2-hero-button-3": "Chuyển sang lớp 2", - "layer-2-statsbox-1": "TVL được khóa lại trong lớp 2 (USD)", - "layer-2-statsbox-2": "Phí giao dịch ETH trung bình (USD) trên lớp 2", - "layer-2-statsbox-3": "Thay đổi của TVL trên lớp 2 (30 ngày)", - "layer-2-what-is-layer-2-title": "Lớp 2 là gì?", - "layer-2-what-is-layer-2-1": "Lớp 2 (L2) là một tập hợp các điều khoản nhằm mô tả một bộ chi tiết các giải pháp mở rộng quy mô Ethereum. 1 lớp 2 là một chuỗi khối riêng biệt điều mà có thể kế thừa và phát huy những tính năng bảo mật của Ethereum.", - "layer-2-what-is-layer-2-2": "Trước khi đi sâu hơn một chút, chúng ta cần hiểu đôi nét về lớp 1 (L1).", - "layer-2-what-is-layer-1-title": "Lớp 1 là gì?", - "layer-2-what-is-layer-1-1": "Lớp 1 là chuỗi khối nền tảng. Ethereum và mạng Bitcoin đều là chuỗi khối lớp 1 vì hai mạng này là nền móng để xây dựng nhiều mạng lớp 2. Các mạng tổng hợp trên mạng Ethereum, và mạng Lightning trên Bitcoin là các ví dụ điển hình cho những dự án lớp 2. Mọi giao dịch của người dùng trên các dự án lớp 2 này cuối cùng cũng sẽ được tải lên chuỗi khối lớp 1.", - "layer-2-what-is-layer-1-2": "Mạng Ethereum cũng hoạt động như một lớp về tính khả dụng dữ liệu cho lớp 2. Các dự án lớp 2 sẽ tải dữ liệu giao dịch lên mạng Ethereum, dựa vào tính khả dụng dữ liệu trên Ethereum. Dữ liệu này có thể dùng để lấy trạng thái hiện tại của lớp 2 đó, hay tranh chấp các giao dịch diễn ra trên lớp 2.", - "layer-2-what-is-layer-1-list-title": "Mạng lớp 1 Ethereum bao gồm:", - "layer-2-what-is-layer-1-list-1": "Một mạng lưới nhiều node operator (nhà điều hành nút) để bảo mật và xác thực mạng", - "layer-2-what-is-layer-1-list-2": "Một mạng lưới nhiều block producer (nhà sản xuất khối)", - "layer-2-what-is-layer-1-list-3": "Chuỗi khối và lịch sử dữ liệu giao dịch", - "layer-2-what-is-layer-1-list-4": "Cơ chế đồng thuận cho mạng", - "layer-2-what-is-layer-1-list-link-1": "Bạn vẫn còn băn khoăn về Ethereum?", - "layer-2-what-is-layer-1-list-link-2": "Tìm hiểu về Ethereum.", - "layer-2-why-do-we-need-layer-2-title": "Tại sao lớp 2 lại cần thiết?", - "layer-2-why-do-we-need-layer-2-1": "Ba tính chất đáng mong đợi của một chuỗi khối có thể kể đến tính phi tập trung, tính bảo mật và khả năng mở rộng. Thách thức để đạt được ba tính chất này của chuỗi khối có đề cập một kiến trúc chuỗi khối đơn giản chỉ có thể đạt được hai trong ba tính chất này. Bạn muốn một chuỗi khối vừa bảo mật vừa phi tập trung? Thế thì bạn phải hi sinh khả năng mở rộng của nó.", - "layer-2-why-do-we-need-layer-2-2": "Hiện tại mạng Ethereum đang xử lí hơn 1 triệu giao dịch mỗi ngày. Nhu cầu sử dụng mạng Ethereum có thể dẫn đến phí giao dịch cao. Đây là lúc cần đến mạng lớp 2.", - "layer-2-why-do-we-need-layer-2-scalability": "Khả năng mở rộng", - "layer-2-why-do-we-need-layer-2-scalability-1": "Mục tiêu chính của lớp 2 là để gia tăng thông lượng giao dịch (số giao dịch mỗi giây cao hơn) mà không phải hi sinh tính phi tập trung hay tính bảo mật.", - "layer-2-why-do-we-need-layer-2-scalability-2": "Mạng chính của Ethereum (lớp 1) chỉ có thể xử lí tầm 15 giao dịch mỗi giây. Khi nhu cầu sử dụng Ethereum cao, mạng sẽ bị tắc nghẽn, điều này sẽ gia tăng phí giao dịch và ngăn cản những người dùng không đủ khả năng chi trả phí đó. Lớp 2 là giải pháp giảm thiểu các phí giao dịch đó bằng cách xử lí giao dịch ngoài chuỗi khối lớp 1.", - "layer-2-why-do-we-need-layer-2-scalability-3": "Tìm hiểu thêm về tầm nhìn của Ethereum", - "layer-2-benefits-of-layer-2-title": "Lợi ích của lớp 2", - "layer-2-lower-fees-title": "Phí thấp hơn", - "layer-2-lower-fees-description": "Bằng cách tổng hợp nhiều giao dịch ngoài chuỗi (off-chain) thành 1 giao dịch trên lớp 1, phí giao dịch sẽ được giảm thiểu đáng kể. Điều này giúp cho nhiều người có thể sử dụng Ethereum hơn.", - "layer-2-maintain-security-title": "Duy trì tính bảo mật", - "layer-2-maintain-security-description": "Các chuỗi khối lớp 2 xử lí giao dịch của chúng trên mạng chính của Ethereum, giúp người dùng hưởng lợi từ tính bảo mật của mạng Ethereum.", - "layer-2-expand-use-cases-title": "Mở rộng thêm nhiều trường hợp sử dụng", - "layer-2-expand-use-cases-description": "Với lượng giao dịch mỗi giây cao hơn, phí thấp hơn, và công nghệ mới, các dự án sẽ mở rộng thêm nhiều ứng dụng với trải nghiệm người dùng nâng cao.", - "layer-2-how-does-layer-2-work-title": "Lớp 2 hoạt động ra sao?", - "layer-2-how-does-layer-2-work-1": "Như đã nêu trên, lớp 2 là một cụm từ chung cho các giải pháp mở rộng Ethereum để xử lí giao dịch ngoài lớp 1 Ethereum, mà vẫn giữ được tính bảo mật phi tập trung mạnh mẽ của Ethereum. Một lớp 2 là một chuỗi khối giúp mở rộng Ethereum. Vậy nó hoạt động ra sao?", - "layer-2-how-does-layer-2-work-2": "Có vài loại lớp 2 khác nhau, mỗi loại đều có sự đánh đổi và mô hình bảo mật riêng. Lớp 2 mang gánh nặng giao dịch thay cho lớp 1, giúp lớp 1 ít bị tắc nghẽn hơn, và dễ dàng mở rộng hơn.", - "layer-2-rollups-1": "Rollup sẽ gói lại (hay còn gọi là 'tổng hợp') hàng trăm giao dịch thành 1 giao dịch duy nhất trên lớp 1. Điều này chia nhỏ phí giao dịch trên L1 đồng đều giữa mỗi người trong rollup đó, giúp mỗi người dùng trả ít phí hơn cho giao dịch của họ.", - "layer-2-rollups-2": "Dữ liệu giao dịch trong rollup đã được gửi đến lớp 1, nhưng việc thực thi lại được triển khai tách biệt bởi rollup. Bằng cách gửi dữ liệu giao dịch vào lớp 1, các rollup kế thừa tính bảo mật từ Ethereum. Lý do là vì sau khi dữ liệu được tải lên lớp 1, hoàn nguyên giao dịch rollup đòi hỏi phải hoàn nguyên Ethereum. Có hai cách tiếp cận khác nhau đối với các rollup: tích cực và không có kiến thức - chúng khác nhau chủ yếu về cách thức dữ liệu giao dịch được gửi đến L1.", - "layer-2-optimistic-rollups-title": "Optimistic rollups", - "layer-2-optimistic-rollups-description": "Rollup tích cực được xem là tích cực vì mọi giao dịch đều được xem là hợp lệ, nhưng chúng có thể bị khước từ nếu cần thiết. Nếu một giao dịch bị nghi ngờ không hợp lệ, một quy trình kiểm tra bằng chứng lỗi sẽ được thực hiện để xem tính hợp lệ của nó.", - "layer-2-optimistic-rollups-childSentance": "Tìm hiểu thêm về rollup tích cực", - "layer-2-zk-rollups-title": "Tổng hợp không cần kiến thức", - "layer-2-zk-rollups-description": "Rollup không có kiến thức dùng phương pháp bằng chứng hợp lệ. Mọi giao dịch được xử lí ngoài chuỗi, và dữ liệu giao dịch đó được nén và cung cấp cho Mạng chính của Ethereum như một bằng chứng hợp lệ.", - "layer-2-zk-rollups-childSentance": "Tìm hiểu thêm về rollup ZK", - "layer-2-dyor-title": "Tự tìm hiểu: rủi ro của lớp 2", - "layer-2-dyor-1": "Nhiều dự án lớp 2 còn khá mới và cần sự tin tưởng của người dùng đối với sự chính trực của các nhà điều hành trong quá trình họ nỗ lực phi tập trung hóa mạng của họ. Hãy luôn tự tìm hiểu để xem rằng bạn có thể chấp nhận những rủi ro liên quan không.", - "layer-2-dyor-2": "Để tìm hiểu thêm về công nghệ này, rủi ro, và những giả định lòng tin của lớp 2, chúng tôi khuyến khích bạn xem qua L2BEAT, trong đó cung cấp khuôn khổ đánh giá rủi ro toàn diện cho từng dự án.", - "layer-2-dyor-3": "Truy cập L2BEAT", - "layer-2-use-layer-2-title": "Sử dụng lớp 2", - "layer-2-use-layer-2-1": "Giờ thì bạn đã hiểu tại sao lớp 2 ra đời và cách hoạt động của nó, hãy bắt đầu làm quen sử dụng nó ngay!", - "layer-2-contract-accounts": "Nếu bạn đang dùng ví hợp đồng thông minh như Safe hay Argent, bạn sẽ không thể kiểm soát địa chỉ ví này trên một lớp 2, cho đến khi bạn triển khai lại tài khoản hợp đồng của bạn đến địa chỉ đó trên lớp 2. Những tài khoản thông thường với các cụm từ khôi phục sẽ tự động sở hữu tài khoản giống nhau trên tất cả lớp 2.", - "layer-2-use-layer-2-generalized-title": "Lớp 2 tổng quát", - "layer-2-use-layer-2-generalized-1": "Lớp 2 tổng quát hoạt động y hệt mạng Ethereum nhưng với phí thấp hơn. Bất kì thứ gì bạn có thể làm trên lớp 1 Ethereum, thì bạn cũng có thể làm trên lớp 2. Nhiều ứng dụng phi tập trung đã bắt đầu chuyển sang các mạng này hoặc bỏ qua luôn Mạng chính và triển khai trực tiếp trên một lớp 2.", - "layer-2-use-layer-2-application-specific-title": "Lớp 2 theo từng ứng dụng", - "layer-2-use-layer-2-application-specific-1": "Lớp 2 theo từng ứng dụng là các dự án chuyên tối ưu hóa một không gian ứng dụng cụ thể, mang lại hiệu suất cao hơn.", - "layer-2-sidechains-title": "Lưu ý về chuỗi bên, validium, và chuỗi khối thay thế", - "layer-2-sidechains-1": "Chuỗi bên và validium là các chuỗi khốicó chức năng di chuyển tài sản từ Ethereum sang cầu nối (bridge) trên một chuỗi khối khác. Chuỗi bên và validium hoạt động song song với Ethereum, và tương tác với Ethereum thông qua cầu nối, nhưng chúng không hưởng được tính bảo mật hoặc tính khả dụng dữ liệu của Ethereum.", - "layer-2-sidechains-2": "Quy mô của cả hai giống với các lớp 2 - chúng cũng giảm phí giao dịch và tăng thông lượng giao dịch 0 - nhưng chúng có những giả định về sự tin cậy khác nhau.", - "layer-2-more-on-sidechains": "Tìm hiểu thêm về chuỗi bên", - "layer-2-more-on-validiums": "Tìm hiểu thêm về validium", - "layer-2-sidechains-4": "Một số chuỗi khối lớp 1 có thông lượng giao dịch cao hơn và phí thấp hơn Ethereum, nhưng cũng yêu cầu đánh đổi ở những mặt khác, ví dụ như cần các phần cứng mạnh hơn để vận hành nút.", - "layer-2-onboard-title": "Cách để di chuyển lên lớp 2", - "layer-2-onboard-1": "Có 2 cách chủ yếu để di chuyển tài sản của bạn lên một lớp 2: sử dụng cầu nối chuyển tiền từ Ethereum qua một hợp đồng thông minh, hoặc rút tiền thẳng từ một sàn giao dịch vào mạng lớp 2 đó.", - "layer-2-onboard-wallet-title": "Có sẵn tiền ở trong ví của bạn?", - "layer-2-onboard-wallet-1": "Nếu bạn đã có sẵn ETH trong ví, bạn sẽ cần sử dụng một cầu nối để chuyển nó từ Mạng chính của Ethereum lên một lớp 2.", - "layer-2-more-on-bridges": "Tìm hiểu thêm về cầu nối", - "layer-2-onboard-wallet-input-placeholder": "Chọn L2 mà bạn muốn chuyển tiền sang bằng cầu nối", - "layer-2-onboard-wallet-selected-1": "Bạn có thể kết nối", - "layer-2-onboard-wallet-selected-2": "bằng những ví này:", - "layer-2-bridge": "Cầu nối", - "layer-2-onboard-exchange-title": "Có sẵn tiền trên sàn giao dịch?", - "layer-2-onboard-exchange-1": "Một số sàn giao dịch tập trung giờ cho phép bạn rút thẳng tiền và chuyển nó lên lớp 2. Hãy xem thử sàn giao dịch nào hỗ trợ việc rút tiền lên lớp 2 và chúng hỗ trợ lớp 2 nào.", - "layer-2-onboard-exchange-2": "Bạn cũng cần một ví để rút tiền về.", - "layer-2-onboard-find-a-wallet": "Tìm một ví Ethereum.", - "layer-2-onboard-exchange-input-placeholder": "Xem sàn giao dịch nào hỗ trợ L2", - "layer-2-deposits": "Gửi tiền", - "layer-2-withdrawals": "Rút tiền", - "layer-2-go-to": "Truy cập", - "layer-2-tools-title": "Công cụ hiệu quả trên lớp 2", - "layer-2-tools-l2beat-description": "L2BEAT là một nguồn tài nguyên thông tin tuyệt vời để xem xét những đánh giá rủi ro kỹ thuật của các dự án lớp 2. Chúng tôi khuyến khích xem qua nguồn tài nguyên thông tin của họ khi nghiên cứu các dự án lớp 2.", - "layer-2-tools-growthepie-description": "Các phân tích được chọn lọc về giải pháp lớp 2 của Ethereum", - "layer-2-tools-l2fees-description": "L2 Fees cho bạn xem chi phí hiện tại (USD) cho giao dịch trên các lớp 2 khác nhau.", - "layer-2-tools-chainlist-description": "Chainlist là một nguồn tài nguyên thông tin tuyệt vời cho việc nhập RPC của mạng vào trong các ví mà nó hỗ trợ. Bạn sẽ tìm được RPC cho các dự án lớp 2 ở đây để giúp bạn kết nối.", - "layer-2-tools-zapper-description": "Quản lí toàn bộ danh mục đầu tư web của bạn từ DeFi đến NFT và bất kì thứ gì tiếp theo. Đầu tư vào những cơ hội mới nhất trong một nơi thuận tiện.", - "layer-2-tools-zerion-description": "Xây dựng và quản lí toàn bộ danh mục đầu tư DeFi của bạn. Khám phá thế giới tài chính phi tập trung trong hôm nay.", - "layer-2-tools-debank-description": "Cập nhật hết thông tin quan trọng trong thế giới web3", - "layer-2-faq-title": "Câu hỏi thường gặp", - "layer-2-faq-question-1-title": "Tại sao không có L2 \"chính thức\" của Ethereum?", - "layer-2-faq-question-1-description-1": "Tương tự như việc không có máy khách \"chính thức\" của Ethereum, cũng không có lớp 2 \"chính thức\" của Ethereum. Mạng Ethereum là môi trường không cần cho phép \"permissionless\" - bất kì ai cũng có thể tạo ra một lớp 2! Nhiều đội nhóm sẽ triển khai phiên bản lớp 2 của họ, và hệ sinh thái chung này sẽ hưởng lợi từ nhiều hướng thiết kế đa dạng được tối ưu hóa cho nhiều trường hợp sử dụng khác nhau. Giống như việc chúng ta có nhiều máy khách của Ethereum, được phát triển bởi nhiều đội nhóm để có sự đa dạng trong mạng này, điều này cũng sẽ là cách mà lớp 2 phát triển trong tương lai.", - "layer-2-faq-question-2-title": "Đâu là sự khác biệt giữa rollup tích cực và rollup không có kiến thức?", - "layer-2-faq-question-2-description-1": "Cả rollup tích cực và không có kiến thức đều gói (hay \"tổng hợp\") hàng trăm giao dịch lại thành một giao dịch duy nhất trên lớp 1. Giao dịch rollup được xử lí bên ngoài lớp 1 nhưng dữ liệu giao dịch vẫn được đăng lên lớp 1.", - "layer-2-faq-question-2-description-2": "Điểm khác nhau chính là dữ liệu nào được đăng lên lớp 1 và cách xác minh dữ liệu đó. Bằng chứng hợp lệ (được sử dụng bởi rollup không có kiến thức) chạy các phép tính toán ngoài chuỗi và tải lên một bằng chứng, trong khi bằng chứng lỗi (được sử dụng bởi rollup tích cực) chỉ tính toán trên chuỗi khi nghi ngờ có lỗi và bắt buộc phải bị kiểm tra.", - "layer-2-faq-question-2-description-3": "Hiện tại, hầu hết các rollup ZK đều theo từng ứng dụng trái ngược với rollup tích cực, phần lớn mang tính tổng quát.", - "layer-2-more-info-on-optimistic-rollups": "Tìm hiểu thêm về mạng rollup tích cực", - "layer-2-more-info-on-zk-rollups": "Tìm hiểu thêm về mạng rollup không có kiến thức", - "layer-2-faq-question-4-title": "Đâu là rủi ro với lớp 2?", - "layer-2-faq-question-4-description-1": "Các dự án lớp 2 mang thêm rủi ro so với việc giữ tiền và giao dịch trực tiếp trên Mạng chính của Ethereum. Ví dụ: bộ sắp xếp dãy có thể ngưng hoạt động, dẫn đến việc bạn phải chờ để dùng tiền của mình.", - "layer-2-faq-question-4-description-2": "Chúng tôi khuyến khích bạn tự tìm hiểu trước khi chuyển nhiều tiền sang một lớp 2. Để tìm hiểu thêm về công nghệ này, rủi ro, và những giả định lòng tin của lớp 2, chúng tôi khuyến khích bạn xem qua L2BEAT, trong đó cung cấp khuôn khổ đánh giá rủi ro toàn diện cho từng dự án.", - "layer-2-faq-question-4-description-3": "Cầu nối chuỗi khối, giúp chuyển tài sản tới một lớp 2, chỉ mới nằm trong giai đoạn phát triển ban đầu, và có khả năng thiết kế cầu nối tối ưu chưa được tìm ra. Gần đây đã có nhiều vụ hack liên quan đến cầu nối.", - "layer-2-faq-question-5-title": "Tại sao không có một số dự án lớp 2 không được đăng ở đây?", - "layer-2-faq-question-5-description-1": "Chúng tôi muốn chắc chắn rằng chúng tôi đăng những tài nguyên thông tin tốt nhất để người dùng có thể khám phá không gian lớp 2 một cách an toàn và tự tin. Chúng tôi duy trì một khuôn khổ các tiêu chí đánh giá các dự án để thêm vào.", - "layer-2-faq-question-5-view-listing-policy": "Xem chính sách liệt kê lớp 2 của chúng tôi ở đây.", - "layer-2-faq-question-5-description-2": "Ai cũng có quyền đề xuất thêm một lớp 2 vào trang ethereum.org. Nếu chúng tôi có bỏ lỡ một lớp 2 nào, vui lòng đề xuất nó.", - "layer-2-further-reading-title": "Đọc thêm", - "a-rollup-centric-ethereum-roadmap": "Một lộ trình ethereum tập trung vào rollup", - "polygon-sidechain-vs-ethereum-rollups": "Chuỗi bên Polygon vs rollup Ethereum: các hướng mở rộng lớp 2| Vitalik Buterin và Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "ROLLUP - Chiến lược mở rộng Ethereum tối ưu nhất? Giải thích về Arbitrum và Optimisim", - "scaling-layer-1-with-shard-chains": "Mở rộng lớp 1 với chuỗi mảnh (Shard chain)", - "understanding-rollup-economics-from-first-principals": "Tìm hiểu nền kinh tế của rollup từ những nguyên tắc căn bản", - "arbitrum-description": "Arbitrum One là một rollup tích cực có mục đích vận hành theo cách giống hệ Ethereum, nhưng với phí giao dịch chỉ bằng một phần nhỏ của L1.", - "optimism-description": "Optimism là một rollup tích cực tương đương với EVM, nhanh, đơn giản và bảo mật. Nó mở rộng công nghệ Ethereum và đồng thời gia tăng giá trị bằng cách cấp vốn cho hàng hóa công cộng.", - "boba-description": "Boba là một rollup tích cực ban đầu được phân nhánh từ Optimism - một giải pháp mở rộng nhằm giảm thiểu phí gas, tăng thông lượng giao dịch, và mở rộng khả năng của hợp đồng thông minh.", - "base-description": "Base là một giải pháp L2 của Ethereum, an toàn, chi phí thấp và thân thiện với nhà phát triển, được xây dựng với mục tiêu đưa thêm một tỷ người dùng tiếp theo tham gia vào web3. Là L2 của Ethereum, Base được khởi xướng bởi Coinbase và hoạt động trên nền tảng mã nguồn mở OP Stack.", - "loopring-description": "Giải pháp L2 zkRollup của Loopring nhằm cung cấp sự cam đoan về tính bảo mật giống hệt với mạng chính của Ethereum, với một sự cải tiến về khả năng mở rộng: thông lượng tăng thêm 1000 lần, và chi phí được giảm chỉ còn bằng 0.1% của L1.", - "zksync-description": "ZKsync là một nền tảng rollup tập trung vào người dùng của Matter Labs. Nó là một giải pháp mở rộng cho Ethereum, đã và đang chạy trên Mạng chính của Ethereum. Nó hỗ trợ thanh toán, hoán đổi token và mint NFT.", - "zkspace-description": "Nền tảng ZKSpace bao gồm ba thành phần chính: một DEX AMM lớp 2 tối ưu cho công nghệ ZK-Rollup gọi là ZKSwap, một dịch vụ thanh toán tên là ZKSquare, và một marketplace NFT gọi là ZKSea.", - "aztec-description": "Mạng Aztec là mạng zk-rollup tư nhân đầu tiên trên Ethereum, cho phép các ứng dụng phi tập trung (dapp) được hưởng quyền riêng tư và mở rộng quy mô.", - "starknet-description": "Starknet là một giải pháp Lớp 2 sử dụng công nghệ Validity Rollup. Nó cung cấp thông lượng cao, chi phí gas thấp và duy trì mức độ bảo mật Ethereum Lớp 1.", - "layer-2-note": "Ghi chú:", - "layer-2-ecosystem-portal": "Cổng hệ sinh thái", - "layer-2-token-lists": "Danh sách token", - "layer-2-explore": "Khám phá", - "page-dapps-ready-button": "Vào" -} diff --git a/src/intl/zh-tw/page-layer-2.json b/src/intl/zh-tw/page-layer-2.json deleted file mode 100644 index 50507333fbb..00000000000 --- a/src/intl/zh-tw/page-layer-2.json +++ /dev/null @@ -1,137 +0,0 @@ -{ - "layer-2-arbitrum-note": "欺詐證明僅適用於白名單使用者,白名單尚未開放", - "layer-2-boba-note": "狀態驗證正在開發中", - "layer-2-optimism-note": "錯誤性證明正在開發中", - "layer-2-base-note": "欺詐證明系統正在開發中", - "layer-2-metadata-description": "二層網路介紹頁面", - "layer-2-hero-title": "二層網路", - "layer-2-hero-header": "以太坊為所有人而生", - "layer-2-hero-subtitle": "擴容以太坊以實現大規模採用。", - "layer-2-hero-alt-text": "交易彙總於二層網路並發佈到以太坊主網的插圖", - "layer-2-hero-button-1": "什麼是二層網路", - "layer-2-hero-button-2": "使用二層網路", - "layer-2-hero-button-3": "移動到二層網路", - "layer-2-statsbox-1": "二層網路中鎖定的總價值 (USD)", - "layer-2-statsbox-2": "二層網路平均的以太幣轉帳費用 (USD)", - "layer-2-statsbox-3": "二層網路總價值變化(30天)", - "layer-2-what-is-layer-2-title": "什麼是二層網路", - "layer-2-what-is-layer-2-1": "二層網路 (L2) 是個統稱,用於描述一組特定的以太坊擴容方案。二層網路是單獨的區塊鏈,擴展了以太坊並承襲了以太坊的安全保證。", - "layer-2-what-is-layer-2-2": "現在讓我們再深入一點。為此,我們得先解釋一層網路 (L1)。", - "layer-2-what-is-layer-1-title": "什麼是一層網路?", - "layer-2-what-is-layer-1-1": "一層網路是區塊鏈的底層。以太坊與比特幣皆屬於一層網路的區塊鏈,因為它們是整個網路的基石,讓各式各樣的二層網路得以建立在它們之上。二層網路專案的例子包括以太坊上的「卷軸」和基於比特幣的閃電網路。這些二層網路專案上的所有使用者交易活動最終都可以傳輸回一層網路區塊鏈。", - "layer-2-what-is-layer-1-2": "以太坊也可以用作二層網路的資料可用性層。二層網路專案會將其交易資料發佈到以太坊,依賴以太坊實現資料可用性。此資料可用來取得二層網路的狀態,或對二層網路上的交易提出異議。", - "layer-2-what-is-layer-1-list-title": "以太坊作為一層網路還包括:", - "layer-2-what-is-layer-1-list-1": "節點運行者網路,用於保護和驗證網路", - "layer-2-what-is-layer-1-list-2": "區塊生產者網路", - "layer-2-what-is-layer-1-list-3": "區塊鏈本身及交易資料的歷史", - "layer-2-what-is-layer-1-list-4": "網路的共識機制", - "layer-2-what-is-layer-1-list-link-1": "依然對以太坊感到困惑嗎?", - "layer-2-what-is-layer-1-list-link-2": "了解什麼是以太坊。", - "layer-2-why-do-we-need-layer-2-title": "為什麼我們需要二層網路?", - "layer-2-why-do-we-need-layer-2-1": "區塊鏈三個令人滿意的屬性是去中心化、安全和可擴展性區塊鏈不可能三角中指出,簡單的區塊鏈架構只能實現三個屬性中的兩個,想要安全和去中心化的區塊鏈?你可能需要犧牲可擴展性。", - "layer-2-why-do-we-need-layer-2-2": "以太坊目前每天能處理 100 多萬筆交易。以太坊的使用需求增加令交易費價格居高不下,這時二層網路就能派上用場了。", - "layer-2-why-do-we-need-layer-2-scalability": "可擴展性", - "layer-2-why-do-we-need-layer-2-scalability-1": "二層網路的主要目標是在不犧牲去中心化或安全性的情況下提高交易吞吐量(每秒更高的交易量)。", - "layer-2-why-do-we-need-layer-2-scalability-2": "以太坊主網(一層網路)每秒僅能處理約 15 筆交易。當以太坊使用需求增加時,網路會變得擁擠,導致了交易費升高,並使無法負擔高昂費用的使用者卻步。二層網路可以解決這個問題,透過在一層網路區塊鏈的鏈下處理交易,降低了上述費用。", - "layer-2-why-do-we-need-layer-2-scalability-3": "關於以太坊願景的更多訊息", - "layer-2-benefits-of-layer-2-title": "二層網路的優點", - "layer-2-lower-fees-title": "降低費用", - "layer-2-lower-fees-description": "透過將多筆鏈下交易合併成一筆單獨的一層網路交易,交易費將大幅降低,從而使所有人都能夠更容易參與以太坊。", - "layer-2-maintain-security-title": "維護安全", - "layer-2-maintain-security-description": "二層網路區塊鏈在以太坊主網上結算交易,令使用者能夠受益於以太坊網路的安全性。", - "layer-2-expand-use-cases-title": "擴展使用案例", - "layer-2-expand-use-cases-description": "隨著每秒的交易量增加、交易費用降低和新技術發展,方案將擴展到新的應用程式,並改善使用者體驗。", - "layer-2-how-does-layer-2-work-title": "二層網路是如何工作的?", - "layer-2-how-does-layer-2-work-1": "正如我們上面提到的,二層網路是以太坊擴容解決方案的統稱,這些解決方案在處理以太坊一層網路以外的交易時,仍能享有以太坊一層網路穩健的去中心化安全性。二層網路的獨立區塊鏈擴展了以太坊。那麼它是如何運作的?", - "layer-2-how-does-layer-2-work-2": "市面上有各種類型的二層網路,各有各的權衡取捨及安全模型。二層網路分掉了一層網路的交易負荷,使一層網路不再那麼擁擠,可擴展性變得更高。", - "layer-2-rollups-title": "卷軸", - "layer-2-rollups-1": "卷軸將數百筆交易捆綁打包(或稱「匯總」)成單筆交易,並發佈到一層網路。這讓卷軸中的所有人共同分攤了一層網路上的交易費,也降低了每位使用者須負擔的費用。", - "layer-2-rollups-2": "卷軸中的交易資料會提交到一層網路,但交易的執行是由卷軸單獨完成的。藉由將交易資料提交到一層網路上,卷軸即繼承了以太坊的安全性。這是因為一旦資料上傳至一層網路,要逆轉一筆卷軸交易就必須逆轉以太坊的狀態。有 2 種不同的卷軸方法:樂觀卷軸及零知識證明卷軸—它們的主要差異為交易資料提交到一層網路的方式。", - "layer-2-optimistic-rollups-title": "樂觀卷軸", - "layer-2-optimistic-rollups-description": "樂觀卷軸之所以「樂觀」是因為其假定交易皆有效,但可以在必要時提出質疑。如果懷疑某交易無效,便會進行錯誤性證明,驗證是否發生無效交易。", - "layer-2-optimistic-rollups-childSentance": "更多樂觀卷軸相關資訊", - "layer-2-zk-rollups-title": "零知識證明卷軸", - "layer-2-zk-rollups-description": "零知識證明卷軸使用有效性證明,其交易在鏈下計算,然後將壓縮後的資料提供給以太坊主網作為有效性證明。", - "layer-2-zk-rollups-childSentance": "關於零知識證明卷軸的更多資訊", - "layer-2-dyor-title": "自行研究:二層網路的風險", - "layer-2-dyor-1": "許多二層網路的專案相對年輕,且仍要使用者片面相信某些營運者能以誠實可靠的作法來實現其網路的去中心化。請一律自己做好研究 (DYOR),以決定你是否願意承擔可能包含的任何風險。", - "layer-2-dyor-2": "如需關於二層網路技術、風險及信任假設的更多資訊,推薦你了解一下 L2BEAT,其提供了每個專案的完整風險評估框架。", - "layer-2-dyor-3": "前往 L2BEAT", - "layer-2-use-layer-2-title": "使用二層網路", - "layer-2-use-layer-2-1": "現在你知道了為什麼二層網路會存在和它是如何工作的,讓我們開始行動吧!", - "layer-2-contract-accounts": "如果你使用的是智慧型合約錢包,如 Safe 或 Argent,在重新部署合約帳戶到二層網路上該地址前,你將無法控制此地址。具有恢復短語的傳統帳戶會自動擁有所有二層網路上的相同地址。", - "layer-2-use-layer-2-generalized-title": "廣義二層網路", - "layer-2-use-layer-2-generalized-1": "廣義二層網路的行為和以太坊並無區別,但更經濟實惠。你在以太坊一層網路上能做的事情,在二層網路上同樣能做。許多去中心化應用程式已開始遷移至這些網路,或者跳過主網,直接在二層網路上建構專案。", - "layer-2-use-layer-2-application-specific-title": "應用程式特定的二層網路", - "layer-2-use-layer-2-application-specific-1": "特定於應用程式的二層網路是專門針對特定應用程式空間進行優化以提高性能的計畫。", - "layer-2-sidechains-title": "關於側鏈、Validium 和替代區塊鏈的注釋。", - "layer-2-sidechains-1": "側鏈和 Validium 是一種區塊鏈,能讓以太坊的資產橋接到另一個區塊鏈並在其上使用該資產。側鏈和 Validium 與以太坊平行運作,並透過跨鏈橋與以太坊互動,但它們並沒有從以太坊取得安全性或資料可用性。", - "layer-2-sidechains-2": "這兩種擴容方式與二層網路相似 - 它們均提供更低的交易費和更高的交易吞吐量 - 但具有不同的信任假設。", - "layer-2-more-on-sidechains": "關於側鏈的更多資訊", - "layer-2-more-on-validiums": "關於 Validium 的更多資訊", - "layer-2-sidechains-4": "據報,某些一層網路的區塊鏈有高於以太坊的吞吐量和低於它的交易費,但通常在其他地方做了取捨,例如運行節點的硬體需求更高。", - "layer-2-onboard-title": "如何實現二層網路", - "layer-2-onboard-1": "目前主要有兩種方法能夠將你的資產放到二層網路:透過智慧型合約將以太坊上的資金橋接到二層網路,或將你的資金直接從交易所提取到二層網路。", - "layer-2-onboard-wallet-title": "在你錢包中的資金?", - "layer-2-onboard-wallet-1": "如果你的錢包中已經有以太幣了,你需要使用跨鏈橋將它從以太坊主網轉移到二層網路。", - "layer-2-more-on-bridges": "關於跨鏈橋的更多資訊", - "layer-2-onboard-wallet-input-placeholder": "選擇你想要橋接到的二層網路", - "layer-2-onboard-wallet-selected-1": "你可以連線到", - "layer-2-onboard-wallet-selected-2": "使用這些錢包:", - "layer-2-bridge": "跨鏈橋", - "layer-2-onboard-exchange-title": "資金在交易所內?", - "layer-2-onboard-exchange-1": "一些中心化交易所現在提供直接存款和提款到二層網路的功能。查閱哪些交易所支援二層網路提款和它們支援哪些二層網路。", - "layer-2-onboard-exchange-2": "你也會需要一個錢包以接收你所提現的資產。", - "layer-2-onboard-find-a-wallet": "尋找以太坊錢包。", - "layer-2-onboard-exchange-input-placeholder": "查看支援二層網路的交易所", - "layer-2-deposits": "存款", - "layer-2-withdrawals": "提款", - "layer-2-go-to": "前往", - "layer-2-tools-title": "在二層網路上有效的工具", - "layer-2-tools-l2beat-description": "L2BEAT 是對二層網路計畫進行技術風險評估的一個重要資源。我們推薦在研究特定的二層網路計畫時查閱他們的資源。", - "layer-2-tools-growthepie-description": "精選以太坊二層網路分析", - "layer-2-tools-ethereumecosystem-description": "以太坊及其二層網路(包括 Base、Optimism 及 Starknet)的非官方生態系統頁面,具有數百個去中心化應用程式及工具。", - "layer-2-tools-l2fees-description": "L2 Fees 使你能夠看到當前在不同二層網路上進行交易的費用(以美元計價)。", - "layer-2-tools-chainlist-description": "Chainlist 是一個重要的資源,用於匯入網路的遠端程序呼叫協定到支援的錢包中。你將在這裡找到二層網路計畫的遠端程序呼叫協定,幫助你建立連線。", - "layer-2-tools-zapper-description": "管理你整個 web3 資產組合,從去中心化金融到非同質化代幣,以及之後出現的任何東西。從這裡方便地找到投資的最新機會。", - "layer-2-tools-zerion-description": "從這裡建倉並管理你的整個去中心化金融資產組合。探索當前的去中心化金融世界。", - "layer-2-tools-debank-description": "追蹤 web3 世界中的所有重要事件", - "layer-2-faq-title": "常見問題", - "layer-2-faq-question-1-title": "為什麼沒有「官方的」以太坊二層網路?", - "layer-2-faq-question-1-description-1": "正如沒有「官方的」以太坊用戶端一樣,也不存在「官方的」以太坊二層網路。以太坊是無需許可的 - 從技術上講,任何人都可以建立二層網路!多個團隊將落實他們的二層網路版本,整個生態系統將受益於針對不同的使用場景而進行優化的多種設計方法。就像我們擁有多個由不同團隊開發的以太坊用戶端,以便讓網路具有多樣性一樣,這也將是未來二層網路的發展方式。", - "layer-2-faq-question-2-title": "樂觀和零知識證明卷軸有什麼不同?", - "layer-2-faq-question-2-description-1": "樂觀和零知識證明卷軸均可以將數百筆交易綑綁(或稱「打包」)為一層網路上的單筆交易。打包交易於一層網路之外執行,但交易資料會發布到一層網路。", - "layer-2-faq-question-2-description-2": "主要區別在於將哪些資料發佈到一層網路以及如何驗證資料。有效性證明(用於零知識證明卷軸)在鏈外運行計算並發布證明,而錯誤性證明(用於樂觀卷軸)僅在懷疑存在錯誤且必須檢查錯誤時才在鏈上運行計算。", - "layer-2-faq-question-2-description-3": "目前,大部分零知識證明卷軸是特定於應用程式的,而樂觀卷軸則基本上可以被廣泛應用。", - "layer-2-more-info-on-optimistic-rollups": "更多樂觀卷軸相關資訊", - "layer-2-more-info-on-zk-rollups": "關於零知識卷軸的更多資訊", - "layer-2-faq-question-4-title": "二層網路的風險是什麼?", - "layer-2-faq-question-4-description-1": "與在以太坊主網上直接持有資金並進行交易相比,二層網路專案有著額外的風險。舉例來說,排序者可能會離線,你不得不等待其重新上線才能存取資金。", - "layer-2-faq-question-4-description-2": "我們鼓勵你在轉移大筆資金到二層網路之前,自行進行研究。更多關於二層網路的技術、風險和信任假設的資訊,我們建議你查閱 L2BEAT,它為每個專案提供了一個全面性風險評估框架。", - "layer-2-faq-question-4-description-3": "促進資產轉移到二層網路的區塊鏈跨鏈橋處於早期開發階段,很可能尚未發現最佳的跨鏈橋設計。近期已有跨鏈橋被駭。", - "layer-2-faq-question-5-title": "為什麼這裡沒有列出一些二層網路計畫?", - "layer-2-faq-question-5-description-1": "我們希望確保列出可能最佳的資源,令使用者能夠以安全和自信的方式悠遊在二層網路的世界。我們維護了一個標準框架,用於評估是否將計畫包含在內。", - "layer-2-faq-question-5-view-listing-policy": "在此處查看我們的二層網路上架政策。", - "layer-2-faq-question-5-description-2": "任何人都可以自由地在 ethereum.org 提議添加一個二層網路。如果有我們未收錄的二層網路,請提供建議。", - "layer-2-further-reading-title": "延伸閱讀", - "a-rollup-centric-ethereum-roadmap": "以卷軸為中心的以太坊路線圖", - "an-incomplete-guide-to-rollups": "不完全的卷軸指南", - "polygon-sidechain-vs-ethereum-rollups": "Polygon 側鏈與以太坊卷軸對比:二層網路擴容方案 | Vitalik Buterin 和 Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "卷軸 - 終極以太坊擴容策略?解釋了 Arbitrum 與樂觀卷軸", - "scaling-layer-1-with-shard-chains": "利用分片鏈擴容一層網路", - "understanding-rollup-economics-from-first-principals": "從第一原則了解卷軸經濟", - "arbitrum-description": "Arbitrum One 是一種樂觀卷軸,目標是讓使用者感覺就像與以太坊互動一樣,但交易成本只是一層網路的一小部分而已。", - "optimism-description": "Optimism 是一種快速、簡單且安全的與以太坊虛擬機等效的樂觀卷軸。它擴展了以太坊的技術,同時通過追溯公共財產資金來擴展其價值。", - "boba-description": "Boba 是一種樂觀卷軸,最初從樂觀分叉而來。「樂觀」是一種擴容解決方案,旨在減少燃料費,提高交易吞吐量,並擴展智慧型合約的功能。", - "base-description": "Base 是安全、低成本及開發者友善的以太坊二層網路,目標是帶領 10 億使用者進入 Web3。它是由 Coinbase 孵化,建構於開源 OP 堆棧上的以太坊二層網路。", - "loopring-description": "路印 (Loopring) 是零知識證明卷軸的二層網路解決方案,旨在提供與以太坊主網相同的安全性保障,並大規模提升可擴展性:交易吞吐量增加 1000 倍,交易費減低至一層網路的 0.1%。", - "zksync-description": "zkSync 是一種零知識卷軸,目的是在不降低以太坊安全性及去中心化程度的情況下,對以太坊及其價值進行擴容,以促進主流採用。", - "zkspace-description": "ZKSpace 平台由三個主要部分所組成:使用零知識證明卷軸技術建立的二層網路自動化做市商去中心化交易所(名為 ZKSwap);名為 ZKSquare 的支付服務;以及名為 ZKSea 的非同質化代幣交易市場。", - "aztec-description": "Aztec 網路是第一個在以太坊上的私有零知識證明卷軸,使去中心化應用程式能存取隱私和擴張。", - "starknet-description": "Starknet 是一個驗證卷軸二層網路。它不僅提供高流量、低燃料成本,并且保持了以太坊一層網路的安全等級。", - "layer-2-note": "備註:", - "layer-2-ecosystem-portal": "生態系統相關入口網站", - "layer-2-token-lists": "代幣清單", - "layer-2-explore": "探索", - "page-dapps-ready-button": "開始" -} diff --git a/src/intl/zh/page-layer-2.json b/src/intl/zh/page-layer-2.json deleted file mode 100644 index 252a08f3b70..00000000000 --- a/src/intl/zh/page-layer-2.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "layer-2-arbitrum-note": "欺诈证明仅适用于白名单用户,白名单尚未开放", - "layer-2-boba-note": "状态验证正在开发中", - "layer-2-optimism-note": "错误性证明正在开发中", - "layer-2-base-note": "欺诈证明系统目前正在开发中", - "layer-2-metadata-description": "二层网络简介页面", - "layer-2-hero-title": "二层网络", - "layer-2-hero-header": "以太坊——为所有人而生", - "layer-2-hero-subtitle": "为实现以太坊的大规模采用而扩容。", - "layer-2-hero-alt-text": "二层网络打包交易并发布到以太坊主网的示意图", - "layer-2-hero-button-1": "什么是二层网络", - "layer-2-hero-button-2": "使用二层网络", - "layer-2-hero-button-3": "前往二层网络", - "layer-2-statsbox-1": "二层网络中锁定的价值总量 (USD)", - "layer-2-statsbox-2": "二层网络平均 ETH 转账费用 (USD)", - "layer-2-statsbox-3": "二层网络价值总量变化(30 天)", - "layer-2-what-is-layer-2-title": "什么是二层网络?", - "layer-2-what-is-layer-2-1": "二层网络 (L2) 是一种统称,用来描述一系列特定的以太坊扩容解决方案。二层网络是一条独立的区块链,它扩展了以太坊并继承了其安全保证。", - "layer-2-what-is-layer-2-2": "现在让我们来深入地了解一下它。为此,我们需要解释一层网络 (L1)。", - "layer-2-what-is-layer-1-title": "什么是一层网络?", - "layer-2-what-is-layer-1-1": "一层网络是底层区块链。以太坊和比特币都是一层网络区块链,因为它们是基石,各种二层网络都构建于其上。二层网络项目的示例包括以太坊上的“卷叠”和基于比特币的闪电网络。所有这些二层网络项目上的用户交易活动最终都可以回到一层网络区块链。", - "layer-2-what-is-layer-1-2": "以太坊还充当二层网络的数据可用性层。二层网络项目将它们的交易数据发布到以太坊上,依赖以太坊实现数据可用性。这些数据可以用来确定二层网络的状态,或对二层网络上的交易提出争议。", - "layer-2-what-is-layer-1-list-title": "以太坊作为一层网络的情况包括:", - "layer-2-what-is-layer-1-list-1": "节点运营商网络用于保障安全并验证网络", - "layer-2-what-is-layer-1-list-2": "区块生产者网络", - "layer-2-what-is-layer-1-list-3": "区块链本身以及交易数据历史记录", - "layer-2-what-is-layer-1-list-4": "网络的共识机制", - "layer-2-what-is-layer-1-list-link-1": "依然对以太坊感到困惑吗?", - "layer-2-what-is-layer-1-list-link-2": "了解什么是以太坊。", - "layer-2-why-do-we-need-layer-2-title": "为什么我们需要二层网络?", - "layer-2-why-do-we-need-layer-2-1": "区块链的三个目标属性是去中心化、安全和可扩展区块链三难困境中指出,简单的区块链架构只能实现三个属性中的两个。想要安全的去中心化区块链吗?这意味着你需要牺牲可扩展性。", - "layer-2-why-do-we-need-layer-2-2": "以太坊当前每天处理 100 多万笔交易。以太坊的使用需求可能会导致交易费用价格居高不下。这就是二层网络的用武之地。", - "layer-2-why-do-we-need-layer-2-scalability": "可扩展性", - "layer-2-why-do-we-need-layer-2-scalability-1": "二层网络的主要目标是在不牺牲去中心化和安全性的情况下提高交易吞吐量(每秒交易数量)。", - "layer-2-why-do-we-need-layer-2-scalability-2": "以太坊主网(一层网络)只能大约每秒处理 15 笔交易。当使用以太坊的需求较高时,网络会出现拥堵,这会提高交易费,那些承担不起这些费用的用户就会被“挤出”。二层网络是通过在一层网络区块链之外处理交易来降低这些费用的解决方案。", - "layer-2-why-do-we-need-layer-2-scalability-3": "关于以太坊愿景的更多信息", - "layer-2-benefits-of-layer-2-title": "二层网络的好处", - "layer-2-lower-fees-title": "降低费用", - "layer-2-lower-fees-description": "通过将多笔脱链交易合并成一笔单独的一层网络交易,交易费将大幅降低,从而使所有人都能更容易地参与以太坊。", - "layer-2-maintain-security-title": "维护安全", - "layer-2-maintain-security-description": "二层网络区块链在以太坊主网上结算交易,使用户能够受益于以太坊网络的安全性。", - "layer-2-expand-use-cases-title": "拓展用例", - "layer-2-expand-use-cases-description": "随着每秒交易量的增加、交易费的降低和新技术的发展,项目将拓展到新的应用,并改进用户体验。", - "layer-2-how-does-layer-2-work-title": "二层网络是如何工作的?", - "layer-2-how-does-layer-2-work-1": "正如我们在上面所提到,二层网络是以太坊扩容解决方案的统称,这些解决方案在处理以太坊一层网络以外的交易的同时,还能利用以太坊一层网络强有力的去中心化安全性。二层网络是一个对以太坊进行扩展的单独区块链。那么它是如何运作的呢?", - "layer-2-how-does-layer-2-work-2": "二层网络有几种不同类型,各有自己的权衡取舍和安全模型。二层网络减轻了一层网络的交易负担,使其拥塞情况得以改善,并增强了整体可扩展性。", - "layer-2-rollups-title": "卷叠", - "layer-2-rollups-1": "卷叠将数百笔交易打包(或“卷叠”)到一层网络的一项交易中。这会将一层网络的交易费分散到整个卷叠中的所有用户,降低每个用户的费用。", - "layer-2-rollups-2": "卷叠中的交易数据会提交到一层网络,但执行由卷叠独立进行。通过将交易数据提交到一层网络,卷叠可以继承以太坊的安全性。这是因为在数据上传到一层网络后,回滚卷叠交易需要回滚以太坊。卷叠有两种形式:乐观卷叠和零知识卷叠 - 它们的主要区别在于交易数据提交到一层网络的方式。", - "layer-2-optimistic-rollups-title": "乐观卷叠", - "layer-2-optimistic-rollups-description": "乐观卷叠的“乐观”体现在其假定交易是有效的,但可以在必要时提出质疑。如果交易被怀疑无效,则会运行一项错误性证明,验证是否已经发生无效交易。", - "layer-2-optimistic-rollups-childSentance": "关于乐观卷叠的更多信息", - "layer-2-zk-rollups-title": "零知识卷叠", - "layer-2-zk-rollups-description": "零知识卷叠使用有效性证明,其中的交易是脱链计算的,然后将压缩数据提供给以太坊主网,以证明其有效性。", - "layer-2-zk-rollups-childSentance": "更多关于零知识卷叠的信息", - "layer-2-dyor-title": "自行研究:二层网络的风险", - "layer-2-dyor-1": "许多二层网络项目仍处于相对早期,仍需要用户相信一些运营者在实现网络的去中心化中诚信行事。你应始终进行自行研判,决定你是否可以接受相关的任何风险。", - "layer-2-dyor-2": "关于二层网络的技术、风险和信任假设的更多信息,我们建议查阅 L2BEAT,它为每个项目提供了全面的风险评估框架。", - "layer-2-dyor-3": "前往 L2BEAT", - "layer-2-use-layer-2-title": "使用二层网络", - "layer-2-use-layer-2-1": "现在你知道二层网络为什么存在以及它是如何工作的,下面让我们开始运行起来吧!", - "layer-2-contract-accounts": "如果你正在使用 Safe 或 Argent 等智能合约钱包,那么你在二层网络上重新将你的合约帐户部署到此地址之前,你将无法在二层网络上控制此地址。具有助记词的传统帐户将自动在所有二层网络上拥有相同帐户。", - "layer-2-use-layer-2-generalized-title": "广义二层网络", - "layer-2-use-layer-2-generalized-1": "广义二层网络的行为与以太坊别无二致,但成本更低。你在以太坊一层网络能做的任何事,在二层网络也能做到。许多去中心化应用程序已经开始迁移到这类网络,或者完全跳过主网,直接部署在二层网络上。", - "layer-2-use-layer-2-application-specific-title": "应用特定的二层网络", - "layer-2-use-layer-2-application-specific-1": "应用特定的二层网络是专门为特定应用领域而优化从而提升性能的项目。", - "layer-2-sidechains-title": "关于侧链、Validium 和替代区块链的注释", - "layer-2-sidechains-1": "侧链和 Validium 是可以将以太坊资产桥接并用于另一个区块链的区块链。侧链和 Validium 与以太坊并行运行,通过链桥与以太坊交互,但它们并不能从以太坊获取其安全性或数据可用性。", - "layer-2-sidechains-2": "二者的扩容方式都与二层网络相似 — 它们可以降低交易费并提高交易吞吐量,但具有不同的信任假设。", - "layer-2-more-on-sidechains": "更多关于侧链的信息", - "layer-2-more-on-validiums": "有关 Validium 的更多信息", - "layer-2-sidechains-4": "一些一层区块链声称吞吐量比以太坊高,交易费比以太坊低,但通常需要在其他方面做出权衡,例如运行节点的硬件要求更高。", - "layer-2-onboard-title": "如何实现二层网络", - "layer-2-onboard-1": "目前将资产置入二层网络的方法主要有两种:通过智能合约将以太坊资金桥接到二层网络,或直接将你的资金从交易所提取到二层网络。", - "layer-2-onboard-wallet-title": "你钱包中的资金?", - "layer-2-onboard-wallet-1": "如果你已将以太币存入钱包,需要使用桥接将以太币从以太坊主网转移到二层网络。", - "layer-2-more-on-bridges": "更多关于桥接的信息", - "layer-2-onboard-wallet-input-placeholder": "选择你所想要桥接到的二层网络", - "layer-2-onboard-wallet-selected-1": "你可以连接到", - "layer-2-onboard-wallet-selected-2": "使用这些钱包:", - "layer-2-bridge": "链桥", - "layer-2-onboard-exchange-title": "资金在交易所里?", - "layer-2-onboard-exchange-1": "一些中心化交易所现在提供直接取款和存款到二层网络。查阅哪些交易所支持二层网络取款以及它们支持哪些二层网络。", - "layer-2-onboard-exchange-2": "你还需要一个钱包来提取你的资金。", - "layer-2-onboard-find-a-wallet": "选取以太坊钱包。", - "layer-2-onboard-exchange-input-placeholder": "查看支持二层网络的交易所。", - "layer-2-deposits": "存款", - "layer-2-withdrawals": "取款", - "layer-2-go-to": "前往", - "layer-2-tools-title": "助你提升二层网络效率的工具", - "layer-2-tools-l2beat-description": "L2BEAT 是二层网络项目技术风险评估的一个重要资源。我们建议在研发特定的二层网络项目时查阅他们的资料。", - "layer-2-tools-growthepie-description": "关于以太坊二层网络的精选分析", - "layer-2-tools-l2fees-description": "二层网络费用使你能够看到当前在不同二层网络进行交易所需的费用(以美元计价)。", - "layer-2-tools-chainlist-description": "区块链列表 (Chainlist) 是一个实用的资源,用于将网络远程过程调用 (RPC) 导入到支持的钱包中。你将在这里找到二层网络项目的远程过程调用,以帮助你建立连接。", - "layer-2-tools-zapper-description": "从去中心化金融到非同质化代币以及任何未来的资产,全面管理你的整个 Web 3 资产组合。从一个便捷的位置投资于最新的商机。", - "layer-2-tools-zerion-description": "从一个位置构建并管理你的整个去中心化金融资产组合。探索当前的去中心化金融世界。", - "layer-2-tools-debank-description": "追踪 web3 世界的所有重要事件", - "layer-2-faq-title": "常见问题", - "layer-2-faq-question-1-title": "为什么没有官方的以太坊二层网络?", - "layer-2-faq-question-1-description-1": "正如没有“官方”以太坊客户端一样,也不存在“官方”以太坊二层网络。以太坊是不需要权限的 —— 技术上任何人都可以创建一个二层网络!很多团队都将发布他们的二层网络版本,整个生态系统都将获益于针对不同用例进行优化的多样性设计方法。就像我们有多个团队开发了多个以太坊客户端从而实现了网络的多样性,这也将是未来的二层网络开发方式。", - "layer-2-faq-question-2-title": "乐观卷叠和零知识卷叠之间的差别在哪?", - "layer-2-faq-question-2-description-1": "乐观和零知识卷叠(或称“打包”)均可以将数百笔交易捆绑为一层网络上的单个交易。卷叠交易在一层网络以外执行但交易数据会被发布至一层网络上。", - "layer-2-faq-question-2-description-2": "主要差异是哪些数据发布到一层网络以及数据的核验方式。有效性证明(零知识卷叠使用)在链外运行计算并发布证明,而欺诈证明(乐观卷叠使用)只有在怀疑存在欺诈且必须核实欺诈时才在链上运行计算。", - "layer-2-faq-question-2-description-3": "目前,大部分零知识卷叠都是特定于应用的,而乐观卷叠基本上可以被广泛应用。", - "layer-2-more-info-on-optimistic-rollups": "更多关于乐观卷叠的信息", - "layer-2-more-info-on-zk-rollups": "更多关于零知识卷叠的信息", - "layer-2-faq-question-4-title": "二层网络的风险是什么?", - "layer-2-faq-question-4-description-1": "与在以太坊主网上持有资金和直接进行交易相比,二层网络项目有额外风险。例如,排序者可能会出现故障,那你就得等待其恢复正常方可提取资金。", - "layer-2-faq-question-4-description-2": "我们鼓励你在将大笔资金转入二层网络前自行进行研究。关于二层网络技术、风险和信任假设的更多信息,我们建议你查阅 L2BEAT,它为每个项目提供了一个全面的风险评估框架。", - "layer-2-faq-question-4-description-3": "方便资产转移到二层网络的区块链桥接处于早期开发阶段,很可能尚未发现最佳桥接设计。最近已经出现了对桥接的黑客攻击。", - "layer-2-faq-question-5-title": "为什么这里没有列出一些二层网络项目?", - "layer-2-faq-question-5-description-1": "我们希望确保列出可能的最佳资源,以便用户能够安全自信地迁移到二层网络空间。我们维护着一个项目纳入评估标准框架。", - "layer-2-faq-question-5-view-listing-policy": "在此处查看我们的二层网络表政策。", - "layer-2-faq-question-5-description-2": "任何人都可以自由地提议在 ethereum.org 上添加一个二层网络。如果有我们未收录的二层网络,请提供建议。", - "layer-2-further-reading-title": "延伸阅读", - "a-rollup-centric-ethereum-roadmap": "以卷叠为中心的以太坊路线图", - "an-incomplete-guide-to-rollups": "卷叠不完全指南", - "polygon-sidechain-vs-ethereum-rollups": "Polygon 侧链与以太坊卷叠的对比:二层网络扩容方案 | Vitalik Buterin 与 Lex Fridman", - "rollups-the-ultimate-ethereum-scaling-strategy": "卷叠 - 以太坊终极扩容策略?解释 Arbitrum 和乐观", - "scaling-layer-1-with-shard-chains": "分片链扩容一层网络", - "understanding-rollup-economics-from-first-principals": "从第一原则了解卷叠经济", - "arbitrum-description": "Arbitrum One 是一种乐观卷叠,目的是提供与以太坊完全一致的交互体验,但交易成本只是它们在一层网络上的很小比例。", - "optimism-description": "Optimism 是一种快速、简单、安全乐观卷叠,与以太坊虚拟机相当。它扩展了以太坊技术,同时还通过可追溯公共物品融资来扩展其价值。", - "boba-description": "Boba 是最初从乐观卷叠分叉而来的乐观卷叠链,它是一种旨在降低铸币费用,提高交易吞吐量,并扩展智能合约能力的扩容解决方案。", - "base-description": "Base 是一个安全、低成本、对开发者友好的以太坊二层网络,致力于把十亿新用户带入 web3。它是以太坊二层网络,由 Coinbase 孵化,建立在开源 OP 堆栈上。", - "loopring-description": "Loopring 的零知识卷叠二层网络解决方案旨在提供与以太坊主链相同的安全保障,并大规模提升可扩展性:交易吞吐量增加 1000 倍,交易费用降至一层网络 0.1%。", - "zksync-description": "ZKsync 是由 Matter Labs 推出的以用户为中心的零知识卷叠平台。它是以太坊的扩容解决方案,已经在以太坊主链上线,支持付款、代币交换和非同质化代币挖矿。", - "zkspace-description": "ZKSpace 平台由三个主要部分组成:利用零知识卷叠技术建立的二层自动化做市商,名为 ZKSwap;名为 ZKSquare 的支付服务,以及名为 ZKSea 的非同质化代币市场。", - "aztec-description": "Aztec Network 是以太坊上的第一个私有零知识卷叠,使去中心化应用程序能够访问隐私并扩展。", - "starknet-description": "Starknet 是有效性卷叠二层网络。它提供高吞吐量、低燃料成本并保留以太坊一层网络的安全级别。", - "layer-2-note": "备注:", - "layer-2-ecosystem-portal": "生态系统相关门户网站", - "layer-2-token-lists": "代币列表", - "layer-2-explore": "探索", - "page-dapps-ready-button": "出发" -} diff --git a/src/pages/layer-2.tsx b/src/pages/layer-2.tsx deleted file mode 100644 index 698245feb94..00000000000 --- a/src/pages/layer-2.tsx +++ /dev/null @@ -1,727 +0,0 @@ -import merge from "lodash/merge" -import { GetStaticProps } from "next" -import { useTranslation } from "next-i18next" -import { serverSideTranslations } from "next-i18next/serverSideTranslations" -import { - Badge, - Box, - BoxProps, - Center, - Flex, - GridItem, - HeadingProps, - ListItem, - SimpleGrid, - UnorderedList, -} from "@chakra-ui/react" - -import type { BasePageProps, Lang, TranslationKey } from "@/lib/types" - -import { ButtonLink } from "@/components/Buttons" -import Card from "@/components/Card" -import ExpandableCard from "@/components/ExpandableCard" -import FeedbackCard from "@/components/FeedbackCard" -import { HubHero } from "@/components/Hero" -import type { HubHeroProps } from "@/components/Hero/HubHero" -import { Image } from "@/components/Image" -import InfoBanner from "@/components/InfoBanner" -import Layer2ProductCard from "@/components/Layer2ProductCard" -import InlineLink from "@/components/Link" -import MainArticle from "@/components/MainArticle" -import OldHeading from "@/components/OldHeading" -import Text from "@/components/OldText" -import OrderedList from "@/components/OrderedList" -import PageMetadata from "@/components/PageMetadata" -import { StandaloneQuizWidget } from "@/components/Quiz/QuizWidget" -import Translation from "@/components/Translation" - -import { existsNamespace } from "@/lib/utils/existsNamespace" -import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" -import { getLocaleTimestamp } from "@/lib/utils/time" -import { getRequiredNamespacesForPage } from "@/lib/utils/translations" - -import { layer2Data } from "@/data/layer-2/layer-2" - -import Layer2Onboard from "../components/Layer2/Layer2Onboard" -import ProductList from "../components/ProductList" - -import DogeImage from "@/public/images/doge-computer.png" -import EthHomeImage from "@/public/images/eth-home-icon.png" -import HeroImage from "@/public/images/heroes/layer-2-hub-hero.jpg" -import DebankImage from "@/public/images/layer-2/debank.png" -import ethereumecosystemImage from "@/public/images/layer-2/ethereumecosystem.png" -import growthepieImage from "@/public/images/layer-2/growthepie.png" -import L2BEATImage from "@/public/images/layer-2/l2beat.jpg" -import OptimisticRollupImage from "@/public/images/layer-2/optimistic_rollup.png" -import RollupImage from "@/public/images/layer-2/rollup-2.png" -import ZapperImage from "@/public/images/layer-2/zapper.png" -import ZerionImage from "@/public/images/layer-2/zerion.png" -import ZKRollupImage from "@/public/images/layer-2/zk_rollup.png" -import DAOImage from "@/public/images/use-cases/dao-2.png" -import WhatIsEthereumImage from "@/public/images/what-is-ethereum.png" - -type ContentBoxProps = BoxProps & { - isLightGrayBg?: boolean -} -const ContentBox = ({ isLightGrayBg, ...rest }: ContentBoxProps) => ( - -) - -const TwoColumnContent = (props) => ( - -) - -const SectionHeading = (props: HeadingProps) => { - const headingSpecificProps = { - fontSize: { base: "2xl", md: "2rem" }, - fontWeight: 600, - lineHeight: 1.4, - } - - if (props.as === "h3") { - headingSpecificProps.fontSize = { base: "xl", md: "2xl" } - } - - const mergeProps = merge(headingSpecificProps, props) - - return -} - -const Layer2CardGrid = (props) => ( - -) - -export const getStaticProps = (async ({ locale }) => { - const lastDeployDate = getLastDeployDate() - const lastDeployLocaleTimestamp = getLocaleTimestamp( - locale as Lang, - lastDeployDate - ) - - const requiredNamespaces = getRequiredNamespacesForPage("/layer-2") - - const contentNotTranslated = !existsNamespace(locale!, requiredNamespaces[2]) - - return { - props: { - ...(await serverSideTranslations(locale!, requiredNamespaces)), - contentNotTranslated, - lastDeployLocaleTimestamp, - }, - } -}) satisfies GetStaticProps - -const Layer2Page = () => { - const { t } = useTranslation("page-layer-2") - const layer2DataCombined = [...layer2Data.optimistic, ...layer2Data.zk] - - const heroContent: HubHeroProps = { - title: t("layer-2-hero-title"), - header: t("layer-2-hero-header"), - description: t("layer-2-hero-subtitle"), - heroImg: HeroImage, - buttons: [ - { - content: t("layer-2-hero-button-1"), - toId: "what-is-layer-2", - matomo: { - eventCategory: "layer 2 hero buttons", - eventAction: "click", - eventName: "what is layer 2", - }, - }, - { - content: t("layer-2-hero-button-2"), - toId: "use-layer-2", - matomo: { - eventCategory: "layer 2 hero buttons", - eventAction: "click", - eventName: "use layer 2", - }, - }, - ], - } - - const layer2Cards = [ - { - emoji: ":money_with_wings:", - title: t("layer-2-lower-fees-title"), - description: t("layer-2-lower-fees-description"), - }, - { - emoji: ":closed_lock_with_key:", - title: t("layer-2-maintain-security-title"), - description: t("layer-2-maintain-security-description"), - }, - { - emoji: ":hammer_and_wrench:", - title: t("layer-2-expand-use-cases-title"), - description: t("layer-2-expand-use-cases-description"), - }, - ] - - const rollupCards = [ - { - image: OptimisticRollupImage, - title: t("layer-2-optimistic-rollups-title"), - description: t("layer-2-optimistic-rollups-description"), - childSentence: t("layer-2-optimistic-rollups-childSentance"), - childLink: "/developers/docs/scaling/optimistic-rollups/", - }, - { - image: ZKRollupImage, - title: t("layer-2-zk-rollups-title"), - description: t("layer-2-zk-rollups-description"), - childSentence: t("layer-2-zk-rollups-childSentance"), - childLink: "/developers/docs/scaling/zk-rollups/", - }, - ] - - const toolsData = { - information: [ - { - title: "L2BEAT", - description: t("layer-2-tools-l2beat-description"), - link: "https://l2beat.com", - image: L2BEATImage, - alt: "L2BEAT", - }, - { - title: "Ethereum Ecosystem", - description: t("layer-2-tools-ethereumecosystem-description"), - link: "https://www.ethereum-ecosystem.com/", - image: ethereumecosystemImage, - alt: "Ethereum Ecosystem", - }, - { - title: "growthepie", - description: t("layer-2-tools-growthepie-description"), - link: "https://growthepie.xyz", - image: growthepieImage, - alt: "growthepie", - }, - { - title: "L2 Fees", - description: t("layer-2-tools-l2fees-description"), - link: "https://l2fees.info", - image: DogeImage, - alt: "L2 Fees", - }, - { - title: "Chainlist", - description: t("layer-2-tools-chainlist-description"), - link: "https://chainlist.org", - image: DogeImage, - alt: "Chainlist", - }, - ], - walletManagers: [ - { - title: "Zapper", - description: t("layer-2-tools-zapper-description"), - link: "https://zapper.fi/", - image: ZapperImage, - alt: "Zapper", - }, - { - title: "Zerion", - description: t("layer-2-tools-zerion-description"), - link: "https://zerion.io", - image: ZerionImage, - alt: "Zerion", - }, - { - title: "DeBank", - description: t("layer-2-tools-debank-description"), - link: "https://debank.com", - image: DebankImage, - alt: "DeBank", - }, - ], - } - - return ( - - - {/* Hero Section */} - - {/* What is Layer 2 Section */} - - - - - {t("layer-2-what-is-layer-2-title")} - - - - - {t("layer-2-what-is-layer-2-2")} - -
- -
-
-
- {/* What is Layer 1 Section */} - - {t("layer-2-what-is-layer-1-title")} - - - - - - - - - - - - - - - - - - , - <> - - - - , - <> - - - - , - <> - - - - , - ]} - /> - - {t("layer-2-what-is-layer-1-list-link-1")}{" "} - - {t("layer-2-what-is-layer-1-list-link-2")} - - - - - - {/* Why Layer 2 Section */} - - -
- -
- - - {t("layer-2-why-do-we-need-layer-2-title")} - - - - - - - - - - {t("layer-2-why-do-we-need-layer-2-scalability")} - - {t("layer-2-why-do-we-need-layer-2-scalability-1")} - - - - - {t("layer-2-why-do-we-need-layer-2-scalability-3")} - - -
- - {t("layer-2-benefits-of-layer-2-title")} - - - {layer2Cards.map(({ emoji, title, description }, idx) => ( - - ))} - -
- {/* How does Layer 2 Work Section */} - - - - - {t("layer-2-how-does-layer-2-work-title")} - - - - - {t("layer-2-how-does-layer-2-work-2")} - - {t("layer-2-rollups-title")} - - {t("layer-2-rollups-1")} - {t("layer-2-rollups-2")} - -
- -
-
- - {rollupCards.map( - ({ image, title, description, childSentence, childLink }) => ( - - - {title} - {description} - - {childSentence} - - - ) - )} - -
- {/* DYOR Section */} - - - {t("layer-2-dyor-title")} - {t("layer-2-dyor-1")} - - - - - - {t("layer-2-dyor-3")} - - - - - {/* Use Layer 2 Section */} - - {t("layer-2-use-layer-2-title")} - {t("layer-2-use-layer-2-1")} - - - - - {t("layer-2-use-layer-2-generalized-title")} - - - - - - {layer2DataCombined - .filter((l2) => !l2.purpose.indexOf("universal")) - .map( - ( - { - background, - image, - descriptionKey, - website, - noteKey, - name, - bridge, - ecosystemPortal, - tokenLists, - purpose, - }, - idx - ) => { - return ( - - {purpose.map((purpose, index) => ( - - {purpose} - - ))} - - ) - } - )} - - - {/* Layer 2 App Specific Section */} - - - {t("layer-2-use-layer-2-application-specific-title")} - - {t("layer-2-use-layer-2-application-specific-1")} - - {layer2DataCombined - .filter((l2) => l2.purpose.indexOf("universal")) - .map( - ( - { - background, - image, - descriptionKey, - website, - noteKey, - name, - bridge, - ecosystemPortal, - tokenLists, - purpose, - }, - idx - ) => { - return ( - - {purpose.map((purpose, index) => ( - - {purpose} - - ))} - - ) - } - )} - - - {/* Layer 2 Sidechain Section */} - - {t("layer-2-sidechains-title")} - - - - - - {t("layer-2-sidechains-2")} - - - - {t("layer-2-more-on-sidechains")} - - - - - {t("layer-2-more-on-validiums")} - - - - - - {t("layer-2-sidechains-4")} - - - - {/* Layer 2 Onboard Section */} - - - - {/* Layer 2 Tools Section */} - - {t("layer-2-tools-title")} - - - - - - - - - - {/* Layer 2 FAQ Section */} - - {t("layer-2-faq-title")} - - {t("layer-2-faq-question-1-description-1")} - - - {t("layer-2-faq-question-2-description-1")} - {t("layer-2-faq-question-2-description-2")} - {t("layer-2-faq-question-2-description-3")} - - - {t("layer-2-more-info-on-optimistic-rollups")} - - - - - {t("layer-2-more-info-on-zk-rollups")} - - - - - - - - - - - - - - - - {t("layer-2-more-on-bridges")} - - - - - - {t("layer-2-faq-question-5-description-1")}{" "} - - {t("layer-2-faq-question-5-view-listing-policy")} - - - - - - - - {/* Layer 2 Further Reading Section */} - - {t("layer-2-further-reading-title")} - - - - {t("a-rollup-centric-ethereum-roadmap")} - {" "} - - Vitalik Buterin - - - - {t("an-incomplete-guide-to-rollups")} - {" "} - - Vitalik Buterin - - - - {t("polygon-sidechain-vs-ethereum-rollups")} - {" "} - - Lex Clips - - - - {t("rollups-the-ultimate-ethereum-scaling-strategy")} - {" "} - - Finematics - - - - {t("understanding-rollup-economics-from-first-principals")} - {" "} - - Barnabé Monnot - - - - {/* Layer 2 Quiz Section */} - - {/* Layer 2 Feedback Section */} - - - -
- ) -} - -export default Layer2Page diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx new file mode 100644 index 00000000000..8f4f71b272f --- /dev/null +++ b/src/pages/layer-2/index.tsx @@ -0,0 +1,39 @@ +import { GetStaticProps } from "next" +import { serverSideTranslations } from "next-i18next/serverSideTranslations" + +import type { BasePageProps, Lang } from "@/lib/types" + +import { existsNamespace } from "@/lib/utils/existsNamespace" +import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" +import { getLocaleTimestamp } from "@/lib/utils/time" +import { getRequiredNamespacesForPage } from "@/lib/utils/translations" + +export const getStaticProps = (async ({ locale }) => { + const lastDeployDate = getLastDeployDate() + const lastDeployLocaleTimestamp = getLocaleTimestamp( + locale as Lang, + lastDeployDate + ) + + const requiredNamespaces = getRequiredNamespacesForPage("/layer-2") + + const contentNotTranslated = !existsNamespace(locale!, requiredNamespaces[2]) + + return { + props: { + ...(await serverSideTranslations(locale!, requiredNamespaces)), + contentNotTranslated, + lastDeployLocaleTimestamp, + }, + } +}) satisfies GetStaticProps + +const Layer2Hub = () => { + return ( +
+

Hello world

+
+ ) +} + +export default Layer2Hub From b11f291086455d6f9dae27e2e53e933b39412635 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 25 Sep 2024 16:58:35 -0600 Subject: [PATCH 016/165] PageMetaData --- src/pages/layer-2/index.tsx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 8f4f71b272f..4fbef8756a4 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -3,6 +3,9 @@ import { serverSideTranslations } from "next-i18next/serverSideTranslations" import type { BasePageProps, Lang } from "@/lib/types" +import MainArticle from "@/components/MainArticle" +import PageMetadata from "@/components/PageMetadata" + import { existsNamespace } from "@/lib/utils/existsNamespace" import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" @@ -30,9 +33,15 @@ export const getStaticProps = (async ({ locale }) => { const Layer2Hub = () => { return ( -
-

Hello world

-
+ + {/* TODO: Clarify title and description here */} + {/* TODO: Setup for translation */} + + ) } From 704b61639cd579a4560fe60483f848ce7d83765e Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 25 Sep 2024 19:15:25 -0600 Subject: [PATCH 017/165] Hero --- src/pages/layer-2/index.tsx | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 4fbef8756a4..41122000299 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -3,6 +3,7 @@ import { serverSideTranslations } from "next-i18next/serverSideTranslations" import type { BasePageProps, Lang } from "@/lib/types" +import HubHero, { HubHeroProps } from "@/components/Hero/HubHero" import MainArticle from "@/components/MainArticle" import PageMetadata from "@/components/PageMetadata" @@ -11,6 +12,8 @@ import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" +import HeroImage from "@/public/images/heroes/layer-2-hub-hero.jpg" + export const getStaticProps = (async ({ locale }) => { const lastDeployDate = getLastDeployDate() const lastDeployLocaleTimestamp = getLocaleTimestamp( @@ -32,6 +35,34 @@ export const getStaticProps = (async ({ locale }) => { }) satisfies GetStaticProps const Layer2Hub = () => { + // TODO: setup translation + const heroContent: HubHeroProps = { + title: "Layer 2", + header: "Ethereum networks", + description: "Use Ethereum for a fraction of the cost.", + heroImg: HeroImage, + buttons: [ + { + content: "Learn more", + href: "/layer-2/learn", + matomo: { + eventCategory: "layer 2 hub hero buttons", + eventAction: "click", + eventName: "/layer-2/learn clicked", + }, + }, + { + content: "Choose network", + href: "/layer-2/networks", + matomo: { + eventCategory: "layer 2 hub hero buttons", + eventAction: "click", + eventName: "/layer-2/networks clicked", + }, + }, + ], + } + return ( {/* TODO: Clarify title and description here */} @@ -41,6 +72,8 @@ const Layer2Hub = () => { description={"Learn about Ethereum layer 2 networks"} image="/images/layer-2/learn-hero.png" /> + + ) } From b1e85a7bc22bfbc2c1a81b52367d3bcab964a05b Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 3 Oct 2024 21:22:09 -0600 Subject: [PATCH 018/165] Update src/components/Callout.tsx Co-authored-by: Paul Wackerow <54227730+wackerow@users.noreply.github.com> --- src/components/Callout.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Callout.tsx b/src/components/Callout.tsx index 31b5844f587..2ea71f65b7c 100644 --- a/src/components/Callout.tsx +++ b/src/components/Callout.tsx @@ -40,7 +40,7 @@ const Callout = ({ )} > {image && ( -
+
Date: Wed, 16 Oct 2024 18:51:50 -0600 Subject: [PATCH 019/165] CalloutCards --- src/pages/layer-2/index.tsx | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 41122000299..412f9d5f4a1 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -3,6 +3,7 @@ import { serverSideTranslations } from "next-i18next/serverSideTranslations" import type { BasePageProps, Lang } from "@/lib/types" +import Card from "@/components/Card" import HubHero, { HubHeroProps } from "@/components/Hero/HubHero" import MainArticle from "@/components/MainArticle" import PageMetadata from "@/components/PageMetadata" @@ -63,6 +64,28 @@ const Layer2Hub = () => { ], } + // TODO: Setup for translation + const calloutCards = [ + { + title: "$0.01 fees", + description: + "You can trade, send money globally, or use applications without worrying about high costs.", + emoji: ":money_with_wings:", + }, + { + title: "Near instant transactions", + description: + "Whether you are making a quick payment or engaging in decentralized finance (DeFi), all transactions take only few seconds. ", + emoji: ":closed_lock_with_key:", + }, + { + title: "Backed by Ethereum", + description: + "Ethereum’s time proven and decentralized blockchain functions as the settlement layer for other newer networks.", + emoji: ":hammer_and_wrench:", + }, + ] + return ( {/* TODO: Clarify title and description here */} @@ -74,6 +97,23 @@ const Layer2Hub = () => { /> + +
+
+ {calloutCards.map((card, idx) => { + return ( +
+ +
+ ) + })} +
+
) } From 9c44baff3590ee8052f413017064573cc7b1092d Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 16 Oct 2024 19:01:42 -0600 Subject: [PATCH 020/165] Ready to start --- src/pages/layer-2/index.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 412f9d5f4a1..3a870f4ff8b 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -7,6 +7,7 @@ import Card from "@/components/Card" import HubHero, { HubHeroProps } from "@/components/Hero/HubHero" import MainArticle from "@/components/MainArticle" import PageMetadata from "@/components/PageMetadata" +import { ButtonLink } from "@/components/ui/buttons/Button" import { existsNamespace } from "@/lib/utils/existsNamespace" import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" @@ -114,6 +115,19 @@ const Layer2Hub = () => { })}
+ + {/* TODO: Setup for translation */} +
+
+

Ready to start?

+

+ Have a look at all the different networks that are available to you. +

+
+ Explore networks +
+
+
) } From f64a7d2089920acf69579813ff037f22f79860bf Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 16 Oct 2024 19:05:14 -0600 Subject: [PATCH 021/165] outline --- src/pages/layer-2/index.tsx | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 3a870f4ff8b..f352c8da224 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -99,6 +99,18 @@ const Layer2Hub = () => { +
+

Powered by Ethereum

+
+ +
+

Stats box

+
+ +
+

The network of networks

+
+
{calloutCards.map((card, idx) => { @@ -128,6 +140,25 @@ const Layer2Hub = () => {
+ +
+

Call to action

+
+ +
+

Why do we need multiple networks on Ethereum?

+
+ +
+

FAQ

+
+ +
+

Bottom call to action

+
) } From 8570febcaf592be170996a20c287144faa36616a Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 17 Oct 2024 08:43:14 -0600 Subject: [PATCH 022/165] Why do we need multiple networks section --- public/images/layer-2/layer-2-walking.png | Bin 0 -> 81626 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/layer-2/layer-2-walking.png diff --git a/public/images/layer-2/layer-2-walking.png b/public/images/layer-2/layer-2-walking.png new file mode 100644 index 0000000000000000000000000000000000000000..698f5c7a128f31cea15d6df4bcc10cbfa5ad220c GIT binary patch literal 81626 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 W+Gu6+5=`4slZx0ZqN>`v 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%0A}c3#Bc>_A2uwxv2c#w>qqe?I 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 QHUIzs07*qoM6N<$f`QSLlK=n! literal 0 HcmV?d00001 From f75b8cdbf854e7a151d5547f3cdeb6d832153a34 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 17 Oct 2024 08:47:55 -0600 Subject: [PATCH 023/165] why do we need multiple networks section --- src/pages/layer-2/index.tsx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index f352c8da224..969f2d8282f 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -5,6 +5,7 @@ import type { BasePageProps, Lang } from "@/lib/types" import Card from "@/components/Card" import HubHero, { HubHeroProps } from "@/components/Hero/HubHero" +import { TwImage } from "@/components/Image" import MainArticle from "@/components/MainArticle" import PageMetadata from "@/components/PageMetadata" import { ButtonLink } from "@/components/ui/buttons/Button" @@ -15,6 +16,7 @@ import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import HeroImage from "@/public/images/heroes/layer-2-hub-hero.jpg" +import WalkingImage from "@/public/images/layer-2/layer-2-walking.png" export const getStaticProps = (async ({ locale }) => { const lastDeployDate = getLastDeployDate() @@ -145,11 +147,31 @@ const Layer2Hub = () => {

Call to action

+ {/* TODO: Setup for translation */}
-

Why do we need multiple networks on Ethereum?

+
+
+ +
+
+

Why do we need multiple networks on Ethereum?

+

+ Why are there all these networks and not just one Ethereum + network? +

+
+ Learn more +
+
+
From ed709ce52a785f413ca77c441ad14f56e4b33d89 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 17 Oct 2024 14:41:40 -0600 Subject: [PATCH 024/165] callout cards --- src/components/Callout.tsx | 22 +++++++++++++++++++--- src/pages/layer-2/index.tsx | 31 +++++++++++++++++++++++++++++-- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/src/components/Callout.tsx b/src/components/Callout.tsx index 31b5844f587..8e5520c3d62 100644 --- a/src/components/Callout.tsx +++ b/src/components/Callout.tsx @@ -17,6 +17,7 @@ export type CalloutProps = { title?: string description?: string className?: string + headerClassName?: string } const Callout = ({ @@ -29,6 +30,7 @@ const Callout = ({ description, children, className, + headerClassName, }: CalloutProps) => { const { t } = useTranslation("common") @@ -44,7 +46,7 @@ const Callout = ({
)} @@ -52,10 +54,24 @@ const Callout = ({
{emoji && } {titleKey && ( -

{t(titleKey)}

+

+ {t(titleKey)} +

)} {title && ( -

{title}

+

+ {title} +

)} {descriptionKey && (

diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 969f2d8282f..054e863e986 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -3,6 +3,7 @@ import { serverSideTranslations } from "next-i18next/serverSideTranslations" import type { BasePageProps, Lang } from "@/lib/types" +import Callout from "@/components/Callout" import Card from "@/components/Card" import HubHero, { HubHeroProps } from "@/components/Hero/HubHero" import { TwImage } from "@/components/Image" @@ -17,6 +18,7 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import HeroImage from "@/public/images/heroes/layer-2-hub-hero.jpg" import WalkingImage from "@/public/images/layer-2/layer-2-walking.png" +import ExploreImage from "@/public/images/layer-2/learn-hero.png" export const getStaticProps = (async ({ locale }) => { const lastDeployDate = getLastDeployDate() @@ -178,8 +180,33 @@ const Layer2Hub = () => {

FAQ

-
-

Bottom call to action

+
+ +
+ Explore networks +
+
+ +
+ Learn more +
+
) From 75623a91df002e75b15c4dbb5366887c0cfb84c4 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 17 Oct 2024 15:21:56 -0600 Subject: [PATCH 025/165] FAQ --- src/components/ExpandableCard.tsx | 11 +++- src/pages/layer-2/index.tsx | 93 ++++++++++++++++++++++++++++++- 2 files changed, 100 insertions(+), 4 deletions(-) diff --git a/src/components/ExpandableCard.tsx b/src/components/ExpandableCard.tsx index 3bcddccdf72..acbaf13f212 100644 --- a/src/components/ExpandableCard.tsx +++ b/src/components/ExpandableCard.tsx @@ -22,6 +22,7 @@ export type ExpandableCardProps = { eventAction?: string eventCategory?: string eventName?: string + visible?: boolean } const ExpandableCard = ({ @@ -32,8 +33,9 @@ const ExpandableCard = ({ eventAction = "Clicked", eventCategory = "", eventName = "", + visible = false, }: ExpandableCardProps) => { - const [isVisible, setIsVisible] = useState(false) + const [isVisible, setIsVisible] = useState(visible) const { t } = useTranslation("common") const matomo = { eventAction, @@ -55,7 +57,12 @@ const ExpandableCard = ({ return ( <> - + {
-
-

FAQ

+ {/* TODO: Setup for translation */} +
+

Frequently asked questions

+
+ +
+

+ There are many different ways one can categorize networks in + relation to Ethereum. Many networks claim to be scaling Ethereum + to gather popularity. However, one clear perspective is whether + the network stores its data on the Ethereum main network. This + greatly enhances user security and Ethereum's + permissionless vision. Such projects are often called “rollups”. + If data is stored somewhere else, then the project is not a + direct Ethereum extension and is rather independent. Check out + some of the most popular Ethereum networks. +

+

+ Some specific industries might not require such direct close + relationship such as gaming or non-financial applications where + different technologies are better fit. +

+
+
+ +
+

+ While generally designed with robust security features, their + safety depends on the underlying technology, smart contract + security, and maturity of the network. +

+

+ Users should perform due diligence, starting with small + transactions and staying updated on developments to ensure + secure usage. +

+
+
+ +

+ Ethereum can't easily scale its own main chain because it + needs to stay secure and decentralized. Making the main chain + faster could make it less secure and more centralized. Ethereum + networks help by processing transactions off the main chain and + then using the main chain for security, allowing Ethereum to + handle more transactions without losing security or + decentralization. +

+
+ +

+ Just as there is no 'official' Ethereum client, there is + no 'official' Ethereum layer 2. Ethereum is + permissionless - technically anyone can create a layer 2! Multiple + teams will implement their version of a layer 2, and the ecosystem + as a whole will benefit from a diversity of design approaches that + are optimized for different use cases. Much like we have multiple + Ethereum clients developed by multiple teams in order to have + diversity in the network, this too will be how layer 2s develop in + the future. +

+
+
+ {/* TODO: Setup for translation */}
Date: Sat, 19 Oct 2024 19:56:41 -0600 Subject: [PATCH 026/165] Powered by Ethereum section --- src/pages/layer-2/index.tsx | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 22b174dd6f9..94236bcb482 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -20,6 +20,7 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import HeroImage from "@/public/images/heroes/layer-2-hub-hero.jpg" import WalkingImage from "@/public/images/layer-2/layer-2-walking.png" import ExploreImage from "@/public/images/layer-2/learn-hero.png" +import ManDogCardImage from "@/public/images/man-and-dog-playing.png" export const getStaticProps = (async ({ locale }) => { const lastDeployDate = getLastDeployDate() @@ -104,8 +105,36 @@ const Layer2Hub = () => { -
-

Powered by Ethereum

+
+
+
+

Powered by Ethereum

+

+ Ethereum is no longer just a single network. With + hundreds of blockchains now built on top of it, Ethereum has + become more cost-effective, faster, and accessible for everyday + use. +

+

+ Embrace the future by joining one of the many networks powered by + Ethereum! +

+
+
+ +
+
From 2ee7a8fc50a3b750d9aa435c5b3ac434f4fe1b07 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 19 Oct 2024 19:58:42 -0600 Subject: [PATCH 027/165] comment --- src/pages/layer-2/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 94236bcb482..91095a09d74 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -105,6 +105,7 @@ const Layer2Hub = () => { + {/* TODO: Setup for translation */}
Date: Wed, 23 Oct 2024 22:47:48 -0600 Subject: [PATCH 028/165] setup l2 data --- public/images/layer-2/aztec.png | Bin 13102 -> 0 bytes public/images/layer-2/blast.png | Bin 0 -> 4954 bytes public/images/layer-2/boba.png | Bin 6391 -> 0 bytes public/images/layer-2/dydx.png | Bin 2140 -> 0 bytes public/images/layer-2/ethereumecosystem.png | Bin 2138 -> 0 bytes public/images/layer-2/hero.png | Bin 57236 -> 0 bytes public/images/layer-2/linea.png | Bin 0 -> 5849 bytes public/images/layer-2/loopring.png | Bin 899 -> 0 bytes public/images/layer-2/metis-dark.png | Bin 10314 -> 0 bytes public/images/layer-2/metis-light.png | Bin 10361 -> 0 bytes public/images/layer-2/mode.png | Bin 0 -> 11624 bytes public/images/layer-2/scroll.png | Bin 0 -> 40406 bytes public/images/layer-2/zkspace.png | Bin 31187 -> 0 bytes public/images/layer-2/zksync.png | Bin 2752 -> 0 bytes public/images/layer-2/zksyncEra.jpg | Bin 0 -> 10627 bytes src/data/layer-2/layer-2.ts | 333 ++++++++------------ src/pages/layer-2/index.tsx | 7 +- 17 files changed, 134 insertions(+), 206 deletions(-) delete mode 100644 public/images/layer-2/aztec.png create mode 100644 public/images/layer-2/blast.png delete mode 100644 public/images/layer-2/boba.png delete mode 100644 public/images/layer-2/dydx.png delete mode 100644 public/images/layer-2/ethereumecosystem.png delete mode 100644 public/images/layer-2/hero.png create mode 100644 public/images/layer-2/linea.png delete mode 100644 public/images/layer-2/loopring.png delete mode 100644 public/images/layer-2/metis-dark.png delete mode 100644 public/images/layer-2/metis-light.png create mode 100644 public/images/layer-2/mode.png create mode 100644 public/images/layer-2/scroll.png delete mode 100644 public/images/layer-2/zkspace.png delete mode 100644 public/images/layer-2/zksync.png create mode 100644 public/images/layer-2/zksyncEra.jpg diff --git a/public/images/layer-2/aztec.png b/public/images/layer-2/aztec.png deleted file mode 100644 index 949c6bb9221532cf1c771f94f5175858f406c694..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13102 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 diff --git a/public/images/layer-2/blast.png b/public/images/layer-2/blast.png new file mode 100644 index 0000000000000000000000000000000000000000..4dd9ac2fd4ae8710a656e513275e6780e848cd5a GIT binary patch literal 4954 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 ZN&7J^bU-#!8@>ty>}{N_IhOvH{|7G~g_-~W literal 0 HcmV?d00001 diff --git a/public/images/layer-2/boba.png b/public/images/layer-2/boba.png deleted file mode 100644 index 22ea33930fda56f17f41939dbbdd5b1fe6ce9264..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6391 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 SJK}u+0000)>IOm{|0c1KNjM@)A}O?YBxkBXAA zMM`yjgrwycAJEYtX*S^uG;Kr0000YbW%=J07x?aAu;p?6%6>irCUqh z?dQ#Hd40>=k)vX`kNM)H#euD86Bz&i2V+S@K~#9!?VXEy+Byt?1EVBBTW;Y}O4}_i z@mAjd{SFW=xyZI0;#lH4et>QN&@ao5EeFB>13SXk=rKULyTxPtAaA?X(<6XvhP&iB zETeefpoAbfp4nw|q;>-)*{JV^hAC&*TmK$!ZTnO*>4>HFFAA_zy{&!!ha82a8@ z3J8Rs?^^+au=D+DdKrY7?}K-t0^#NR&GZTgE8labS3x-Wz7?q&B$@R%nht=l@x5R= z1j5Dlg6R-Q@;u;YItaqU_pLC3u<*TPIt;?V_p<2<5c=B_q{h3IFRIpndwRp z+P=R|&>*CJ2TWIkQ1%@#T@CV!uJ4fPY7oM{Z-pHQRo_9=bs))_k?C3xn!dxPYeACH zfQ{*T5Q4skTTusup6@Et4It!vSDJ1Dq2~KW)C3{syV`Uk2&whE#&jb{vg)xg-3&s= zcb(}7kZFg5=?D-qzIVrWg7oJMOviu_@m+5^3WS93(Yv@Ggu-F2STq1az;~1BND%M7 z8%;-oc=z3CIu^vU?`G4{Abx$1MPnddeMgv%2TA<-9=?etLHzlSG2H?rS%-v8w*m3x zdn_6T@#H(sbSn@qz9UVy1M%Ve>(Bv+2j8QmZ~@Z3?=hM~{QTSFN!q@Qg*81rVEmHb ze-k8hZc)C(E3M>1V@pqX2?HY3s7J*7WpZxEkb$vM1oX-t?RrY7mq6?f4$! z4A+Akf0n&p-&Lkp)i8i)WtsajJ;SgB(V)2Z9W)&>90j75#r5S3$n;deYM?+=D6V~v z(T1Zz6!X1X-^-?J47UJ*Wtq2UIt~K`0-(6`y=k?AUPB_zMl?X;tjt8*=}Q zKFIGE2j8&5ms!gopMMNa}ozFUyrot8e4*v6L~$mhJp&xix7__6`{{A&3gMsGcJ0pdKW!s^f6L8oGgkE+T< zK4^Gq4>z0Y-+`U#W&Me~vuIkF=>7e*@~ii7r6dmIs{_REs`-^wcQV;_>rM5tUU@i} z&s=OjgoiczI4=LtA*Pg+^`dIzXao4zRBi~wS7eMYSz{tU&AN`R#PyaU6~j0C_>$J; zVO9q@J7=D4{Z`}4G}TMX^6>J*ZW27+>mAQrb-9 z*VUWLZ&u;8pU%W4z9c@X2Ax?uT{^BC^63(o>J{-Nt)t5Qr}kT8&qFHiB1=gK0lmtsHDDof!b)tMtEH0{N_#hf(QQZ0Txv>9$1*O!dY1lKS$nnz!3JpIJHnU??S} zxjgi9sIhYGJDq4tNvT6 zA?4*gsFcL+?0IR(p*|rG#20d}!cWUXRcEj?g-S`x?zg9V$GXG*s`%3G7khh2t*1F9 zpN=R6V7^*8-kLw55a_9Az5<8o9YmoqmGPD+0)#~C-v;_? z5$T_4y6|f5ct)iOouRFW5rj@#!1yi@LJy2kSuA1YhThYk-h^lDbacc$$v}D=&!ecw}B<4pxGYeeOba z*L_E98>?;(R)COxmCNR7n>FQk5ySXF9vcETx^+ras;1wr^cpnc21O8|sX<^>j6IgoY85ahbi zbpv6Qd8->;R}f~Iw~~XeAoGCh$a3%ngkR<@EwauatEYhPI4!a=5FU#uZ4S;rcxK*0 z4nBb}&Af$0))8dd3Am5$_z1EH_>awS$2s%nbMTIJ=FR8em*6o*uZ_U^4|!Gi&S(UA Q0RR9107*qoM6N<$f|6}GkpKVy diff --git a/public/images/layer-2/hero.png b/public/images/layer-2/hero.png deleted file mode 100644 index c3a165d415bf91f2ba7e219695297bf8fa792195..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57236 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 O0000ack3UTV%FC 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 literal 0 HcmV?d00001 diff --git a/public/images/layer-2/loopring.png b/public/images/layer-2/loopring.png deleted file mode 100644 index 7a35c3e3c6856c2994278afb2a49f98a1062ac80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 899 zcmeAS@N?(olHy`uVBq!ia0vp^CxCbZ2Q!eY{eBThG6)6ugt+=-7D~temrnQ(BEgKP zCWG@pS=N#uzhDNn`->9OlevEb1vm>lB8wRqxP?KOkzv*x2?hpcHcuDFkcv5P=iDw@ zY#`wBa_67_`uVA`r*9oSDkahQ;!LGqgK}x}lOsOCfg-NRXd<7Q(3B%Aeo9IzO3!4J z1cU@j`2>rF1Qi7Xp9?fj?%?R`ux#g;mj{K}G46jM6g|B`2k%bBavrf`LMU z#e9N5MON({mYp3FI#v{S9Po6R;&Nn;GmDebqH~H#V55P$3P6S$f(_LG8`|RHGS?Yy zGf-L;EDbhe2H0jRB%3RhEKXmsj99Dms)$Mawd|T_k{^vmw_?kv(j^)eFDC9%xanryu}A*%uIno!wwoqdI?@$dj zt_n)|_xJYwBdO^w&vNbsfAR>tV8S7;>v2vb)!)V4^Xi#C&VB!`ajeYJ;M%8J)Du#x z&-Lx)mt`&2@D`M{3^nE!Ui0_J zjmsP3MAj^M&nR_ykw!$$*>?Y{Re^TvZq1vxO7gD2#fM@ljf?(>H`=I&YP-(VzdLX0 zD%Ze&oi8p2nJ#{>bfHmPCD-+5_1_EX%U*5PuvhxFXOez*Q|2aj|Kr@HKF{}g8F0BJ gBB$d(k)!LM@k^WvNl1@us{myyPgg&ebxsLQ06=kcod5s; diff --git a/public/images/layer-2/metis-dark.png b/public/images/layer-2/metis-dark.png deleted file mode 100644 index 6ad3f1b7dfb5b954b2b7ab268eecdb359d02a83b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10314 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 TX1V|E5+bQ8X(>YFtt0;r!4J`h diff --git a/public/images/layer-2/mode.png b/public/images/layer-2/mode.png new file mode 100644 index 0000000000000000000000000000000000000000..90b95d2da32be5c911387744ace2bd60e8eeb693 GIT binary patch literal 11624 zcmeHthdb5p|Np@;6W&VMp{N`y-pL+G8OMl1Hg$~5I`)o`N(*taWtF|MIViGM*0IaX zEJ7u|_x;lM_xlgN*Y*8gAJ^5@Ij`4!KgZ)a?&tk{o(Ns-D~IXW=};)tVRf}jdMFgd z0{llq1)gZV{xk#rV{=nAa?^LQar3mgi$f{jaZs_5_J z*GzPDbozFmzaJt>U)LYb%X9B7C!?|0R()*`82{(*KM4E>f&YyNOx@l~N4rWhCdcpV zQ8tcwI^hfGbqDJC*P5FQ_-XEP?h8wwp`cmN9aR~qzkZJxw08j)^mb3!o0X9xhFH&E z=$FTg%58J@8{SS~{BeK7vr#%Ih=F*wR-Zh(*@Pd()I(;Jzpa595KE=vNuemT91ZW5 zObB-S;$C%v@q!>3eCBA-%bUFAfgf_g2=i3`5n*;3 zT}hWu6AX}<9?70JeBgj!{~UufHjWGukY}c1_FD{mw~z?b}rOV&JU$u8rlASE|bI!*-yD|9mwTi-yS-& zQAGo7SYSiRWj;NPFJWVpG==7y8gK?;=PVx}f$vQ^lz#%!Ca=L%>r!-!nP1R%_)R2m4^mR9{gad6vv`0mD8-XLWRW2cDKN_{ehg&cs_NsUV zK+b1`lFiwMG6hUcZ!A{N%V42fRlJHn_kd<`{Yw5J_&&c&WMKVD-Ce{c11s&$14{VY zF3HBD2aX_iXr*SI<3Ndy%ki?i&G%WLq#KkkiXG19lDxQ{8S9ZTl|Xx2=X+V(;A&KJB6TfMl375J1YjivI4)pAAYQi%c0MG z=E?vZM2RzJA-5OAA>7mnHboUnr?I#}nLm$3kLOwmC#)g6`c~UtdF4?+ZboZu`GbXa z8MWih50H1?Th9)D4q=8sKhutvb+F_^q}rWI>rCY5=w5qM=Kq=*uDte7UrZ2X{{-Y5 zgrXqBD#7^HjdU8BWj}_KE64)w#sGQ0wT^ktUrfsfK^W+r>q?96WYm&F7AI_JJve~lZ3b7IY7atNX$3f&L-x2iEwn{;;ycTi#3gn_f^IsQ>%Kc_ z#j&A#8NW)HQHR7I2PQYySLe%f>2NDtIMEU^K$2T)3z59Uw#LS>{aCH#+eCoH-n

C4b=i;oX0AxN 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 DB2Uc@ literal 0 HcmV?d00001 diff --git a/public/images/layer-2/scroll.png b/public/images/layer-2/scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..87d9c76e16bac8ef2f6cc521c44266b991234cb6 GIT binary patch literal 40406 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 diff --git a/public/images/layer-2/zksync.png b/public/images/layer-2/zksync.png deleted file mode 100644 index af1aa6febe19a91d708b2df1024641f1c5a26a84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2752 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 diff --git a/public/images/layer-2/zksyncEra.jpg b/public/images/layer-2/zksyncEra.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a939234c7687eff560db1de907997df2deb6e52c GIT binary patch literal 10627 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 - blockExplorer: string - ecosystemPortal: string - tokenLists: string - noteKey: TranslationKey - purpose: Array - descriptionKey: string - image: StaticImageData - background: string + applicationsLink: string + blockExplorerLink: string + bridgeLink: string + l2BeatLink: string + growThePieLink: string + feeToken: string[] } -export type Rollups = { [type in RollupType]: Array } +export type Rollups = Rollup[] -export const layer2Data: Rollups = { - optimistic: [ - { - name: "Arbitrum One", - website: "https://arbitrum.io/", - developerDocs: "https://docs.arbitrum.io/welcome/get-started", - l2beat: "https://l2beat.com/projects/arbitrum/", - bridge: "https://bridge.arbitrum.io/", - bridgeWallets: ["MetaMask", "WalletConnect", "Coinbase Wallet"], - blockExplorer: "https://arbiscan.io/", - ecosystemPortal: "https://portal.arbitrum.one/", - tokenLists: "https://www.coingecko.com/en/categories/arbitrum-ecosystem", - noteKey: "layer-2-arbitrum-note", - purpose: ["universal"], - descriptionKey: "arbitrum-description", - image: ArbitrumImage, - background: "white", - }, - { - name: "Optimism", - website: "https://optimism.io/", - developerDocs: "https://docs.optimism.io/", - l2beat: "https://l2beat.com/projects/optimism/", - bridge: "https://app.optimism.io/bridge/deposit", - bridgeWallets: ["MetaMask", "WalletConnect", "Coinbase Wallet"], - blockExplorer: "https://optimistic.etherscan.io/", - ecosystemPortal: "https://www.optimism.io/apps", - tokenLists: - "https://tokenlists.org/token-list?url=https://static.optimism.io/optimism.tokenlist.json", - noteKey: "layer-2-optimism-note", - purpose: ["universal"], - descriptionKey: "optimism-description", - image: OptimismImage, - background: "white", - }, - { - name: "Boba Network", - website: "https://boba.network/", - developerDocs: "https://docs.boba.network/", - l2beat: "https://l2beat.com/projects/bobanetwork/", - bridge: "https://gateway.boba.network/", - bridgeWallets: ["MetaMask"], - blockExplorer: "https://blockexplorer.boba.network/", - ecosystemPortal: "", - tokenLists: "", - noteKey: "layer-2-boba-note", - purpose: ["universal"], - descriptionKey: "boba-description", - image: BobaImage, - background: "black", - }, - { - name: "Base", - website: "https://base.org/", - developerDocs: "https://docs.base.org/", - l2beat: "https://l2beat.com/scaling/projects/base", - bridge: "https://bridge.base.org/deposit", - bridgeWallets: ["MetaMask", "WalletConnect", "Coinbase Wallet"], - blockExplorer: "https://basescan.org/", - ecosystemPortal: "https://www.base.org/ecosystem", - tokenLists: "", - noteKey: "layer-2-base-note", - purpose: ["universal"], - descriptionKey: "base-description", - image: BaseImage, - background: "white", - }, - ], - zk: [ - { - name: "Loopring", - website: "https://loopring.org/#/", - developerDocs: "https://docs.loopring.io/", - l2beat: "https://l2beat.com/projects/loopring/", - bridge: "https://loopring.io/#/layer2", - bridgeWallets: ["MetaMask", "WalletConnect"], - blockExplorer: "https://explorer.loopring.io/", - ecosystemPortal: "", - tokenLists: "", - noteKey: "", - purpose: ["payments", "exchange"], - descriptionKey: "loopring-description", - image: LoopringImage, - background: "white", - }, - { - name: "ZKsync", - website: "https://zksync.io/", - developerDocs: "https://docs.zksync.io/", - l2beat: "https://l2beat.com/projects/zksync/", - bridge: "https://portal.zksync.io/bridge/", - bridgeWallets: [ - "MetaMask", - "WalletConnect", - "Formatic", - "Trezor", - "Ledger", - "Keystone", - "Lattice", - "Portis", - "Opera", - "Torus", - "Coinbase Wallet", - ], - blockExplorer: "https://explorer.zksync.io/", - ecosystemPortal: "https://zksync.io/ecosystem", - tokenLists: "https://explorer.zksync.io/tokens", - noteKey: "", - purpose: ["universal"], - descriptionKey: "zksync-description", - image: zkSyncImage, - background: "black", - }, - { - name: "ZKSpace", - website: "https://zkbase.org/", - developerDocs: "https://en.wiki.zks.org/", - l2beat: "https://l2beat.com/projects/zkswap/", - bridge: "https://zks.app/wallet/token", - bridgeWallets: [ - "MetaMask", - "WalletConnect", - "imToken", - "TokenPocket", - "MathWallet", - "Trust Wallet", - ], - blockExplorer: "", - ecosystemPortal: "", - tokenLists: "", - noteKey: "", - purpose: ["payments", "exchange"], - descriptionKey: "zkspace-description", - image: ZKSpaceImage, - background: "black", - }, - { - name: "Aztec", - website: "https://aztec.network/", - developerDocs: "https://docs.aztec.network/", - l2beat: "https://l2beat.com/projects/aztec", - bridge: "https://zk.money/", - bridgeWallets: ["MetaMask", "WalletConnect"], - blockExplorer: "https://aztec-connect-prod-explorer.aztec.network/", - ecosystemPortal: "", - tokenLists: "", - noteKey: "", - purpose: ["payments", "integrations"], - descriptionKey: "aztec-description", - image: AztecImage, - background: "white", - }, - { - name: "Starknet", - website: "https://www.starknet.io", - developerDocs: "https://docs.starknet.io/documentation/", - l2beat: "https://l2beat.com/scaling/projects/starknet", - bridge: "https://starkgate.starknet.io", - bridgeWallets: [ - "MetaMask", - "Coinbase Wallet", - "WalletConnect", - "Trust Wallet", - "Rainbow", - "Argent X", - "Braavos", - ], - blockExplorer: "https://starkscan.co", - ecosystemPortal: "https://www.starknet-ecosystem.com", - tokenLists: - "https://github.com/starknet-io/starknet-addresses/blob/master/bridged_tokens/mainnet.json", - noteKey: "", - purpose: ["universal"], - descriptionKey: "starknet-description", - image: StarknetImage, - background: "white", - }, - ], -} +export const layer2Data: Rollups = [ + { + name: "Arbitrum One", + logo: ArbitrumLogo, + networkType: "optimistic", + website: "https://arbitrum.io/rollup", + applicationsLink: "https://portal.arbitrum.io/projects", + blockExplorerLink: "https://arbiscan.io/", + bridgeLink: "https://bridge.arbitrum.io/", + l2BeatLink: "https://l2beat.com/scaling/projects/arbitrum", + growThePieLink: "https://www.growthepie.com/chains/arbitrum", + feeToken: ["ETH"], + }, + { + name: "Base", + logo: BaseLogo, + networkType: "optimistic", + website: "https://base.org/", + applicationsLink: "https://base.org/ecosystem", + blockExplorerLink: "https://basescan.org/", + bridgeLink: "https://bridge.base.org/deposit", + l2BeatLink: "https://l2beat.com/scaling/projects/base", + growThePieLink: "https://www.growthepie.com/chains/base", + feeToken: ["ETH"], + }, + { + name: "Optimism", + logo: OptimismLogo, + networkType: "optimistic", + website: "https://optimism.io/", + applicationsLink: "https://optimism.io/apps", + blockExplorerLink: "https://optimistic.etherscan.io/", + bridgeLink: "https://app.optimism.io/", + l2BeatLink: "https://l2beat.com/scaling/projects/optimism", + growThePieLink: "https://www.growthepie.com/chains/optimism", + feeToken: ["ETH"], + }, + { + name: "Blast", + logo: BlastImage, + networkType: "optimistic", + website: "https://blast.io/en", + applicationsLink: "https://www.ethereum-ecosystem.com/apps?filters=blast", + blockExplorerLink: "https://blastscan.io/", + bridgeLink: "https://blast.io/en/bridge", + l2BeatLink: "https://l2beat.com/scaling/projects/blast", + growThePieLink: "https://www.growthepie.xyz/chains/blast", + feeToken: ["ETH"], + }, + { + name: "ZKSync Era", + logo: ZkSyncEraLogo, + networkType: "zk", + website: "https://zksync.io/", + applicationsLink: "https://zksync.io/ecosystem", + blockExplorerLink: "https://explorer.zksync.io/", + bridgeLink: "https://portal.zksync.io/bridge/", + l2BeatLink: "https://l2beat.com/scaling/projects/zksync-era", + growThePieLink: "https://www.growthepie.xyz/chains/zksync-era", + feeToken: ["ETH"], + }, + { + name: "Linea", + logo: LineaLogo, + networkType: "zk", + website: "https://linea.build/", + applicationsLink: "https://linea.build/apps", + blockExplorerLink: "https://lineascan.build/", + bridgeLink: "https://bridge.linea.build/", + l2BeatLink: "https://l2beat.com/scaling/projects/linea", + growThePieLink: "https://www.growthepie.xyz/chains/linea", + feeToken: ["ETH"], + }, + { + name: "Scroll", + logo: ScrollLogo, + networkType: "zk", + website: "https://scroll.io/", + applicationsLink: "https://scroll.io/ecosystem", + blockExplorerLink: "https://scrollscan.com", + bridgeLink: "https://scroll.io/bridge", + l2BeatLink: "https://l2beat.com/scaling/projects/scroll", + growThePieLink: "https://www.growthepie.xyz/chains/scroll", + feeToken: ["ETH"], + }, + { + name: "Starknet", + logo: StarknetLogo, + networkType: "zk", + website: "https://starknet.io", + applicationsLink: "https://www.starknet-ecosystem.com/", + blockExplorerLink: "https://starkscan.co/", + bridgeLink: "https://starkgate.starknet.io/", + l2BeatLink: "https://l2beat.com/scaling/projects/starknet", + growThePieLink: "https://www.growthepie.xyz/chains/starknet", + feeToken: ["ETH", "STRK"], + }, + { + name: "Mode", + logo: ModeLogo, + networkType: "optimistic", + website: "https://mode.network/", + applicationsLink: "https://mode.network/ecosystem", + blockExplorerLink: "https://explorer.mode.network/", + bridgeLink: "https://app.mode.network/", + l2BeatLink: "https://l2beat.com/scaling/projects/mode", + growThePieLink: "https://www.growthepie.xyz/chains/mode", + feeToken: ["ETH"], + }, +] diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 91095a09d74..7c83b705b7a 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -17,6 +17,8 @@ import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" +import { layer2Data, Rollups } from "@/data/layer-2/layer-2" + import HeroImage from "@/public/images/heroes/layer-2-hub-hero.jpg" import WalkingImage from "@/public/images/layer-2/layer-2-walking.png" import ExploreImage from "@/public/images/layer-2/learn-hero.png" @@ -36,13 +38,16 @@ export const getStaticProps = (async ({ locale }) => { return { props: { ...(await serverSideTranslations(locale!, requiredNamespaces)), + layer2Data, contentNotTranslated, lastDeployLocaleTimestamp, }, } }) satisfies GetStaticProps -const Layer2Hub = () => { +const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => { + console.log(layer2Data) + // TODO: setup translation const heroContent: HubHeroProps = { title: "Layer 2", From 348f04f464f0f2230c272fbfa1f6073196b5fc41 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 24 Oct 2024 20:10:53 -0600 Subject: [PATCH 029/165] L2 CTA --- public/images/layer-2/ethereum.png | Bin 0 -> 4568 bytes src/data/layer-2/layer-2.ts | 19 +++++++++ src/pages/layer-2/index.tsx | 61 ++++++++++++++++++++++++++++- 3 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 public/images/layer-2/ethereum.png diff --git a/public/images/layer-2/ethereum.png b/public/images/layer-2/ethereum.png new file mode 100644 index 0000000000000000000000000000000000000000..bd45c2a1daf0c4c2be8166ce8aaf2f10f5adb9c8 GIT binary patch literal 4568 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 { }) satisfies GetStaticProps const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => { - console.log(layer2Data) + const randomL2s = layer2Data.sort(() => 0.5 - Math.random()).slice(0, 4) // TODO: setup translation const heroContent: HubHeroProps = { @@ -181,8 +182,64 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {

+ {/* TODO: Setup for translation */}
-

Call to action

+
+
+ {randomL2s.slice(0, 3).map((l2, idx) => { + return ( +
+
+
+ +
+
+

{l2.name}

+

{l2.description}

+
+
+
+ + Go + +
+
+ ) + })} +
+ +
+
+ +

Powered by Ethereum

+
+
+
{/* TODO: Setup for translation */} From 8f54114e6043f68ece1ed80ad509f56e9e670641 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 27 Oct 2024 13:31:07 -0600 Subject: [PATCH 030/165] Network of networks --- src/pages/layer-2/index.tsx | 74 +++++++++++++++++++++++++++++++++- src/styles/semantic-tokens.css | 6 +++ tailwind.config.ts | 6 +++ 3 files changed, 84 insertions(+), 2 deletions(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index f764489bc83..35fb7475723 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -148,8 +148,78 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {

Stats box

-
-

The network of networks

+
+
+

The network of networks

+

+ Ethereum's strength and security provides a platform for other + networks to build upon. With a single account, everything is + compatible and connects seamlessly. +

+
+ {/* Outer ring */} +
+
+
+ +
+
+ + {/* Second ring */} +
+
+
+ +
+
+ + {/* Third ring */} +
+
+
+ +
+
+ + {/* Fourth (innermost) ring */} +
+
+
+ +
+
+ + {/* Center Ethereum Logo */} +
+ +
+
+
diff --git a/src/styles/semantic-tokens.css b/src/styles/semantic-tokens.css index 2b6b2bfde38..9c941c6a7e9 100644 --- a/src/styles/semantic-tokens.css +++ b/src/styles/semantic-tokens.css @@ -75,6 +75,12 @@ transparent 100% ); + --linear-gradient-step-1: linear-gradient( + to bottom, + #B9B9F1 0%, + rgba(185, 185, 241, 0.2) 100% + ); + --linear-bug-bounty-title: linear-gradient( to left, #f7cbc0 0%, diff --git a/tailwind.config.ts b/tailwind.config.ts index 4baa00e0eb1..f8486764820 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -279,12 +279,18 @@ const config = { "0%": { transform: "translateX(-100%)" }, "100%": { transform: "translateX(0%)" }, }, + spin: { + from: { transform: "rotate(0deg)" }, + to: { transform: "rotate(360deg)" }, + }, }, animation: { "accordion-down": "accordion-down 0.2s ease-out", "accordion-up": "accordion-up 0.2s ease-out", "scroll-left": "scroll-left 30s linear infinite", "scroll-right": "scroll-right 30s linear infinite", + "spin-slow": "spin 10s linear infinite", + "counter-spin-slow": "spin 10s linear infinite reverse", }, // Add custom border-radius tailwinds extension for "4xl" as "2rem" borderRadius: { From aa527e59d3d44536919817be3a092bf2ab5159d4 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 27 Oct 2024 13:32:00 -0600 Subject: [PATCH 031/165] todo --- src/pages/layer-2/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 35fb7475723..f544724e488 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -148,6 +148,7 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {

Stats box

+ {/* TODO: Setup for translation */}

The network of networks

From 073c9c666cd6cb95118a818b04e734dee930baf2 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 28 Oct 2024 12:17:09 -0600 Subject: [PATCH 032/165] Stats box --- src/pages/layer-2/index.tsx | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index f544724e488..f5c61f02b1f 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -144,8 +144,38 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {
+ {/* TODO: Setup for translation */} + {/* TODO: Setup responsive design */} + {/* TODO: Setup data fetching */}
-

Stats box

+
+
+
+
+

$2.71

+

+ Average transaction cost on the Ethereum blockchain +

+
+
+
+
+

12.34

+

+ Average transaction cost on the Ethereum blockchain +

+
+
+ +
+
+

over

+

100x

+

cheaper

+
+
+
+
{/* TODO: Setup for translation */} From c5977aaada46f553241109108a0de832ed1053f4 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 28 Oct 2024 12:55:45 -0600 Subject: [PATCH 033/165] adjust responsive styling --- src/pages/layer-2/index.tsx | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index f5c61f02b1f..f74278e5170 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -148,9 +148,9 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => { {/* TODO: Setup responsive design */} {/* TODO: Setup data fetching */}
-
-
-
+
+
+

$2.71

@@ -158,7 +158,8 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {

-
+
+

12.34

@@ -167,27 +168,27 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {

-
+ {/*

over

100x

cheaper

-
+
*/}
{/* TODO: Setup for translation */}
-
+

The network of networks

Ethereum's strength and security provides a platform for other networks to build upon. With a single account, everything is compatible and connects seamlessly.

-
+
{/* Outer ring */}
@@ -202,8 +203,8 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {
{/* Second ring */} -
-
+
+
{
{/* Third ring */} -
-
+
+
{
{/* Fourth (innermost) ring */} -
-
+
+
Date: Mon, 28 Oct 2024 13:18:04 -0600 Subject: [PATCH 034/165] responsive design --- src/pages/layer-2/index.tsx | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index f74278e5170..71302ba2a91 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -1,4 +1,4 @@ -import { GetStaticProps } from "next" +import type { GetStaticProps } from "next/types" import { serverSideTranslations } from "next-i18next/serverSideTranslations" import type { BasePageProps, Lang } from "@/lib/types" @@ -145,10 +145,9 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {
{/* TODO: Setup for translation */} - {/* TODO: Setup responsive design */} {/* TODO: Setup data fetching */}
-
+
@@ -167,14 +166,13 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {

- - {/*
-
-

over

-

100x

-

cheaper

-
-
*/} +
+
+
+
+

over

+

100x

+

cheaper

From ecab26de3dd737f38be8d689f34f5da3d1cad431 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 28 Oct 2024 16:57:02 -0600 Subject: [PATCH 035/165] fetch data for stats box --- src/lib/api/fetchGrowThePie.ts | 4 +++ src/lib/types.ts | 4 ++- src/pages/layer-2/index.tsx | 46 ++++++++++++++++++++++++++++++---- 3 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/lib/api/fetchGrowThePie.ts b/src/lib/api/fetchGrowThePie.ts index d59f6b5fc24..5c6f62c0c68 100644 --- a/src/lib/api/fetchGrowThePie.ts +++ b/src/lib/api/fetchGrowThePie.ts @@ -56,5 +56,9 @@ export const fetchGrowThePie = async (): Promise => { return { txCount: { value: totalTxCount, timestamp }, txCostsMedianUsd: { value: weightedAverage, timestamp }, + dailyTxCosts: mostRecentData.reduce((acc, item) => { + acc[item.origin_key] = item.value + return acc + }, {}), } } diff --git a/src/lib/types.ts b/src/lib/types.ts index 42bd79ed390..4c48925bfd2 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -540,7 +540,9 @@ export type StatsBoxState = ValueOrError export type GrowThePieMetricKey = "txCount" | "txCostsMedianUsd" -export type GrowThePieData = Record +export type GrowThePieData = Record & { + dailyTxCosts: Record +} export type MetricName = | "ethPrice" // Use with `totalEthStaked` to convert ETH to USD diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 71302ba2a91..d445c0834c9 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -1,7 +1,7 @@ import type { GetStaticProps } from "next/types" import { serverSideTranslations } from "next-i18next/serverSideTranslations" -import type { BasePageProps, Lang } from "@/lib/types" +import type { BasePageProps, GrowThePieData, Lang } from "@/lib/types" import Callout from "@/components/Callout" import Card from "@/components/Card" @@ -12,6 +12,7 @@ import MainArticle from "@/components/MainArticle" import PageMetadata from "@/components/PageMetadata" import { ButtonLink } from "@/components/ui/buttons/Button" +import { dataLoader } from "@/lib/utils/data/dataLoader" import { existsNamespace } from "@/lib/utils/existsNamespace" import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" @@ -19,12 +20,23 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import { layer2Data, Rollups } from "@/data/layer-2/layer-2" +import { BASE_TIME_UNIT } from "@/lib/constants" + +import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" import HeroImage from "@/public/images/heroes/layer-2-hub-hero.jpg" import EthereumLogo from "@/public/images/layer-2/ethereum.png" import WalkingImage from "@/public/images/layer-2/layer-2-walking.png" import ExploreImage from "@/public/images/layer-2/learn-hero.png" import ManDogCardImage from "@/public/images/man-and-dog-playing.png" +// In seconds +const REVALIDATE_TIME = BASE_TIME_UNIT * 24 + +const loadData = dataLoader( + [["fetchGrowThePieData", fetchGrowThePie]], + REVALIDATE_TIME * 1000 +) + export const getStaticProps = (async ({ locale }) => { const lastDeployDate = getLastDeployDate() const lastDeployLocaleTimestamp = getLocaleTimestamp( @@ -36,17 +48,29 @@ export const getStaticProps = (async ({ locale }) => { const contentNotTranslated = !existsNamespace(locale!, requiredNamespaces[2]) + const [fetchGrowThePieData] = await loadData() + return { props: { ...(await serverSideTranslations(locale!, requiredNamespaces)), layer2Data, contentNotTranslated, lastDeployLocaleTimestamp, + locale, + fetchGrowThePieData, }, } }) satisfies GetStaticProps -const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => { +const Layer2Hub = ({ + layer2Data, + fetchGrowThePieData, + locale, +}: { + layer2Data: Rollups + fetchGrowThePieData: GrowThePieData + locale: Lang +}) => { const randomL2s = layer2Data.sort(() => 0.5 - Math.random()).slice(0, 4) // TODO: setup translation @@ -151,7 +175,13 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {
-

$2.71

+

+ $ + {fetchGrowThePieData.dailyTxCosts["ethereum"].toLocaleString( + locale as Lang, + { minimumFractionDigits: 2, maximumFractionDigits: 2 } + )} +

Average transaction cost on the Ethereum blockchain

@@ -160,9 +190,15 @@ const Layer2Hub = ({ layer2Data }: { layer2Data: Rollups }) => {
-

12.34

+

+ $ + {fetchGrowThePieData.txCostsMedianUsd.value.toLocaleString( + locale as Lang, + { minimumFractionDigits: 2, maximumFractionDigits: 3 } + )} +

- Average transaction cost on the Ethereum blockchain + Average transaction cost on Ethereum backed networks

From dba665673f56ba2b1876158476a7686c4083f9bd Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 28 Oct 2024 18:52:44 -0600 Subject: [PATCH 036/165] comment --- src/pages/layer-2/index.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index d445c0834c9..4be0c813423 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -169,7 +169,6 @@ const Layer2Hub = ({
{/* TODO: Setup for translation */} - {/* TODO: Setup data fetching */}
From ea4cd6cdbec74b839a7ad4e4f5a8e3af84726aae Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 28 Oct 2024 18:54:34 -0600 Subject: [PATCH 037/165] faq matomo --- src/pages/layer-2/index.tsx | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 4be0c813423..95e29dd5adf 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -410,9 +410,9 @@ const Layer2Hub = ({
@@ -436,9 +436,9 @@ const Layer2Hub = ({
@@ -458,9 +458,9 @@ const Layer2Hub = ({ title={ "Why can't Ethereum scale its own chain instead of relying on these networks?" } - eventCategory="" - eventAction="" - eventName="" + eventCategory="l2_hub" + eventAction="expand" + eventName="why can't ethereum scale its own chain instead of relying on these networks" visible={true} >

@@ -475,9 +475,9 @@ const Layer2Hub = ({

From 09df9459f42b06cebd33b302ac1affcb8943058e Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 28 Oct 2024 19:05:30 -0600 Subject: [PATCH 038/165] matomo events --- src/pages/layer-2/index.tsx | 61 +++++++++++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 95e29dd5adf..9f5ba9a1825 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -84,18 +84,18 @@ const Layer2Hub = ({ content: "Learn more", href: "/layer-2/learn", matomo: { - eventCategory: "layer 2 hub hero buttons", - eventAction: "click", - eventName: "/layer-2/learn clicked", + eventCategory: "l2_hub", + eventAction: "button_click", + eventName: "hero_get_started", }, }, { content: "Choose network", href: "/layer-2/networks", matomo: { - eventCategory: "layer 2 hub hero buttons", - eventAction: "click", - eventName: "/layer-2/networks clicked", + eventCategory: "l2_hub", + eventAction: "button_click", + eventName: "hero_choose_networks", }, }, ], @@ -312,7 +312,16 @@ const Layer2Hub = ({ Have a look at all the different networks that are available to you.

- Explore networks + + Explore networks +
@@ -352,6 +361,11 @@ const Layer2Hub = ({ href={l2.website} variant="outline" className="w-full" + matomo={{ + eventCategory: "l2_hub", + eventAction: "button_click", + eventName: "mid_powered_by_ethereum", + }} > Go @@ -398,7 +412,16 @@ const Layer2Hub = ({ network?

- Learn more + + Learn more +
@@ -508,7 +531,16 @@ const Layer2Hub = ({ } >
- Explore networks + + Explore networks +
- Learn more + + Learn more +
From c7108753ebc8525612a6fcae233ba8a90c506c26 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 09:44:40 -0600 Subject: [PATCH 039/165] fix build errors --- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 5 -- .../docs/scaling/optimistic-rollups/index.md | 5 -- .../docs/scaling/zk-rollups/index.md | 5 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- .../docs/scaling/optimistic-rollups/index.md | 6 -- .../docs/scaling/zk-rollups/index.md | 6 -- src/components/RollupProductDevDoc.tsx | 65 ------------------- src/layouts/Docs.tsx | 2 - src/pages/layer-2/index.tsx | 22 ++++--- 31 files changed, 13 insertions(+), 241 deletions(-) delete mode 100644 src/components/RollupProductDevDoc.tsx diff --git a/public/content/developers/docs/scaling/optimistic-rollups/index.md b/public/content/developers/docs/scaling/optimistic-rollups/index.md index 66105d22400..6f63404d13e 100644 --- a/public/content/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ More of a visual learner? Watch Finematics explain optimistic rollups: -### Use Optimistic rollups {#use-optimistic-rollups} - -Multiple implementations of Optimistic rollups exist that you can integrate into your dapps: - - - ## Further reading on optimistic rollups - [How do optimistic rollups work (The Complete guide)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/developers/docs/scaling/zk-rollups/index.md b/public/content/developers/docs/scaling/zk-rollups/index.md index 01f04c472e9..0e0332e408c 100644 --- a/public/content/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/developers/docs/scaling/zk-rollups/index.md @@ -222,11 +222,6 @@ Watch Finematics explain ZK-rollups: -### Use ZK-rollups {#use-zk-rollups} - -Multiple implementations of ZK-rollups exist that you can integrate into your dapps: - - ## Who is working on a zkEVM? {#zkevm-projects} diff --git a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md index b23ece70a06..1eec9550cb1 100644 --- a/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/cs/developers/docs/scaling/optimistic-rollups/index.md @@ -253,11 +253,6 @@ Učíte se spíše vizuálně? Podívejte se na video od Finematics, které vysv -### Použití optimistických rollupů {#use-optimistic-rollups} - -Existuje několik implementací optimistických rollupů, které můžete integrovat do svých dappek: - - ## Další čtení o optimistických rollupech diff --git a/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md index 6120233ef79..20d2c3d3ca4 100644 --- a/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/cs/developers/docs/scaling/zk-rollups/index.md @@ -222,11 +222,6 @@ Podívejte se na vysvětlení ZK-rollupů od Finematics: -### Použití ZK-rollupů {#use-zk-rollups} - -Existuje několik implementací ZK-rollupů, které můžete integrovat do svých dappek: - - ## Kdo pracuje na zkEVM? {#zkevm-projects} diff --git a/public/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md index 1427bbfb8e1..188ba708d95 100644 --- a/public/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md @@ -43,12 +43,6 @@ Sehen Sie, wie Finematics optimistische Rollups erklärt: -### Optimistische Rollups verwenden {#use-optimistic-rollups} - -Es gibt mehrere Implementierungen von optimistischen Rollups, die Sie in Ihre dApps integrieren können: - - - **Optimistische Rollups verstehen** - [Der Leitfaden zu Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) diff --git a/public/content/translations/de/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/de/developers/docs/scaling/zk-rollups/index.md index 7d5295598e2..48f06c230bd 100644 --- a/public/content/translations/de/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/de/developers/docs/scaling/zk-rollups/index.md @@ -34,12 +34,6 @@ Sehen Sie, wie Finematics ZK-Rollups erklärt: -### ZK-Rollups verwenden {#use-zk-rollups} - -Es gibt mehrere Implementierungen von ZK-Rollups, die Sie in Ihre dApps integrieren können: - - - **ZK-Rollups verstehen** - [Was sind Zero-Knowledge Rollups?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) diff --git a/public/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md index 7c0207724a9..73b587c69ae 100644 --- a/public/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ Se espera que la introducción de la [fragmentación de datos](/roadmap/dankshar -### Uso de rollups optimistas {#use-optimistic-rollups} - -Existen múltiples implementaciones de rollups optimistas que puede integrar en sus dApps: - - - ## Bibliografía para profundizar sobre los rollups optimistas - [¿Cómo funcionan los rollups optimistas? (La guía completa)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/translations/es/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/es/developers/docs/scaling/zk-rollups/index.md index e7125456dfa..ded2f19fb86 100644 --- a/public/content/translations/es/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/es/developers/docs/scaling/zk-rollups/index.md @@ -222,12 +222,6 @@ Vea una explicación de Finematics de los ZK-rollups: -### Utilice los ZK-rollups {#use-zk-rollups} - -Existen múltiples implementaciones de ZK-rollups que pueden integrarse en sus dApps: - - - ## ¿Quién está trabajando en un zkEVM? {#zkevm-projects} Los proyectos que trabajan en zkEVM incluyen: diff --git a/public/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md index 35685d4f3f2..83c617fe414 100644 --- a/public/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ Davantage qu'un apprenant visuel ? Regardez Finematics expliquer les rollups opt -### Utiliser des rollups optimistes {#use-optimistic-rollups} - -Plusieurs implémentations de rollups optimistes existent, que vous pouvez intégrer dans vos dApps : - - - ## Autres lectures sur les rollups optimistes - [Comment fonctionnent les rollups optimistes (Le guide complet)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/translations/fr/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/fr/developers/docs/scaling/zk-rollups/index.md index f146a1efd0d..b12f2afd10c 100644 --- a/public/content/translations/fr/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/fr/developers/docs/scaling/zk-rollups/index.md @@ -222,12 +222,6 @@ Regardez la vidéo de Finematics qui explique les rollups ZK : -### Utiliser les rollups ZK {#use-zk-rollups} - -Il existe un grand nombre d'implémentations de rollups ZK que vous pouvez intégrer dans vos dApps : - - - ## Qui travaille sur une zkEVM ? {#zkevm-projects} Les projets fonctionnant sur les zkEVM comprennent : diff --git a/public/content/translations/hu/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/hu/developers/docs/scaling/optimistic-rollups/index.md index 522182424e0..441912d26df 100644 --- a/public/content/translations/hu/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/hu/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ Az [adat sharding](/roadmap/danksharding/) bevezetése az Ethereumban várhatóa -### Optimista összevont tranzakciók használata {#use-optimistic-rollups} - -Az optimista összevont tranzakcióknak többféle megvalósítása létezik, amelyeket integrálhat a dappjaiba: - - - ## További információk az optimista összevont tranzakciókról - [Hogyan működnek az optimista összevont tranzakciók (teljes útmutató)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/translations/hu/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/hu/developers/docs/scaling/zk-rollups/index.md index 4caff0bbfd0..9e95a34dc42 100644 --- a/public/content/translations/hu/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/hu/developers/docs/scaling/zk-rollups/index.md @@ -222,12 +222,6 @@ Nézze meg a videót, melyben a Finematics elmagyarázza a ZK összevont tranzak -### ZK összevont tranzakciók használata {#use-zk-rollups} - -A ZK összevont tranzakcióknak többféle megvalósítása létezik, amelyeket integrálhat a dappjaiba: - - - ## Kik dolgoznak zkEVM-en? {#zkevm-projects} Többek között az alábbi projektek dolgoznak zkEVM-en: diff --git a/public/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md index 4c90a2e9f40..a1f130cbcc4 100644 --- a/public/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ Preferisci un approccio visivo all'apprendimento? Guarda Finematics spiegare i r -### Utilizzo dei rollup ottimistici {#use-optimistic-rollups} - -Esistono molteplici implementazioni dei rollup ottimistici, che puoi integrare nelle tue dapp: - - - ## Ulteriori letture sui rollup ottimistici - [Come funzionano gli Optimistic Rollup (La guida completa)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/translations/it/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/it/developers/docs/scaling/zk-rollups/index.md index 5d883acfd10..c80610d5c15 100644 --- a/public/content/translations/it/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/it/developers/docs/scaling/zk-rollups/index.md @@ -222,12 +222,6 @@ Guarda Finematics spiegare i rollup ZK: -### Utilizzo dei rollup ZK {#use-zk-rollups} - -Esistono molteplici implementazioni dei rollup ZK che puoi integrare nelle tue dapp: - - - ## Chi sta lavorando a una zkEVM? {#zkevm-projects} I progetti che stanno lavorando alle zkEVM includono: diff --git a/public/content/translations/ja/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/ja/developers/docs/scaling/optimistic-rollups/index.md index 7ff79449457..ecce9937e82 100644 --- a/public/content/translations/ja/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/ja/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ ii. オプティミスティック・ロールアップを使用するデベロ -### オプティミスティック・ロールアップの使用方法 {#use-optimistic-rollups} - -Dappに統合可能な、既存のオプティミスティック・ロールアップの実装が提供されています: - - - ## オプティミスティック・ロールアップに関する参考文献 - [オプティミスティック・ロールアップの仕組み(完全ガイド)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/translations/ja/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/ja/developers/docs/scaling/zk-rollups/index.md index 120c81f5396..5011a270aaf 100644 --- a/public/content/translations/ja/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/ja/developers/docs/scaling/zk-rollups/index.md @@ -222,12 +222,6 @@ FinematicsによるZKロールアップの説明動画をご覧ください: -### ゼロ知識ロールアップの活用方法 {#use-zk-rollups} - -現在、Dappに統合可能ないくつかのZKロールアップの実装が提供されています: - - - ## zkEVMの開発プロジェクト {#zkevm-projects} 現在、zkEVMの開発に取り組んでいるプロジェクトとしては、以下が挙げられます: diff --git a/public/content/translations/pt-br/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/pt-br/developers/docs/scaling/optimistic-rollups/index.md index 212d611ba53..c4f12acb624 100644 --- a/public/content/translations/pt-br/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/pt-br/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ Você é o tipo de pessoa que aprende mais com recursos visuais? Assista aos Fin -### Usar optimistic rollups {#use-optimistic-rollups} - -Há múltiplas implementações de optimistic rollups que você pode integrar aos seus dapps: - - - ## Leitura adicional sobre optimistic rollups - [Como funcionam os optimistic rollups (o guia completo)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/translations/pt-br/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/pt-br/developers/docs/scaling/zk-rollups/index.md index 9b1cff5b71b..d63c9e7b62d 100644 --- a/public/content/translations/pt-br/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/pt-br/developers/docs/scaling/zk-rollups/index.md @@ -222,12 +222,6 @@ Assista ao Finematics explicando ZK-rollups: -### Usar ZK-rollups {#use-zk-rollups} - -Existem várias implementações de ZK-rollups que você pode integrar aos seus dapps: - - - ## Quem está trabalhando em zkEVMs? {#zkevm-projects} Os projetos que trabalham em zkEVMs incluem: diff --git a/public/content/translations/ro/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/ro/developers/docs/scaling/optimistic-rollups/index.md index 158c1cb1c23..cdd9c52cfd0 100644 --- a/public/content/translations/ro/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/ro/developers/docs/scaling/optimistic-rollups/index.md @@ -41,12 +41,6 @@ Urmăriți cum explică Finematics rollup-urile optimistic: -### Utilizarea rollup-urilor Optimistic {#use-optimistic-rollups} - -Există mai multe implementări ale rollup-urilor Optimistic pe care le puteți integra în aplicațiile dvs. descentralizate: - - - **Optimistic rollups reading** - [Ghidul esențial pentru Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) diff --git a/public/content/translations/ro/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/ro/developers/docs/scaling/zk-rollups/index.md index 9882296f195..f51aaa24332 100644 --- a/public/content/translations/ro/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/ro/developers/docs/scaling/zk-rollups/index.md @@ -32,12 +32,6 @@ Urmăriți Finematics explicând ZK-rollup-urile: -### Utilizarea ZK-rollup-urilor {#use-zk-rollups} - -Există numeroase implementări ale ZK-rollup-urilor pe care le puteți integra în aplicațiile dvs. descentralizate: - - - **ZK-rollups reading** - [Ce sunt rollup-urile Zero-Knowledge?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) diff --git a/public/content/translations/sl/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/sl/developers/docs/scaling/optimistic-rollups/index.md index 7ccc0d50c04..cee5f52c95d 100644 --- a/public/content/translations/sl/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/sl/developers/docs/scaling/optimistic-rollups/index.md @@ -43,12 +43,6 @@ Oglejte si, kako Finematics razložijo optimistične zvitke: -### Uporaba optimističnih zvitkov {#use-optimistic-rollups} - -Obstaja več implementacij optimističnih zvitkov, ki jih lahko integrirate v svoje dappe: - - - **Gradivo za branje o optimističnih zvitkih** - [Ključni vodnik za Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) diff --git a/public/content/translations/sl/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/sl/developers/docs/scaling/zk-rollups/index.md index 116235d2341..d1e49b1dc12 100644 --- a/public/content/translations/sl/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/sl/developers/docs/scaling/zk-rollups/index.md @@ -34,12 +34,6 @@ Oglejte si, kako pri Finematics razložijo ZK-zvitke: -### Uporaba ZK-zvitkov {#use-zk-rollups} - -Obstaja več implementacij ZK-zvitkov, ki jih lahko integrirate v svoje dappe: - - - **Materiali za branje o ZK-zvitkih** - [Kaj so zvitki brez znanja?](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) diff --git a/public/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md index ed94bbf22f5..203414ae18a 100644 --- a/public/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ Görerek öğrenmeyi mi tercih ediyorsunuz? Finematics'in iyimser toplamalar hak -### İyimser toplamaları kullanın {#use-optimistic-rollups} - -Merkeziyetsiz uygulamalarınıza entegre edebileceğiniz birden çok İyimser toplama uygulaması mevcuttur: - - - ## İyimser toplamalara dair daha fazlası - [İyimser toplamalar nasıl çalışır? (Tam klavuz)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/translations/tr/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/tr/developers/docs/scaling/zk-rollups/index.md index a87a18d2887..6b6e32e4ccd 100644 --- a/public/content/translations/tr/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/tr/developers/docs/scaling/zk-rollups/index.md @@ -222,12 +222,6 @@ Finematics'in ZK-toplaması hakkındaki açıklamasını izleyin: -### ZK toplamalarını kullanın {#use-zk-rollups} - -Merkeziyetsiz uygulamalarınıza entegre edebileceğiniz birden çok ZK toplamaları uygulaması mevcuttur: - - - ## zkEVM üzerinde kimler çalışıyor? {#zkevm-projects} Şunlar zkEVM'ler üzerinde çalışan projeler arasındadır: diff --git a/public/content/translations/zh-tw/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/zh-tw/developers/docs/scaling/optimistic-rollups/index.md index c547ae35aa8..7ee79f6b04f 100644 --- a/public/content/translations/zh-tw/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/zh-tw/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ ii. 使用樂觀卷軸的開發者和專案團隊可以利用以太坊的基礎 -### 使用樂觀卷軸 {#use-optimistic-rollups} - -樂觀卷軸存在多種實作,可供你整合到去中心化應用程式: - - - ## 有關樂觀卷軸的延伸閲讀 - [樂觀卷軸如何運作(完整指引)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/translations/zh-tw/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/zh-tw/developers/docs/scaling/zk-rollups/index.md index 1799f2f5b78..bec5f900cd9 100644 --- a/public/content/translations/zh-tw/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/zh-tw/developers/docs/scaling/zk-rollups/index.md @@ -222,12 +222,6 @@ ZK-STARK 對於量子電腦也是安全的,而 ZK-SNARK 中使用的橢圓曲 -### 使用零知識證明卷軸 {#use-zk-rollups} - -零知識證明卷軸存在多種實作,可供你整合到去中心化應用程式: - - - ## 零知識以太坊虛擬機上有哪些項目? {#zkevm-projects} 零知識以太坊虛擬機上運作的專案包括: diff --git a/public/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md index b6f72deca75..8647f011d6e 100644 --- a/public/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md +++ b/public/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md @@ -253,12 +253,6 @@ ii. 使用乐观卷叠的开发者和项目团队可以利用以太坊的基础 -### 使用乐观卷叠 {#use-optimistic-rollups} - -乐观重叠有多种实现,你可以将其整合到你的去中心化应用程序中: - - - ## 阅读关于乐观卷叠的更多信息 - [乐观卷叠如何工作(完整指南)](https://www.alchemy.com/overviews/optimistic-rollups) diff --git a/public/content/translations/zh/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/zh/developers/docs/scaling/zk-rollups/index.md index 32d806db688..51c6265df38 100644 --- a/public/content/translations/zh/developers/docs/scaling/zk-rollups/index.md +++ b/public/content/translations/zh/developers/docs/scaling/zk-rollups/index.md @@ -222,12 +222,6 @@ ZK-STARK 对于量子计算机也是安全的,而 ZK-SNARK 中使用的椭圆 -### 使用零知识卷叠 {#use-zk-rollups} - -零知识卷叠有多种实现方式,你可以将其整合到自己的去中心化应用程序中: - - - ## 零知识以太坊虚拟机上有哪些项目? {#zkevm-projects} 零知识以太坊虚拟机上运行的项目包括: diff --git a/src/components/RollupProductDevDoc.tsx b/src/components/RollupProductDevDoc.tsx deleted file mode 100644 index 3843c52bdfb..00000000000 --- a/src/components/RollupProductDevDoc.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { Box, Flex, Heading, ListItem, UnorderedList } from "@chakra-ui/react" - -import { layer2Data, Rollups, RollupType } from "@/data/layer-2/layer-2" - -import InlineLink from "./Link" -import Text from "./OldText" -import Translation from "./Translation" - -const rollups = layer2Data as Rollups - -export type RollupProductDevDocProps = { - rollupType: RollupType -} - -const RollupProductDevDoc = ({ rollupType }: RollupProductDevDocProps) => { - return ( - - {rollups[rollupType].map( - ({ name, noteKey, website, developerDocs, l2beat }, idx) => { - return ( - - - - - {name} - - {noteKey.length > 0 && ( - - * - - )} - - - - - - - - - - - - - - - - - - - - - ) - } - )} - - ) -} - -export default RollupProductDevDoc diff --git a/src/layouts/Docs.tsx b/src/layouts/Docs.tsx index 32263f6437a..2dc5e0e50af 100644 --- a/src/layouts/Docs.tsx +++ b/src/layouts/Docs.tsx @@ -24,7 +24,6 @@ import { Heading3 as MdHeading3, Heading4 as MdHeading4, } from "@/components/MdComponents" -import RollupProductDevDoc from "@/components/RollupProductDevDoc" import SideNav from "@/components/SideNav" import SideNavMobile from "@/components/SideNavMobile" import TableOfContents from "@/components/TableOfContents" @@ -91,7 +90,6 @@ export const docsComponents = { Emoji, GlossaryTooltip, InfoBanner, - RollupProductDevDoc, YouTube, } diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 9f5ba9a1825..148cb2cfc2d 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -72,6 +72,10 @@ const Layer2Hub = ({ locale: Lang }) => { const randomL2s = layer2Data.sort(() => 0.5 - Math.random()).slice(0, 4) + const medianTxCost = + "error" in fetchGrowThePieData.txCostsMedianUsd + ? { error: fetchGrowThePieData.txCostsMedianUsd.error } + : fetchGrowThePieData.txCostsMedianUsd.value // TODO: setup translation const heroContent: HubHeroProps = { @@ -191,10 +195,10 @@ const Layer2Hub = ({

$ - {fetchGrowThePieData.txCostsMedianUsd.value.toLocaleString( - locale as Lang, - { minimumFractionDigits: 2, maximumFractionDigits: 3 } - )} + {medianTxCost.toLocaleString(locale as Lang, { + minimumFractionDigits: 2, + maximumFractionDigits: 3, + })}

Average transaction cost on Ethereum backed networks @@ -314,7 +318,7 @@ const Layer2Hub = ({

Date: Tue, 29 Oct 2024 10:35:18 -0600 Subject: [PATCH 040/165] update mock data --- src/data/mocks/growThePieData.json | 31 +++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/data/mocks/growThePieData.json b/src/data/mocks/growThePieData.json index 172062f92e4..b3027bf229e 100644 --- a/src/data/mocks/growThePieData.json +++ b/src/data/mocks/growThePieData.json @@ -1 +1,30 @@ -{"txCount":{"value":12313691,"timestamp":1727788564207},"txCostsMedianUsd":{"value":0.1495695439143009,"timestamp":1727788564207}} \ No newline at end of file +{ + "txCount":{"value":12313691,"timestamp":1727788564207}, + "txCostsMedianUsd":{"value":0.1495695439143009,"timestamp":1727788564207}, + "dailyTxCosts": { + "rhino": 7000, + "starknet": 0.002721293681430115, + "metis": 0.005263896007643734, + "blast": 0.001535951621138946, + "manta": 0.00005224025317695181, + "mode": 0.0034080749891640186, + "taiko": 0.008313141411066162, + "redstone": 0.0005929687849299581, + "derive": 0.0061945111681928205, + "orderly": 0.00037087549646757636, + "gravity": 0.004017243294143803, + "worldchain": 0.001016605739121328, + "zora": 0.0033394360797617015, + "ethereum": 0.7651566421496534, + "arbitrum": 0.0028111737681542673, + "linea": 0.024761668458591127, + "mantle": 0.006951759735373741, + "scroll": 0.017603374831053457, + "loopring": 526, + "imx": 232716, + "optimism": 0.00038484930661449165, + "base": 0.002327073182103824, + "zksync_era": 132627, + "polygon_zkevm": 14463 + } +} From f912fa7783c3c2efe13e308ad3f4a83e0e14dc5f Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 11:55:36 -0600 Subject: [PATCH 041/165] setup networks page --- src/pages/layer-2/networks.tsx | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/pages/layer-2/networks.tsx diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx new file mode 100644 index 00000000000..5726aa990fa --- /dev/null +++ b/src/pages/layer-2/networks.tsx @@ -0,0 +1,36 @@ +import type { GetStaticProps } from "next/types" +import { serverSideTranslations } from "next-i18next/serverSideTranslations" + +import type { BasePageProps, Lang } from "@/lib/types" + +import { existsNamespace } from "@/lib/utils/existsNamespace" +import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" +import { getLocaleTimestamp } from "@/lib/utils/time" +import { getRequiredNamespacesForPage } from "@/lib/utils/translations" + +export const getStaticProps = (async ({ locale }) => { + const lastDeployDate = getLastDeployDate() + const lastDeployLocaleTimestamp = getLocaleTimestamp( + locale as Lang, + lastDeployDate + ) + + const requiredNamespaces = getRequiredNamespacesForPage("/layer-2") + + const contentNotTranslated = !existsNamespace(locale!, requiredNamespaces[2]) + + return { + props: { + ...(await serverSideTranslations(locale!, requiredNamespaces)), + contentNotTranslated, + lastDeployLocaleTimestamp, + locale, + }, + } +}) satisfies GetStaticProps + +const Layer2Networks = () => { + return
Layer2Networks
+} + +export default Layer2Networks From 61129886c55272d5cc8e7609cb8fdac6559d18c3 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 11:57:54 -0600 Subject: [PATCH 042/165] fix broken build --- src/pages/layer-2/index.tsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index 148cb2cfc2d..d2871abda1e 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -33,7 +33,7 @@ import ManDogCardImage from "@/public/images/man-and-dog-playing.png" const REVALIDATE_TIME = BASE_TIME_UNIT * 24 const loadData = dataLoader( - [["fetchGrowThePieData", fetchGrowThePie]], + [["growThePieData", fetchGrowThePie]], REVALIDATE_TIME * 1000 ) @@ -48,7 +48,7 @@ export const getStaticProps = (async ({ locale }) => { const contentNotTranslated = !existsNamespace(locale!, requiredNamespaces[2]) - const [fetchGrowThePieData] = await loadData() + const [growThePieData] = await loadData() return { props: { @@ -57,25 +57,25 @@ export const getStaticProps = (async ({ locale }) => { contentNotTranslated, lastDeployLocaleTimestamp, locale, - fetchGrowThePieData, + growThePieData, }, } }) satisfies GetStaticProps const Layer2Hub = ({ layer2Data, - fetchGrowThePieData, + growThePieData, locale, }: { layer2Data: Rollups - fetchGrowThePieData: GrowThePieData + growThePieData: GrowThePieData locale: Lang }) => { const randomL2s = layer2Data.sort(() => 0.5 - Math.random()).slice(0, 4) const medianTxCost = - "error" in fetchGrowThePieData.txCostsMedianUsd - ? { error: fetchGrowThePieData.txCostsMedianUsd.error } - : fetchGrowThePieData.txCostsMedianUsd.value + "error" in growThePieData.txCostsMedianUsd + ? { error: growThePieData.txCostsMedianUsd.error } + : growThePieData.txCostsMedianUsd.value // TODO: setup translation const heroContent: HubHeroProps = { @@ -180,7 +180,7 @@ const Layer2Hub = ({

$ - {fetchGrowThePieData.dailyTxCosts["ethereum"].toLocaleString( + {growThePieData.dailyTxCosts["ethereum"].toLocaleString( locale as Lang, { minimumFractionDigits: 2, maximumFractionDigits: 2 } )} From d0494ae9ac7e3b67e66a09d5806f96a7a52a9f01 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 20:25:58 -0600 Subject: [PATCH 043/165] comment out badge --- src/pages/layer-2/index.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pages/layer-2/index.tsx b/src/pages/layer-2/index.tsx index d2871abda1e..15e6927c50c 100644 --- a/src/pages/layer-2/index.tsx +++ b/src/pages/layer-2/index.tsx @@ -207,13 +207,14 @@ const Layer2Hub = ({

-
+ {/* TODO: Commented out for now, remove before release if we don't ship with it. */} + {/*

over

100x

cheaper

-
+
*/}
{/* TODO: Setup for translation */} From 9468f9f1b3966d53664a88783380287d07fde660 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 20:40:17 -0600 Subject: [PATCH 044/165] Hero --- src/components/Hero/ContentHero/index.tsx | 2 +- src/pages/layer-2/networks.tsx | 28 ++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/components/Hero/ContentHero/index.tsx b/src/components/Hero/ContentHero/index.tsx index 9df5a3ba499..27cdc123617 100644 --- a/src/components/Hero/ContentHero/index.tsx +++ b/src/components/Hero/ContentHero/index.tsx @@ -14,7 +14,7 @@ const ContentHero = (props: ContentHeroProps) => { return (
-
+
{ }) satisfies GetStaticProps const Layer2Networks = () => { - return
Layer2Networks
+ const { pathname } = useRouter() + + const heroProps: ContentHeroProps = { + breadcrumbs: { slug: pathname, startDepth: 1 }, + heroImg: "/images/layer-2/learn-hero.png", + blurDataURL: "/images/layer-2/learn-hero.png", + title: "Choose network", + description: + "Using Ethereum today means interacting with hundreds of different networks and apps. All backed by Ethereum as the foundational backbone.", + } + + return ( + + + + + + ) } export default Layer2Networks From 0d5245650902f002e36c801d416482ef74de3f15 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 21:09:28 -0600 Subject: [PATCH 045/165] setup Layer2NetworksTable --- src/components/Layer2NetworksTable/index.tsx | 9 +++++++++ src/pages/layer-2/networks.tsx | 5 +++++ 2 files changed, 14 insertions(+) create mode 100644 src/components/Layer2NetworksTable/index.tsx diff --git a/src/components/Layer2NetworksTable/index.tsx b/src/components/Layer2NetworksTable/index.tsx new file mode 100644 index 00000000000..f6c7d445c25 --- /dev/null +++ b/src/components/Layer2NetworksTable/index.tsx @@ -0,0 +1,9 @@ +import type { Rollups } from "@/data/layer-2/layer-2" + +const Layer2NetworksTable = ({ layer2Data }: { layer2Data: Rollups }) => { + console.log(layer2Data) + + return
Layer2NetworksTable
+} + +export default Layer2NetworksTable diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx index 116aca9943c..c6089335f1b 100644 --- a/src/pages/layer-2/networks.tsx +++ b/src/pages/layer-2/networks.tsx @@ -5,6 +5,7 @@ import { serverSideTranslations } from "next-i18next/serverSideTranslations" import type { BasePageProps, Lang } from "@/lib/types" import { ContentHero, ContentHeroProps } from "@/components/Hero" +import Layer2NetworksTable from "@/components/Layer2NetworksTable" import MainArticle from "@/components/MainArticle" import PageMetadata from "@/components/PageMetadata" @@ -13,6 +14,8 @@ import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" +import { layer2Data } from "@/data/layer-2/layer-2" + export const getStaticProps = (async ({ locale }) => { const lastDeployDate = getLastDeployDate() const lastDeployLocaleTimestamp = getLocaleTimestamp( @@ -55,6 +58,8 @@ const Layer2Networks = () => { /> + + ) } From 17b27ce7590e4244f9a315f15e95922f449d7ecd Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 21:28:05 -0600 Subject: [PATCH 046/165] setup Layer2NetworksTable --- src/components/Layer2NetworksTable/index.tsx | 41 +++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/src/components/Layer2NetworksTable/index.tsx b/src/components/Layer2NetworksTable/index.tsx index f6c7d445c25..45482f2e543 100644 --- a/src/components/Layer2NetworksTable/index.tsx +++ b/src/components/Layer2NetworksTable/index.tsx @@ -1,9 +1,46 @@ +import { useState } from "react" + +import { FilterOption } from "@/lib/types" + +import ProductTable from "@/components/ProductTable" + import type { Rollups } from "@/data/layer-2/layer-2" const Layer2NetworksTable = ({ layer2Data }: { layer2Data: Rollups }) => { - console.log(layer2Data) + // const walletPersonas = useWalletPersonaPresets() + // const walletFilterOptions = useWalletFilters() + const [filters, setFilters] = useState([]) + + const resetFilters = () => { + // TODO: Implement + // const networkFilterOptions = useNetworkFilters() + setFilters([]) // TODO: Make same as initial state for filters + + // TODO: Add event tracking + // trackCustomEvent({ + // eventCategory: "Layer2NetworksTable", + // eventAction: "Reset button", + // eventName: "reset_click", + // }) + } - return
Layer2NetworksTable
+ return ( + { + console.log(wallet, listIdx) + return <> + }} + noResultsComponent={() => <>} + mobileFiltersLabel={"See networks"} + /> + ) } export default Layer2NetworksTable From 042769d7f1e940f5b3ba41af82fdff1ac2f5769e Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 21:37:57 -0600 Subject: [PATCH 047/165] setup translations --- src/lib/utils/translations.ts | 4 ++++ src/pages/layer-2/networks.tsx | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/utils/translations.ts b/src/lib/utils/translations.ts index b56ca9a3c25..14e1542a005 100644 --- a/src/lib/utils/translations.ts +++ b/src/lib/utils/translations.ts @@ -177,6 +177,10 @@ const getRequiredNamespacesForPath = (relativePath: string) => { primaryNamespace = "page-layer-2-learn" } + if (path.startsWith("/layer-2/networks/")) { + requiredNamespaces = [...requiredNamespaces, "table"] + } + if (path.startsWith("/contributing/translation-program/translatathon/")) { primaryNamespace = "page-translatathon" } diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx index c6089335f1b..f0c7b9cb5c5 100644 --- a/src/pages/layer-2/networks.tsx +++ b/src/pages/layer-2/networks.tsx @@ -23,7 +23,7 @@ export const getStaticProps = (async ({ locale }) => { lastDeployDate ) - const requiredNamespaces = getRequiredNamespacesForPage("/layer-2") + const requiredNamespaces = getRequiredNamespacesForPage("/layer-2/networks") const contentNotTranslated = !existsNamespace(locale!, requiredNamespaces[2]) From 96750279a35de9405542e4bb52c65092cf3df3fc Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 21:43:41 -0600 Subject: [PATCH 048/165] set useNetworkFilters setup --- .../Layer2NetworksTable/hooks/useNetworkFilters.tsx | 5 +++++ src/components/Layer2NetworksTable/index.tsx | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx diff --git a/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx b/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx new file mode 100644 index 00000000000..1dacd6ba6c5 --- /dev/null +++ b/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx @@ -0,0 +1,5 @@ +import { FilterOption } from "@/lib/types" + +export const useNetworkFilters = (): FilterOption[] => { + return [] +} diff --git a/src/components/Layer2NetworksTable/index.tsx b/src/components/Layer2NetworksTable/index.tsx index 45482f2e543..cc5b232a912 100644 --- a/src/components/Layer2NetworksTable/index.tsx +++ b/src/components/Layer2NetworksTable/index.tsx @@ -2,19 +2,19 @@ import { useState } from "react" import { FilterOption } from "@/lib/types" +import { useNetworkFilters } from "@/components/Layer2NetworksTable/hooks/useNetworkFilters" import ProductTable from "@/components/ProductTable" import type { Rollups } from "@/data/layer-2/layer-2" const Layer2NetworksTable = ({ layer2Data }: { layer2Data: Rollups }) => { // const walletPersonas = useWalletPersonaPresets() - // const walletFilterOptions = useWalletFilters() + // TODO: Implement + const networkFilterOptions = useNetworkFilters() const [filters, setFilters] = useState([]) const resetFilters = () => { - // TODO: Implement - // const networkFilterOptions = useNetworkFilters() - setFilters([]) // TODO: Make same as initial state for filters + setFilters(networkFilterOptions) // TODO: Add event tracking // trackCustomEvent({ From cbc8196585981590b1ca83cd9e97fe16c0395868 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Tue, 29 Oct 2024 22:09:05 -0600 Subject: [PATCH 049/165] initial useNetworkFilters hooks setup --- .../hooks/useNetworkFilters.tsx | 20 ++++++++++++++++++- src/components/Layer2NetworksTable/index.tsx | 4 ++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx b/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx index 1dacd6ba6c5..375c174aa7e 100644 --- a/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx +++ b/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx @@ -1,5 +1,23 @@ import { FilterOption } from "@/lib/types" export const useNetworkFilters = (): FilterOption[] => { - return [] + return [ + { + title: "Network maturity", + showFilterOption: true, + items: [ + { + filterKey: "robust", + filterLabel: "Robust", + description: + "Fully decentralized and secure network that cannot be tampered with or stopped by any individual or group.", + inputState: false, + input: () => { + return <> + }, + options: [], + }, + ], + }, + ] } diff --git a/src/components/Layer2NetworksTable/index.tsx b/src/components/Layer2NetworksTable/index.tsx index cc5b232a912..ad616527f04 100644 --- a/src/components/Layer2NetworksTable/index.tsx +++ b/src/components/Layer2NetworksTable/index.tsx @@ -11,7 +11,7 @@ const Layer2NetworksTable = ({ layer2Data }: { layer2Data: Rollups }) => { // const walletPersonas = useWalletPersonaPresets() // TODO: Implement const networkFilterOptions = useNetworkFilters() - const [filters, setFilters] = useState([]) + const [filters, setFilters] = useState(networkFilterOptions) const resetFilters = () => { setFilters(networkFilterOptions) @@ -27,7 +27,7 @@ const Layer2NetworksTable = ({ layer2Data }: { layer2Data: Rollups }) => { return ( Date: Thu, 31 Oct 2024 18:47:35 -0600 Subject: [PATCH 050/165] Add icons to project --- .../icons/layer-2/DevelopingIcon.tsx | 37 ++++++++++ src/components/icons/layer-2/EmergingIcon.tsx | 32 +++++++++ src/components/icons/layer-2/MaturingIcon.tsx | 50 ++++++++++++++ src/components/icons/layer-2/RobustIcon.tsx | 67 +++++++++++++++++++ src/components/icons/layer-2/index.ts | 6 ++ 5 files changed, 192 insertions(+) create mode 100644 src/components/icons/layer-2/DevelopingIcon.tsx create mode 100644 src/components/icons/layer-2/EmergingIcon.tsx create mode 100644 src/components/icons/layer-2/MaturingIcon.tsx create mode 100644 src/components/icons/layer-2/RobustIcon.tsx create mode 100644 src/components/icons/layer-2/index.ts diff --git a/src/components/icons/layer-2/DevelopingIcon.tsx b/src/components/icons/layer-2/DevelopingIcon.tsx new file mode 100644 index 00000000000..c4f62757e60 --- /dev/null +++ b/src/components/icons/layer-2/DevelopingIcon.tsx @@ -0,0 +1,37 @@ +import { createIconBase } from "@/components/icons/icon-base" +import { commonIconDefaultAttrs } from "@/components/icons/utils" + +export const DevelopingIcon = createIconBase({ + displayName: "DevelopingIcon", + viewBox: "0 0 16 24", + className: "w-4 h-auto", + ...commonIconDefaultAttrs, + children: ( + <> + + + + + + ), +}) diff --git a/src/components/icons/layer-2/EmergingIcon.tsx b/src/components/icons/layer-2/EmergingIcon.tsx new file mode 100644 index 00000000000..e2a0a4d0791 --- /dev/null +++ b/src/components/icons/layer-2/EmergingIcon.tsx @@ -0,0 +1,32 @@ +import { createIconBase } from "@/components/icons/icon-base" +import { commonIconDefaultAttrs } from "@/components/icons/utils" + +export const EmergingIcon = createIconBase({ + displayName: "EmergingIcon", + viewBox: "0 0 16 24", + className: "w-4 h-auto", + ...commonIconDefaultAttrs, + children: ( + <> + + + + + + ), +}) diff --git a/src/components/icons/layer-2/MaturingIcon.tsx b/src/components/icons/layer-2/MaturingIcon.tsx new file mode 100644 index 00000000000..d539b214d5f --- /dev/null +++ b/src/components/icons/layer-2/MaturingIcon.tsx @@ -0,0 +1,50 @@ +import { createIconBase } from "@/components/icons/icon-base" +import { commonIconDefaultAttrs } from "@/components/icons/utils" + +export const MaturingIcon = createIconBase({ + displayName: "MaturingIcon", + viewBox: "0 0 16 24", + className: "w-4 h-auto", + ...commonIconDefaultAttrs, + children: ( + <> + + + + + + + + + ), +}) diff --git a/src/components/icons/layer-2/RobustIcon.tsx b/src/components/icons/layer-2/RobustIcon.tsx new file mode 100644 index 00000000000..4aed7c4c067 --- /dev/null +++ b/src/components/icons/layer-2/RobustIcon.tsx @@ -0,0 +1,67 @@ +import { createIconBase } from "@/components/icons/icon-base" +import { commonIconDefaultAttrs } from "@/components/icons/utils" + +export const RobustIcon = createIconBase({ + displayName: "RobustIcon", + viewBox: "0 0 16 24", + className: "w-4 h-auto", + ...commonIconDefaultAttrs, + children: ( + <> + + + + + + + + + + + + + + + + ), +}) diff --git a/src/components/icons/layer-2/index.ts b/src/components/icons/layer-2/index.ts new file mode 100644 index 00000000000..1325723a21b --- /dev/null +++ b/src/components/icons/layer-2/index.ts @@ -0,0 +1,6 @@ +import { DevelopingIcon } from "./DevelopingIcon" +import { EmergingIcon } from "./EmergingIcon" +import { MaturingIcon } from "./MaturingIcon" +import { RobustIcon } from "./RobustIcon" + +export { DevelopingIcon, EmergingIcon, MaturingIcon, RobustIcon } From 6ca92bf5e98a87ad979960b7948c6585b01cddf4 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 31 Oct 2024 18:51:36 -0600 Subject: [PATCH 051/165] setup filters --- .../hooks/useNetworkFilters.tsx | 95 ++++++++++++++++++- 1 file changed, 92 insertions(+), 3 deletions(-) diff --git a/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx b/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx index 375c174aa7e..0cc9fbf0479 100644 --- a/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx +++ b/src/components/Layer2NetworksTable/hooks/useNetworkFilters.tsx @@ -1,5 +1,13 @@ import { FilterOption } from "@/lib/types" +import { + DevelopingIcon, + EmergingIcon, + MaturingIcon, + RobustIcon, +} from "@/components/icons/layer-2" +import SwitchFilterInput from "@/components/ProductTable/FilterInputs/SwitchFilterInput" + export const useNetworkFilters = (): FilterOption[] => { return [ { @@ -11,9 +19,90 @@ export const useNetworkFilters = (): FilterOption[] => { filterLabel: "Robust", description: "Fully decentralized and secure network that cannot be tampered with or stopped by any individual or group.", - inputState: false, - input: () => { - return <> + inputState: true, + input: (filterIndex, itemIndex, inputState, updateFilterState) => { + return ( + { + updateFilterState(filterIndex, itemIndex, newInputState) + }} + /> + ) + }, + options: [], + }, + { + filterKey: "maturing", + filterLabel: "Maturing", + description: + "A network transitions to being decentralized. A group of actors still may be able to halt the network in extreme situations.", + inputState: true, + input: (filterIndex, itemIndex, inputState, updateFilterState) => { + return ( + { + updateFilterState(filterIndex, itemIndex, newInputState) + }} + /> + ) + }, + options: [], + }, + { + filterKey: "developing", + filterLabel: "Developing", + description: + "Single operator is running the network with public data visibility for transparency. ", + inputState: true, + input: (filterIndex, itemIndex, inputState, updateFilterState) => { + return ( + { + updateFilterState(filterIndex, itemIndex, newInputState) + }} + /> + ) + }, + options: [], + }, + { + filterKey: "emerging", + filterLabel: "Emerging", + description: + "Single operator is running the network in private and works towards transparency.", + inputState: true, + input: (filterIndex, itemIndex, inputState, updateFilterState) => { + return ( + { + updateFilterState(filterIndex, itemIndex, newInputState) + }} + /> + ) }, options: [], }, From cc18c038f983c661857f1b92a5baa941faf585f0 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Thu, 31 Oct 2024 19:01:40 -0600 Subject: [PATCH 052/165] delete unused component --- src/components/Layer2/Layer2Onboard.tsx | 360 ------------------------ 1 file changed, 360 deletions(-) delete mode 100644 src/components/Layer2/Layer2Onboard.tsx diff --git a/src/components/Layer2/Layer2Onboard.tsx b/src/components/Layer2/Layer2Onboard.tsx deleted file mode 100644 index e9cf30dc26f..00000000000 --- a/src/components/Layer2/Layer2Onboard.tsx +++ /dev/null @@ -1,360 +0,0 @@ -import { useState } from "react" -import { StaticImageData } from "next/image" -import { useTranslation } from "next-i18next" -import { - Box, - Flex, - ListItem, - SimpleGrid, - UnorderedList, -} from "@chakra-ui/react" - -import type { ChildOnlyProp } from "@/lib/types" - -import { Image } from "@/components/Image" - -import { cn } from "@/lib/utils/cn" -import { trackCustomEvent } from "@/lib/utils/matomo" - -// Data -import { - CexOnboard, - cexOnboardData, -} from "../../data/layer-2/cex-layer-2-onboard" -import cexSupport from "../../data/layer-2/cex-layer-2-support.json" -// Components -import { ButtonLink } from "../Buttons" -import InlineLink from "../Link" -import OldHeading from "../OldHeading" -import Text from "../OldText" -import Select, { SelectOnChange } from "../Select" - -const Flex50 = (props: ChildOnlyProp) => ( - -) - -const TwoColumnContent = (props: ChildOnlyProp) => ( - -) - -const SelectedContainer = (props: ChildOnlyProp) => ( - -) - -const H3 = (props: ChildOnlyProp) => ( - -) - -const H4 = (props: ChildOnlyProp) => ( - -) - -interface Exchange { - name: string - supports_deposits: Array - supports_withdrawals: Array - url: string -} - -interface Layer2 { - name: string - bridgeWallets: Array - bridge: string -} - -interface Option { - value: string - label: string -} - -interface Layer2Option extends Option { - l2: Layer2 -} - -interface ExchangeOption extends Option { - cex: Exchange -} - -interface CexOnboardOption extends Option { - cexOnboard: CexOnboard -} - -export type Layer2OnboardProps = { - layer2DataCombined: Array - ethIcon: StaticImageData - ethIconAlt: string -} - -const Layer2Onboard = ({ - layer2DataCombined, - ethIcon, - ethIconAlt, -}: Layer2OnboardProps) => { - const { t } = useTranslation("page-layer-2") - - const [selectedCexOnboard, setSelectedCexOnboard] = useState< - CexOnboard | undefined - >(undefined) - const [selectedExchange, setSelectedExchange] = useState< - Exchange | undefined - >(undefined) - const [selectedL2, setSelectedL2] = useState(undefined) - - const layer2Options: Array = layer2DataCombined.map((l2) => { - return { - label: l2.name, - value: l2.name, - l2, - } - }) - - const cexSupportOptions: Array = cexSupport.map( - (cex: Exchange) => { - return { - label: cex.name, - value: cex.name, - cex, - } - } - ) - - const cexOnboardOptions: Array = cexOnboardData.map( - (cexOnboard: CexOnboard) => { - return { - label: cexOnboard.name, - value: cexOnboard.name, - cexOnboard: cexOnboard, - } - } - ) - - const gridContentPlacementStyles = { - gridContainer: { - columns: { base: 1, md: 2 }, - templateRows: { - base: "repeat(3, min-content)", - md: "repeat(2, min-content)", - }, - columnGap: "70px", - rowGap: "10px", - }, - selectedL2: { - gridRow: { base: 2, md: "2/-1" }, - gridColumn: { md: "1/2" }, - }, - rightSideSelected: { - gridRow: { md: "2/-1" }, - gridColumn: { md: "2/-1" }, - }, - logo: { - gridColumn: { md: "1 / 3" }, - gridRow: { base: selectedL2 ? 3 : 2, md: 2 }, - placeSelf: "center", - }, - } as const - - const handleLayer2SelectChange: SelectOnChange = ( - selectedOption - ) => { - if (!selectedOption) return - - trackCustomEvent({ - eventCategory: `Selected layer 2 to bridge to`, - eventAction: `Clicked`, - eventName: `${selectedOption.l2.name} bridge selected`, - eventValue: `${selectedOption.l2.name}`, - }) - setSelectedL2(selectedOption.l2) - } - - const handleExchangeOnboard: SelectOnChange< - ExchangeOption | CexOnboardOption - > = (selectedOption) => { - if (!selectedOption) return - - if ("cex" in selectedOption) { - trackCustomEvent({ - eventCategory: `Selected cex to onboard`, - eventAction: `Clicked`, - eventName: `${selectedOption.label} selected`, - eventValue: `${selectedOption.label}`, - }) - - setSelectedExchange(selectedOption.cex) - setSelectedCexOnboard(undefined) - } else { - trackCustomEvent({ - eventCategory: `Selected cexOnboard to onboard`, - eventAction: `Clicked`, - eventName: `${selectedOption.label} selected`, - eventValue: `${selectedOption.label}`, - }) - setSelectedCexOnboard(selectedOption.cexOnboard) - setSelectedExchange(undefined) - } - } - - return ( -
- - - {t("layer-2-onboard-title")} - - {t("layer-2-onboard-1")} - - - - {/* LeftDescription */} - -

{t("layer-2-onboard-wallet-title")}

- {t("layer-2-onboard-wallet-1")} - - - {t("layer-2-more-on-bridges")} - - -
- {/* LeftSelected */} - - - -
- {/* LeftSelected extra */} - {selectedL2 && ( - - - - {`${t("layer-2-onboard-wallet-selected-1")} ${ - selectedL2.name - } ${t("layer-2-onboard-wallet-selected-2")}`} - - {selectedL2.bridgeWallets.join(", ")} - - {`${selectedL2.name} ${t("layer-2-bridge")}`} - - - - )} - {/* RightSelect exchange */} - {selectedExchange && ( - - - - -

{t("layer-2-deposits")}

- - {selectedExchange.supports_deposits.map((l2) => ( - {l2} - ))} - -
- -

{t("layer-2-withdrawals")}

- - {selectedExchange.supports_withdrawals.map((l2) => ( - {l2} - ))} - -
-
- - {`${t("layer-2-go-to")} ${selectedExchange.name}`} - -
-
- )} - {/* RightSelect Cex */} - {selectedCexOnboard && ( - - -

Supported exchanges

- {selectedCexOnboard.cex_support.join(", ")} -

Supported layer 2s

- {selectedCexOnboard.network_support.join(", ")} - - {`${t("layer-2-go-to")} ${selectedCexOnboard.name}`} - -
-
- )} - {/* EthLogo */} - - {ethIconAlt} - -
-
- ) -} - -export default Layer2Onboard From 114f6284dd20cd6cec5da8013429b1b698067de0 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Wed, 6 Nov 2024 22:17:49 -0700 Subject: [PATCH 053/165] refactor columns for DataTable to use meta --- src/components/DataTable/index.tsx | 137 ++++++++++-------- .../hooks/useWalletColumns.tsx | 43 +++++- src/components/ProductTable/index.tsx | 34 +---- 3 files changed, 116 insertions(+), 98 deletions(-) diff --git a/src/components/DataTable/index.tsx b/src/components/DataTable/index.tsx index d8ee7490d14..07bfe0219bc 100644 --- a/src/components/DataTable/index.tsx +++ b/src/components/DataTable/index.tsx @@ -21,6 +21,9 @@ type DataTableProps = TableProps & { data: TData[] subComponent?: React.FC noResultsComponent?: React.FC + allDataLength: number + setMobileFiltersOpen?: (open: boolean) => void + activeFiltersCount: number } const DataTable = ({ @@ -28,6 +31,9 @@ const DataTable = ({ data, subComponent, noResultsComponent, + allDataLength, + setMobileFiltersOpen, + activeFiltersCount, ...props }: DataTableProps) => { const [isVisible, setIsVisible] = useState(true) @@ -40,6 +46,12 @@ const DataTable = ({ getRowCanExpand: () => true, getCoreRowModel: getCoreRowModel(), getExpandedRowModel: getExpandedRowModel(), + meta: { + allDataLength, + dataLength: data.length, + setMobileFiltersOpen, + activeFiltersCount, + }, }) useEffect(() => { @@ -56,67 +68,74 @@ const DataTable = ({ }, [data]) return ( - - - {table.getHeaderGroups().map((headerGroup) => ( - - {headerGroup.headers.map((header) => { - return ( - - {header.isPlaceholder - ? null - : flexRender( - header.column.columnDef.header, - header.getContext() +
+
+ + {table.getHeaderGroups().map((headerGroup) => ( + + {headerGroup.headers.map((header) => { + return ( + + {header.isPlaceholder + ? null + : flexRender( + header.column.columnDef.header, + header.getContext() + )} + + ) + })} + + ))} + +
+
+ + {table.getRowModel().rows?.length ? ( + table.getRowModel().rows.map((row, idx) => ( + + { + // Prevent expanding the wallet more info section when clicking on the "Visit website" button + if (!(e.target as Element).matches("a, a svg")) { + row.getToggleExpandedHandler()() + } + }} + > + {row.getVisibleCells().map((cell) => ( + + {flexRender( + cell.column.columnDef.cell, + cell.getContext() )} - - ) - })} - - ))} - - - {table.getRowModel().rows?.length ? ( - table.getRowModel().rows.map((row, idx) => ( - - { - // Prevent expanding the wallet more info section when clicking on the "Visit website" button - if (!(e.target as Element).matches("a, a svg")) { - row.getToggleExpandedHandler()() - } - }} - > - {row.getVisibleCells().map((cell) => ( - - {flexRender(cell.column.columnDef.cell, cell.getContext())} - - ))} - - {row.getIsExpanded() && ( - - - {subComponent && subComponent(row.original, idx)} - + + ))} - )} - - )) - ) : ( - - - {noResultsComponent && noResultsComponent({})} - - - )} - -
+ {row.getIsExpanded() && ( + + + {subComponent && subComponent(row.original, idx)} + + + )} + + )) + ) : ( + + + {noResultsComponent && noResultsComponent({})} + + + )} + + +
) } diff --git a/src/components/FindWalletProductTable/hooks/useWalletColumns.tsx b/src/components/FindWalletProductTable/hooks/useWalletColumns.tsx index 7f5c3655af5..3a2300b3499 100644 --- a/src/components/FindWalletProductTable/hooks/useWalletColumns.tsx +++ b/src/components/FindWalletProductTable/hooks/useWalletColumns.tsx @@ -5,19 +5,46 @@ import { ColumnDef } from "@tanstack/react-table" import { Wallet } from "@/lib/types" import WalletInfo from "@/components/FindWalletProductTable/WalletInfo" -import { TableHead } from "@/components/ui/Table" +import { Button } from "@/components/ui/buttons/Button" -// This type is used to define the shape of our data. -// You can use a Zod schema here if you want. -export type WalletColumns = { - id: string - walletInfo: Wallet -} +import { trackCustomEvent } from "@/lib/utils/matomo" export const useWalletColumns: ColumnDef[] = [ { id: "walletInfo", - header: () => , + header: ({ table }) => ( +
+ + {table.options.meta.dataLength === table.options.meta.allDataLength ? ( +

+ Showing all wallets ({table.options.meta.dataLength}) +

+ ) : ( +

+ Showing{" "} + + {table.options.meta.dataLength}/{table.options.meta.allDataLength} + {" "} + wallets +

+ )} +
+ ), cell: ({ row }) => { return ( diff --git a/src/components/ProductTable/index.tsx b/src/components/ProductTable/index.tsx index 0cac8278137..058f28c489d 100644 --- a/src/components/ProductTable/index.tsx +++ b/src/components/ProductTable/index.tsx @@ -7,7 +7,6 @@ import { useState, } from "react" import { useRouter } from "next/router" -import { useTranslation } from "next-i18next" import { ColumnDef } from "@tanstack/react-table" import type { @@ -21,7 +20,6 @@ import Table from "@/components/DataTable" import Filters from "@/components/ProductTable/Filters" import MobileFilters from "@/components/ProductTable/MobileFilters" import PresetFilters from "@/components/ProductTable/PresetFilters" -import { Button } from "@/components/ui/buttons/Button" import { trackCustomEvent } from "@/lib/utils/matomo" @@ -51,7 +49,6 @@ const ProductTable = ({ mobileFiltersLabel, }: ProductTableProps) => { const router = useRouter() - const { t } = useTranslation("table") const [activePresets, setActivePresets] = useState([]) const [mobileFiltersOpen, setMobileFiltersOpen] = useState(false) @@ -268,40 +265,15 @@ const ProductTable = ({ />
-
- -

- {t("table-showing")}{" "} - {data.length === allDataLength ? ( - {data.length} - ) : ( - - {data.length}/{allDataLength} - - )} -

-
From 4fc7271eff67a3e8dbdbbbe340c378272d611cea Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Fri, 8 Nov 2024 19:13:55 -0800 Subject: [PATCH 054/165] setup columns --- src/components/DataTable/index.tsx | 20 ++-- .../hooks/useNetworkColumns.tsx | 113 ++++++++++++++++++ src/components/Layer2NetworksTable/index.tsx | 3 +- src/lib/types.ts | 3 +- 4 files changed, 127 insertions(+), 12 deletions(-) create mode 100644 src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx diff --git a/src/components/DataTable/index.tsx b/src/components/DataTable/index.tsx index 07bfe0219bc..0a6625445c2 100644 --- a/src/components/DataTable/index.tsx +++ b/src/components/DataTable/index.tsx @@ -70,11 +70,11 @@ const DataTable = ({ return (
- - {table.getHeaderGroups().map((headerGroup) => ( - - {headerGroup.headers.map((header) => { - return ( +
+ + {table.getHeaderGroups().map((headerGroup) => ( + + {headerGroup.headers.map((header) => ( {header.isPlaceholder ? null @@ -83,11 +83,11 @@ const DataTable = ({ header.getContext() )} - ) - })} - - ))} - + ))} + + ))} + +
[] = [ + { + id: "l2Info", + header: ({ table }) => { + return ( + +

+ Networks showing ({table.options.data.length}) +

+
+ ) + }, + }, + { + id: "average_transaction_fee", + header: () => ( + +

+ Avg. transaction fee{" "} + + +

Transaction fee

+

+ The average cost of transaction for transfers, swaps, + minting and other activities. +

+

+ Data from{" "} + L2BEAT. +

+ + } + > + + + +

+
+ ), + }, + { + id: "market_share", + header: () => ( + +

+ Market share{" "} + + +

Market share

+

Total value locked in escrow contracts on Ethereum.

+

+ Data from{" "} + L2BEAT. +

+ + } + > + + + +

+
+ ), + }, + { + id: "network_maturity", + header: () => ( + +

+ Network maturity{" "} + + +

Network maturity

+

+ Looks at the development stage, risks associated with using + the network and ecosystem size of the network. +

+

+ This is a summary metric based on risk analysis done by{" "} + L2BEAT. +

+ + } + > + + + +

+
+ ), + }, + { + id: "dropdown", + header: () => , + }, +] diff --git a/src/components/Layer2NetworksTable/index.tsx b/src/components/Layer2NetworksTable/index.tsx index ad616527f04..651d177efe0 100644 --- a/src/components/Layer2NetworksTable/index.tsx +++ b/src/components/Layer2NetworksTable/index.tsx @@ -2,6 +2,7 @@ import { useState } from "react" import { FilterOption } from "@/lib/types" +import { useNetworkColumns } from "@/components/Layer2NetworksTable/hooks/useNetworkColumns" import { useNetworkFilters } from "@/components/Layer2NetworksTable/hooks/useNetworkFilters" import ProductTable from "@/components/ProductTable" @@ -26,7 +27,7 @@ const Layer2NetworksTable = ({ layer2Data }: { layer2Data: Rollups }) => { return ( +export type ProductTableColumnDefs = ColumnDef export type ProductTableRow = Wallet From 7597f5842c80df59bb56d91f1cc735dd30ce17c2 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Fri, 8 Nov 2024 19:42:36 -0800 Subject: [PATCH 055/165] Add logo and name --- src/components/Layer2NetworksTable/index.tsx | 2 +- src/lib/types.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/Layer2NetworksTable/index.tsx b/src/components/Layer2NetworksTable/index.tsx index 651d177efe0..439475fdd1b 100644 --- a/src/components/Layer2NetworksTable/index.tsx +++ b/src/components/Layer2NetworksTable/index.tsx @@ -28,7 +28,7 @@ const Layer2NetworksTable = ({ layer2Data }: { layer2Data: Rollups }) => { return ( -export type ProductTableRow = Wallet +export type ProductTableRow = Wallet | Rollup export interface DropdownOption { label: string From a197c3cf64233c91d3d7d4e369e3e236491a0429 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Fri, 8 Nov 2024 20:36:47 -0800 Subject: [PATCH 056/165] average tx fee --- src/components/DataTable/index.tsx | 7 ++- .../hooks/useWalletColumns.tsx | 5 +- .../hooks/useNetworkColumns.tsx | 47 ++++++++++++++++++- src/components/Layer2NetworksTable/index.tsx | 13 ++++- src/data/layer-2/layer-2.ts | 20 ++++++++ src/pages/layer-2/networks.tsx | 27 ++++++++++- 6 files changed, 110 insertions(+), 9 deletions(-) diff --git a/src/components/DataTable/index.tsx b/src/components/DataTable/index.tsx index 0a6625445c2..c2ae415c9a1 100644 --- a/src/components/DataTable/index.tsx +++ b/src/components/DataTable/index.tsx @@ -24,6 +24,7 @@ type DataTableProps = TableProps & { allDataLength: number setMobileFiltersOpen?: (open: boolean) => void activeFiltersCount: number + meta?: Record } const DataTable = ({ @@ -34,6 +35,7 @@ const DataTable = ({ allDataLength, setMobileFiltersOpen, activeFiltersCount, + meta, ...props }: DataTableProps) => { const [isVisible, setIsVisible] = useState(true) @@ -47,6 +49,7 @@ const DataTable = ({ getCoreRowModel: getCoreRowModel(), getExpandedRowModel: getExpandedRowModel(), meta: { + ...meta, allDataLength, dataLength: data.length, setMobileFiltersOpen, @@ -109,12 +112,12 @@ const DataTable = ({ }} > {row.getVisibleCells().map((cell) => ( - + {flexRender( cell.column.columnDef.cell, cell.getContext() )} - + ))} {row.getIsExpanded() && ( diff --git a/src/components/FindWalletProductTable/hooks/useWalletColumns.tsx b/src/components/FindWalletProductTable/hooks/useWalletColumns.tsx index 3a2300b3499..258c620b87a 100644 --- a/src/components/FindWalletProductTable/hooks/useWalletColumns.tsx +++ b/src/components/FindWalletProductTable/hooks/useWalletColumns.tsx @@ -6,6 +6,7 @@ import { Wallet } from "@/lib/types" import WalletInfo from "@/components/FindWalletProductTable/WalletInfo" import { Button } from "@/components/ui/buttons/Button" +import { TableCell } from "@/components/ui/Table" import { trackCustomEvent } from "@/lib/utils/matomo" @@ -47,7 +48,9 @@ export const useWalletColumns: ColumnDef[] = [ ), cell: ({ row }) => { return ( - + + + ) }, }, diff --git a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx index f03d4d319bc..0cbe9b8335c 100644 --- a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx +++ b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx @@ -3,9 +3,12 @@ import { MdInfoOutline } from "react-icons/md" import { ColumnDef } from "@tanstack/react-table" +import { Lang } from "@/lib/types" + +import { TwImage } from "@/components/Image" import InlineLink from "@/components/Link" import Tooltip from "@/components/Tooltip" -import { TableHead } from "@/components/ui/Table" +import { TableCell, TableHead } from "@/components/ui/Table" import { Rollup } from "@/data/layer-2/layer-2" @@ -21,6 +24,14 @@ export const useNetworkColumns: ColumnDef[] = [ ) }, + cell: ({ row }) => { + return ( + + +

{row.original.name}

+
+ ) + }, }, { id: "average_transaction_fee", @@ -39,7 +50,10 @@ export const useNetworkColumns: ColumnDef[] = [

Data from{" "} - L2BEAT. + + GrowThePie + + .

} @@ -50,6 +64,20 @@ export const useNetworkColumns: ColumnDef[] = [

), + cell: ({ table, row }) => { + return ( + + $ + {row.original.txCosts.toLocaleString( + table.options.meta.locale as Lang, + { + minimumFractionDigits: 2, + maximumFractionDigits: 3, + } + )} + + ) + }, }, { id: "market_share", @@ -76,6 +104,13 @@ export const useNetworkColumns: ColumnDef[] = [

), + cell: () => { + return ( + +

TODO

+
+ ) + }, }, { id: "network_maturity", @@ -105,9 +140,17 @@ export const useNetworkColumns: ColumnDef[] = [

), + cell: () => { + return ( + +

TODO

+
+ ) + }, }, { id: "dropdown", header: () => , + cell: () => , }, ] diff --git a/src/components/Layer2NetworksTable/index.tsx b/src/components/Layer2NetworksTable/index.tsx index 439475fdd1b..b6aa642bb68 100644 --- a/src/components/Layer2NetworksTable/index.tsx +++ b/src/components/Layer2NetworksTable/index.tsx @@ -1,6 +1,6 @@ import { useState } from "react" -import { FilterOption } from "@/lib/types" +import { FilterOption, Lang } from "@/lib/types" import { useNetworkColumns } from "@/components/Layer2NetworksTable/hooks/useNetworkColumns" import { useNetworkFilters } from "@/components/Layer2NetworksTable/hooks/useNetworkFilters" @@ -8,7 +8,13 @@ import ProductTable from "@/components/ProductTable" import type { Rollups } from "@/data/layer-2/layer-2" -const Layer2NetworksTable = ({ layer2Data }: { layer2Data: Rollups }) => { +const Layer2NetworksTable = ({ + layer2Data, + locale, +}: { + layer2Data: Rollups + locale: Lang +}) => { // const walletPersonas = useWalletPersonaPresets() // TODO: Implement const networkFilterOptions = useNetworkFilters() @@ -27,6 +33,9 @@ const Layer2NetworksTable = ({ layer2Data }: { layer2Data: Rollups }) => { return ( { + const [growThePieData] = await loadData() + const lastDeployDate = getLastDeployDate() const lastDeployLocaleTimestamp = getLocaleTimestamp( locale as Lang, @@ -27,17 +42,25 @@ export const getStaticProps = (async ({ locale }) => { const contentNotTranslated = !existsNamespace(locale!, requiredNamespaces[2]) + const layer2DataCompiled = layer2Data.map((network) => { + return { + ...network, + txCosts: growThePieData.dailyTxCosts[network.growthepieID], + } + }) + return { props: { ...(await serverSideTranslations(locale!, requiredNamespaces)), contentNotTranslated, lastDeployLocaleTimestamp, locale, + layer2Data: layer2DataCompiled, }, } }) satisfies GetStaticProps -const Layer2Networks = () => { +const Layer2Networks = ({ layer2Data, locale }) => { const { pathname } = useRouter() const heroProps: ContentHeroProps = { @@ -59,7 +82,7 @@ const Layer2Networks = () => { - + ) } From 8c7647fc00cf8373f7447873c4e9f61af7fb1334 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Fri, 8 Nov 2024 21:22:18 -0800 Subject: [PATCH 057/165] setup l2beat fetch and market share --- .../Layer2NetworksTable/hooks/useNetworkColumns.tsx | 13 +++++++++++-- src/data/layer-2/layer-2.ts | 2 +- src/lib/api/fetchL2beat.ts | 13 +++++++++++++ src/pages/layer-2/networks.tsx | 9 +++++++-- 4 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 src/lib/api/fetchL2beat.ts diff --git a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx index 0cbe9b8335c..8146ab8c0fd 100644 --- a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx +++ b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx @@ -104,10 +104,19 @@ export const useNetworkColumns: ColumnDef[] = [

), - cell: () => { + cell: ({ table, row }) => { + console.log(row.original) return ( -

TODO

+

+ {new Intl.NumberFormat(table.options.meta.locale as Lang, { + style: "currency", + currency: "USD", + notation: "compact", + minimumSignificantDigits: 3, + maximumSignificantDigits: 3, + }).format(row.original.l2beatData.tvl.breakdown.total)} +

) }, diff --git a/src/data/layer-2/layer-2.ts b/src/data/layer-2/layer-2.ts index 3d2c782c97c..ff94fa0b9be 100644 --- a/src/data/layer-2/layer-2.ts +++ b/src/data/layer-2/layer-2.ts @@ -94,7 +94,7 @@ export const layer2Data: Rollups = [ feeToken: ["ETH"], }, { - l2beatID: "zksync-era", + l2beatID: "zksync2", growthepieID: "zksync_era", name: "ZKSync Era", logo: ZkSyncEraLogo, diff --git a/src/lib/api/fetchL2beat.ts b/src/lib/api/fetchL2beat.ts new file mode 100644 index 00000000000..85ed2019f84 --- /dev/null +++ b/src/lib/api/fetchL2beat.ts @@ -0,0 +1,13 @@ +export const fetchL2beat = async () => { + try { + const response = await fetch("https://l2beat.com/api/scaling/summary") + if (!response.ok) { + throw new Error( + `L2BEAT API responded with ${response.status}: ${response.statusText}` + ) + } + return await response.json() + } catch (error) { + console.error(error) + } +} diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx index 3d776cb511f..21db3c74fb0 100644 --- a/src/pages/layer-2/networks.tsx +++ b/src/pages/layer-2/networks.tsx @@ -20,17 +20,21 @@ import { layer2Data } from "@/data/layer-2/layer-2" import { BASE_TIME_UNIT } from "@/lib/constants" import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" +import { fetchL2beat } from "@/lib/api/fetchL2beat" // In seconds const REVALIDATE_TIME = BASE_TIME_UNIT * 1 const loadData = dataLoader( - [["growThePieData", fetchGrowThePie]], + [ + ["growThePieData", fetchGrowThePie], + ["l2beatData", fetchL2beat], + ], REVALIDATE_TIME * 1000 ) export const getStaticProps = (async ({ locale }) => { - const [growThePieData] = await loadData() + const [growThePieData, l2beatData] = await loadData() const lastDeployDate = getLastDeployDate() const lastDeployLocaleTimestamp = getLocaleTimestamp( @@ -46,6 +50,7 @@ export const getStaticProps = (async ({ locale }) => { return { ...network, txCosts: growThePieData.dailyTxCosts[network.growthepieID], + l2beatData: l2beatData.data.projects[network.l2beatID], } }) From fe326cb7df68967ea4125d72d7cb3fc038e0cbe3 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Fri, 8 Nov 2024 21:24:14 -0800 Subject: [PATCH 058/165] mock data l2beat --- src/data/mocks/l2beatData.json | 8993 ++++++++++++++++++++++++++++++++ 1 file changed, 8993 insertions(+) create mode 100644 src/data/mocks/l2beatData.json diff --git a/src/data/mocks/l2beatData.json b/src/data/mocks/l2beatData.json new file mode 100644 index 00000000000..bed0410c099 --- /dev/null +++ b/src/data/mocks/l2beatData.json @@ -0,0 +1,8993 @@ +{ + "success": true, + "data": { + "chart": { + "types": [ + "timestamp", + "native", + "canonical", + "external", + "ethPrice" + ], + "data": [ + [1728518400, 12951959828.64, 14204896668.91, 7959907185.79, 2367.4463], + [1728540000, 13095797476.8, 14349993739.95, 8021137975.78, 2402.3308], + [1728561600, 13064721409.03, 14380101166.75, 8013415842.96, 2403.682], + [1728583200, 12773905140.3, 14084207609.29, 7910627060.18, 2345.8108], + [1728604800, 13028933205.11, 14291035037.03, 7988387880.45, 2383.5962], + [1728626400, 13065020190.76, 14405682133.06, 8025243608.47, 2405.225], + [1728648000, 13190400893.25, 14562683977.4, 8040207494.94, 2420.7122], + [1728669600, 13502604881.53, 14712192165.01, 8096222950.38, 2450.921], + [1728691200, 13417493226, 14664999489.02, 8093424933.46, 2437.9148], + [1728712800, 13477041742.8, 14709922139.83, 8116234911.27, 2446.363], + [1728734400, 13580677817.47, 14786962819.99, 8142265642.5, 2451.5427], + [1728756000, 13643907767.66, 14903686702.72, 8183052244.73, 2478.5085], + [1728777600, 13684965650.04, 14918744980.27, 8175083772.69, 2476.3105], + [1728799200, 13628318378.86, 14864141443.55, 8141600458.7, 2465.5098], + [1728820800, 13614314832.66, 14808842661.52, 8124397606.39, 2462.736], + [1728842400, 13579954580.97, 14710820749.11, 8090682796.86, 2445.1328], + [1728864000, 13829234183.53, 14849911944.53, 8148869484.35, 2467.7925], + [1728885600, 14004408200.93, 15206416135.99, 8269536339.64, 2529.2527], + [1728907200, 14033277259.84, 15304451823.56, 8296490080.84, 2539.4517], + [1728928800, 14207287727.94, 15681487420.25, 8400270427.24, 2631.7126], + [1728950400, 14274296190.56, 15750937243.39, 8415911387.3, 2625.893], + [1728972000, 14127853680.68, 15593838551.28, 8356411055.92, 2594.3372], + [1728993600, 13924892899.65, 15557077617.47, 8324396882.55, 2590.1865], + [1729015200, 14006028781.24, 15570011070.52, 8338150056.36, 2590.4836], + [1729036800, 14015343997.39, 15601125157.87, 8356558139.41, 2600.089], + [1729058400, 14047792173.57, 15675240723.4, 8379319170.5, 2616.56], + [1729080000, 14029665899.67, 15773256455.53, 8404997351.78, 2631.1611], + [1729101600, 13864183328.73, 15701919597.24, 8352450670.63, 2620.2869], + [1729123200, 13877517952.48, 15687524825.03, 8350147873.82, 2611.7002], + [1729144800, 13842060193.89, 15758485421.69, 8347937830.48, 2627.3882], + [1729166400, 13620757198.87, 15599308611.8, 8304198137.42, 2600.8545], + [1729188000, 13574174352.9, 15530165656.94, 8275435535.99, 2588.0361], + [1729209600, 13578140211.93, 15637417380.41, 8303291974.57, 2605.282], + [1729231200, 13745401904.01, 15767697156.13, 8327575771.38, 2626.0825], + [1729252800, 13799766404.6, 15758395820.84, 8307245114.85, 2623.7876], + [1729274400, 13884956371.8, 15969623954.58, 8331341677.23, 2650.39], + [1729296000, 13896776504.28, 15890193486.23, 8326447994.61, 2638.784], + [1729317600, 13944666490.25, 15949886918.59, 8300945494.82, 2644.0955], + [1729339200, 13750249108.56, 15882600704.8, 8203677556.43, 2634.3792], + [1729360800, 13816587457.65, 15911460235.98, 8196434544.09, 2639.9966], + [1729382400, 13867845228.16, 15969250986.06, 8220501043.46, 2649.884], + [1729404000, 13819076698.44, 15895580380.84, 8195023290, 2640.5793], + [1729425600, 13932209844.88, 16006781822.46, 8227217964.6, 2652.1733], + [1729447200, 14205131946.54, 16202545761.86, 8293342761.45, 2700.5435], + [1729468800, 14333872204.65, 16421310869.68, 8367793376.13, 2747.2358], + [1729490400, 14496731623.14, 16481337758.54, 8320219427.96, 2734.4548], + [1729512000, 14300995213.79, 16397478539.74, 8274064383.97, 2708.1453], + [1729533600, 14091466558.24, 16211844951.57, 8240630674.67, 2668.5422], + [1729555200, 14071934707.83, 16196929292.67, 8225906889.04, 2665.8013], + [1729576800, 14166694399.73, 16167300699.65, 8230059776.36, 2650.3704], + [1729598400, 14058547153.36, 16053935900.83, 8191994289.32, 2637.4436], + [1729620000, 13956776854.66, 16052886375.15, 8182368565.4, 2623.069], + [1729641600, 14188599069.07, 16098473349.65, 8165911808.76, 2619.4949], + [1729663200, 14087743989.91, 16050112531.08, 8114275980.75, 2616.9429], + [1729684800, 13919739174.24, 15832137489.85, 8034850777.7, 2578.4756], + [1729706400, 13719908669.58, 15390768737.24, 7890588140.49, 2474.3438], + [1729728000, 13887503772.61, 15640123559.44, 7953159578.28, 2520.1948], + [1729749600, 14036728692.52, 15832510825.41, 8008936395.73, 2557.3833], + [1729771200, 13881590318.64, 15680084503.08, 7963403536.19, 2527.0159], + [1729792800, 13909174864.25, 15669957097.36, 7969115436.84, 2520.8865], + [1729814400, 13976032364.85, 15784653035.87, 7994553728.93, 2536.0872], + [1729836000, 13772811770.3, 15608433568.59, 7867937204.12, 2492.5723], + [1729857600, 13914626681.42, 15872907219.78, 7932245048.07, 2544.3616], + [1729879200, 13622893411.02, 15472091073.26, 7843607902.72, 2458.0056], + [1729900800, 13117871342.29, 15184126738.5, 7670923500.28, 2429.0076], + [1729922400, 13314509072.1, 15396730500.3, 7711792179.32, 2463.8987], + [1729944000, 13313960529.28, 15440685481.31, 7715829031.8, 2473.0496], + [1729965600, 13223176277.33, 15460516089.8, 7698032062.57, 2475.2563], + [1729987200, 13290860176.57, 15471100900.85, 7704398359.37, 2476.5178], + [1730008800, 13380162799.09, 15476100285.57, 7711903283.46, 2477.3728], + [1730030400, 13307256932, 15422649802.53, 7703152940.48, 2466.738], + [1730052000, 13445491806.37, 15564958683.98, 7708074844.43, 2491.597], + [1730073600, 13499956120.1, 15638378775.45, 7800059233.71, 2504.548], + [1730095200, 13310301044.14, 15476441142.36, 7749334602.1, 2483.3093], + [1730116800, 13539194436.81, 15642683616.53, 7760494423.71, 2518.512], + [1730138400, 13337101340.73, 15536771717.88, 7718297991.16, 2508.1716], + [1730160000, 13661417715.38, 15844719421.5, 7801616117.79, 2567.0889], + [1730181600, 13917431376, 16151006990.49, 7930768913.48, 2617.615], + [1730203200, 14026877447.77, 15989019893.36, 7892192221.36, 2621.3145], + [1730224800, 14207384498.67, 16215971894.92, 7974648589.75, 2654.824], + [1730246400, 14130708578.98, 16114685352.98, 7939885276.11, 2634.8196], + [1730268000, 14198767100.71, 16245893588.06, 7989185395.66, 2667.4897], + [1730289600, 14150871673.54, 16188608242.77, 7967315519.38, 2664.247], + [1730311200, 14314723349.67, 16262049559.29, 7981624475.84, 2673.8374], + [1730332800, 14257892244.58, 16228378874.29, 7963803361.93, 2659.292], + [1730354400, 14134675536.17, 16156222980.69, 7938579506.18, 2648.538], + [1730376000, 14006735793.73, 16086268806.48, 7916486590.46, 2637.4705], + [1730397600, 13716100838.27, 15566421670.72, 7753744228.1, 2533.3086], + [1730419200, 13643097393.57, 15529118987.07, 7737502169.43, 2524.1892], + [1730440800, 13642544808.23, 15424728039.69, 7731067398.83, 2508.583], + [1730462400, 13627525114.38, 15491858876.06, 7734722333.06, 2515.5898], + [1730484000, 13571568591.14, 15435681290.31, 7724786836.94, 2505.493], + [1730505600, 13436363934.3, 15455615636.02, 7739035382.82, 2511.9712], + [1730527200, 13421820281.25, 15461125197.1, 7732243634.41, 2511.6636], + [1730548800, 13356619090.66, 15410516412.38, 7719343486.51, 2501.452], + [1730570400, 13114253774.69, 15294254497.51, 7674744847.99, 2481.641], + [1730592000, 13148725614.25, 15343808471.67, 7691201434.35, 2495.211], + [1730613600, 12939699657.92, 15079726280.44, 7607871393.5, 2444.1428], + [1730635200, 12844538785.63, 15110474865.93, 7602555647.91, 2455.5056], + [1730656800, 12786732211.08, 15014392454.97, 7580893712.59, 2447.496], + [1730678400, 12870819200.59, 15092592347.63, 7596096474.08, 2455.0935], + [1730700000, 12829982545.42, 15132933982.9, 7611057226.46, 2469.1675], + [1730721600, 12858861481.33, 15014437255.74, 7625759106.06, 2465.7195], + [1730743200, 12649940332.85, 14756314956.47, 7439052319.96, 2423.2554], + [1730764800, 12613174379.33, 14671996089.14, 7401430085.06, 2403.1309], + [1730786400, 12791724993, 14625845554.46, 7444874656.94, 2426.5466], + [1730808000, 12811657717.14, 14671603525.6, 7464061125, 2437.2532], + [1730829600, 13025495424.09, 14817857161.52, 7502610506.19, 2454.4302], + [1730851200, 13041376489.29, 14738322521.53, 7486483441.16, 2429.8835], + [1730872800, 13661872381.87, 15630944893.67, 7769672699.95, 2596.2], + [1730894400, 13782001986.52, 15783565895.35, 7823472561.17, 2632.2576], + [1730916000, 13869674715.62, 15916875383.5, 7859451889.51, 2662.7754], + [1730937600, 14168521592.17, 16213817377.6, 7965612458.15, 2717.5369], + [1730959200, 14436062299.81, 16742403930.19, 8114888653.54, 2830.3967], + [1730980800, 14194731770.95, 16638150170.69, 8089228688.27, 2803.5923], + [1731002400, 14250801406.12, 16899147395.07, 8146670589.05, 2863.1216], + [1731024000, 14288993562.58, 17072568168.93, 8210550855.16, 2900.4697], + [1731045600, 14224947764.37, 17131350284.53, 8243404625.99, 2921.8801], + [1731067200, 14170905898.92, 17147462607.42, 8249667108.79, 2916.8357], + [1731088800, 14100823490.19, 17111046170.05, 8253816867.59, 2920.2454], + [1731110400, 14237204512.32, 17357339761.06, 8332214539.47, 2969.0496], + [1731114000, 14303149659.88, 17430869478.49, 8353255592.89, 2985.7795] + ] + }, + "projects": { + "arbitrum": { + "id": "arbitrum", + "name": "Arbitrum One", + "slug": "arbitrum", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "Nitro" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "WasmVM" + }, + { + "category": "Other", + "name": "Governance" + }, + { + "category": "Other", + "name": "L3HostChain" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 14519913133.67, + "ether": 4387357086.39, + "stablecoin": 4802469953.21, + "associated": 2367575309.09 + }, + "associatedTokens": [ + "ARB" + ], + "change7d": 0.0773180163756924 + }, + "stage": "Stage 1", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "warning", + "description": "Fraud proofs allow 14 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "7d", + "sentiment": "warning", + "warning": { + "value": "The Security Council can upgrade with no delay.", + "sentiment": "bad" + }, + "description": "Non-emergency upgrades are initiated on L2 and go through a 8d delay. Since there is a 1d delay to force a tx (forcing the inclusion in the following state update), users have only 7d to exit. \n \n If users post a tx after that time, they would only be able to self propose a state root 12d 17h after the last state root was proposed and then wait for the 6d 8h challenge window, while the upgrade would be confirmed just after the 6d 8h challenge window and the 3d L1 timelock." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "base": { + "id": "base", + "name": "Base", + "slug": "base", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Other", + "name": "L3HostChain" + } + ], + "tvl": { + "breakdown": { + "total": 8612500120.84, + "ether": 2758347738.64, + "stablecoin": 3582063074.24, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.089218876103043 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "good", + "description": "Fraud proofs allow actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can be a Proposer and propose new roots to the L1 bridge." + } + ] + }, + "optimism": { + "id": "optimism", + "name": "OP Mainnet", + "slug": "optimism", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Other", + "name": "L3HostChain" + }, + { + "category": "Other", + "name": "Governance" + } + ], + "tvl": { + "breakdown": { + "total": 6196279162.59, + "ether": 1680718678.59, + "stablecoin": 1191671605.42, + "associated": 2002120935.2 + }, + "associatedTokens": [ + "OP" + ], + "change7d": 0.0699202061201485 + }, + "stage": "Stage 1", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "good", + "description": "Fraud proofs allow actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no exit window for users to exit in case of unwanted regular upgrades as they are initiated by the Security Council with instant upgrade power and without proper notice." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can be a Proposer and propose new roots to the L1 bridge." + } + ] + }, + "mantle": { + "id": "mantle", + "name": "Mantle", + "slug": "mantle", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "CustomDA" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 1775655355.27, + "ether": 1000829476.79, + "stablecoin": 346033277.24, + "associated": 206593370.7 + }, + "associatedTokens": [ + "MNT" + ], + "change7d": 0.153636009521903 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation rely fully on data that is NOT published on chain. Mantle DA contracts are forked from EigenDA with significant modifications, most importantly removal of slashing conditions. DA fraud proof mechanism is not live yet." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "blast": { + "id": "blast", + "name": "Blast", + "slug": "blast", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 1464031435.75, + "ether": 1056445834.33, + "stablecoin": 197270866.46, + "associated": 186283266.53 + }, + "associatedTokens": [ + "BLAST" + ], + "change7d": 0.115509463493146 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "scroll": { + "id": "scroll", + "name": "Scroll", + "slug": "scroll", + "type": "layer2", + "category": "ZK Rollup", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + } + ], + "tvl": { + "breakdown": { + "total": 1085270515.25, + "ether": 777698458.3, + "stablecoin": 52022651.78, + "associated": 135038048.13 + }, + "associatedTokens": [ + "SCR" + ], + "change7d": 0.0759531710709884 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring." + }, + { + "name": "State Validation", + "value": "ZK proofs (SN)", + "sentiment": "good", + "description": "SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "linea": { + "id": "linea", + "name": "Linea", + "slug": "linea", + "type": "layer2", + "category": "ZK Rollup", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "Other", + "name": "L3HostChain" + } + ], + "tvl": { + "breakdown": { + "total": 949499632.91, + "ether": 765004713.99, + "stablecoin": 46144671.61, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.149576490782338 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring." + }, + { + "name": "State Validation", + "value": "ZK proofs (SN)", + "sentiment": "good", + "description": "SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1. Unlike most ZK rollups, transaction data is posted instead of state diffs." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "zksync2": { + "id": "zksync2", + "name": "ZKsync Era", + "slug": "zksync-era", + "type": "layer2", + "category": "ZK Rollup", + "provider": "ZK Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "Stack", + "name": "ZKStack" + }, + { + "category": "Other", + "name": "L3HostChain" + }, + { + "category": "Infra", + "name": "ElasticChain" + } + ], + "tvl": { + "breakdown": { + "total": 917340067.71, + "ether": 308914649.32, + "stablecoin": 62102151.46, + "associated": 507685862.92 + }, + "associatedTokens": [ + "ZK" + ], + "change7d": 0.0939873183552358 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Enqueue via L1", + "sentiment": "warning", + "description": "Users can submit transactions to an L1 queue, but can't force them. The sequencer cannot selectively skip transactions but can stop processing the queue entirely. In other words, if the sequencer censors or is down, it is so for everyone." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST, SN)", + "sentiment": "good", + "description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup." + }, + { + "name": "Data Availability", + "value": "Onchain (SD)", + "sentiment": "good", + "description": "All of the data (SD = state diffs) needed for proof construction is published onchain." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted standard upgrade because the central operator can censor withdrawal transactions by implementing a TransactionFilterer with no delay. The standard upgrade delay is 4d 21h." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "warning", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen. There is a decentralized Governance system that can attempt changing Proposers with an upgrade." + } + ] + }, + "starknet": { + "id": "starknet", + "name": "Starknet", + "slug": "starknet", + "type": "layer2", + "category": "ZK Rollup", + "provider": "Starknet", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "CairoVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "Infra", + "name": "SHARP" + }, + { + "category": "Other", + "name": "Governance" + } + ], + "tvl": { + "breakdown": { + "total": 710326532.1, + "ether": 254598315.88, + "stablecoin": 78045589.92, + "associated": 337840813.07 + }, + "associatedTokens": [ + "STRK" + ], + "change7d": 0.130915571108154 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST)", + "sentiment": "good", + "description": "STARKs are zero knowledge proofs that ensure state correctness." + }, + { + "name": "Data Availability", + "value": "Onchain (SD)", + "sentiment": "good", + "description": "All of the data (SD = state diffs) needed for proof construction is published onchain." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "mantapacific": { + "id": "mantapacific", + "name": "Manta Pacific", + "slug": "mantapacific", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 555645039.27, + "ether": 182838295.49, + "stablecoin": 27547813.67, + "associated": 276141427.33 + }, + "associatedTokens": [ + "MANTA" + ], + "change7d": 0.136510657414638 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "mode": { + "id": "mode", + "name": "Mode Network", + "shortName": "Mode", + "slug": "mode", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 344647264.2, + "ether": 49719116.99, + "stablecoin": 6679047.66, + "associated": 14317558.32 + }, + "associatedTokens": [ + "MODE" + ], + "change7d": 0.0989409975685549 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "metis": { + "id": "metis", + "name": "Metis Andromeda", + "shortName": "Metis", + "slug": "metis", + "type": "layer2", + "category": "Optimium", + "provider": "OVM", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "CustomDA" + }, + { + "category": "Fork", + "name": "OVM" + } + ], + "tvl": { + "breakdown": { + "total": 326151746.16, + "ether": 12768832.2, + "stablecoin": 29328309.8, + "associated": 283798367.6 + }, + "associatedTokens": [ + "Metis" + ], + "change7d": 0.127963261958407 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Enqueue via L1", + "sentiment": "warning", + "description": "Users can submit transactions to an L1 queue, but can't force them. The sequencer cannot selectively skip transactions but can stop processing the queue entirely. In other words, if the sequencer censors or is down, it is so for everyone." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External (MEMO)", + "sentiment": "bad", + "description": "Transaction data is kept in MEMO decentralized storage." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "fuel": { + "id": "fuel", + "name": "Fuel Ignition", + "slug": "fuel", + "type": "layer2", + "category": "Optimistic Rollup", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "FuelVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + } + ], + "tvl": { + "breakdown": { + "total": 312221249.25, + "ether": 189034104.91, + "stablecoin": 34625689.56, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.158758063821449 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "worldchain": { + "id": "worldchain", + "name": "World Chain", + "slug": "world", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Identity" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Alchemy" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 220075918.87, + "ether": 5006542.39, + "stablecoin": 9032698.38, + "associated": 203996074.86 + }, + "associatedTokens": [ + "WLD" + ], + "change7d": 0.648866305013397 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "real": { + "id": "real", + "name": "Re.al", + "slug": "real", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "RWA" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 189431953.3, + "ether": 2519399.8, + "stablecoin": 7424.34, + "associated": 22292598.52 + }, + "associatedTokens": [ + "RWA" + ], + "change7d": 0.333235994666568 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "Fraud proofs only allow 2 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "fraxtal": { + "id": "fraxtal", + "name": "Fraxtal", + "slug": "fraxtal", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "CustomDA" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 187895720.91, + "ether": 34838247, + "stablecoin": 77661341.14, + "associated": 44254537.02 + }, + "associatedTokens": [ + "FXS", + "FPIS" + ], + "change7d": 0.0730025391630083 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation rely fully on data that is NOT published on chain. Fraxtal uses a separate data availability module developed by the Frax Core Team, and data availability attestations are not published on chain." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "zircuit": { + "id": "zircuit", + "name": "Zircuit", + "slug": "zircuit", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 174337451.03, + "ether": 172258887.46, + "stablecoin": 1884006.88, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.184385867907863 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "galxegravity": { + "id": "galxegravity", + "name": "Gravity", + "slug": "galxegravity", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 137851764.81, + "ether": 1724633.49, + "stablecoin": 1760072.07, + "associated": 134367059.25 + }, + "associatedTokens": [ + "G" + ], + "change7d": 0.042906591654984 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1000d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 5d 14h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 11d 23h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "lisk": { + "id": "lisk", + "name": "Lisk", + "slug": "lisk", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "Other", + "name": "MigratedFromL1" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 136736279.37, + "ether": 1545831.78, + "stablecoin": 247367.27, + "associated": 134778471.42 + }, + "associatedTokens": [ + "LSK" + ], + "change7d": 0.0689482145956715 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "taiko": { + "id": "taiko", + "name": "Taiko", + "slug": "taiko", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "Taiko", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": true, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "Other", + "name": "BasedSequencing" + } + ], + "tvl": { + "breakdown": { + "total": 121266589.86, + "ether": 24635937.92, + "stablecoin": 12668572.04, + "associated": 82427826.75 + }, + "associatedTokens": [ + "TAIKO" + ], + "change7d": 0.192005765023217 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "The system uses a based (or L1-sequenced) rollup sequencing mechanism. Users can propose L2 blocks directly on the Taiko L1 contract. The TaikoAdmin multisig can pause block proposals without delay." + }, + { + "name": "State Validation", + "value": "SGX proofs", + "sentiment": "bad", + "description": "Taiko uses a multi-tier proof system to validate the state. However, current tier proofs include either SGX (secure-enclave) execution verification, or approval by a minimum number of Guardians. State validation through the Zk-proof tier is not yet active. \n Each proof goes through a cooldown window allowing for contestation. Contested blocks require proof from a higher level tier. If no contestation is made, or the block has been proven by the highest tier, the proof is considered valid.\n The system allows for an invalid state to be proven by either a compromised SGX instance or compromised Guardians (the highest tier). This can lead to a state being proven as valid when it is not." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Provers can examine the proposed blocks on the TaikoL1 contract, and generate SGX proofs for them. Currently, any prover providing a valid SGX attestation can register a SGX instance and create proofs for proposed blocks." + } + ] + }, + "bob": { + "id": "bob", + "name": "BOB", + "slug": "bob", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Bitcoin DApps" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 116691306.39, + "ether": 13503783.95, + "stablecoin": 3350833.27, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.0973637660327704 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "immutablex": { + "id": "immutablex", + "name": "Immutable X", + "slug": "immutablex", + "type": "layer2", + "category": "Validium", + "provider": "StarkEx", + "purposes": [ + "NFT", + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "StarkEx" + }, + { + "category": "Infra", + "name": "SHARP" + } + ], + "tvl": { + "breakdown": { + "total": 93659353.37, + "ether": 17602310.27, + "stablecoin": 724926.01, + "associated": 69921463.66 + }, + "associatedTokens": [ + "IMX" + ], + "change7d": 0.0658218658810521 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for for more than 7d, users can use the exit hatch to withdraw their funds." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST)", + "sentiment": "good", + "description": "STARKs are zero knowledge proofs that ensure state correctness." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 5/7 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a Merkle proof of funds. NFTs will be minted on L1 to exit." + } + ] + }, + "apex": { + "id": "apex", + "name": "ApeX", + "slug": "apex", + "type": "layer2", + "category": "Validium", + "provider": "StarkEx", + "purposes": [ + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "StarkEx" + }, + { + "category": "Infra", + "name": "SHARP" + } + ], + "tvl": { + "breakdown": { + "total": 79877798.36, + "ether": 0, + "stablecoin": 79877798.36, + "associated": 0 + }, + "associatedTokens": [ + "APEX" + ], + "change7d": 0.00525909245244316 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a trade or a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for 7d, users can use the exit hatch to withdraw their funds. Users are required to find a counterparty for the trade by out of system means." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST)", + "sentiment": "good", + "description": "STARKs are zero knowledge proofs that ensure state correctness." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 3/5 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a Merkle proof of funds. Positions will be closed using the average price from the last batch state update." + } + ] + }, + "zklinknova": { + "id": "zklinknova", + "name": "zkLink Nova", + "slug": "zklinknova", + "type": "layer3", + "category": "Validium", + "provider": "zkLink Nexus", + "purposes": [ + "Universal", + "Interoperability" + ], + "isArchived": false, + "hostChain": "Linea", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Linea" + } + ], + "tvl": { + "breakdown": { + "total": 69966371.85, + "ether": 28367222.4, + "stablecoin": 953767.02, + "associated": 22181034.2 + }, + "associatedTokens": [ + "ZKL" + ], + "change7d": -0.0308046828380348 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring." + }, + { + "name": "State Validation", + "value": "ZK proofs", + "sentiment": "good", + "description": "Zero knowledge cryptography is used to ensure state correctness. Proofs are first verified on Linea and finally on Ethereum." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation rely fully on data that is ultimately NOT published on Ethereum." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "polygonzkevm": { + "id": "polygonzkevm", + "name": "Polygon zkEVM", + "slug": "polygonzkevm", + "type": "layer2", + "category": "ZK Rollup", + "provider": "Polygon", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "PolygonCDK" + }, + { + "category": "DA", + "name": "EthereumCalldata" + }, + { + "category": "Infra", + "name": "AggLayer" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 68526117.51, + "ether": 17993896.25, + "stablecoin": 5856976.29, + "associated": 42624874.8 + }, + "associatedTokens": [ + "POL", + "MATIC" + ], + "change7d": 0.126307660946599 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST, SN)", + "sentiment": "good", + "description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1. Unlike most ZK rollups transactions are posted instead of state diffs." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "warning": { + "value": "The Security Council can remove the delay on upgrades.", + "sentiment": "bad" + }, + "description": "Even though there is a 10d Timelock for upgrades, forced transactions are disabled. Even if they were to be enabled, user withdrawals can be censored up to 15d." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge. There is a 5d delay for proving and a 5d delay for finalizing state proven in this way. These delays can only be lowered except during the emergency state." + } + ] + }, + "rss3": { + "id": "rss3", + "name": "RSS3 Value Sublayer", + "shortName": "RSS3 VSL", + "slug": "rss3", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "AI", + "Information" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "NearDA" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 64173669.52, + "ether": 2866.64, + "stablecoin": 144812.67, + "associated": 64025990.21 + }, + "associatedTokens": [ + "RSS3" + ], + "change7d": 0.0440296843574286 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation rely fully on data that is NOT published on chain." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "cronoszkevm": { + "id": "cronoszkevm", + "name": "Cronos zkEVM", + "slug": "cronoszkevm", + "type": "layer2", + "category": "Validium", + "provider": "ZK Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "CustomDA" + }, + { + "category": "Stack", + "name": "ZKStack" + }, + { + "category": "Infra", + "name": "ElasticChain" + } + ], + "tvl": { + "breakdown": { + "total": 58625520.92, + "ether": 12940092.08, + "stablecoin": 5714221.45, + "associated": 15429120.66 + }, + "associatedTokens": [ + "zkCRO" + ], + "change7d": 0.319012461370929 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Enqueue via L1", + "sentiment": "warning", + "description": "Users can submit transactions to an L1 queue, but can't force them. The sequencer cannot selectively skip transactions but can stop processing the queue entirely. In other words, if the sequencer censors or is down, it is so for everyone." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST, SN)", + "sentiment": "good", + "description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation rely fully on data that is NOT published onchain." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted standard upgrade because the central operator can censor withdrawal transactions by implementing a TransactionFilterer with no delay. The standard upgrade delay is 4d 21h." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "warning", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen. There is a decentralized Governance system that can attempt changing Proposers with an upgrade." + } + ] + }, + "zksync": { + "id": "zksync", + "name": "ZKsync Lite", + "slug": "zksync-lite", + "type": "layer2", + "category": "ZK Rollup", + "provider": "ZKsync Lite", + "purposes": [ + "Payments", + "Exchange", + "NFT" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "EthereumCalldata" + } + ], + "tvl": { + "breakdown": { + "total": 56413482.52, + "ether": 45450022.15, + "stablecoin": 9946459.21, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.14804580827824 + }, + "stage": "Stage 1", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for for more than 14d, users can use the exit hatch to withdraw their funds." + }, + { + "name": "State Validation", + "value": "ZK proofs (SN)", + "sentiment": "good", + "description": "SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "7d", + "sentiment": "warning", + "warning": { + "value": "The Security Council can upgrade with no delay.", + "sentiment": "bad" + }, + "description": "Users have 7d to exit funds in case of an unwanted upgrade. There is a 21d delay before an upgrade is applied, and withdrawals can take up to 14d to be processed." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a zero knowledge proof of funds." + } + ] + }, + "degate3": { + "id": "degate3", + "name": "DeGate V1", + "slug": "degate3", + "type": "layer2", + "category": "ZK Rollup", + "provider": "Loopring", + "purposes": [ + "Exchange", + "NFT" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "EthereumCalldata" + }, + { + "category": "Fork", + "name": "LoopringFork" + } + ], + "tvl": { + "breakdown": { + "total": 52278697.77, + "ether": 1915110.08, + "stablecoin": 23386060.13, + "associated": 24835003.76 + }, + "associatedTokens": [ + "DG" + ], + "change7d": 0.0297117256993806 + }, + "stage": "Stage 2", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1 with a 0.01 ETH fee. If the sequencer is down for more than 15d, users can use the exit hatch to withdraw their funds. The sequencer can censor individual deposits, but in such case after 15d users can get their funds back." + }, + { + "name": "State Validation", + "value": "ZK proofs (SN)", + "sentiment": "good", + "description": "SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "30d", + "sentiment": "good", + "description": "Users have 30d to exit funds in case of an unwanted regular upgrade. There is a 45d delay before a regular upgrade is applied, and withdrawals can take up to 15d to be processed." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a Merkle proof of funds." + } + ] + }, + "aevo": { + "id": "aevo", + "name": "Aevo", + "slug": "aevo", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 51753680.28, + "ether": 10188636.1, + "stablecoin": 40925920.42, + "associated": 0 + }, + "associatedTokens": [ + "AEVO" + ], + "change7d": 0.0388037272728785 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "loopring": { + "id": "loopring", + "name": "Loopring", + "slug": "loopring", + "type": "layer2", + "category": "ZK Rollup", + "provider": "Loopring", + "purposes": [ + "NFT", + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "EthereumCalldata" + } + ], + "tvl": { + "breakdown": { + "total": 49655027.89, + "ether": 22434322.19, + "stablecoin": 4143569.12, + "associated": 17833076.49 + }, + "associatedTokens": [ + "LRC" + ], + "change7d": 0.152076774282583 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1 with a 0.02 ETH fee. If the sequencer is down for more than 15d, users can use the exit hatch to withdraw their funds. The sequencer can censor individual deposits, but in such case after 15d users can get their funds back." + }, + { + "name": "State Validation", + "value": "ZK proofs (SN)", + "sentiment": "good", + "description": "SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a Merkle proof of funds." + } + ] + }, + "lyra": { + "id": "lyra", + "name": "Derive", + "slug": "derive", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 49507158.23, + "ether": 16889885.65, + "stablecoin": 13143190.79, + "associated": 0 + }, + "associatedTokens": [ + "LYRA" + ], + "change7d": 0.0194042535747454 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "dydx": { + "id": "dydx", + "name": "dYdX v3", + "slug": "dydx", + "type": "layer2", + "category": "ZK Rollup", + "provider": "StarkEx", + "purposes": [ + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "Stack", + "name": "StarkEx" + }, + { + "category": "DA", + "name": "EthereumCalldata" + }, + { + "category": "Other", + "name": "Governance" + } + ], + "tvl": { + "breakdown": { + "total": 43166829.84, + "ether": 0, + "stablecoin": 43166829.84, + "associated": 0 + }, + "associatedTokens": [ + "DYDX" + ], + "change7d": -0.197678222284933 + }, + "stage": "Stage 1", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a trade or a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for 14d, users can use the exit hatch to withdraw their funds. Users are required to find a counterparty for the trade by out of system means." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST)", + "sentiment": "good", + "description": "STARKs are zero knowledge proofs that ensure state correctness." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "9d", + "sentiment": "warning", + "description": "There is a 9d exit window (or 2d if shortened by the Priority Controller)." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a Merkle proof of funds. Positions will be closed using the average price from the last batch state update." + } + ] + }, + "nova": { + "id": "nova", + "name": "Arbitrum Nova", + "slug": "nova", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "Nitro" + }, + { + "category": "VM", + "name": "WasmVM" + }, + { + "category": "Other", + "name": "Governance" + }, + { + "category": "Other", + "name": "L3HostChain" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 42252636.93, + "ether": 41282992.87, + "stablecoin": 757525.55, + "associated": 137088.11 + }, + "associatedTokens": [ + "ARB" + ], + "change7d": 0.181607712725109 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "warning", + "description": "Fraud proofs allow 13 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "warning", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 5/6 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "2d", + "sentiment": "bad", + "warning": { + "value": "The Security Council can upgrade with no delay.", + "sentiment": "bad" + }, + "description": "Non-emergency upgrades are initiated on L2 and go through a 3d delay. Since there is a 1d delay to force a tx (forcing the inclusion in the following state update), users have only 2d to exit. \n \n If users post a tx after that time, they would only be able to self propose a state root 12d 17h after the last state root was proposed and then wait for the 6d 8h challenge window, while the upgrade would be confirmed just after the 6d 8h challenge window and the 3d L1 timelock." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "kinto": { + "id": "kinto", + "name": "Kinto", + "slug": "kinto", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "RWA" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 39999828.32, + "ether": 27088916.2, + "stablecoin": 11195958.26, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.116694796352584 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "warning", + "description": "Fraud proofs allow 5 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "xlayer": { + "id": "xlayer", + "name": "X Layer", + "slug": "xlayer", + "type": "layer2", + "category": "Validium", + "provider": "Polygon", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Infra", + "name": "AggLayer" + }, + { + "category": "Stack", + "name": "PolygonCDK" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 29748921.51, + "ether": 11556721.19, + "stablecoin": 6714961.52, + "associated": 7585767.08 + }, + "associatedTokens": [ + "OKB" + ], + "change7d": 0.054826351006249 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST, SN)", + "sentiment": "good", + "description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 2/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "warning": { + "value": "The Security Council can remove the delay on upgrades.", + "sentiment": "bad" + }, + "description": "Even though there is a 10d Timelock for upgrades, forced transactions are disabled. Even if they were to be enabled, user withdrawals can be censored up to 15d." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge. There is a 5d delay for proving and a 5d delay for finalizing state proven in this way. These delays can only be lowered except during the emergency state." + } + ] + }, + "karak": { + "id": "karak", + "name": "Karak", + "slug": "karak", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 29708868.67, + "ether": 24636329.46, + "stablecoin": 5072539.21, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.130841457092655 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "reya": { + "id": "reya", + "name": "Reya", + "slug": "reya", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 28116918.2, + "ether": 384280.19, + "stablecoin": 27732638.01, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.0120905632803772 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "sanko": { + "id": "sanko", + "name": "Sanko", + "slug": "sanko", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Gaming", + "Social" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 26478275.82, + "ether": 134830.61, + "stablecoin": 164891.89, + "associated": 25445806.84 + }, + "associatedTokens": [ + "DMT" + ], + "change7d": 0.403519605464031 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "Fraud proofs only allow 3 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 2/3 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 25d 10h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "cyber": { + "id": "cyber", + "name": "Cyber", + "slug": "cyber", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Social" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "CustomDA" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "RaaS", + "name": "AltLayer" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 24735455, + "ether": 1547203.07, + "stablecoin": 16557.48, + "associated": 23114679.3 + }, + "associatedTokens": [ + "CYBER" + ], + "change7d": 0.071924973076988 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation rely on data that is NOT published onchain. Cyber uses a custom data availability system without attestations, but allowing data challenges." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "zora": { + "id": "zora", + "name": "Zora", + "slug": "zora", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "NFT" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 24484494.96, + "ether": 24196533.6, + "stablecoin": 287961.36, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.227443278573365 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "sorare": { + "id": "sorare", + "name": "Sorare", + "slug": "sorare", + "type": "layer2", + "category": "Validium", + "provider": "StarkEx", + "purposes": [ + "NFT", + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "StarkEx" + }, + { + "category": "Infra", + "name": "SHARP" + } + ], + "tvl": { + "breakdown": { + "total": 20899022.43, + "ether": 20899022.43, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.203376639210819 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for for more than 7d, users can use the exit hatch to withdraw their funds." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST)", + "sentiment": "good", + "description": "STARKs are zero knowledge proofs that ensure state correctness." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 2/4 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a Merkle proof of funds. NFTs will be minted on L1 to exit." + } + ] + }, + "kroma": { + "id": "kroma", + "name": "Kroma", + "slug": "kroma", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "Infra", + "name": "Superchain" + } + ], + "tvl": { + "breakdown": { + "total": 19107377.14, + "ether": 5810355.5, + "stablecoin": 645832.11, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.0553655572348464 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT, ZK)", + "sentiment": "bad", + "description": "Fraud proofs allow actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. ZK proofs are used to adjudicate the correctness of the last step. The challenge protocol can be subject to delay attacks and can fail under certain conditions. The current system doesn't use posted L2 txs batches on L1 as inputs to prove a fault, meaning that DA is not enforced." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can be a Proposer and propose new roots to the L1 bridge." + } + ] + }, + "orderly": { + "id": "orderly", + "name": "Orderly Network", + "shortName": "Orderly", + "slug": "orderly", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 18170986.93, + "ether": 629742.57, + "stablecoin": 17541244.36, + "associated": 0 + }, + "associatedTokens": [], + "change7d": -0.0326205153974277 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "sxnetwork": { + "id": "sxnetwork", + "name": "SX Network", + "slug": "sxnetwork", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Betting" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 18089436.85, + "ether": 0, + "stablecoin": 0, + "associated": 18089436.85 + }, + "associatedTokens": [ + "SX" + ], + "change7d": 0.369323332768177 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 4d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "Fraud proofs only allow 2 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "zkfair": { + "id": "zkfair", + "name": "ZKFair", + "slug": "zkfair", + "type": "layer2", + "category": "Validium", + "provider": "Polygon", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "PolygonCDK" + } + ], + "tvl": { + "breakdown": { + "total": 16104367.07, + "ether": 1458252.13, + "stablecoin": 7634176.19, + "associated": 6912540.91 + }, + "associatedTokens": [ + "ZKF" + ], + "change7d": 0.000822836103314683 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled." + }, + { + "name": "State Validation", + "value": "ZK proofs (SN)", + "sentiment": "good", + "description": "SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 3/5 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "warning": { + "value": "The ZkFair Owner can upgrade with no delay.", + "sentiment": "bad" + }, + "description": "Even though there is a 1d Timelock for upgrades, forced transactions are disabled. Even if they were to be enabled, user withdrawals can be censored up to 15d." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge. There is a 5d delay for proving and a 5d delay for finalizing state proven in this way. These delays can only be lowered except during the emergency state." + } + ] + }, + "paradex": { + "id": "paradex", + "name": "Paradex", + "slug": "paradex", + "type": "layer2", + "category": "ZK Rollup", + "provider": "Starknet", + "purposes": [ + "Universal", + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "CairoVM" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "Fork", + "name": "StarknetFork" + }, + { + "category": "Infra", + "name": "SHARP" + } + ], + "tvl": { + "breakdown": { + "total": 13897955.03, + "ether": 0, + "stablecoin": 13897955.03, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.00218541088320001 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST)", + "sentiment": "good", + "description": "STARKs are zero knowledge proofs that ensure state correctness." + }, + { + "name": "Data Availability", + "value": "Onchain (SD)", + "sentiment": "good", + "description": "All of the data (SD = state diffs) needed for proof construction is published onchain." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "thebinaryholdings": { + "id": "thebinaryholdings", + "name": "The Binary Holdings", + "shortName": "Binary", + "slug": "thebinaryholdings", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 13758922.67, + "ether": 0, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.31478608861962 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "silicon": { + "id": "silicon", + "name": "Silicon", + "slug": "silicon", + "type": "layer2", + "category": "Validium", + "provider": "Polygon", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "PolygonCDK" + }, + { + "category": "Infra", + "name": "AggLayer" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 13201491.75, + "ether": 1619201.13, + "stablecoin": 7206378.44, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.039085095985163 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST, SN)", + "sentiment": "good", + "description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 2/3 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "warning": { + "value": "The Security Council can remove the delay on upgrades.", + "sentiment": "bad" + }, + "description": "Even though there is a 10d Timelock for upgrades, forced transactions are disabled. Even if they were to be enabled, user withdrawals can be censored up to 15d." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge. There is a 5d delay for proving and a 5d delay for finalizing state proven in this way. These delays can only be lowered except during the emergency state." + } + ] + }, + "bobanetwork": { + "id": "bobanetwork", + "name": "Boba Network", + "shortName": "Boba", + "slug": "bobanetwork", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 12577575.33, + "ether": 5237949.65, + "stablecoin": 1776192.08, + "associated": 4589644.46 + }, + "associatedTokens": [ + "BOBA" + ], + "change7d": 0.0929612214701909 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "deversifi": { + "id": "deversifi", + "name": "rhino.fi", + "slug": "rhinofi", + "type": "layer2", + "category": "Validium", + "provider": "StarkEx", + "purposes": [ + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "StarkEx" + }, + { + "category": "Infra", + "name": "SHARP" + } + ], + "tvl": { + "breakdown": { + "total": 11873190.92, + "ether": 5498677.81, + "stablecoin": 4252326.88, + "associated": 0 + }, + "associatedTokens": [ + "DVF" + ], + "change7d": 0.0419237423124115 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for for more than 7d, users can use the exit hatch to withdraw their funds." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST)", + "sentiment": "good", + "description": "STARKs are zero knowledge proofs that ensure state correctness." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 4/7 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable. Users can be explicitly censored from withdrawing (Blocklist on L1)." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a Merkle proof of funds." + } + ] + }, + "winr": { + "id": "winr", + "name": "WINR", + "slug": "winr", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Gaming" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 7275493.91, + "ether": 412051.47, + "stablecoin": 2051745.9, + "associated": 4787659.44 + }, + "associatedTokens": [ + "WINR" + ], + "change7d": 0.160963349188553 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 1h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 19d 3h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "brine": { + "id": "brine", + "name": "tanX", + "slug": "tanx", + "type": "layer2", + "category": "Validium", + "provider": "StarkEx", + "purposes": [ + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "StarkEx" + }, + { + "category": "Infra", + "name": "SHARP" + } + ], + "tvl": { + "breakdown": { + "total": 6326832.99, + "ether": 190488.45, + "stablecoin": 5936545.38, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 3.96725138262346 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for for more than 7d, users can use the exit hatch to withdraw their funds." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST)", + "sentiment": "good", + "description": "STARKs are zero knowledge proofs that ensure state correctness." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 2/4 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a Merkle proof of funds." + } + ] + }, + "morph": { + "id": "morph", + "name": "Morph", + "slug": "morph", + "type": "layer2", + "category": "Optimistic Rollup", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": true, + "badges": [], + "tvl": { + "breakdown": { + "total": 5359541.9, + "ether": 2742640.8, + "stablecoin": 2096820.41, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 1.82814812957365 + }, + "stage": "UnderReview", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "degen": { + "id": "degen", + "name": "Degen Chain", + "slug": "degen", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Social" + ], + "isArchived": false, + "hostChain": "Base", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Base" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 3943546.63, + "ether": 0, + "stablecoin": 0, + "associated": 3943546.63 + }, + "associatedTokens": [ + "DEGEN" + ], + "change7d": -0.0369610374110584 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1000d 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 5d 14h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 6d 15h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "shape": { + "id": "shape", + "name": "Shape", + "slug": "shape", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Alchemy" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 3836315.09, + "ether": 3836315.09, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.0796164999344473 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "astarzkevm": { + "id": "astarzkevm", + "name": "Astar zkEVM", + "slug": "astarzkevm", + "type": "layer2", + "category": "Validium", + "provider": "Polygon", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "Stack", + "name": "PolygonCDK" + }, + { + "category": "Infra", + "name": "AggLayer" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 3716293.75, + "ether": 2035537.14, + "stablecoin": 1676918.14, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.0701604665166837 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST, SN)", + "sentiment": "good", + "description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 3/5 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "warning": { + "value": "The Security Council can remove the delay on upgrades.", + "sentiment": "bad" + }, + "description": "Even though there is a 10d Timelock for upgrades, forced transactions are disabled. Even if they were to be enabled, user withdrawals can be censored up to 15d." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge. There is a 5d delay for proving and a 5d delay for finalizing state proven in this way. These delays can only be lowered except during the emergency state." + } + ] + }, + "xai": { + "id": "xai", + "name": "Xai", + "slug": "xai", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Gaming" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 2682737.32, + "ether": 215598.46, + "stablecoin": 130247.06, + "associated": 2336835.36 + }, + "associatedTokens": [ + "XAI" + ], + "change7d": 0.172507890170786 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 5/7 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 25d 10h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "mint": { + "id": "mint", + "name": "Mint", + "slug": "mint", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "NFT" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 2474608.79, + "ether": 1823743.75, + "stablecoin": 340795.63, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.113352480744416 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "polynomial": { + "id": "polynomial", + "name": "Polynomial", + "slug": "polynomial", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 2359746.22, + "ether": 55973.27, + "stablecoin": 2170728.42, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.08117353978076 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "redstone": { + "id": "redstone", + "name": "Redstone", + "slug": "redstone", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Gaming" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "CustomDA" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 2072912, + "ether": 2046926.19, + "stablecoin": 25749.9, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.18667240361929 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation rely on data that is NOT published onchain. Redstone uses a custom data availability provider without attestations, relying though on DA challenges." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "zkspace": { + "id": "zkspace", + "name": "ZKSpace", + "slug": "zkspace", + "type": "layer2", + "category": "ZK Rollup", + "provider": "ZKsync Lite", + "purposes": [ + "NFT", + "Exchange", + "Payments" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "EthereumCalldata" + }, + { + "category": "Fork", + "name": "ZKsyncLiteFork" + } + ], + "tvl": { + "breakdown": { + "total": 1935240.99, + "ether": 134024.79, + "stablecoin": 23011.72, + "associated": 1707170.46 + }, + "associatedTokens": [ + "ZKS" + ], + "change7d": -0.0139578514429549 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for for more than 3d, users can use the exit hatch to withdraw their funds." + }, + { + "name": "State Validation", + "value": "ZK proofs (SN)", + "sentiment": "good", + "description": "SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "5d", + "sentiment": "bad", + "description": "Users have 5d to exit funds in case of an unwanted regular upgrade. There is a 8d delay before a regular upgrade is applied, and withdrawals can take up to 3d to be processed." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a zero knowledge proof of funds." + } + ] + }, + "ancient": { + "id": "ancient", + "name": "Ancient8", + "slug": "ancient8", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Gaming" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 1510795.21, + "ether": 624177.06, + "stablecoin": 0, + "associated": 886618.15 + }, + "associatedTokens": [ + "A8" + ], + "change7d": 0.100651648600796 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "hychain": { + "id": "hychain", + "name": "HYCHAIN", + "slug": "hychain", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Gaming" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 1488688.94, + "ether": 0, + "stablecoin": 0, + "associated": 1488688.94 + }, + "associatedTokens": [ + "TOPIA" + ], + "change7d": 0.374977337920098 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "Fraud proofs only allow 2 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "xchain": { + "id": "xchain", + "name": "XCHAIN", + "slug": "xchain", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 1194423.32, + "ether": 28089.82, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": -0.000614588273841865 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 5d 14h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 11d 23h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "termstructure": { + "id": "termstructure", + "name": "Term Structure", + "slug": "termstructure", + "type": "layer2", + "category": "ZK Rollup", + "provider": "ZKsync Lite", + "purposes": [ + "Payments", + "Exchange", + "Lending" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "EthereumCalldata" + }, + { + "category": "Fork", + "name": "ZKsyncLiteFork" + } + ], + "tvl": { + "breakdown": { + "total": 1151246.5, + "ether": 232267.11, + "stablecoin": 588043.05, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.0617048699750415 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for for more than 14d, users can use the exit hatch to withdraw their funds." + }, + { + "name": "State Validation", + "value": "ZK proofs (SN)", + "sentiment": "good", + "description": "SNARKs are zero knowledge proofs that ensure state correctness, but require trusted setup." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a zero knowledge proof of funds." + } + ] + }, + "alienx": { + "id": "alienx", + "name": "AlienX", + "slug": "alienx", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Gaming", + "AI", + "NFT" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 1059826.93, + "ether": 1024524.05, + "stablecoin": 21837.56, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.182202016057215 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "fluence": { + "id": "fluence", + "name": "Fluence", + "slug": "fluence", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 878846.76, + "ether": 0, + "stablecoin": 2034.38, + "associated": 876812.38 + }, + "associatedTokens": [ + "FLT" + ], + "change7d": -0.0442062518831686 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 40d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "popapex": { + "id": "popapex", + "name": "Proof of Play Apex", + "shortName": "PoP Apex", + "slug": "popapex", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Gaming" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 838083.3, + "ether": 838083.3, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.19048371904013 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1001d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 5d 14h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 24d 16h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "dbk": { + "id": "dbk", + "name": "DeBank Chain", + "slug": "dbk", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 802894.82, + "ether": 802894.82, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.181637050442997 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "rari": { + "id": "rari", + "name": "RARI Chain", + "slug": "rari", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "NFT" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 731356.58, + "ether": 637547.3, + "stablecoin": 93684.72, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.513099368987276 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 25d 10h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "swan": { + "id": "swan", + "name": "Swan Chain", + "slug": "swan", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "AI", + "Storage" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 710064.73, + "ether": 710064.73, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.189566233725809 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "publicgoodsnetwork": { + "id": "publicgoodsnetwork", + "name": "Public Goods Network", + "shortName": "PGN", + "slug": "publicgoodsnetwork", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 664698.4, + "ether": 582092.55, + "stablecoin": 82605.85, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.159333476702434 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "optopia": { + "id": "optopia", + "name": "Optopia", + "slug": "optopia", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "AI" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 650784.65, + "ether": 324752.69, + "stablecoin": 58821.64, + "associated": 267210.32 + }, + "associatedTokens": [ + "OPAI" + ], + "change7d": 0.126418538918653 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "alephzero": { + "id": "alephzero", + "name": "Aleph Zero EVM", + "slug": "aleph-zero", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Privacy" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 372801.69, + "ether": 0, + "stablecoin": 0, + "associated": 372801.69 + }, + "associatedTokens": [ + "AZERO" + ], + "change7d": 0.0414324536760904 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 4d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "Fraud proofs only allow 2 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "superlumio": { + "id": "superlumio", + "name": "SuperLumio", + "slug": "superlumio", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 255793.38, + "ether": 249607.66, + "stablecoin": 5366.71, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.174674105604649 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "ebichain": { + "id": "ebichain", + "name": "Ebi Chain", + "slug": "ebichain", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Exchange" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": true, + "badges": [ + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Conduit" + } + ], + "tvl": { + "breakdown": { + "total": 238658.39, + "ether": 238658.39, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.186449576646522 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "honeypot": { + "id": "honeypot", + "name": "Honeypot (Cartesi)", + "shortName": "Honeypot", + "slug": "cartesi-honeypot", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "Cartesi Rollups", + "purposes": [ + "Bug bounty" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "CartesiVM" + }, + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "EthereumCalldata" + }, + { + "category": "Stack", + "name": "Cartesi" + } + ], + "tvl": { + "breakdown": { + "total": 230490.19, + "ether": 0, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.0660027137283037 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is no delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "∞", + "sentiment": "good", + "description": "Users can exit funds at any time because contracts are not upgradeable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "metal": { + "id": "metal", + "name": "Metal", + "slug": "metal", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 187656.73, + "ether": 187544.95, + "stablecoin": 111.78, + "associated": 0 + }, + "associatedTokens": [ + "MTL" + ], + "change7d": 0.192628491975515 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "popboss": { + "id": "popboss", + "name": "Proof of Play Boss", + "shortName": "PoP Boss", + "slug": "popboss", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Gaming" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 172103.01, + "ether": 172103.01, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.239890476575737 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 5d 14h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 24d 16h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "myria": { + "id": "myria", + "name": "Myria", + "slug": "myria", + "type": "layer2", + "category": "Validium", + "provider": "StarkEx", + "purposes": [ + "NFT", + "Exchange", + "Gaming" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "StarkEx" + }, + { + "category": "Infra", + "name": "SHARP" + } + ], + "tvl": { + "breakdown": { + "total": 165657.93, + "ether": 165657.93, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [ + "MYRIA" + ], + "change7d": 0.186764849055967 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Force via L1", + "sentiment": "good", + "description": "Users can force the sequencer to include a withdrawal transaction by submitting a request through L1. If the sequencer censors or is down for for more than 7d, users can use the exit hatch to withdraw their funds." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST)", + "sentiment": "good", + "description": "STARKs are zero knowledge proofs that ensure state correctness." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 2/5 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Use escape hatch", + "sentiment": "good", + "description": "Users are able to trustlessly exit by submitting a Merkle proof of funds. NFTs will be minted on L1 to exit." + } + ] + }, + "ham": { + "id": "ham", + "name": "Ham", + "slug": "ham", + "type": "layer3", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Social" + ], + "isArchived": false, + "hostChain": "Base", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "L3ParentChain", + "name": "Base" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 158456.43, + "ether": 158347.83, + "stablecoin": 81.44, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.191572043492833 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "cheese": { + "id": "cheese", + "name": "CheeseChain", + "slug": "cheese", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": true, + "badges": [ + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + }, + { + "category": "RaaS", + "name": "Caldera" + } + ], + "tvl": { + "breakdown": { + "total": 115431.53, + "ether": 0, + "stablecoin": 0, + "associated": 115431.53 + }, + "associatedTokens": [ + "CHEESE" + ], + "change7d": -0.187586603260365 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "parallel": { + "id": "parallel", + "name": "Parallel", + "slug": "parallel", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "DA", + "name": "EthereumCalldata" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 78548.03, + "ether": 78548.03, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.186404445827988 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d challenge period." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 8h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "edgeless": { + "id": "edgeless", + "name": "Edgeless", + "slug": "edgeless", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "CustomDA" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 61505.01, + "ether": 61505.01, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.187286185245571 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "everclear": { + "id": "everclear", + "name": "Everclear Hub", + "slug": "everclear", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Interoperability" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 59513.86, + "ether": 59513.86, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [ + "NEXT" + ], + "change7d": 0.186449476698276 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 4d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "river": { + "id": "river", + "name": "River", + "slug": "river", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 59061.73, + "ether": 59061.73, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.18644952022118 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "hypr": { + "id": "hypr", + "name": "Hypr", + "slug": "hypr", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 58268.16, + "ether": 58268.16, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.186449733829403 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "oevnetwork": { + "id": "oevnetwork", + "name": "OEV Network", + "slug": "oev", + "type": "layer2", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Oracles" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 55514.85, + "ether": 55514.85, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.192865222088619 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 12d 17h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "molten": { + "id": "molten", + "name": "Molten Network", + "shortName": "Molten", + "slug": "molten", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 49359.4, + "ether": 21.18, + "stablecoin": 35317.94, + "associated": 14020.28 + }, + "associatedTokens": [ + "MOLTEN" + ], + "change7d": 0.0350861998642376 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 25d 10h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "wirex": { + "id": "wirex", + "name": "Pay Chain", + "slug": "wirex", + "type": "layer2", + "category": "Validium", + "provider": "Polygon", + "purposes": [ + "Universal", + "Payments" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Gateway" + }, + { + "category": "Stack", + "name": "PolygonCDK" + }, + { + "category": "Infra", + "name": "AggLayer" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 40374.61, + "ether": 1654.05, + "stablecoin": 38720.56, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.026423902039953 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST, SN)", + "sentiment": "good", + "description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "warning": { + "value": "The Security Council can remove the delay on upgrades.", + "sentiment": "bad" + }, + "description": "Even though there is a 10d Timelock for upgrades, forced transactions are disabled. Even if they were to be enabled, user withdrawals can be censored up to 15d." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge. There is a 5d delay for proving and a 5d delay for finalizing state proven in this way. These delays can only be lowered except during the emergency state." + } + ] + }, + "xterio": { + "id": "xterio", + "name": "Xterio Chain", + "slug": "xterio", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Gaming" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "CustomDA" + }, + { + "category": "RaaS", + "name": "AltLayer" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 22983.01, + "ether": 22983.01, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.186450118835965 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation rely on data that is NOT published onchain. Xterio uses a custom data availability provider without attestations, relying though on DA challenges." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "syndicateframe": { + "id": "syndicateframe", + "name": "Syndicate Frame Chain", + "shortName": "Frame Chain", + "slug": "syndicateframe", + "type": "layer3", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Social" + ], + "isArchived": false, + "hostChain": "Base", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "L3ParentChain", + "name": "Base" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 18786.69, + "ether": 18786.69, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.186449358926589 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "deri": { + "id": "deri", + "name": "Deri", + "slug": "deri", + "type": "layer3", + "category": "Optimistic Rollup", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 17037.6, + "ether": 17037.6, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.186450002263208 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 1d challenge period." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 20d 2h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "lambda": { + "id": "lambda", + "name": "Lambda Chain", + "slug": "lambda", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Storage" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 14647.21, + "ether": 14637.21, + "stablecoin": 10, + "associated": 0 + }, + "associatedTokens": [ + "LAMB" + ], + "change7d": 0.186299958613328 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "ethernity": { + "id": "ethernity", + "name": "Ethernity", + "slug": "ethernity", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal", + "AI" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "Infra", + "name": "Superchain" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "DA", + "name": "EthereumBlobs" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 10776.49, + "ether": 10680.13, + "stablecoin": 23.64, + "associated": 33.13 + }, + "associatedTokens": [ + "ERN" + ], + "change7d": 0.18546333382102 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "hook": { + "id": "hook", + "name": "Hook", + "slug": "hook", + "type": "layer3", + "category": "Optimistic Rollup", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "NFT", + "Exchange" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": true, + "badges": [], + "tvl": { + "breakdown": { + "total": 7489.72, + "ether": 7028.35, + "stablecoin": 461.37, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.173051080531636 + }, + "stage": "UnderReview", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "l3x": { + "id": "l3x", + "name": "L3X", + "slug": "l3x", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 5710.42, + "ether": 5708.4, + "stablecoin": 2.02, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.182335427286543 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 1d challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 20d 2h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "funki": { + "id": "funki", + "name": "Funki", + "slug": "funki", + "type": "layer2", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": true, + "badges": [], + "tvl": { + "breakdown": { + "total": 4315.41, + "ether": 3612.79, + "stablecoin": 6, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.154346779370854 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "stack": { + "id": "stack", + "name": "Stack", + "slug": "stack", + "type": "layer3", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Universal", + "Social" + ], + "isArchived": false, + "hostChain": "Base", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "L3ParentChain", + "name": "Base" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 3271.86, + "ether": 3271.86, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.184761118473939 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 1d delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "External", + "sentiment": "bad", + "description": "Proof construction and state derivation fully rely on data that is posted on Celestia. Sequencer tx roots are not checked against the Blobstream bridge data roots onchain, but L2 nodes can verify data availability by running a Celestia light client." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "race": { + "id": "race", + "name": "Race Network", + "slug": "race", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "RWA" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": true, + "badges": [ + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + }, + { + "category": "DA", + "name": "EthereumCalldata" + }, + { + "category": "Infra", + "name": "Superchain" + } + ], + "tvl": { + "breakdown": { + "total": 3071.48, + "ether": 0, + "stablecoin": 3067.67, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.498063697995415 + }, + "stage": "UnderReview", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "clique": { + "id": "clique", + "name": "Clique", + "slug": "clique", + "type": "layer3", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "AI", + "Gaming" + ], + "isArchived": false, + "hostChain": "Base", + "isUpcoming": false, + "isUnderReview": true, + "badges": [ + { + "category": "L3ParentChain", + "name": "Base" + }, + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + }, + { + "category": "RaaS", + "name": "Conduit" + } + ], + "tvl": { + "breakdown": { + "total": 1926.77, + "ether": 1926.77, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.191990992495809 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "kontos": { + "id": "kontos", + "name": "Kontos", + "slug": "kontos", + "type": "layer2", + "category": "ZK Rollup", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": true, + "badges": [], + "tvl": { + "breakdown": { + "total": 1553.1, + "ether": 1385.3, + "stablecoin": 154.2, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.0866158259287764 + }, + "stage": "UnderReview", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "donatuz": { + "id": "donatuz", + "name": "Donatuz", + "slug": "donatuz", + "type": "layer3", + "category": "Optimium", + "provider": "OP Stack", + "purposes": [ + "Social" + ], + "isArchived": false, + "hostChain": "Base", + "isUpcoming": false, + "isUnderReview": true, + "badges": [ + { + "category": "L3ParentChain", + "name": "Base" + }, + { + "category": "DA", + "name": "EigenDA" + }, + { + "category": "Stack", + "name": "OPStack" + }, + { + "category": "VM", + "name": "EVM" + }, + { + "category": "RaaS", + "name": "Conduit" + }, + { + "category": "Infra", + "name": "Superchain" + } + ], + "tvl": { + "breakdown": { + "total": 1490.81, + "ether": 1490.81, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.186449985276913 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "nal": { + "id": "nal", + "name": "Nal", + "slug": "nal", + "type": "layer2", + "category": "Optimistic Rollup", + "provider": "OP Stack", + "purposes": [ + "Universal" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": true, + "badges": [], + "tvl": { + "breakdown": { + "total": 1012.94, + "ether": 0, + "stablecoin": 1012.94, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.000651993519579452 + }, + "stage": "UnderReview", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "fuelv1": { + "id": "fuelv1", + "name": "Fuel v1", + "slug": "fuelv1", + "type": "layer2", + "category": "Optimistic Rollup", + "purposes": [ + "Payments" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "DA", + "name": "EthereumCalldata" + } + ], + "tvl": { + "breakdown": { + "total": 768.03, + "ether": 750.02, + "stablecoin": 18.01, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.181293835363603 + }, + "stage": "Stage 2", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1." + }, + { + "name": "State Validation", + "value": "Fraud proofs (1R)", + "sentiment": "good", + "description": "Fraud proofs allow actors watching the chain to prove that the state is incorrect. Single round proofs (1R) only require a single transaction to resolve." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on Ethereum L1." + }, + { + "name": "Exit Window", + "value": "∞", + "sentiment": "good", + "description": "Users can exit funds at any time because contracts are not upgradeable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can be a Proposer and propose new roots to the L1 bridge." + } + ] + }, + "pmon": { + "id": "pmon", + "name": "PMON Chain", + "slug": "pmon", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Gaming", + "NFT" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": true, + "badges": [ + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "DA", + "name": "Celestia" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + }, + { + "category": "RaaS", + "name": "AltLayer" + } + ], + "tvl": { + "breakdown": { + "total": 598.57, + "ether": 0, + "stablecoin": 0, + "associated": 598.57 + }, + "associatedTokens": [ + "PMON" + ], + "change7d": 0.12148464579469 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "bugbuster": { + "id": "bugbuster", + "name": "Bug Buster", + "slug": "bugbuster", + "type": "layer3", + "category": "Optimistic Rollup", + "provider": "Cartesi Rollups", + "purposes": [ + "Bug bounty" + ], + "isArchived": false, + "hostChain": "OP Mainnet", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "Stack", + "name": "Cartesi" + }, + { + "category": "VM", + "name": "AppChain" + }, + { + "category": "VM", + "name": "CartesiVM" + }, + { + "category": "DA", + "name": "EthereumCalldata" + }, + { + "category": "L3ParentChain", + "name": "Optimism" + } + ], + "tvl": { + "breakdown": { + "total": 520.03, + "ether": 0, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.0660066006600659 + }, + "stage": "Stage 0", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 12h delay on this operation." + }, + { + "name": "State Validation", + "value": "None", + "sentiment": "bad", + "description": "Currently the system permits invalid state roots. More details in project overview." + }, + { + "name": "Data Availability", + "value": "Onchain", + "sentiment": "good", + "description": "All of the data needed for proof construction is published on the base chain, which ultimately gets published on Ethereum." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Cannot withdraw", + "sentiment": "bad", + "description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen." + } + ] + }, + "gpt": { + "id": "gpt", + "name": "GPT Protocol", + "slug": "gpt", + "type": "layer2", + "category": "Validium", + "provider": "Polygon", + "purposes": [ + "Universal", + "AI" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "RaaS", + "name": "Gateway" + }, + { + "category": "Stack", + "name": "PolygonCDK" + }, + { + "category": "Infra", + "name": "AggLayer" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 247.28, + "ether": 14.96, + "stablecoin": 0, + "associated": 232.32 + }, + "associatedTokens": [ + "GPT" + ], + "change7d": 1.87936655798789 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST, SN)", + "sentiment": "good", + "description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "warning": { + "value": "The Security Council can remove the delay on upgrades.", + "sentiment": "bad" + }, + "description": "Even though there is a 10d Timelock for upgrades, forced transactions are disabled. Even if they were to be enabled, user withdrawals can be censored up to 15d." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge. There is a 5d delay for proving and a 5d delay for finalizing state proven in this way. These delays can only be lowered except during the emergency state." + } + ] + }, + "witness": { + "id": "witness", + "name": "Witness Chain", + "slug": "witness", + "type": "layer2", + "category": "Validium", + "provider": "Polygon", + "purposes": [ + "Universal", + "IoT", + "Oracles" + ], + "isArchived": false, + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "PolygonCDK" + }, + { + "category": "Infra", + "name": "AggLayer" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 29.85, + "ether": 29.85, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0.186406995230525 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "No mechanism", + "sentiment": "bad", + "description": "There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled." + }, + { + "name": "State Validation", + "value": "ZK proofs (ST, SN)", + "sentiment": "good", + "description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "warning": { + "value": "The Security Council can remove the delay on upgrades.", + "sentiment": "bad" + }, + "description": "Even though there is a 10d Timelock for upgrades, forced transactions are disabled. Even if they were to be enabled, user withdrawals can be censored up to 15d." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge. There is a 5d delay for proving and a 5d delay for finalizing state proven in this way. These delays can only be lowered except during the emergency state." + } + ] + }, + "apechain": { + "id": "apechain", + "name": "ApeChain", + "slug": "apechain", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Arbitrum" + }, + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "associatedTokens": [] + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 4d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 5/7 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 25d 10h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "dodochain": { + "id": "dodochain", + "name": "DODOchain", + "slug": "dodochain", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Interoperability" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": true, + "badges": [], + "tvl": { + "associatedTokens": [] + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "inevm": { + "id": "inevm", + "name": "inEVM", + "slug": "inevm", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Interoperability" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "RaaS", + "name": "Caldera" + }, + { + "category": "DA", + "name": "DAC" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 0, + "ether": 0, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/1 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 25d 10h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "muster": { + "id": "muster", + "name": "Muster", + "slug": "muster", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Gaming" + ], + "isArchived": false, + "hostChain": "Arbitrum One", + "isUpcoming": false, + "isUnderReview": true, + "badges": [], + "tvl": { + "associatedTokens": [] + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + }, + "playblock": { + "id": "playblock", + "name": "PlayBlock", + "slug": "playblock", + "type": "layer3", + "category": "Optimium", + "provider": "Arbitrum", + "purposes": [ + "Universal", + "Gaming" + ], + "isArchived": false, + "hostChain": "Arbitrum Nova", + "isUpcoming": false, + "isUnderReview": false, + "badges": [ + { + "category": "DA", + "name": "DAC" + }, + { + "category": "L3ParentChain", + "name": "Nova" + }, + { + "category": "RaaS", + "name": "Gelato" + }, + { + "category": "Stack", + "name": "Orbit" + }, + { + "category": "VM", + "name": "EVM" + } + ], + "tvl": { + "breakdown": { + "total": 0, + "ether": 0, + "stablecoin": 0, + "associated": 0 + }, + "associatedTokens": [], + "change7d": 0 + }, + "stage": "NotApplicable", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Self sequence", + "sentiment": "good", + "description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There is a 2d delay on this operation." + }, + { + "name": "State Validation", + "value": "Fraud proofs (INT)", + "sentiment": "bad", + "description": "No actor outside of the single Proposer can submit fraud proofs. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 30m challenge period." + }, + { + "name": "Data Availability", + "value": "External (DAC)", + "sentiment": "bad", + "description": "Proof construction relies fully on data that is NOT published onchain. There exists a Data Availability Committee (DAC) with a threshold of 1/2 that is tasked with protecting and supplying the data." + }, + { + "name": "Exit Window", + "value": "None", + "sentiment": "bad", + "description": "There is no window for users to exit in case of an unwanted regular upgrade since contracts are instantly upgradable." + }, + { + "name": "Proposer Failure", + "value": "Self propose", + "sentiment": "good", + "description": "Anyone can become a Proposer after 19d 2h of inactivity from the currently whitelisted Proposers." + } + ] + }, + "teva": { + "id": "teva", + "name": "Teva Chain", + "slug": "teva", + "type": "layer3", + "category": "ZK Rollup", + "provider": "ZK Stack", + "purposes": [ + "Gaming" + ], + "isArchived": false, + "hostChain": "ZKsync Era", + "isUpcoming": false, + "isUnderReview": true, + "badges": [], + "tvl": { + "associatedTokens": [] + }, + "stage": "UnderReview", + "risks": [ + { + "name": "Sequencer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "State Validation", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Data Availability", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Exit Window", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + }, + { + "name": "Proposer Failure", + "value": "Under Review", + "sentiment": "UnderReview", + "description": "This risk is currently under review." + } + ] + } + } + } +} \ No newline at end of file From abbd26dd6cb6eb77f17ff1b4863fb0682616f707 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Fri, 8 Nov 2024 21:43:13 -0800 Subject: [PATCH 059/165] callout cards --- src/pages/layer-2/networks.tsx | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx index 21db3c74fb0..6a27a820c4f 100644 --- a/src/pages/layer-2/networks.tsx +++ b/src/pages/layer-2/networks.tsx @@ -4,6 +4,8 @@ import { serverSideTranslations } from "next-i18next/serverSideTranslations" import type { BasePageProps, Lang } from "@/lib/types" +import { ButtonLink } from "@/components/Buttons" +import Callout from "@/components/Callout" import { ContentHero, ContentHeroProps } from "@/components/Hero" import Layer2NetworksTable from "@/components/Layer2NetworksTable" import MainArticle from "@/components/MainArticle" @@ -21,6 +23,8 @@ import { BASE_TIME_UNIT } from "@/lib/constants" import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" import { fetchL2beat } from "@/lib/api/fetchL2beat" +import Callout2Image from "@/public/images/layer-2/layer-2-walking.png" +import Callout1Image from "@/public/images/man-and-dog-playing.png" // In seconds const REVALIDATE_TIME = BASE_TIME_UNIT * 1 @@ -88,6 +92,34 @@ const Layer2Networks = ({ layer2Data, locale }) => { + +
+ +
+ Learn more +
+
+ +
+ Learn more +
+
+
) } From 777d9bd1d5510da91cd0ed3742dadb35ced71556 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 00:19:40 -0800 Subject: [PATCH 060/165] advanced cta --- src/pages/layer-2/networks.tsx | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx index 6a27a820c4f..ab8c500dcb0 100644 --- a/src/pages/layer-2/networks.tsx +++ b/src/pages/layer-2/networks.tsx @@ -93,6 +93,30 @@ const Layer2Networks = ({ layer2Data, locale }) => { +
+
+

Looking for more advanced overview?

+
+

+ Many of the projects are{" "} + still young and somewhat experimental. +

+

+ For more information on the technology, risks and trust + assumptions of these networks, we recommend checking out L2BEAT, + which provides a comprehensive risk assessment framework of each + project and Growthepie for general data analysis. +

+
+
+ Visit l2beat.com + + Visit growthepie.xyz + +
+
+
+
Date: Sat, 9 Nov 2024 01:57:38 -0800 Subject: [PATCH 061/165] maturity rating --- .../hooks/useNetworkColumns.tsx | 8 +- src/components/ui/badge.tsx | 4 + src/lib/utils/networkMaturity.ts | 73 +++++++++++++++++++ src/pages/layer-2/networks.tsx | 4 + 4 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 src/lib/utils/networkMaturity.ts diff --git a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx index 8146ab8c0fd..8a0a9b29e1c 100644 --- a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx +++ b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx @@ -8,6 +8,7 @@ import { Lang } from "@/lib/types" import { TwImage } from "@/components/Image" import InlineLink from "@/components/Link" import Tooltip from "@/components/Tooltip" +import { Badge } from "@/components/ui/badge" import { TableCell, TableHead } from "@/components/ui/Table" import { Rollup } from "@/data/layer-2/layer-2" @@ -105,7 +106,6 @@ export const useNetworkColumns: ColumnDef[] = [ ), cell: ({ table, row }) => { - console.log(row.original) return (

@@ -149,10 +149,12 @@ export const useNetworkColumns: ColumnDef[] = [

), - cell: () => { + cell: ({ row }) => { return ( -

TODO

+ + {row.original.networkMaturity.toUpperCase()} +
) }, diff --git a/src/components/ui/badge.tsx b/src/components/ui/badge.tsx index 3b14f44a3d7..98732f91f7e 100644 --- a/src/components/ui/badge.tsx +++ b/src/components/ui/badge.tsx @@ -21,6 +21,10 @@ const badgeVariants = cva( outline: "text-foreground", // TODO: remove variant once we finish the badge and tag components with DS styles productTable: "bg-body-light text-body font-medium uppercase", + emerging: "bg-blue-600 text-white", + developing: "bg-blue-400 text-white", + maturing: "bg-blue-200 text-black", + robust: "bg-blue-100 text-black", }, }, defaultVariants: { diff --git a/src/lib/utils/networkMaturity.ts b/src/lib/utils/networkMaturity.ts new file mode 100644 index 00000000000..d5e7843d6d5 --- /dev/null +++ b/src/lib/utils/networkMaturity.ts @@ -0,0 +1,73 @@ +const getMaturityPoints = (l2beatData) => { + const data = l2beatData.risks.reduce((acc, curr) => { + return { + ...acc, + [curr.name]: curr.sentiment, + } + }, {}) + + let maturityPoints = 0 + + if (data["Sequencer Failure"] === "good") { + maturityPoints += 1 + } + + if (data["Sequencer Failure"] === "warning") { + maturityPoints += 0.5 + } + + if (data["State Validation"] === "good") { + maturityPoints += 1 + } + + if (data["State Validation"] === "warning") { + maturityPoints += 0.5 + } + + if (data["Data Availability"] === "good") { + maturityPoints += 1 + } + + if (data["Exit Window"] === "good") { + maturityPoints += 1 + } + + if (data["Exit Window"] === "warning") { + maturityPoints += 0.5 + } + + if (data["Proposer Failure"] === "good") { + maturityPoints += 1 + } + + if (data["Proposer Failure"] === "warning") { + maturityPoints += 0.5 + } + + return maturityPoints +} + +export const networkMaturity = (l2beatData) => { + const maturityPoints = getMaturityPoints(l2beatData) + + if ( + maturityPoints >= 5 && + l2beatData.stage === "Stage 2" && + l2beatData.tvl.total > 1000000000 + ) { + return "robust" + } + + if ( + maturityPoints >= 3 && + (l2beatData.stage === "Stage 2" || l2beatData.stage === "Stage 1") + ) { + return "maturing" + } + + if (maturityPoints >= 1 && l2beatData.stage === "Stage 0") { + return "developing" + } + + return "emerging" +} diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx index ab8c500dcb0..fff61c1a6d8 100644 --- a/src/pages/layer-2/networks.tsx +++ b/src/pages/layer-2/networks.tsx @@ -14,6 +14,7 @@ import PageMetadata from "@/components/PageMetadata" import { dataLoader } from "@/lib/utils/data/dataLoader" import { existsNamespace } from "@/lib/utils/existsNamespace" import { getLastDeployDate } from "@/lib/utils/getLastDeployDate" +import { networkMaturity } from "@/lib/utils/networkMaturity" import { getLocaleTimestamp } from "@/lib/utils/time" import { getRequiredNamespacesForPage } from "@/lib/utils/translations" @@ -55,6 +56,9 @@ export const getStaticProps = (async ({ locale }) => { ...network, txCosts: growThePieData.dailyTxCosts[network.growthepieID], l2beatData: l2beatData.data.projects[network.l2beatID], + networkMaturity: networkMaturity( + l2beatData.data.projects[network.l2beatID] + ), } }) From 2a43f0e7315e51160c9d874c17c070a4b3bbccda Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 02:00:50 -0800 Subject: [PATCH 062/165] arrow --- .../Layer2NetworksTable/hooks/useNetworkColumns.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx index 8a0a9b29e1c..983bec99a69 100644 --- a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx +++ b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx @@ -1,5 +1,6 @@ "use client" +import { IoChevronDownSharp, IoChevronUpSharp } from "react-icons/io5" import { MdInfoOutline } from "react-icons/md" import { ColumnDef } from "@tanstack/react-table" @@ -161,7 +162,13 @@ export const useNetworkColumns: ColumnDef[] = [ }, { id: "dropdown", - header: () => , - cell: () => , + header: () => , + cell: ({ row }) => { + return ( + + {row.getIsExpanded() ? : } + + ) + }, }, ] From 037673b156494013d872449f6800c6e5a93062f2 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 02:21:49 -0800 Subject: [PATCH 063/165] mobile styling --- .../hooks/useNetworkColumns.tsx | 56 +++++++++++++++++-- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx index 983bec99a69..50b9454ba15 100644 --- a/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx +++ b/src/components/Layer2NetworksTable/hooks/useNetworkColumns.tsx @@ -26,11 +26,59 @@ export const useNetworkColumns: ColumnDef[] = [ ) }, - cell: ({ row }) => { + cell: ({ table, row }) => { return ( - - -

{row.original.name}

+ +
+
+ +

{row.original.name}

+
+
+
+ + {row.original.networkMaturity.toUpperCase()} + +
+
+
+
+

Avg. transaction fee

+

+ $ + {row.original.txCosts.toLocaleString( + table.options.meta.locale as Lang, + { + minimumFractionDigits: 2, + maximumFractionDigits: 3, + } + )} +

+
+
+

Market share

+

+ {new Intl.NumberFormat(table.options.meta.locale as Lang, { + style: "currency", + currency: "USD", + notation: "compact", + minimumSignificantDigits: 3, + maximumSignificantDigits: 3, + }).format(row.original.l2beatData.tvl.breakdown.total)} +

+
+
+
+
+ {row.getIsExpanded() ? ( + + ) : ( + + )} +
) }, From ddaefff36c03b68f8949f48b9cebb28a1c855d35 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 02:29:07 -0800 Subject: [PATCH 064/165] setup subcomponent --- src/components/Layer2NetworksTable/NetworksSubComponent.tsx | 6 ++++++ src/components/Layer2NetworksTable/index.tsx | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 src/components/Layer2NetworksTable/NetworksSubComponent.tsx diff --git a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx new file mode 100644 index 00000000000..25f48d88571 --- /dev/null +++ b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx @@ -0,0 +1,6 @@ +const NetworkSubComponent = ({ network, listIdx }) => { + console.log(network, listIdx) + return <>test +} + +export default NetworkSubComponent diff --git a/src/components/Layer2NetworksTable/index.tsx b/src/components/Layer2NetworksTable/index.tsx index b6aa642bb68..29c3382fa02 100644 --- a/src/components/Layer2NetworksTable/index.tsx +++ b/src/components/Layer2NetworksTable/index.tsx @@ -4,6 +4,7 @@ import { FilterOption, Lang } from "@/lib/types" import { useNetworkColumns } from "@/components/Layer2NetworksTable/hooks/useNetworkColumns" import { useNetworkFilters } from "@/components/Layer2NetworksTable/hooks/useNetworkFilters" +import NetworkSubComponent from "@/components/Layer2NetworksTable/NetworksSubcomponent" import ProductTable from "@/components/ProductTable" import type { Rollups } from "@/data/layer-2/layer-2" @@ -43,9 +44,8 @@ const Layer2NetworksTable = ({ presetFilters={[]} resetFilters={resetFilters} setFilters={setFilters} - subComponent={(wallet, listIdx) => { - console.log(wallet, listIdx) - return <> + subComponent={(network, listIdx) => { + return }} noResultsComponent={() => <>} mobileFiltersLabel={"See networks"} From 0ef20d4cfdb4b44abc1cd134a8c261f76bf5ed95 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 10:14:36 -0800 Subject: [PATCH 065/165] subcomponent progress --- .../NetworksSubComponent.tsx | 153 +++++++++++++++++- src/components/Layer2NetworksTable/index.tsx | 4 +- 2 files changed, 152 insertions(+), 5 deletions(-) diff --git a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx index 25f48d88571..3d925f773c4 100644 --- a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx +++ b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx @@ -1,6 +1,153 @@ -const NetworkSubComponent = ({ network, listIdx }) => { - console.log(network, listIdx) - return <>test +import { MdInfoOutline } from "react-icons/md" + +import { ButtonLink } from "@/components/Buttons" +import InlineLink from "@/components/Link" +import Tooltip from "@/components/Tooltip" + +const NetworkSubComponent = ({ network }) => { + return ( +
+
+
+
+
+
+

+ Age{" "} + +

Age

+

Shows how long the networks has been operational.

+

+ Data from{" "} + + Growthepie + + . +

+
+ } + > + + +

+

TODO: stat

+
+
+
+
+

+ Wallet support{" "} + +

Wallet support

+

+ Indicates how many wallet apps support using the + network. +

+
+ } + > + + +

+
+

TODO: stat

+
+
+
+
+
+

+ Active addresses{" "} + +

+ Active addresses (weekly) +

+

+ Number of active addresses on the network in the past + 7 days. +

+

+ Data from{" "} + + Growthepie + + . +

+
+ } + > + + +

+
+

TODO: stat

+
+
+
+

+ Fee token{" "} + +

Fee token

+

+ The token that is used to pay for transactions and + using the network. +

+
+ } + > + + +

+
+

TODO: stat

+
+
+
+
+

TODO: Chart

+
+
+
+
+

Links

+
+ Official website +
+ Risk analysis +

Assessment by L2BEAT

+
+
+ + Detailed analytics + +

+ Assessment by growthepie +

+
+
+
+
+

Actions

+
+ + Bridge to {network.name} + + + View apps + +
+
+
+ + ) } export default NetworkSubComponent diff --git a/src/components/Layer2NetworksTable/index.tsx b/src/components/Layer2NetworksTable/index.tsx index 29c3382fa02..79e4c3d1318 100644 --- a/src/components/Layer2NetworksTable/index.tsx +++ b/src/components/Layer2NetworksTable/index.tsx @@ -44,8 +44,8 @@ const Layer2NetworksTable = ({ presetFilters={[]} resetFilters={resetFilters} setFilters={setFilters} - subComponent={(network, listIdx) => { - return + subComponent={(network) => { + return }} noResultsComponent={() => <>} mobileFiltersLabel={"See networks"} From a733b762f97b16ffbe80bf0322a665f6921e5ec1 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 10:26:23 -0800 Subject: [PATCH 066/165] padding --- src/components/Layer2NetworksTable/NetworksSubComponent.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx index 3d925f773c4..0dc45f2de1c 100644 --- a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx +++ b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx @@ -6,7 +6,7 @@ import Tooltip from "@/components/Tooltip" const NetworkSubComponent = ({ network }) => { return ( -
+
@@ -115,7 +115,7 @@ const NetworkSubComponent = ({ network }) => {

TODO: Chart

-
+

Links

From 7838145d6aa434abd4e4df5c00c2fed6eec69de1 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 11:52:15 -0800 Subject: [PATCH 067/165] stats box and data fetching --- .../NetworksSubComponent.tsx | 17 +++++++++++++++-- src/lib/api/fetchGrowThePie.ts | 11 +++++++++++ src/lib/types.ts | 1 + src/pages/layer-2/networks.tsx | 1 + 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx index 0dc45f2de1c..b443b53907b 100644 --- a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx +++ b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx @@ -4,6 +4,19 @@ import { ButtonLink } from "@/components/Buttons" import InlineLink from "@/components/Link" import Tooltip from "@/components/Tooltip" +const formatNumber = (num: number): string => { + if (num >= 1e9) { + return (num / 1e9).toFixed(2) + "B" + } + if (num >= 1e6) { + return (num / 1e6).toFixed(2) + "M" + } + if (num >= 1e3) { + return (num / 1e3).toFixed(0) + "K" + } + return num.toString() +} + const NetworkSubComponent = ({ network }) => { return (
@@ -86,7 +99,7 @@ const NetworkSubComponent = ({ network }) => {

-

TODO: stat

+

{formatNumber(network.activeAddresses)}

@@ -107,7 +120,7 @@ const NetworkSubComponent = ({ network }) => {

-

TODO: stat

+

{network.feeToken}

diff --git a/src/lib/api/fetchGrowThePie.ts b/src/lib/api/fetchGrowThePie.ts index 5c6f62c0c68..8d7b289190d 100644 --- a/src/lib/api/fetchGrowThePie.ts +++ b/src/lib/api/fetchGrowThePie.ts @@ -25,6 +25,16 @@ export const fetchGrowThePie = async (): Promise => { return itemDate > new Date(latest) ? item.date : latest }, data[0].date) + const activeAddresses = data + .filter((item) => item.date === mostRecentDate) + .filter((item) => item.metric_key === "daa") + .reduce((acc, item) => { + return { + ...acc, + [item.origin_key]: item.value, + } + }, {}) + const mostRecentData = data.filter( (item) => item.date === mostRecentDate && @@ -60,5 +70,6 @@ export const fetchGrowThePie = async (): Promise => { acc[item.origin_key] = item.value return acc }, {}), + activeAddresses: activeAddresses, } } diff --git a/src/lib/types.ts b/src/lib/types.ts index 83058f91664..8b9790b7020 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -547,6 +547,7 @@ export type GrowThePieMetricKey = "txCount" | "txCostsMedianUsd" export type GrowThePieData = Record & { dailyTxCosts: Record + activeAddresses: Record } export type MetricName = diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx index fff61c1a6d8..391cf5d7e52 100644 --- a/src/pages/layer-2/networks.tsx +++ b/src/pages/layer-2/networks.tsx @@ -59,6 +59,7 @@ export const getStaticProps = (async ({ locale }) => { networkMaturity: networkMaturity( l2beatData.data.projects[network.l2beatID] ), + activeAddresses: growThePieData.activeAddresses[network.growthepieID], } }) From 44f698d10e936841200755c9587939f58aedfcf4 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 13:15:00 -0800 Subject: [PATCH 068/165] get launch date --- src/data/wallets/wallet-data.ts | 21 +++++++++++++++++---- src/lib/api/fetchGrowThePieMaster.ts | 23 +++++++++++++++++++++++ src/pages/layer-2/networks.tsx | 6 +++++- 3 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 src/lib/api/fetchGrowThePieMaster.ts diff --git a/src/data/wallets/wallet-data.ts b/src/data/wallets/wallet-data.ts index b87ec3c8b9c..e49c24995a8 100644 --- a/src/data/wallets/wallet-data.ts +++ b/src/data/wallets/wallet-data.ts @@ -649,7 +649,22 @@ export const walletsData: WalletData[] = [ twGradiantBrandColor: "from-[#ffffff]", url: "https://foxwallet.com/en", active_development_team: true, - languages_supported: ["en", "zh", "uk", "ru", "es", "id", "ja", "es", "hi", "vi", "tr", "ar", "bn", "th"], + languages_supported: [ + "en", + "zh", + "uk", + "ru", + "es", + "id", + "ja", + "es", + "hi", + "vi", + "tr", + "ar", + "bn", + "th", + ], twitter: "https://twitter.com/FoxWallet", discord: "https://discord.com/invite/JVjVbe3Zth", reddit: "", @@ -1729,9 +1744,7 @@ export const walletsData: WalletData[] = [ open_source: false, repo_url: "https://github.com/phantom", non_custodial: true, - security_audit: [ - "https://github.com/phantom/audit-reports", - ], + security_audit: ["https://github.com/phantom/audit-reports"], scam_protection: true, hardware_support: true, rpc_importing: false, diff --git a/src/lib/api/fetchGrowThePieMaster.ts b/src/lib/api/fetchGrowThePieMaster.ts new file mode 100644 index 00000000000..f4e4e04719e --- /dev/null +++ b/src/lib/api/fetchGrowThePieMaster.ts @@ -0,0 +1,23 @@ +export const fetchGrowThePieMaster = async () => { + try { + const response = await fetch("https://api.growthepie.xyz/v1/master.json") + if (!response.ok) { + throw new Error( + `GrowThePie Master API responded with ${response.status}: ${response.statusText}` + ) + } + + const data = await response.json() + + const launchDates = Object.values(data.chains).reduce((acc, curr) => { + return { + ...acc, + [curr.url_key]: curr.launch_date, + } + }, {}) + + return { launchDates: launchDates } + } catch (error) { + console.error(error) + } +} diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx index 391cf5d7e52..5bc45f1ded9 100644 --- a/src/pages/layer-2/networks.tsx +++ b/src/pages/layer-2/networks.tsx @@ -23,6 +23,7 @@ import { layer2Data } from "@/data/layer-2/layer-2" import { BASE_TIME_UNIT } from "@/lib/constants" import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" +import { fetchGrowThePieMaster } from "@/lib/api/fetchGrowThePieMaster" import { fetchL2beat } from "@/lib/api/fetchL2beat" import Callout2Image from "@/public/images/layer-2/layer-2-walking.png" import Callout1Image from "@/public/images/man-and-dog-playing.png" @@ -33,13 +34,14 @@ const REVALIDATE_TIME = BASE_TIME_UNIT * 1 const loadData = dataLoader( [ ["growThePieData", fetchGrowThePie], + ["growThePieMasterData", fetchGrowThePieMaster], ["l2beatData", fetchL2beat], ], REVALIDATE_TIME * 1000 ) export const getStaticProps = (async ({ locale }) => { - const [growThePieData, l2beatData] = await loadData() + const [growThePieData, growThePieMaster, l2beatData] = await loadData() const lastDeployDate = getLastDeployDate() const lastDeployLocaleTimestamp = getLocaleTimestamp( @@ -60,6 +62,8 @@ export const getStaticProps = (async ({ locale }) => { l2beatData.data.projects[network.l2beatID] ), activeAddresses: growThePieData.activeAddresses[network.growthepieID], + launchDate: + growThePieMaster.launchDates[network.growthepieID.replace(/_/g, "-")], } }) From 32a342eaa79726dd4bd4cfb3dee09212b53b4fc1 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 13:15:14 -0800 Subject: [PATCH 069/165] launch date --- .../Layer2NetworksTable/NetworksSubComponent.tsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx index b443b53907b..295a94ca280 100644 --- a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx +++ b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx @@ -45,7 +45,20 @@ const NetworkSubComponent = ({ network }) => {

-

TODO: stat

+

+ {(() => { + const launch = new Date(network.launchDate) + const today = new Date() + const yearDiff = today.getFullYear() - launch.getFullYear() + const monthDiff = today.getMonth() - launch.getMonth() + + const totalMonths = yearDiff * 12 + monthDiff + const years = Math.floor(totalMonths / 12) + const months = totalMonths % 12 + + return `${years ? years + " year" + (years > 1 ? "s" : "") : ""} ${months ? months + " month" + (months > 1 ? "s" : "") : ""}`.trim() + })()} +

From e6e301d58ea0e1caf0a27280e310677ad3262ddb Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sat, 9 Nov 2024 13:30:43 -0800 Subject: [PATCH 070/165] comma separete tokens --- .../NetworksSubComponent.tsx | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx index 295a94ca280..3a2da976e8a 100644 --- a/src/components/Layer2NetworksTable/NetworksSubComponent.tsx +++ b/src/components/Layer2NetworksTable/NetworksSubComponent.tsx @@ -25,7 +25,7 @@ const NetworkSubComponent = ({ network }) => {
-

+

Age{" "} {

-

+

Wallet support{" "} {

-

+

Active addresses{" "} {

-

+

Fee token{" "} {

-

{network.feeToken}

+

{network.feeToken.join(", ")}

-

TODO: Chart

+

+ Network usage{" "} + +

Network usage

+

+ An overview of network usage. Measures transaction count in + respective areas within the last 30 days. +

+

+ Data from{" "} + + Growthepie + + . +

+
+ } + > + + +

From bc04462f29ce48ac69c2a2f91cd6fc9725757a2a Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Sun, 10 Nov 2024 11:32:56 +0700 Subject: [PATCH 071/165] fix icon props --- .../icons/layer-2/DevelopingIcon.tsx | 16 +++++----- src/components/icons/layer-2/EmergingIcon.tsx | 12 +++---- src/components/icons/layer-2/MaturingIcon.tsx | 24 +++++++------- src/components/icons/layer-2/RobustIcon.tsx | 32 +++++++++---------- 4 files changed, 42 insertions(+), 42 deletions(-) diff --git a/src/components/icons/layer-2/DevelopingIcon.tsx b/src/components/icons/layer-2/DevelopingIcon.tsx index c4f62757e60..422d6c9bbc5 100644 --- a/src/components/icons/layer-2/DevelopingIcon.tsx +++ b/src/components/icons/layer-2/DevelopingIcon.tsx @@ -11,24 +11,24 @@ export const DevelopingIcon = createIconBase({ diff --git a/src/components/icons/layer-2/EmergingIcon.tsx b/src/components/icons/layer-2/EmergingIcon.tsx index e2a0a4d0791..876f08844d7 100644 --- a/src/components/icons/layer-2/EmergingIcon.tsx +++ b/src/components/icons/layer-2/EmergingIcon.tsx @@ -11,19 +11,19 @@ export const EmergingIcon = createIconBase({ diff --git a/src/components/icons/layer-2/MaturingIcon.tsx b/src/components/icons/layer-2/MaturingIcon.tsx index d539b214d5f..62124b0b598 100644 --- a/src/components/icons/layer-2/MaturingIcon.tsx +++ b/src/components/icons/layer-2/MaturingIcon.tsx @@ -11,37 +11,37 @@ export const MaturingIcon = createIconBase({ diff --git a/src/components/icons/layer-2/RobustIcon.tsx b/src/components/icons/layer-2/RobustIcon.tsx index 4aed7c4c067..b900e1d2678 100644 --- a/src/components/icons/layer-2/RobustIcon.tsx +++ b/src/components/icons/layer-2/RobustIcon.tsx @@ -11,54 +11,54 @@ export const RobustIcon = createIconBase({ From be678aaa95f8fe699b40a843cc67957c86269dee Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 11 Nov 2024 07:07:01 +0700 Subject: [PATCH 072/165] blockspace data fetch --- src/lib/api/fetchGrowThePieBlockspace.ts | 28 ++++++++++++++++++++++++ src/pages/layer-2/networks.tsx | 6 ++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/lib/api/fetchGrowThePieBlockspace.ts diff --git a/src/lib/api/fetchGrowThePieBlockspace.ts b/src/lib/api/fetchGrowThePieBlockspace.ts new file mode 100644 index 00000000000..d0ea5686c6e --- /dev/null +++ b/src/lib/api/fetchGrowThePieBlockspace.ts @@ -0,0 +1,28 @@ +import { layer2Data } from "@/data/layer-2/layer-2" + +export const fetchGrowThePieBlockspace = async () => { + const blockspaceData = {} + try { + for (const network of layer2Data) { + const response = await fetch( + `https://api.growthepie.xyz/v1/chains/blockspace/${network.growthepieID}.json` + ) + if (!response.ok) { + continue + } + const data = await response.json() + + blockspaceData[network.growthepieID] = { + nft: data.overview["30d"].nft.data[4], + defi: data.overview["30d"].defi.data[4], + social: data.overview["30d"].social.data[4], + token_transfers: data.overview["30d"].token_transfers.data[4], + unlabeled: data.overview["30d"].unlabeled.data[4], + } + } + + return blockspaceData + } catch (error) { + console.error(error) + } +} diff --git a/src/pages/layer-2/networks.tsx b/src/pages/layer-2/networks.tsx index 5bc45f1ded9..03fae661fd0 100644 --- a/src/pages/layer-2/networks.tsx +++ b/src/pages/layer-2/networks.tsx @@ -23,6 +23,7 @@ import { layer2Data } from "@/data/layer-2/layer-2" import { BASE_TIME_UNIT } from "@/lib/constants" import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" +import { fetchGrowThePieBlockspace } from "@/lib/api/fetchGrowThePieBlockspace" import { fetchGrowThePieMaster } from "@/lib/api/fetchGrowThePieMaster" import { fetchL2beat } from "@/lib/api/fetchL2beat" import Callout2Image from "@/public/images/layer-2/layer-2-walking.png" @@ -34,6 +35,7 @@ const REVALIDATE_TIME = BASE_TIME_UNIT * 1 const loadData = dataLoader( [ ["growThePieData", fetchGrowThePie], + ["growThePieBlockspaceData", fetchGrowThePieBlockspace], ["growThePieMasterData", fetchGrowThePieMaster], ["l2beatData", fetchL2beat], ], @@ -41,7 +43,8 @@ const loadData = dataLoader( ) export const getStaticProps = (async ({ locale }) => { - const [growThePieData, growThePieMaster, l2beatData] = await loadData() + const [growThePieData, growThePieBlockspace, growThePieMaster, l2beatData] = + await loadData() const lastDeployDate = getLastDeployDate() const lastDeployLocaleTimestamp = getLocaleTimestamp( @@ -62,6 +65,7 @@ export const getStaticProps = (async ({ locale }) => { l2beatData.data.projects[network.l2beatID] ), activeAddresses: growThePieData.activeAddresses[network.growthepieID], + blockspaceData: growThePieBlockspace[network.growthepieID] || null, launchDate: growThePieMaster.launchDates[network.growthepieID.replace(/_/g, "-")], } From c1437aec4f76c1f13e56a6ae70ab7082bb1835e0 Mon Sep 17 00:00:00 2001 From: Corwin Smith Date: Mon, 11 Nov 2024 07:34:46 +0700 Subject: [PATCH 073/165] Add shadcn charts --- package.json | 2 + src/components/ui/chart.tsx | 363 ++++++++++++++++++++++++++++++++++++ yarn.lock | 213 ++++++++++++++++++++- 3 files changed, 570 insertions(+), 8 deletions(-) create mode 100644 src/components/ui/chart.tsx diff --git a/package.json b/package.json index 5d392be4c95..81b4e0f88e7 100644 --- a/package.json +++ b/package.json @@ -66,6 +66,7 @@ "lodash.merge": "^4.6.2", "lodash.shuffle": "^4.2.0", "lodash.union": "^4.6.0", + "lucide-react": "^0.456.0", "next": "^14.2.10", "next-i18next": "^14.0.3", "next-mdx-remote": "^3.0.8", @@ -83,6 +84,7 @@ "react-lite-youtube-embed": "^2.4.0", "react-select": "5.8.0", "reading-time": "^1.5.0", + "recharts": "^2.13.3", "remark-gfm": "^3.0.1", "swiper": "^11.1.10", "tailwind-merge": "^2.3.0", diff --git a/src/components/ui/chart.tsx b/src/components/ui/chart.tsx new file mode 100644 index 00000000000..18b60a29a11 --- /dev/null +++ b/src/components/ui/chart.tsx @@ -0,0 +1,363 @@ +import * as React from "react" +import * as RechartsPrimitive from "recharts" + +import { cn } from "@/lib/utils/cn" + +// Format: { THEME_NAME: CSS_SELECTOR } +const THEMES = { light: "", dark: ".dark" } as const + +export type ChartConfig = { + [k in string]: { + label?: React.ReactNode + icon?: React.ComponentType + } & ( + | { color?: string; theme?: never } + | { color?: never; theme: Record } + ) +} + +type ChartContextProps = { + config: ChartConfig +} + +const ChartContext = React.createContext(null) + +function useChart() { + const context = React.useContext(ChartContext) + + if (!context) { + throw new Error("useChart must be used within a ") + } + + return context +} + +const ChartContainer = React.forwardRef< + HTMLDivElement, + React.ComponentProps<"div"> & { + config: ChartConfig + children: React.ComponentProps< + typeof RechartsPrimitive.ResponsiveContainer + >["children"] + } +>(({ id, className, children, config, ...props }, ref) => { + const uniqueId = React.useId() + const chartId = `chart-${id || uniqueId.replace(/:/g, "")}` + + return ( + +
+ + + {children} + +
+
+ ) +}) +ChartContainer.displayName = "Chart" + +const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => { + const colorConfig = Object.entries(config).filter( + ([_, config]) => config.theme || config.color + ) + + if (!colorConfig.length) { + return null + } + + return ( +