diff --git a/.all-contributorsrc b/.all-contributorsrc index 53aaad9b1ca..1a53db5e64c 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -8379,7 +8379,8 @@ "avatar_url": "https://avatars.githubusercontent.com/u/45835846?v=4", "profile": "https://pandapip1.com/", "contributions": [ - "doc" + "doc", + "ideas" ] }, { @@ -10649,6 +10650,69 @@ "contributions": [ "ideas" ] + }, + { + "login": "Wilson-Wu1", + "name": "Wilson Wu", + "avatar_url": "https://avatars.githubusercontent.com/u/41039035?v=4", + "profile": "https://www.linkedin.com/in/wilson-wu-2021/", + "contributions": [ + "doc" + ] + }, + { + "login": "fvaysh", + "name": "VAS", + "avatar_url": "https://avatars.githubusercontent.com/u/126754021?v=4", + "profile": "https://github.com/fvaysh", + "contributions": [ + "doc" + ] + }, + { + "login": "costgallo", + "name": "Costanza", + "avatar_url": "https://avatars.githubusercontent.com/u/49433698?v=4", + "profile": "https://github.com/costgallo", + "contributions": [ + "doc" + ] + }, + { + "login": "joaolago1113", + "name": "joao", + "avatar_url": "https://avatars.githubusercontent.com/u/22820692?v=4", + "profile": "https://github.com/joaolago1113", + "contributions": [ + "doc" + ] + }, + { + "login": "rgb2hsl", + "name": "Eugene", + "avatar_url": "https://avatars.githubusercontent.com/u/3310192?v=4", + "profile": "http://p2p.org", + "contributions": [ + "content" + ] + }, + { + "login": "g0rbe", + "name": "Dániel Görbe", + "avatar_url": "https://avatars.githubusercontent.com/u/36860942?v=4", + "profile": "http://www.danielgorbe.com", + "contributions": [ + "doc" + ] + }, + { + "login": "s-crypt", + "name": "s-crypt", + "avatar_url": "https://avatars.githubusercontent.com/u/41712656?v=4", + "profile": "https://blog.insubli.me", + "contributions": [ + "content" + ] } ], "contributorsPerLine": 7, diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fa042c6b933..db9004a7f85 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -5,7 +5,7 @@ # These owners will be the default owners for everything in # the repo. Unless a later match takes precedence, -* @samajammin @wackerow @corwintines @pettinarip @minimalsm @jmcook1186 @nhsz +* @wackerow @corwintines @pettinarip @minimalsm @nhsz # Owners of specific files /src/data/consensus-bounty-hunters.csv @djrtwo @asanso @fredriksvantes diff --git a/.storybook/i18next.ts b/.storybook/i18next.ts index 4f1030040fc..1381617118d 100644 --- a/.storybook/i18next.ts +++ b/.storybook/i18next.ts @@ -15,6 +15,7 @@ const ns = [ "glossary", "page-about", "page-index", + "page-learn", "page-upgrades", "page-developers-index", ] diff --git a/.storybook/main.ts b/.storybook/main.ts index 9f3bb88a066..b8c350a0fce 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -13,7 +13,7 @@ const config: StorybookConfig = { "@chakra-ui/storybook-addon", "storybook-react-i18next", ], - staticDirs: ["../static"], + staticDirs: ["../static", "../src/assets"], babel: async () => ({ ...babelConfig, }), diff --git a/README.md b/README.md index ae7c216dd66..f184daa35f2 100644 --- a/README.md +++ b/README.md @@ -1347,7 +1347,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d rogueassasin1729
rogueassasin1729

📖 - Pandapip1
Pandapip1

📖 + Pandapip1
Pandapip1

📖 🤔 Aldi Zhupani
Aldi Zhupani

🐛 💻 linhuatan
linhuatan

📖 Hugh
Hugh

📖 @@ -1666,6 +1666,15 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Robert
Robert

🖋 obsidian
obsidian

🖋 Fekry Aiad
Fekry Aiad

🤔 + Wilson Wu
Wilson Wu

📖 + VAS
VAS

📖 + + + Costanza
Costanza

📖 + joao
joao

📖 + Eugene
Eugene

🖋 + Dániel Görbe
Dániel Görbe

📖 + s-crypt
s-crypt

🖋 diff --git a/docs/review-process.md b/docs/review-process.md index 4e34008d6fd..7bf0b55bc81 100644 --- a/docs/review-process.md +++ b/docs/review-process.md @@ -6,13 +6,13 @@ This documentation outlines our current processes for how we prioritize items in ### General review process -We use a first-in, first-out system for reviewing pull requests. The longer a pull request has been open, the higher priority it is for our team to review. In some cases—for example, fixing a high-priority issue or merging low-hanging fruit for a deploy—we will stray from this process and use our best judgement to get higher-impact changes deployed more quickly. +We use a first-in, first-out system for reviewing pull requests. The longer a pull request has been open, the higher the priority it is for our team to review. In some cases—for example, fixing a high-priority issue or merging low-hanging fruit for a deploy—we will stray from this process and use our best judgement to get higher-impact changes deployed more quickly. We aim to have every new PR reviewed with change requests, merged, or closed within 30 days of opening. As outlined in the following sections, different types of pull requests do have different levels of priority, and this may influence how promptly a pull request is acted on. ### Translations -Translation pull requests are considered high priority. These are when the translated and reviewed files from our translation management platform are submitted as a pull request. They are important to our core value of bringing Ethereum education to as many languages as possible. They also are the accumulation of months of work by translators and reviewers, and any delay to this already long process is undesirable. +Translation pull requests are considered high-priority. These are when the translated and reviewed files from our translation management platform are submitted as a pull request. They are important to our core value of bringing Ethereum education to as many languages as possible. They also are the accumulation of months of work by translators and reviewers, and any delay to this already long process is undesirable. **Timeline:** PRs should be merged within 4 days of opening (by the next release). @@ -24,7 +24,7 @@ Bug pull requests can vary from low-priority to high-priority depending on the s ### Features -Any new feature correlated to an approved issue is medium-priority. Similar to translators, code contributors dedicate a large amount of their time to improving [ethereum.org](http://ethereum.org) as a resource and addressing their efforts quickly is desirable. New features that were not discussed, requested or approved do not fall under this timeline. +Any new feature correlated with an approved issue is of medium priority. Similar to translators, code contributors dedicate a large amount of their time to improving [ethereum.org](http://ethereum.org) as a resource and addressing their efforts quickly is desirable. New features that were not discussed, requested or approved do not fall under this timeline. **Timeline:** Major features should be merged within 30 days of opening. Minor features should be merged within 14 days of opening. diff --git a/gatsby-node.ts b/gatsby-node.ts index 8adbcebe39f..2bf78171cd7 100644 --- a/gatsby-node.ts +++ b/gatsby-node.ts @@ -38,7 +38,8 @@ const commonRedirectProps = { * @returns boolean for if file is outdated or not */ const checkIsMdxOutdated = (filePath: string): boolean => { - const dirname = path.resolve("./") + // .replace(/\\/g, "/") to replace \ in windows paths ex: C:\\folder\\myfile.txt becomes C:/folder/myfile.txt + const dirname = path.resolve("./").replace(/\\/g, "/") const splitPath = filePath.split(dirname) const tempSplitPath = splitPath[1] const tempSplit = tempSplitPath.split("/") @@ -495,18 +496,3 @@ export const onPreBootstrap: GatsbyNode["onPreBootstrap"] = async ({ copyContributors() reporter.info(`Contributors copied`) } - -// Build lambda functions when the build is complete and the `/public` folder exists -export const onPostBuild: GatsbyNode["onPostBuild"] = async ( - gatsbyNodeHelpers -) => { - const { reporter } = gatsbyNodeHelpers - - const reportOut = (report: { stderr: string; stdout: string }) => { - const { stderr, stdout } = report - if (stderr) reporter.error(stderr) - if (stdout) reporter.info(stdout) - } - - reportOut(await exec("npm run build:lambda && cp netlify.toml public")) -} diff --git a/netlify.toml b/netlify.toml index d0e7395545b..49426606cd4 100644 --- a/netlify.toml +++ b/netlify.toml @@ -13,11 +13,13 @@ # Default build command. # command = "yarn build" # debug with: "yarn build --verbose" - # Directory with the serverless Lambda functions to deploy to AWS. - # netlify-lambda needs this netlify.toml file in order to build + # Directory with the serverless Lambda functions to deploy to AWS functions = "public/functions" [[headers]] for = "/*" [headers.values] - Access-Control-Allow-Origin = "https://esp.ethereum.foundation" \ No newline at end of file + Access-Control-Allow-Origin = "https://esp.ethereum.foundation" + +[[plugins]] + package = "@netlify/plugin-gatsby" \ No newline at end of file diff --git a/package.json b/package.json index d93aeac3aad..b97a04c3ba4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ethereum-org-website", - "version": "7.22.3", + "version": "7.23.0", "description": "Website of ethereum.org", "main": "index.js", "repository": "git@github.com:ethereum/ethereum-org-website.git", @@ -58,7 +58,6 @@ "is-relative-url": "^3.0.0", "lodash": "^4.17.21", "luxon": "^1.28.1", - "netlify-lambda": "^2.0.3", "polished": "^4.1.4", "prism-react-renderer": "^1.1.1", "prismjs": "^1.27.0", @@ -83,6 +82,7 @@ "@chakra-ui/cli": "^2.4.1", "@chakra-ui/storybook-addon": "^5.0.1", "@netlify/functions": "^1.2.0", + "@netlify/plugin-gatsby": "^3.7.2", "@storybook/addon-a11y": "^7.0.23", "@storybook/addon-actions": "^7.0.23", "@storybook/addon-essentials": "^7.0.23", @@ -121,7 +121,6 @@ "scripts": { "postinstall": "yarn theme", "build": "gatsby build", - "build:lambda": "cross-env NODE_OPTIONS=--openssl-legacy-provider netlify-lambda build src/lambda --config=./webpack.lambda.js", "build:10gb": "cross-env NODE_OPTIONS=--max-old-space-size=10240 gatsby build", "clean": "gatsby clean", "crowdin-clean": "rm -rf .crowdin && mkdir .crowdin", @@ -134,7 +133,6 @@ "optimize-images": "ts-node -O '{ \"module\": \"commonjs\" }' src/scripts/optimizeImages.ts", "crowdin-contributors": "ts-node -O '{ \"module\": \"commonjs\" }' src/scripts/crowdin/getCrowdinContributors.ts", "start": "gatsby develop", - "start:lambda": "netlify-lambda serve src/lambda", "start:static": "gatsby build && gatsby serve", "serve": "gatsby serve", "type-check": "tsc --noEmit", diff --git a/src/@chakra-ui/gatsby-plugin/styles.ts b/src/@chakra-ui/gatsby-plugin/styles.ts index a359730fc36..ff7af852b4d 100644 --- a/src/@chakra-ui/gatsby-plugin/styles.ts +++ b/src/@chakra-ui/gatsby-plugin/styles.ts @@ -79,9 +79,9 @@ const styles = { visibility: "visible", }, "pre, code, kbd, samp": { - fontSize: "0.8em", - lineHeight: "1.1rem", - fontFamily: "SFMono-Regular,Menlo,Monaco,Consolas,monospace", + fontSize: "md", + lineHeight: "base", + fontFamily: "monospace", }, }), } diff --git a/src/api/calendarEvents.ts b/src/api/calendarEvents.ts index 000c530c26a..cddd834c5d4 100644 --- a/src/api/calendarEvents.ts +++ b/src/api/calendarEvents.ts @@ -1,17 +1,54 @@ +import axios from "axios" import type { GatsbyFunctionRequest, GatsbyFunctionResponse } from "gatsby" -import { lambda } from "../lambda/calendarEvents" async function handler( __req: GatsbyFunctionRequest, res: GatsbyFunctionResponse ): Promise { - // passing env vars as arguments due to a bug on GC functions where env vars - // can not be accessed by imported functions - const { statusCode, body } = await lambda( - process.env.GOOGLE_API_KEY!, - process.env.GOOGLE_CALENDAR_ID! - ) - res.status(statusCode).send(body) + const apiKey = process.env.GOOGLE_API_KEY + const calendarId = process.env.GOOGLE_CALENDAR_ID + + try { + const futureEventsReq = await axios.get( + `https://content.googleapis.com/calendar/v3/calendars/${calendarId}/events`, + { + params: { + key: apiKey, + timeMin: new Date().toISOString(), + maxResults: 3, + singleEvents: true, + orderBy: "startTime", + }, + } + ) + + const pastEventsReq = await axios.get( + `https://content.googleapis.com/calendar/v3/calendars/${calendarId}/events`, + { + params: { + key: apiKey, + timeMax: new Date().toISOString(), + maxResults: 4, + singleEvents: true, + orderBy: "startTime", + }, + } + ) + + const response = { + pastEvents: pastEventsReq.data.items, + futureEvents: futureEventsReq.data.items, + } + + res.status(200).send(JSON.stringify(response)) + } catch (error) { + console.error(error) + res.status(500).send( + JSON.stringify({ + msg: "Something went wrong with requesting the calendar events data.", + }) + ) + } } export default handler diff --git a/src/api/defipulse.ts b/src/api/defipulse.ts index db01545ad9a..38852e8b85f 100644 --- a/src/api/defipulse.ts +++ b/src/api/defipulse.ts @@ -1,15 +1,37 @@ +import axios from "axios" +import takeRightWhile from "lodash/takeRightWhile" import type { GatsbyFunctionRequest, GatsbyFunctionResponse } from "gatsby" -import { lambda } from "../lambda/defipulse" - async function handler( __req: GatsbyFunctionRequest, res: GatsbyFunctionResponse ): Promise { - // passing env vars as arguments due to a bug on GC functions where env vars - // can not be accessed by imported functions - const { statusCode, body } = await lambda() - res.status(statusCode).send(body) + try { + const response = await axios.get(`https://api.llama.fi/charts/Ethereum`) + if (response.status < 200 || response.status >= 300) { + return res + .status(response.status) + .send(JSON.stringify(response.statusText)) + } + + const { data } = response + + // get only the last 90 days + const daysToFetch = 90 + const now = new Date() + const startDate = new Date(now.setDate(now.getDate() - daysToFetch)) + const startTimestamp = Math.round(startDate.getTime() / 1000) + + const trimmedData = takeRightWhile( + data, + ({ date }) => Number(date) > startTimestamp + ) + + res.status(200).send(JSON.stringify(trimmedData)) + } catch (error) { + console.error(error) + res.status(500).send(JSON.stringify({ msg: (error as Error)?.message })) + } } export default handler diff --git a/src/api/etherscan.ts b/src/api/etherscan.ts index 9e9b5ee0a44..9d362b01ae3 100644 --- a/src/api/etherscan.ts +++ b/src/api/etherscan.ts @@ -1,15 +1,33 @@ +import axios from "axios" import { GatsbyFunctionRequest, GatsbyFunctionResponse } from "gatsby" -import { lambda } from "../lambda/etherscan" - async function handler( __req: GatsbyFunctionRequest, res: GatsbyFunctionResponse ) { - // passing env vars as arguments due to a bug on GC functions where env vars - // can not be accessed by imported functions - const { statusCode, body } = await lambda(process.env.ETHERSCAN_API_KEY) - res.status(statusCode).send(body) + const apiKey = process.env.ETHERSCAN_API_KEY + + const daysToFetch = 90 + const now = new Date() + const endDate = now.toISOString().split("T")[0] // YYYY-MM-DD + const startDate = new Date(now.setDate(now.getDate() - daysToFetch)) + .toISOString() + .split("T")[0] // {daysToFetch} days ago + try { + const response = await axios.get( + `https://api.etherscan.io/api?module=stats&action=nodecounthistory&startdate=${startDate}&enddate=${endDate}&sort=desc&apikey=${apiKey}` + ) + if (response.status < 200 || response.status >= 300) { + return res + .status(response.status) + .send(JSON.stringify(response.statusText)) + } + const { data } = response + res.status(200).send(JSON.stringify(data)) + } catch (error) { + console.error(error) + res.status(500).send(JSON.stringify({ msg: (error as Error).message })) + } } export default handler diff --git a/src/api/etherscanBlock.ts b/src/api/etherscanBlock.ts index 79fa3fb5295..ef81e47e8f4 100644 --- a/src/api/etherscanBlock.ts +++ b/src/api/etherscanBlock.ts @@ -1,15 +1,26 @@ +import axios from "axios" import { GatsbyFunctionRequest, GatsbyFunctionResponse } from "gatsby" -import { lambda } from "../lambda/etherscanBlock" - async function handler( __req: GatsbyFunctionRequest, res: GatsbyFunctionResponse ) { - // passing env vars as arguments due to a bug on GC functions where env vars - // can not be accessed by imported functions - const { statusCode, body } = await lambda(process.env.ETHERSCAN_API_KEY) - res.status(statusCode).send(body) + const apiKey = process.env.ETHERSCAN_API_KEY + + try { + const response = await axios.get( + `https://api.etherscan.io/api?module=block&action=getblockcountdown&blockno=12965000&apikey=${apiKey}` + ) + if (response.status < 200 || response.status >= 300) { + return res.status(response.status).send(response.statusText) + } + + const { data } = response + res.status(200).send(JSON.stringify(data.result.EstimateTimeInSec || 0)) + } catch (error) { + console.error(error) + res.status(500).send(JSON.stringify({ msg: (error as Error).message })) + } } export default handler diff --git a/src/api/l2beat.ts b/src/api/l2beat.ts index eaa78d58c3a..d6e3c6c4e22 100644 --- a/src/api/l2beat.ts +++ b/src/api/l2beat.ts @@ -1,15 +1,22 @@ +import axios from "axios" import { GatsbyFunctionRequest, GatsbyFunctionResponse } from "gatsby" -import { lambda } from "../lambda/l2beat" - async function handler( __req: GatsbyFunctionRequest, res: GatsbyFunctionResponse ) { - // passing env vars as arguments due to a bug on GC functions where env vars - // can not be accessed by imported functions - const { statusCode, body } = await lambda() - res.status(statusCode).send(body) + try { + const response = await axios.get(`https://api.l2beat.com/api/tvl`) + if (response.status < 200 || response.status >= 300) { + return res.status(response.status).send(response.statusText) + } + + const { data } = response + res.status(200).send(JSON.stringify(data)) + } catch (error) { + console.error(error) + res.status(500).send(JSON.stringify({ msg: (error as Error).message })) + } } export default handler diff --git a/src/api/translations.ts b/src/api/translations.ts index 116f3e0ecc3..8b46b950a66 100644 --- a/src/api/translations.ts +++ b/src/api/translations.ts @@ -1,15 +1,27 @@ +import axios from "axios" import { GatsbyFunctionRequest, GatsbyFunctionResponse } from "gatsby" -import { lambda } from "../lambda/translations" - async function handler( __req: GatsbyFunctionRequest, res: GatsbyFunctionResponse ) { - // passing env vars as arguments due to a bug on GC functions where env vars - // can not be accessed by imported functions - const { statusCode, body } = await lambda(process.env.CROWDIN_API_KEY) - res.status(statusCode).send(body) + const apiKey = process.env.CROWDIN_API_KEY + + try { + const baseURL = "https://api.crowdin.com/api/project/ethereum-org/status" + + const resp = await axios.get(`${baseURL}?key=${apiKey}&json`) + + if (resp.status < 200 || resp.status >= 300) { + return res.status(resp.status).send(resp.statusText) + } + + const data = await resp.data + res.status(200).send(JSON.stringify({ data })) + } catch (error) { + console.log(error) // output to netlify function log + res.status(500).send(JSON.stringify({ msg: (error as Error).message })) + } } export default handler diff --git a/src/api/txs.ts b/src/api/txs.ts index 49aa0224928..65a2f421895 100644 --- a/src/api/txs.ts +++ b/src/api/txs.ts @@ -1,15 +1,31 @@ +import axios from "axios" import { GatsbyFunctionRequest, GatsbyFunctionResponse } from "gatsby" -import { lambda } from "../lambda/txs" - async function handler( __req: GatsbyFunctionRequest, res: GatsbyFunctionResponse ) { - // passing env vars as arguments due to a bug on GC functions where env vars - // can not be accessed by imported functions - const { statusCode, body } = await lambda(process.env.ETHERSCAN_API_KEY) - res.status(statusCode).send(body) + const apiKey = process.env.ETHERSCAN_API_KEY + + try { + const daysToFetch = 90 + const now = new Date() + const endDate = now.toISOString().split("T")[0] // YYYY-MM-DD + const startDate = new Date(now.setDate(now.getDate() - daysToFetch)) + .toISOString() + .split("T")[0] // {daysToFetch} days ago + const response = await axios.get( + `https://api.etherscan.io/api?module=stats&action=dailytx&startdate=${startDate}&enddate=${endDate}&sort=asc&apikey=${apiKey}` + ) + if (response.status < 200 || response.status >= 300) { + return res.status(response.status).send(response.statusText) + } + const { data } = response + res.status(200).send(JSON.stringify(data.result)) + } catch (error) { + console.error(error) + res.status(500).send(JSON.stringify({ msg: (error as Error).message })) + } } export default handler diff --git a/src/assets/heroes/community-hero.png b/src/assets/heroes/community-hero.png new file mode 100644 index 00000000000..7820b477d57 Binary files /dev/null and b/src/assets/heroes/community-hero.png differ diff --git a/src/assets/heroes/learn-hub-hero.png b/src/assets/heroes/learn-hub-hero.png new file mode 100644 index 00000000000..41b03361cda Binary files /dev/null and b/src/assets/heroes/learn-hub-hero.png differ diff --git a/src/assets/mainnet.png b/src/assets/mainnet.png new file mode 100644 index 00000000000..c8290ba2271 Binary files /dev/null and b/src/assets/mainnet.png differ diff --git a/src/components/Banners/Implementations/WritersCohortBanner.tsx b/src/components/Banners/Implementations/WritersCohortBanner.tsx deleted file mode 100644 index a1208f13b38..00000000000 --- a/src/components/Banners/Implementations/WritersCohortBanner.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import React from "react" -import { Text } from "@chakra-ui/react" - -import DismissableBanner from "../DismissableBanner" -import { BaseLink } from "../../Link" - -import { supportedLanguages } from "../../../utils/languages" - -interface IProps { - pathname: string -} - -const WritersCohortBanner: React.FC = ({ pathname }) => { - const pattern = supportedLanguages.join("|") - const strippedPathname = pathname.replace(new RegExp(`^/(${pattern})/`), "/") - - if ( - pathname.includes("contributing") || - pathname.includes("community") || - strippedPathname === "/" - ) { - return ( - - - 🎉 Join the 2nd edition of ethereum.org's Writers Cohort, starting - October 20th.{" "} - - Sign up here! - - - - ) - } - - return null -} - -export default WritersCohortBanner diff --git a/src/components/Hero/CallToAction.tsx b/src/components/Hero/CallToAction.tsx new file mode 100644 index 00000000000..17aa71a76d4 --- /dev/null +++ b/src/components/Hero/CallToAction.tsx @@ -0,0 +1,26 @@ +import * as React from "react" +import { MatomoEventOptions, trackCustomEvent } from "../../utils/matomo" +import { Button, type IButtonProps } from "../Buttons" + +export type CallToActionProps = Omit & { + content: React.ReactNode + matomo: MatomoEventOptions +} + +export function CallToAction(props: CallToActionProps & { index: React.Key }) { + const { content, matomo, index, ...rest } = props + + const handleClick = () => trackCustomEvent(matomo) + + const buttonProps: IButtonProps = { + variant: index === 0 ? "solid" : "outline", + isSecondary: index !== 0, + flex: { base: 1, md: "initial" }, + } + + return ( + + ) +} diff --git a/src/components/Hero/ContentHero/ContentHero.stories.tsx b/src/components/Hero/ContentHero/ContentHero.stories.tsx new file mode 100644 index 00000000000..8554a32807f --- /dev/null +++ b/src/components/Hero/ContentHero/ContentHero.stories.tsx @@ -0,0 +1,79 @@ +import * as React from "react" +import { Meta, StoryObj } from "@storybook/react" +import ContentHeroComponent, { ContentHeroProps } from "." +import { IGatsbyImageData } from "gatsby-plugin-image" +import { useTranslation } from "gatsby-plugin-react-i18next" + +type ContentHeroType = typeof ContentHeroComponent + +const meta = { + title: "Organisms / Layouts / Hero", + component: ContentHeroComponent, + parameters: { + layout: "none", + }, + argTypes: { + heroImgSrc: { + table: { + disable: true, + }, + }, + }, +} satisfies Meta + +export default meta + +// Comes from the original compiled querying +const mockGatsbyImgData: IGatsbyImageData = { + layout: "constrained", + images: { + fallback: { + src: "/mainnet.png", + sizes: "100vw", + }, + sources: [ + { + srcSet: "/mainnet.png", + type: "image/webp", + sizes: "100vw", + }, + ], + }, + width: 1, + height: 1, +} + +export const ContentHero: StoryObj = { + render: () => { + const { t } = useTranslation() + + const buttons: ContentHeroProps["buttons"] = [ + { + content: t("hero-button-lets-get-started"), + toId: "what-is-crypto-ethereum", + matomo: { + eventCategory: "learn hub hero buttons", + eventAction: "click", + eventName: "lets get started", + }, + }, + { + content: "Button", + matomo: { + eventCategory: "learn hub hero buttons", + eventAction: "click", + eventName: "lets get started", + }, + }, + ] + return ( + + ) + }, +} diff --git a/src/components/Hero/ContentHero/index.tsx b/src/components/Hero/ContentHero/index.tsx new file mode 100644 index 00000000000..d5c975e4214 --- /dev/null +++ b/src/components/Hero/ContentHero/index.tsx @@ -0,0 +1,55 @@ +import * as React from "react" +import { Box, Heading, HStack, SimpleGrid, Stack, Text } from "@chakra-ui/react" +import Breadcrumbs, { IProps as BreadcrumbsProps } from "../../Breadcrumbs" +import GatsbyImage from "../../GatsbyImage" +import { CallToAction } from "../CallToAction" +import { CommonHeroProps } from "../utils" + +export interface ContentHeroProps extends Omit { + breadcrumbs: BreadcrumbsProps +} + +const ContentHero = (props: ContentHeroProps) => { + const { breadcrumbs, heroImgSrc, buttons, title, description } = props + return ( + + + + + + + + + + {title} + + {description} + + {buttons + ? buttons.map((button, idx) => { + if (!button) return + + return + }) + : null} + + + {/* TODO: + * Add conditional Big Stat box here + */} + + + + ) +} + +export default ContentHero diff --git a/src/components/Hero/HomeHero/HomeHero.stories.tsx b/src/components/Hero/HomeHero/HomeHero.stories.tsx new file mode 100644 index 00000000000..12b8f012f56 --- /dev/null +++ b/src/components/Hero/HomeHero/HomeHero.stories.tsx @@ -0,0 +1,50 @@ +import * as React from "react" +import { Meta, StoryObj } from "@storybook/react" +import HomeHeroComponent from "." +import { IGatsbyImageData } from "gatsby-plugin-image" + +type HomeHeroType = typeof HomeHeroComponent + +const meta = { + title: "Organisms / Layouts / Hero", + component: HomeHeroComponent, + parameters: { + layout: "none", + }, + argTypes: { + heroImgSrc: { + table: { + disable: true, + }, + }, + }, +} satisfies Meta + +export default meta + +// Comes from the original compiled querying +const mockGatsbyImgData: IGatsbyImageData = { + layout: "fullWidth", + images: { + fallback: { + src: "/home/hero.png", + sizes: "100vw", + }, + sources: [ + { + srcSet: "/home/hero.png", + type: "image/webp", + sizes: "100vw", + }, + ], + }, + width: 1, + height: 1, +} + +export const HomeHero: StoryObj = { + args: { + heroImgSrc: mockGatsbyImgData, + }, + render: (args) => , +} diff --git a/src/components/Hero/HomeHero/index.tsx b/src/components/Hero/HomeHero/index.tsx new file mode 100644 index 00000000000..ffd25565ddd --- /dev/null +++ b/src/components/Hero/HomeHero/index.tsx @@ -0,0 +1,49 @@ +import * as React from "react" +import { useTranslation } from "react-i18next" +import { Box, Heading, Stack, Text, VStack } from "@chakra-ui/react" +import { ButtonLink } from "../../Buttons" +import Morpher from "../../Morpher" +import Translation from "../../Translation" +import GatsbyImage from "../../GatsbyImage" +import { CommonHeroProps } from "../utils" + +export interface HomeHeroProps extends Pick {} + +const HomeHero = ({ heroImgSrc }: HomeHeroProps) => { + const { t } = useTranslation() + return ( + + + + + + + + + + + + + + + + + + + + ) +} + +export default HomeHero diff --git a/src/components/Hero/HubHero/HubHero.stories.tsx b/src/components/Hero/HubHero/HubHero.stories.tsx new file mode 100644 index 00000000000..2a87854b78f --- /dev/null +++ b/src/components/Hero/HubHero/HubHero.stories.tsx @@ -0,0 +1,87 @@ +import * as React from "react" +import { Meta, StoryObj } from "@storybook/react" +import HubHeroComponent, { HubHeroProps } from "./" +import { Box } from "@chakra-ui/react" +import { IGatsbyImageData } from "gatsby-plugin-image" +import { useTranslation } from "react-i18next" + +type HubHeroType = typeof HubHeroComponent + +const meta = { + title: "Organisms / Layouts / Hero", + component: HubHeroComponent, + parameters: { + layout: "none", + }, + decorators: [ + (Story) => ( + + + + ), + ], +} satisfies Meta + +export default meta + +const mockGatsbyImgData: IGatsbyImageData = { + layout: "fullWidth", + images: { + fallback: { + src: "/heroes/learn-hub-hero.png", + sizes: "100vw", + }, + sources: [ + { + srcSet: "/heroes/learn-hub-hero.png", + type: "image/webp", + sizes: "100vw", + }, + ], + }, + width: 1, + height: 1, +} + +export const HubHero: StoryObj = { + args: { + title: "learn-hub", + header: "hero-header", + description: "hero-subtitle", + heroImgSrc: mockGatsbyImgData, + }, + render: (args) => { + const { t } = useTranslation() + const { title, header, description, ...rest } = args + + const buttons: HubHeroProps["buttons"] = [ + { + content: t("hero-button-lets-get-started"), + toId: "what-is-crypto-ethereum", + matomo: { + eventCategory: "learn hub hero buttons", + eventAction: "click", + eventName: "lets get started", + }, + }, + { + content: "Button", + matomo: { + eventCategory: "learn hub hero buttons", + eventAction: "click", + eventName: "lets get started", + }, + }, + ] + + return ( + + ) + }, +} diff --git a/src/components/Hero/HubHero/index.tsx b/src/components/Hero/HubHero/index.tsx new file mode 100644 index 00000000000..4dfcd821ad1 --- /dev/null +++ b/src/components/Hero/HubHero/index.tsx @@ -0,0 +1,90 @@ +import * as React from "react" +import { + Box, + Heading, + HStack, + Stack, + Text, + useColorModeValue, +} from "@chakra-ui/react" +import GatsbyImage from "../../GatsbyImage" +import { CallToAction } from "../CallToAction" +import { CommonHeroProps } from "../utils" + +export interface HubHeroProps extends CommonHeroProps {} + +const HubHero = (props: HubHeroProps) => { + const { heroImgSrc, title, header, description, buttons } = props + + if (buttons && buttons.length > 2) { + throw Error( + "Can not have more than two call-to-action buttons in this hero component." + ) + } + + const largeContentBg = useColorModeValue( + "rgba(255, 255, 255, 0.80)", + "rgba(34, 34, 34, 0.80)" + ) + + return ( + + + + + {title} + + + {header} + {description} + + + {buttons + ? buttons.map((button, idx) => { + if (!button) return + return + }) + : null} + + + + ) +} + +export default HubHero diff --git a/src/components/Hero/MdxHero/MdxHero.stories.tsx b/src/components/Hero/MdxHero/MdxHero.stories.tsx new file mode 100644 index 00000000000..bdaa1d54538 --- /dev/null +++ b/src/components/Hero/MdxHero/MdxHero.stories.tsx @@ -0,0 +1,30 @@ +import * as React from "react" +import { Meta, StoryObj } from "@storybook/react" +import MdxHeroComponent from "./" +import { HStack } from "@chakra-ui/react" + +type MdxHeroType = typeof MdxHeroComponent + +const meta = { + title: "Organisms / Layouts / Hero", + parameters: { + layout: "none", + }, + decorators: [ + (Story) => ( + + + + ), + ], +} satisfies Meta + +export default meta + +export const MdxHero: StoryObj = { + args: { + breadcrumbs: { slug: "/en/staking/solo/" }, + title: "Solo stake your Eth", + }, + render: (args) => , +} diff --git a/src/components/Hero/MdxHero/index.tsx b/src/components/Hero/MdxHero/index.tsx new file mode 100644 index 00000000000..40fadf700bb --- /dev/null +++ b/src/components/Hero/MdxHero/index.tsx @@ -0,0 +1,22 @@ +import { Heading, Stack } from "@chakra-ui/react" +import * as React from "react" +import Breadcrumbs, { IProps as BreadcrumbsProps } from "../../Breadcrumbs" +import { CommonHeroProps } from "../utils" + +export interface MdxHeroProps extends Pick { + breadcrumbs: BreadcrumbsProps +} + +const MdxHero = (props: MdxHeroProps) => { + const { breadcrumbs, title } = props + return ( + + + + {title} + + + ) +} + +export default MdxHero diff --git a/src/components/Hero/index.ts b/src/components/Hero/index.ts new file mode 100644 index 00000000000..d49fb7397bf --- /dev/null +++ b/src/components/Hero/index.ts @@ -0,0 +1,4 @@ +export { default as ContentHero, type ContentHeroProps } from "./ContentHero" +export { default as HomeHero, type HomeHeroProps } from "./HomeHero" +export { default as HubHero, type HubHeroProps } from "./HubHero" +export { default as MdxHero, type MdxHeroProps } from "./MdxHero" diff --git a/src/components/Hero/utils.ts b/src/components/Hero/utils.ts new file mode 100644 index 00000000000..94e1afb2a2d --- /dev/null +++ b/src/components/Hero/utils.ts @@ -0,0 +1,10 @@ +import { IGatsbyImageData } from "gatsby-plugin-image" +import { CallToActionProps } from "./CallToAction" + +export type CommonHeroProps = { + heroImgSrc: IGatsbyImageData + header: string + title: string + description: string + buttons?: [CallToActionProps, CallToActionProps?] +} diff --git a/src/components/Morpher.tsx b/src/components/Morpher.tsx index 3e52a18d332..8e55b5ca07b 100644 --- a/src/components/Morpher.tsx +++ b/src/components/Morpher.tsx @@ -143,7 +143,7 @@ const Morpher = () => { diff --git a/src/components/Quiz/QuizItem.tsx b/src/components/Quiz/QuizItem.tsx index c478e487d01..6dc5b7e2089 100644 --- a/src/components/Quiz/QuizItem.tsx +++ b/src/components/Quiz/QuizItem.tsx @@ -56,7 +56,6 @@ const QuizItem: React.FC = (props) => { = (props) => { {/* Show green tick if quizz was completed only */} - - - + {isCompleted && } {/* Labels */} @@ -86,7 +83,7 @@ const QuizItem: React.FC = (props) => { {/* Start Button */} - )} - - {showResults ? ( - - - - - {/* Show `Next Quiz` button if quiz is opened from hub page */} - {hasNextQuiz && ( - - )} - - - {showResults && quizScore < 100 && ( - - )} - - ) : showAnswer ? ( - - ) : ( - - )} - - - )} - - - ) -} - -export default QuizWidget diff --git a/src/components/Quiz/QuizWidget/AnswerIcon.tsx b/src/components/Quiz/QuizWidget/AnswerIcon.tsx new file mode 100644 index 00000000000..a41dffe82ad --- /dev/null +++ b/src/components/Quiz/QuizWidget/AnswerIcon.tsx @@ -0,0 +1,59 @@ +import { Circle, SquareProps } from "@chakra-ui/react" +import * as React from "react" +import { ChildOnlyProp } from "../../../types" +import { CorrectIcon, IncorrectIcon, TrophyIcon } from "../../icons/quiz" + +interface AnswerIconProps { + showAnswer: boolean + isCurrentQuestionCorrect: boolean | undefined +} + +/** + * Icon shown for the answer + * + * Defaults to the `TrophyIcon` prior to answering a question + */ +export const AnswerIcon = ({ + showAnswer, + isCurrentQuestionCorrect, +}: AnswerIconProps) => { + const commonProps = { + color: "neutral", + } + + const IconWrapper = (props: ChildOnlyProp) => { + const getWrapperBg = (): SquareProps["bg"] => { + if (!showAnswer) { + return "primary.base" + } + if (isCurrentQuestionCorrect) { + return "success.base" + } + return "error.base" + } + + return + } + + if (!showAnswer) { + return ( + + + + ) + } + + if (isCurrentQuestionCorrect) { + return ( + + + + ) + } + + return ( + + + + ) +} diff --git a/src/components/Quiz/QuizWidget/QuizButtonGroup.tsx b/src/components/Quiz/QuizWidget/QuizButtonGroup.tsx new file mode 100644 index 00000000000..1ff2366bf96 --- /dev/null +++ b/src/components/Quiz/QuizWidget/QuizButtonGroup.tsx @@ -0,0 +1,129 @@ +import * as React from "react" +import { Center, Icon } from "@chakra-ui/react" +import { FaTwitter } from "react-icons/fa" +import { Button } from "../../Buttons" +import Translation from "../../Translation" +import { AnswerChoice, Question } from "../../../types" + +export type QuizButtonGroupProps = { + showAnswer: boolean + showResults: boolean + quizScore: number + handleReset: () => void + currentQuestionIndex: number + currentQuestionAnswerChoice: AnswerChoice | null + questions: Question[] + finishedQuiz: boolean + handleRetryQuestion: () => void + handleShare: () => void + handleNextQuiz: () => void + hasNextQuiz: boolean + handleContinue: () => void + handleSubmitAnswer: (questionId: string, answerChoice: AnswerChoice) => void +} + +export const QuizButtonGroup = ({ + showAnswer, + showResults, + quizScore, + questions, + handleReset, + currentQuestionIndex, + currentQuestionAnswerChoice, + finishedQuiz, + handleRetryQuestion, + handleShare, + handleNextQuiz, + hasNextQuiz, + handleContinue, + handleSubmitAnswer, +}: QuizButtonGroupProps) => { + const hasFailedAnswer = + currentQuestionAnswerChoice && !currentQuestionAnswerChoice.isCorrect + + const hasNotPerfectQuizScore = quizScore < 100 + + const MainButtons = () => { + if (showResults) { + return ( + <> +
+ + + {/* Show `Next Quiz` button if quiz is opened from hub page */} + {hasNextQuiz && ( + + )} +
+ + {hasNotPerfectQuizScore ? ( + + ) : null} + + ) + } + + if (showAnswer) { + return ( + <> + {hasFailedAnswer ? ( + + ) : null} + + + ) + } + + return ( + + ) + } + + // Render QuizButtonGroup component + return ( +
+ +
+ ) +} diff --git a/src/components/Quiz/QuizWidget/QuizConfetti.tsx b/src/components/Quiz/QuizWidget/QuizConfetti.tsx new file mode 100644 index 00000000000..6cae8a0dbdf --- /dev/null +++ b/src/components/Quiz/QuizWidget/QuizConfetti.tsx @@ -0,0 +1,18 @@ +import * as React from "react" +import { IconProps } from "@chakra-ui/react" +import { StarConfettiIcon } from "../../icons/quiz" + +export const QuizConfetti = () => { + const commonProps: IconProps = { + fontSize: "184px", + position: "absolute", + top: 0, + } + return ( + <> + + + + + ) +} diff --git a/src/components/Quiz/QuizWidget/QuizContent.tsx b/src/components/Quiz/QuizWidget/QuizContent.tsx new file mode 100644 index 00000000000..dcff6123c80 --- /dev/null +++ b/src/components/Quiz/QuizWidget/QuizContent.tsx @@ -0,0 +1,100 @@ +import * as React from "react" +import { Center, Container, Text, TextProps, VStack } from "@chakra-ui/react" +import QuizSummary from "../QuizSummary" +import QuizRadioGroup from "../QuizRadioGroup" +import { PROGRESS_BAR_GAP } from "../../../constants" +import { Question } from "../../../types" + +export type QuizContentProps = { + showAnswer: boolean + showResults: boolean + isCurrentQuestionCorrect: boolean | undefined + questions: Question[] + title: string + progressBarBackground: (index: number) => string + quizSummaryProps: Omit< + React.ComponentPropsWithoutRef, + "quizData" + > + currentQuestionIndex: number + quizRadioGroupProps: Omit< + React.ComponentPropsWithoutRef, + "questionData" | "showAnswer" + > +} + +export const QuizContent = ({ + showAnswer, + isCurrentQuestionCorrect, + questions, + title, + progressBarBackground, + showResults, + quizSummaryProps, + currentQuestionIndex, + quizRadioGroupProps, +}: QuizContentProps) => { + const getTitleTextColor = (): TextProps["color"] => { + if (showAnswer) { + return isCurrentQuestionCorrect ? "success.base" : "fail.base" + } + + return "primary.hover" + } + + const getTitleContent = (): string => { + if (showAnswer) { + return isCurrentQuestionCorrect ? "Correct!" : "Incorrect" + } + + return title + } + + return ( + + {/* Quiz title */} + + + {getTitleContent()} + + + {!showResults ? ( + <> + {/* Progress bar */} +
+ {questions.map(({ id }, index) => { + /* Calculate width percent based on number of questions */ + const width = `calc(${Math.floor( + 100 / questions.length + )}% - ${PROGRESS_BAR_GAP})` + + return ( + + ) + })} +
+ + + ) : ( + + )} +
+ ) +} diff --git a/src/components/Quiz/QuizWidget/StandaloneQuizHeading.tsx b/src/components/Quiz/QuizWidget/StandaloneQuizHeading.tsx new file mode 100644 index 00000000000..ccd3fcb12f1 --- /dev/null +++ b/src/components/Quiz/QuizWidget/StandaloneQuizHeading.tsx @@ -0,0 +1,15 @@ +import * as React from "react" +import { Heading } from "@chakra-ui/react" +import Translation from "../../Translation" + +export const StandaloneQuizHeading = () => ( + + + +) diff --git a/src/components/Quiz/QuizWidget/index.tsx b/src/components/Quiz/QuizWidget/index.tsx new file mode 100644 index 00000000000..907b4da2b12 --- /dev/null +++ b/src/components/Quiz/QuizWidget/index.tsx @@ -0,0 +1,158 @@ +import * as React from "react" +import { Center, Spinner, Stack, StackProps, VStack } from "@chakra-ui/react" + +import { StandaloneQuizHeading } from "./StandaloneQuizHeading" +import { AnswerIcon } from "./AnswerIcon" +import { QuizConfetti } from "./QuizConfetti" +import { QuizContent } from "./QuizContent" +import { QuizButtonGroup } from "./QuizButtonGroup" +import { useQuizWidget } from "./useQuizWidget" + +import { QuizStatus } from "../../../types" + +export interface IProps { + quizKey?: string + currentHandler?: (next?: string) => void + statusHandler?: (status: QuizStatus) => void + maxQuestions?: number + isStandaloneQuiz?: boolean +} + +const QuizWidget: React.FC = (props) => { + const { + quizData, + showAnswer, + currentQuestionAnswerChoice, + showConfetti, + progressBarBackground, + currentQuestionIndex, + finishedQuiz, + handleContinue, + handleRetryQuestion, + handleSelection, + handleShare, + handleSubmitAnswer, + hasNextQuiz, + initialize, + isPassingScore, + numberOfCorrectAnswers, + quizScore, + ratioCorrect, + selectedAnswer, + setUserStats, + showResults, + handleNextQuiz, + } = useQuizWidget(props) + + const { quizKey, isStandaloneQuiz = false } = props + + const getMainContainerBg = (): StackProps["bg"] => { + if (!showAnswer) { + return "neutral" + } + + if (currentQuestionAnswerChoice?.isCorrect) { + return "success.neutral" + } + + return "error.neutral" + } + + // Render QuizWidget component + return ( + + {/* Inner Container */} + + {showConfetti && } + +
+ +
+ + {quizData ? ( + <> + + + + ) : ( + + )} + +
+
+ ) +} + +export default QuizWidget + +/** + * For use of the widget on single pages (not the quizzes page) + */ +export const StandaloneQuizWidget = ( + props: Omit +) => ( + + + + +) diff --git a/src/components/Quiz/QuizWidget/useQuizWidget.tsx b/src/components/Quiz/QuizWidget/useQuizWidget.tsx new file mode 100644 index 00000000000..313fc76635d --- /dev/null +++ b/src/components/Quiz/QuizWidget/useQuizWidget.tsx @@ -0,0 +1,271 @@ +import { useCallback, useContext, useEffect, useMemo, useState } from "react" +import { shuffle } from "lodash" +import { useTranslation } from "gatsby-plugin-react-i18next" + +import allQuizzesData from "../../../data/quizzes" +import { + AnswerChoice, + Question, + Quiz, + RawQuestion, + RawQuiz, +} from "../../../types" +import questionBank from "../../../data/quizzes/questionBank" +import { PASSING_QUIZ_SCORE, USER_STATS_KEY } from "../../../constants" +import { trackCustomEvent } from "../../../utils/matomo" +import { INITIAL_USER_STATS } from "../../../pages/quizzes" + +import { QuizzesHubContext } from "../context" +import { getNextQuiz } from "../utils" +import type { IProps } from "./index" + +export const useQuizWidget = ({ + currentHandler, + statusHandler, + isStandaloneQuiz, + maxQuestions, + quizKey, +}: IProps) => { + const { t } = useTranslation() + + const [quizData, setQuizData] = useState(null) + const [nextQuiz, setNextQuiz] = useState(undefined) + const [userQuizProgress, setUserQuizProgress] = useState>( + [] + ) + const [showAnswer, setShowAnswer] = useState(false) + const [currentQuestionAnswerChoice, setCurrentQuestionAnswerChoice] = + useState(null) + const [selectedAnswer, setSelectedAnswer] = useState(null) + + const { setUserStats } = useContext(QuizzesHubContext) + + useEffect(() => { + // If quiz is standalone (out of Quiz Hub page), + // stats required to be initialized on localStorage first + const item = window.localStorage.getItem(USER_STATS_KEY) + + if (item === null) { + localStorage.setItem(USER_STATS_KEY, JSON.stringify(INITIAL_USER_STATS)) + } + + setNextQuiz(getNextQuiz(quizKey)) + }, [quizKey]) + + const hasNextQuiz = !isStandaloneQuiz && !!nextQuiz + const finishedQuiz = + userQuizProgress.length === quizData?.questions.length! - 1 + + // Reset quiz state + const initialize = () => { + setQuizData(null) + setCurrentQuestionAnswerChoice(null) + setUserQuizProgress([]) + setShowAnswer(false) + setSelectedAnswer(null) + + if (!isStandaloneQuiz) { + statusHandler?.("neutral") + } + + const currentQuizKey = + quizKey || + Object.keys(allQuizzesData).filter((quizUri) => + window?.location.href.includes(quizUri) + )[0] || + null + + if (!currentQuizKey) return + + // Get quiz data from key, shuffle, then truncate if necessary + const rawQuiz: RawQuiz = allQuizzesData[currentQuizKey] + const questions: Array = rawQuiz.questions.map((id) => { + const rawQuestion: RawQuestion = questionBank[id] + return { id, ...rawQuestion } + }) + const shuffledQuestions = shuffle(questions) + const trimmedQuestions = maxQuestions + ? shuffledQuestions.slice(0, maxQuestions) + : shuffledQuestions + const quiz: Quiz = { + title: t(rawQuiz.title), + questions: trimmedQuestions, + } + + setQuizData(quiz) + } + + useEffect(initialize, [quizKey]) + + const currentQuestionIndex = userQuizProgress.length + const showResults = currentQuestionIndex === quizData?.questions.length + + const progressBarBackground = useCallback( + (index: number): string => { + if ( + (showAnswer && + index === currentQuestionIndex && + currentQuestionAnswerChoice?.isCorrect) || + userQuizProgress[index]?.isCorrect + ) { + return "success.base" + } + + if ( + (showAnswer && + index === currentQuestionIndex && + !currentQuestionAnswerChoice?.isCorrect) || + (userQuizProgress[index] && !userQuizProgress[index].isCorrect) + ) { + return "error.base" + } + + if (index === currentQuestionIndex) { + return "gray.400" + } + + return "gray.500" + }, + [ + showAnswer, + currentQuestionIndex, + currentQuestionAnswerChoice, + userQuizProgress, + ] + ) + + const numberOfCorrectAnswers = userQuizProgress.filter( + ({ isCorrect }) => isCorrect + ).length + + const ratioCorrect = !quizData + ? 0 + : numberOfCorrectAnswers / quizData.questions.length + + const quizScore = Math.floor(ratioCorrect * 100) + const isPassingScore = quizScore > PASSING_QUIZ_SCORE + + const showConfetti = useMemo( + () => !!quizData && showResults && isPassingScore, + [quizData, showResults, isPassingScore] + ) + + const handleSelectAnswerChoice = (answerId: string) => { + const isCorrect = + answerId === quizData?.questions[currentQuestionIndex].correctAnswerId + setCurrentQuestionAnswerChoice({ answerId, isCorrect }) + } + + const handleSelection = (answerId: string) => { + setSelectedAnswer(answerId) + handleSelectAnswerChoice(answerId) + } + + const handleSubmitAnswer = (questionId: string, answer: AnswerChoice) => { + trackCustomEvent({ + eventCategory: "Quiz widget", + eventAction: "Question answered", + eventName: `QID: ${questionId}`, + eventValue: answer.isCorrect ? "1" : "0", + }) + + setShowAnswer(true) + + if (!isStandaloneQuiz) { + if (currentQuestionAnswerChoice?.isCorrect) { + statusHandler?.("success") + } + + if (!currentQuestionAnswerChoice?.isCorrect) { + statusHandler?.("error") + } + } + } + + const handleRetryQuestion = () => { + trackCustomEvent({ + eventCategory: "Quiz widget", + eventAction: "Other", + eventName: "Retry question", + }) + + setCurrentQuestionAnswerChoice(null) + setSelectedAnswer(null) + setShowAnswer(false) + + if (!isStandaloneQuiz) { + statusHandler?.("neutral") + } + } + + const handleShare = () => { + if (!quizData || !window) return + + trackCustomEvent({ + eventCategory: "quiz_hub_events", + eventAction: "Secondary button clicks", + eventName: "Twitter_share_quiz", + }) + + const url = `https://ethereum.org${window.location.pathname}%23quiz` + const hashtags = ["ethereumquiz", "ethereum", "quiz"] + const tweet = `${encodeURI( + `I just took the "${quizData.title}" quiz on ethereum.org and scored ${numberOfCorrectAnswers} out of ${quizData.questions.length}! Try it yourself at ${url}` + )}` + + window.open( + `https://twitter.com/intent/tweet?text=${tweet}&hashtags=${hashtags}` + ) + } + + const handleContinue = () => { + if (!currentQuestionAnswerChoice) return + + setUserQuizProgress((prev) => [...prev, currentQuestionAnswerChoice]) + setCurrentQuestionAnswerChoice(null) + setShowAnswer(false) + + // Reset quiz status (modifies bg color for mobile) + if (!isStandaloneQuiz) { + statusHandler?.("neutral") + } + + if (finishedQuiz) { + trackCustomEvent({ + eventCategory: "Quiz widget", + eventAction: "Other", + eventName: "Submit results", + eventValue: `${quizScore}%`, + }) + } + } + + const handleNextQuiz = () => { + currentHandler?.(nextQuiz) + } + + return { + quizData, + showAnswer, + currentQuestionAnswerChoice, + showConfetti, + progressBarBackground, + showResults, + numberOfCorrectAnswers, + isPassingScore, + ratioCorrect, + quizScore, + setUserStats, + currentQuestionIndex, + handleSelection, + selectedAnswer, + handleRetryQuestion, + handleShare, + hasNextQuiz, + handleContinue, + initialize, + finishedQuiz, + handleSubmitAnswer, + handleNextQuiz, + } +} diff --git a/src/components/Quiz/QuizzesModal.tsx b/src/components/Quiz/QuizzesModal.tsx index b8fd60428aa..16bf5cce20b 100644 --- a/src/components/Quiz/QuizzesModal.tsx +++ b/src/components/Quiz/QuizzesModal.tsx @@ -5,6 +5,8 @@ import { ModalContent, ModalCloseButton, ModalProps, + ModalContentProps, + Center, } from "@chakra-ui/react" import { QuizzesHubContext } from "./context" @@ -16,12 +18,15 @@ interface IProps extends ModalProps { const QuizzesModal: React.FC = ({ children, ...rest }) => { const { status: quizStatus } = useContext(QuizzesHubContext) - const statusColor = - quizStatus === "neutral" - ? "neutral" - : quizStatus === "success" - ? "success.light" - : "error.light" + const getStatusColor = (): ModalContentProps["bg"] => { + if (quizStatus === "neutral") { + return "neutral" + } + if (quizStatus === "success") { + return "success.neutral" + } + return "error.neutral" + } return ( = ({ children, ...rest }) => { scrollBehavior="inside" {...rest} > - + - - +
+ {children} - +
) } diff --git a/src/components/Quiz/QuizzesStats.tsx b/src/components/Quiz/QuizzesStats.tsx index 9f0ad228d87..9bfe6641bdf 100644 --- a/src/components/Quiz/QuizzesStats.tsx +++ b/src/components/Quiz/QuizzesStats.tsx @@ -3,9 +3,9 @@ import { Box, Circle, Flex, - Grid, GridItem, Progress, + SimpleGrid, Stack, Text, } from "@chakra-ui/react" @@ -66,18 +66,19 @@ const QuizzesStats: React.FC = () => { } = getFormattedStats(language, average) return ( - - + + {/* user stats */} - - + { { handleShare({ score: userScore, total: totalQuizzesPoints }) } w={{ base: "full", lg: "auto" }} - mt={{ base: 2, lg: 0 }} + mt={{ base: "2", lg: 0 }} > - + {
- + {userScore} /{totalQuizzesPoints} @@ -128,20 +128,15 @@ const QuizzesStats: React.FC = () => { - - + + {" "} {formattedUserAverageScore} - + {" "} {numberOfCompletedQuizzes}/{totalQuizzesNumber} @@ -150,56 +145,52 @@ const QuizzesStats: React.FC = () => { - + {/* community stats */} - - + - - - - - {/* Data from Matomo, manually updated */} - {formattedCollectiveAverageScore} - - - - - - - - {/* Data from Matomo, manually updated */} - - {formattedCollectiveQuestionsAnswered} - + - - - - - - - - - {/* Data from Matomo, manually updated */} - {formattedCollectiveRetryRate} - + {( + [ + { + labelId: "average-score", + value: formattedCollectiveAverageScore, + }, + { + labelId: "questions-answered", + value: formattedCollectiveQuestionsAnswered + "+", + }, + { + labelId: "retry", + value: formattedCollectiveRetryRate, + }, + ] satisfies Array<{ labelId: string; value: string }> + ).map(({ labelId, value }) => ( + + + + + {/* Data from Matomo, manually updated */} + {value} + + ))} - +
) diff --git a/src/components/icons/Icons.stories.tsx b/src/components/icons/Icons.stories.tsx index 5399aa3b8bb..b4778ec6e54 100644 --- a/src/components/icons/Icons.stories.tsx +++ b/src/components/icons/Icons.stories.tsx @@ -46,6 +46,7 @@ import { EconomicalIcon, EthpoolGlyphIcon, GreenCheckProductGlyphIcon, + P2PGlyphIcon, KilnGlyphIcon, LidoGlyphIcon, LiquidityTokenIcon, @@ -132,6 +133,7 @@ const iconsDefinitions = [ EconomicalIcon, EthpoolGlyphIcon, GreenCheckProductGlyphIcon, + P2PGlyphIcon, KilnGlyphIcon, LidoGlyphIcon, LiquidityTokenIcon, diff --git a/src/components/icons/staking/P2PGlyphIcon.tsx b/src/components/icons/staking/P2PGlyphIcon.tsx new file mode 100644 index 00000000000..0dc95ee497b --- /dev/null +++ b/src/components/icons/staking/P2PGlyphIcon.tsx @@ -0,0 +1,28 @@ +import React from "react" +import { createIcon } from "@chakra-ui/react" + +export const P2PGlyphIcon = createIcon({ + displayName: "P2PGlyphIcon", + viewBox: "0 0 32 32", + defaultProps: { + width: "32px", + height: "32px", + fill: "currentColor", + }, + path: [ + , + , + , + , + , + , + ], +}) diff --git a/src/components/icons/staking/index.ts b/src/components/icons/staking/index.ts index 46757a5437e..ff206007319 100644 --- a/src/components/icons/staking/index.ts +++ b/src/components/icons/staking/index.ts @@ -12,6 +12,7 @@ export * from "./DockerGlyphIcon" export * from "./EconomicalIcon" export * from "./EthpoolGlyphIcon" export * from "./GreenCheckProductGlyphIcon" +export * from "./P2PGlyphIcon" export * from "./KilnGlyphIcon" export * from "./ChainLaboGlyphIcon" export * from "./LaunchnodesGlyphIcon" diff --git a/src/content/bridges/index.md b/src/content/bridges/index.md index 7f6a5664ab4..7dd48d74df5 100644 --- a/src/content/bridges/index.md +++ b/src/content/bridges/index.md @@ -6,7 +6,7 @@ lang: en # Blockchain bridges {#prerequisites} -_Web3 has evolved into an ecosystem of L1 blockchains and L2 scaling solutions, each designed with unique capabilities and trade-offs. As the number of blockchains protocols increases, so does [the demand to move assets across chains](). To fulfill this demand, we need bridges._ +_Web3 has evolved into an ecosystem of L1 blockchains and L2 scaling solutions, each designed with unique capabilities and trade-offs. As the number of blockchain protocols increases, so does [the demand to move assets across chains](). To fulfill this demand, we need bridges._ diff --git a/src/content/community/get-involved/index.md b/src/content/community/get-involved/index.md index 715e585a63f..465e4007eb1 100644 --- a/src/content/community/get-involved/index.md +++ b/src/content/community/get-involved/index.md @@ -29,7 +29,7 @@ Do you have a background in mathematics, cryptography, or economics? You might b - Write an EIP 1. Submit your idea on [Ethereum Magicians](https://ethereum-magicians.org) 2. Read [EIP-1](https://eips.ethereum.org/EIPS/eip-1) - **Yes, that's the _entire_ document.** - 3. Follow the directons in EIP-1. Reference it as you write your draft. + 3. Follow the directions in EIP-1. Reference it as you write your draft. - Learn how to become an [EIP Editor](https://eips.ethereum.org/EIPS/eip-5069) - You can peer-review EIPs right now! See [open PRs with the `e-review` tag](https://github.com/ethereum/EIPs/pulls?q=is%3Apr+is%3Aopen+label%3Ae-review). Provide technical feedback on the `discussion-to` link. - Participate in [EIP Governance](https://github.com/ethereum-cat-herders/EIPIP) diff --git a/src/content/community/grants/index.md b/src/content/community/grants/index.md index f8f710791b8..88a227b64ec 100644 --- a/src/content/community/grants/index.md +++ b/src/content/community/grants/index.md @@ -20,7 +20,7 @@ These programs support the broad Ethereum ecosystem by offering grants to a wide - [DAO Grants](https://docs.google.com/spreadsheets/d/1XHc-p_MHNRdjacc8uOEjtPoWL86olP4GyxAJOFO0zxY/edit#gid=0) - _Google spreadsheet of organizations offering grants_ - [Crunchbase for Web3 Grants](https://www.cryptoneur.xyz/web3-grants) - _Filter and search for grants by category, use case, amount, and more. Contribute to help others find the right grant._ - [Academic Grants](https://esp.ethereum.foundation/academic-grants) - _Grants to support Ethereum-related academic work_ -- [Blockworks Grantfarm](https://blockworks.co/grants/programs) - \_Blockworks has compiled a comprehensive directory of all grants, RFPs, and bug bounties. +- [Blockworks Grantfarm](https://blockworks.co/grants/programs) - _Blockworks has compiled a comprehensive directory of all grants, RFPs, and bug bounties._ ## Project specific {#project-specific} diff --git a/src/content/community/research/index.md b/src/content/community/research/index.md index b4e2796ec4a..42ae2fa0aa8 100644 --- a/src/content/community/research/index.md +++ b/src/content/community/research/index.md @@ -156,7 +156,7 @@ Sharding Ethereum's blockchain has long been part of the development roadmap. Ho #### Recent research {#recent-research-5} -- [ecdsa on FGPAs](https://ethresear.ch/t/does-ecdsa-on-fpga-solve-the-scaling-problem/6738) +- [ecdsa on FPGAs](https://ethresear.ch/t/does-ecdsa-on-fpga-solve-the-scaling-problem/6738) ## Security {#security} diff --git a/src/content/community/support/index.md b/src/content/community/support/index.md index be97d664077..89882394c5a 100644 --- a/src/content/community/support/index.md +++ b/src/content/community/support/index.md @@ -39,7 +39,7 @@ Looking for an Ethereum wallet? [Explore our full list of Ethereum wallets](/wal Building can be hard. Here are some development focused spaces with experienced Ethereum developers that are happy to help. - [Alchemy University](https://university.alchemy.com/#starter_code) -- [CryptoDevs discord](https://discord.gg/Z9TA39m8Yu) +- [CryptoDevs discord](https://discord.com/invite/5W5tVb3) - [Ethereum StackExchange](https://ethereum.stackexchange.com/) - [StackOverflow](https://stackoverflow.com/questions/tagged/web3) - [Web3 University](https://www.web3.university/) diff --git a/src/content/contributing/adding-exchanges/index.md b/src/content/contributing/adding-exchanges/index.md index d86402a793b..bf88d785930 100644 --- a/src/content/contributing/adding-exchanges/index.md +++ b/src/content/contributing/adding-exchanges/index.md @@ -20,7 +20,7 @@ Because of this context, we need some specific information when you suggest an e ## What we need {#what-we-need} -- The geographical restrictions that apply to the exchange +- The geographical restrictions that apply to the exchange. Geographic restrictions associated with the exchange should be detailed on a dedicated page or section of the exchange's website. - The currencies users can use to buy ETH - Proof that the exchange is a legitimate trading company - Any additional information you might have – this might be information about the company like years of operation, financial backing etc. diff --git a/src/content/contributing/translation-program/content-buckets/index.md b/src/content/contributing/translation-program/content-buckets/index.md index 323055bc894..a672ffc2b24 100644 --- a/src/content/contributing/translation-program/content-buckets/index.md +++ b/src/content/contributing/translation-program/content-buckets/index.md @@ -45,8 +45,8 @@ Below is a breakdown of the website pages each content bucket contains. - [Decentralized finance (DeFi)](/defi/) - [Introduction to smart contracts](/smart-contracts/) -- [Decentralized identity)](/decentralized-identity/) -- [Decentralized social networks)](/social-networks/) +- [Decentralized identity](/decentralized-identity/) +- [Decentralized social networks](/social-networks/) - [Decentralized science (DeSci))](/desci/) ## 6) Staking pages {#staking-pages} diff --git a/src/content/contributing/translation-program/faq/index.md b/src/content/contributing/translation-program/faq/index.md index b98fe5f8fef..dc08578442e 100644 --- a/src/content/contributing/translation-program/faq/index.md +++ b/src/content/contributing/translation-program/faq/index.md @@ -18,7 +18,7 @@ The goal of the Translation Program is to make Ethereum content accessible to ev For this reason, the Translation Program is open and voluntary, and participation is not subject to compensation. If we were to compensate translators for the number of words they translate, we could only invite those with sufficient translation experience (professional translators) to join the Translation Program. This would make the Translation Program exclusionary and prevent us from reaching the outlined goals, specifically: allowing everyone to participate and get involved with the ecosystem. -We make every effort to enable our contributors to succeed in the Ethereum ecosystem; many non-monteary incentives are in place such as: [offering POAPs](/contributing/translation-program/acknowledgements/#poap) and a [translator certificate](/contributing/translation-program/acknowledgements/#certificate), as well as organizing the [Translation Leaderboards](/contributing/translation-program/acknowledgements/) and [listing all of our translators on the site](/contributing/translation-program/contributors/). +We make every effort to enable our contributors to succeed in the Ethereum ecosystem; many non-monetary incentives are in place such as: [offering POAPs](/contributing/translation-program/acknowledgements/#poap) and a [translator certificate](/contributing/translation-program/acknowledgements/#certificate), as well as organizing the [Translation Leaderboards](/contributing/translation-program/acknowledgements/) and [listing all of our translators on the site](/contributing/translation-program/contributors/). ## How do I translate strings with ``? {#tags} diff --git a/src/content/contributing/translation-program/playbook/index.md b/src/content/contributing/translation-program/playbook/index.md index ca742814ad7..9867675b09a 100644 --- a/src/content/contributing/translation-program/playbook/index.md +++ b/src/content/contributing/translation-program/playbook/index.md @@ -192,7 +192,7 @@ An example workflow in this case would be: Read more about translation workflows: -[Content rules on the five phrases of the translation workflow](https://contentrules.com/creating-translation-workflow/) +[Content rules on the five phases of the translation workflow](https://contentrules.com/creating-translation-workflow/) [Smartling on what is translation workflow management](https://www.smartling.com/resources/101/what-is-translation-workflow-management/) diff --git a/src/content/developers/docs/evm/index.md b/src/content/developers/docs/evm/index.md index 7be53944c9c..859ff205648 100644 --- a/src/content/developers/docs/evm/index.md +++ b/src/content/developers/docs/evm/index.md @@ -66,6 +66,7 @@ Over Ethereum's nine year history, the EVM has undergone several revisions, and - [evmone](https://github.com/ethereum/evmone) - _C++_ - [ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm) - _JavaScript_ - [eEVM](https://github.com/microsoft/eevm) - _C++_ +- [revm](https://github.com/bluealloy/revm) - _Rust_ ## Further Reading {#further-reading} diff --git a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md index 5eccc3a013d..b973e4b8bc8 100644 --- a/src/content/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/src/content/developers/docs/nodes-and-clients/run-a-node/index.md @@ -152,7 +152,7 @@ Here are the release pages of clients where you can find their pre-built binarie ##### Execution clients - [Besu](https://github.com/hyperledger/besu/releases) -- [Erigon](https://github.com/ledgerwatch/erigon#usage) (Doesn't provide a pre-built binary, has to be compiled) +- [Erigon](https://github.com/ledgerwatch/erigon/releases) - [Geth](https://geth.ethereum.org/downloads/) - [Nethermind](https://downloads.nethermind.io/) diff --git a/src/content/developers/docs/scaling/optimistic-rollups/index.md b/src/content/developers/docs/scaling/optimistic-rollups/index.md index 692da4e98f9..3074a9e077a 100644 --- a/src/content/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/developers/docs/scaling/optimistic-rollups/index.md @@ -260,6 +260,6 @@ Multiple implementations of Optimistic rollups exist that you can integrate into - [How do optimistic rollups work (The Complete guide)](https://www.alchemy.com/overviews/optimistic-rollups) - [Everything you need to know about Optimistic Rollup](https://research.paradigm.xyz/rollups) - [The Essential Guide to Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [How does Optimism's Rollup really work?](https://research.paradigm.xyz/optimism) +- [How does Optimism's Rollup really work?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) - [What is the Optimistic Virtual Machine?](https://www.alchemy.com/overviews/optimistic-virtual-machine) diff --git a/src/content/developers/tutorials/nft-minter/index.md b/src/content/developers/tutorials/nft-minter/index.md index 984a227203b..826d553c16f 100644 --- a/src/content/developers/tutorials/nft-minter/index.md +++ b/src/content/developers/tutorials/nft-minter/index.md @@ -189,7 +189,7 @@ If you go to the `App.js` file, which is the main component in React that acts a Now that we understand what we're working with, let's set up our Ethereum wallet! -##: Set up your Ethereum wallet {#set-up-your-ethereum-wallet} +## Set up your Ethereum wallet {#set-up-your-ethereum-wallet} For users to be able to interact with your smart contract they will need to connect their Ethereum wallet to your dapp. diff --git a/src/content/developers/tutorials/uniswap-v2-annotated-code/index.md b/src/content/developers/tutorials/uniswap-v2-annotated-code/index.md index e7c84085e46..f1f3561de0a 100644 --- a/src/content/developers/tutorials/uniswap-v2-annotated-code/index.md +++ b/src/content/developers/tutorials/uniswap-v2-annotated-code/index.md @@ -366,7 +366,7 @@ If the time elapsed is not zero, it means we are the first exchange transaction } ``` -Each cost accumulator is updated with the latest cost (reserve of the other token/reserve of this token) times the elapsed time in seconds. To get an average price you read the cumulative price is two points in time, and divide by the time difference between them. For example, assume this sequence of events: +Each cost accumulator is updated with the latest cost (reserve of the other token/reserve of this token) times the elapsed time in seconds. To get an average price, you read the cumulative price in two points in time and divide by the time difference between them. For example, assume this sequence of events: | Event | reserve0 | reserve1 | timestamp | Marginal exchange rate (reserve1 / reserve0) | price0CumulativeLast | | -------------------------------------------------------- | --------: | --------: | --------- | -------------------------------------------: | -------------------------: | diff --git a/src/content/guides/how-to-create-an-ethereum-account/wallet-box.png b/src/content/guides/how-to-create-an-ethereum-account/wallet-box.png index 5d9ce916467..e56fd136d4b 100644 Binary files a/src/content/guides/how-to-create-an-ethereum-account/wallet-box.png and b/src/content/guides/how-to-create-an-ethereum-account/wallet-box.png differ diff --git a/src/content/translations/de/developers/docs/accounts/accounts.png b/src/content/translations/de/developers/docs/accounts/accounts.png new file mode 100644 index 00000000000..75e00bb0368 Binary files /dev/null and b/src/content/translations/de/developers/docs/accounts/accounts.png differ diff --git a/src/content/translations/de/developers/docs/blocks/tx-block.png b/src/content/translations/de/developers/docs/blocks/tx-block.png new file mode 100644 index 00000000000..edaaf573586 Binary files /dev/null and b/src/content/translations/de/developers/docs/blocks/tx-block.png differ diff --git a/src/content/translations/de/developers/docs/evm/evm.png b/src/content/translations/de/developers/docs/evm/evm.png new file mode 100644 index 00000000000..8e3271e2e29 Binary files /dev/null and b/src/content/translations/de/developers/docs/evm/evm.png differ diff --git a/src/content/translations/de/developers/docs/gas/gas.png b/src/content/translations/de/developers/docs/gas/gas.png new file mode 100644 index 00000000000..93e6ead39a0 Binary files /dev/null and b/src/content/translations/de/developers/docs/gas/gas.png differ diff --git a/src/content/translations/de/developers/docs/nodes-and-clients/eth1eth2client.png b/src/content/translations/de/developers/docs/nodes-and-clients/eth1eth2client.png new file mode 100644 index 00000000000..205f636b3a2 Binary files /dev/null and b/src/content/translations/de/developers/docs/nodes-and-clients/eth1eth2client.png differ diff --git a/src/content/translations/de/developers/docs/nodes-and-clients/node-architecture/node-architecture-text-background.png b/src/content/translations/de/developers/docs/nodes-and-clients/node-architecture/node-architecture-text-background.png new file mode 100644 index 00000000000..f658f984dd6 Binary files /dev/null and b/src/content/translations/de/developers/docs/nodes-and-clients/node-architecture/node-architecture-text-background.png differ diff --git a/src/content/translations/de/developers/docs/nodes-and-clients/nodes.png b/src/content/translations/de/developers/docs/nodes-and-clients/nodes.png new file mode 100644 index 00000000000..db2aa64bb0d Binary files /dev/null and b/src/content/translations/de/developers/docs/nodes-and-clients/nodes.png differ diff --git a/src/content/translations/de/developers/docs/nodes-and-clients/run-a-node/diagram.png b/src/content/translations/de/developers/docs/nodes-and-clients/run-a-node/diagram.png new file mode 100644 index 00000000000..a220c3a5b44 Binary files /dev/null and b/src/content/translations/de/developers/docs/nodes-and-clients/run-a-node/diagram.png differ diff --git a/src/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md index 24e97bf7586..a5f937af37a 100644 --- a/src/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/de/developers/docs/scaling/optimistic-rollups/index.md @@ -53,5 +53,5 @@ Es gibt mehrere Implementierungen von optimistischen Rollups, die Sie in Ihre dA - [Alles, was Sie über Optimistic Rollup wissen müssen](https://research.paradigm.xyz/rollups) - [Der Leitfaden zu Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Wie funktioniert das Rollup von Optimismus wirklich?](https://research.paradigm.xyz/optimism) +- [Wie funktioniert das Rollup von Optimismus wirklich?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) diff --git a/src/content/translations/de/developers/docs/transactions/gas-tx.png b/src/content/translations/de/developers/docs/transactions/gas-tx.png new file mode 100644 index 00000000000..c240e65ab7a Binary files /dev/null and b/src/content/translations/de/developers/docs/transactions/gas-tx.png differ diff --git a/src/content/translations/de/developers/docs/transactions/tx.png b/src/content/translations/de/developers/docs/transactions/tx.png new file mode 100644 index 00000000000..ba6bbd3abf8 Binary files /dev/null and b/src/content/translations/de/developers/docs/transactions/tx.png differ diff --git a/src/content/translations/de/energy-consumption/energy_consumption_pre_post_merge.png b/src/content/translations/de/energy-consumption/energy_consumption_pre_post_merge.png new file mode 100644 index 00000000000..4d24a4e3cff Binary files /dev/null and b/src/content/translations/de/energy-consumption/energy_consumption_pre_post_merge.png differ diff --git a/src/content/translations/de/web3/web2.png b/src/content/translations/de/web3/web2.png new file mode 100644 index 00000000000..6c11d933018 Binary files /dev/null and b/src/content/translations/de/web3/web2.png differ diff --git a/src/content/translations/de/web3/web3.png b/src/content/translations/de/web3/web3.png new file mode 100644 index 00000000000..6a39613dc95 Binary files /dev/null and b/src/content/translations/de/web3/web3.png differ diff --git a/src/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md index dec6b38bb2a..1088f1ee345 100644 --- a/src/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/es/developers/docs/scaling/optimistic-rollups/index.md @@ -53,5 +53,5 @@ Existen múltiples implementaciones de rollups optimistas que puede integrar en - [Todo lo que debes saber sobre Optimistic rollup](https://research.paradigm.xyz/rollups) - [Guía esencial sobre Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [¿Cómo funciona realmente el rollup de Optimism?](https://research.paradigm.xyz/optimism) +- [¿Cómo funciona realmente el rollup de Optimism?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [Análisis detallado de OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) diff --git a/src/content/translations/fa/developers/docs/accounts/accounts.png b/src/content/translations/fa/developers/docs/accounts/accounts.png new file mode 100644 index 00000000000..6ccb76911d1 Binary files /dev/null and b/src/content/translations/fa/developers/docs/accounts/accounts.png differ diff --git a/src/content/translations/fa/developers/docs/blocks/tx-block.png b/src/content/translations/fa/developers/docs/blocks/tx-block.png new file mode 100644 index 00000000000..18ca975ebfe Binary files /dev/null and b/src/content/translations/fa/developers/docs/blocks/tx-block.png differ diff --git a/src/content/translations/fa/developers/docs/evm/evm.png b/src/content/translations/fa/developers/docs/evm/evm.png new file mode 100644 index 00000000000..dd2ef30f1ce Binary files /dev/null and b/src/content/translations/fa/developers/docs/evm/evm.png differ diff --git a/src/content/translations/fa/developers/docs/gas/gas.png b/src/content/translations/fa/developers/docs/gas/gas.png new file mode 100644 index 00000000000..63e12d54287 Binary files /dev/null and b/src/content/translations/fa/developers/docs/gas/gas.png differ diff --git a/src/content/translations/fa/developers/docs/transactions/gas-tx.png b/src/content/translations/fa/developers/docs/transactions/gas-tx.png new file mode 100644 index 00000000000..6a5ca117e8f Binary files /dev/null and b/src/content/translations/fa/developers/docs/transactions/gas-tx.png differ diff --git a/src/content/translations/fa/developers/docs/transactions/tx.png b/src/content/translations/fa/developers/docs/transactions/tx.png new file mode 100644 index 00000000000..3c5f3bc2e0a Binary files /dev/null and b/src/content/translations/fa/developers/docs/transactions/tx.png differ diff --git a/src/content/translations/fa/energy-consumption/energy_consumption_pre_post_merge.png b/src/content/translations/fa/energy-consumption/energy_consumption_pre_post_merge.png new file mode 100644 index 00000000000..81382b9b08a Binary files /dev/null and b/src/content/translations/fa/energy-consumption/energy_consumption_pre_post_merge.png differ diff --git a/src/content/translations/fa/energy-consumption/index.md b/src/content/translations/fa/energy-consumption/index.md index 7a32dfd18d9..7f6fb0c2519 100644 --- a/src/content/translations/fa/energy-consumption/index.md +++ b/src/content/translations/fa/energy-consumption/index.md @@ -34,7 +34,7 @@ lang: fa زنجیره‌ی بیکن در کنار اعتمادسازی برای مکانیزم اثبات مالکیت سهام، تخمینی از میزان مصرف انرژی اتریوم پس از ادغام نیز در اختیار ما قرار می‌دهد. [تخمینی جدید](https://blog.ethereum.org/2021/05/18/country-power-no-more/) پیشنهاد می‌دهد که ادغام به اثبات مالکیت سهام می‌تواند 99.95% میزان مصرف انرژی را کاهش دهد و اثبات مالکیت سهام از نظر مصرف انرژی بیش از 2000 برابر نسبت به اثبات کار به‌صرفه‌تر است. مصرف انرژی اتریوم برای هر گره روی شبکه تقریباً برابر با مصرف انرژی یک کامپیوتر خانگی خواهد بود. -![تصویر](energy_use_per_transaction.png) +![تصویر](energy_consumption_pre_post_merge.png)

تخمین مصرف انرژی اثبات کار برای هر تراکنش در زمان نوشتن این متن بر مبنای داده‌های مه 2021 برابر با 175.54 کیلووات در ساعت است

diff --git a/src/content/translations/fa/web3/web2.png b/src/content/translations/fa/web3/web2.png new file mode 100644 index 00000000000..b553e3f75be Binary files /dev/null and b/src/content/translations/fa/web3/web2.png differ diff --git a/src/content/translations/fa/web3/web3.png b/src/content/translations/fa/web3/web3.png new file mode 100644 index 00000000000..dc4b5dd159c Binary files /dev/null and b/src/content/translations/fa/web3/web3.png differ diff --git a/src/content/translations/fil/energy-consumption/energy_consumption_pre_post_merge.png b/src/content/translations/fil/energy-consumption/energy_consumption_pre_post_merge.png new file mode 100644 index 00000000000..e6bf50694aa Binary files /dev/null and b/src/content/translations/fil/energy-consumption/energy_consumption_pre_post_merge.png differ diff --git a/src/content/translations/fil/web3/web2.png b/src/content/translations/fil/web3/web2.png new file mode 100644 index 00000000000..4bdf9a2681f Binary files /dev/null and b/src/content/translations/fil/web3/web2.png differ diff --git a/src/content/translations/fil/web3/web3.png b/src/content/translations/fil/web3/web3.png new file mode 100644 index 00000000000..3f9d10b4c89 Binary files /dev/null and b/src/content/translations/fil/web3/web3.png differ diff --git a/src/content/translations/fr/defi/index.md b/src/content/translations/fr/defi/index.md index dfdff024a12..6183aa6d7cd 100644 --- a/src/content/translations/fr/defi/index.md +++ b/src/content/translations/fr/defi/index.md @@ -12,7 +12,7 @@ summaryPoint2: Des produits qui vous permettent d'emprunter, d'épargner, d'inve summaryPoint3: Basé sur une technologie open-source avec laquelle n'importe qui peut programmer. --- -DeFi est un système financier ouvert et mondial conçu pour l'ère de l'internet - une alternative à un système opaque, contrôlé rigoureusement et maintenu ensemble par des infrastructures et des processus vieux de plusieurs décennies. Il vous donne le contrôle et la visibilité de votre argent. Il vous offre une exposition aux marchés mondiaux et des alternatives à vos options bancaires ou monétaires locales. Les produits DeFi ouvrent des services financiers à toute personne disposant d'une connexion Internet et ils sont en grande partie la propriété de leurs utilisateurs. Jusqu'à présent, des dizaines de milliards de dollars de cryptomonnaies ont coulé à travers des applications DeFi et ils se développent chaque jour. +La DeFi est un système financier ouvert et mondial conçu pour l'ère de l'internet - une alternative à un système opaque, contrôlé rigoureusement et maintenu par des infrastructures et des processus vieux de plusieurs décennies. Il vous donne le contrôle et la visibilité de votre argent. Il vous offre une exposition aux marchés mondiaux et des alternatives à vos options bancaires ou monétaires locales. Les produits DeFi ouvrent des services financiers à toute personne disposant d'une connexion Internet et ils sont en grande partie la propriété de leurs utilisateurs. Jusqu'à présent, des dizaines de milliards de dollars de cryptomonnaies ont coulé à travers des applications DeFi et ils se développent chaque jour. ## Qu'est-ce que la DeFi ? {#what-is-defi} @@ -31,7 +31,7 @@ L'une des meilleures façons de voir le potentiel de la DeFi est de comprendre l - Les services financiers peuvent vous empêcher d'être payé. - Des frais cachés de services financiers sont vos données personnelles. - Les gouvernements et les institutions centralisées peuvent fermer les marchés à volonté. -- Les heures de trading sont souvent limitées aux heures d'ouverture d'un fuseau horaire spécifique. +- Les heures de trading sont souvent limitées aux heures de bureau sur un fuseau horaire spécifique. - Les transferts d'argent peuvent prendre des jours en raison de processus humains internes. - Il y a une prime pour les services financiers parce que les institutions intermédiaires ont besoin de leur part. @@ -233,7 +233,7 @@ Avec le trading centralisé, vous devez déposer vos actifs avant les échanges Il existe des outils de gestion de fonds sur Ethereum qui vous permettront de développer votre portefeuille en vous appuyant sur la stratégie de votre choix. C'est automatique, ouvert à tous, et personne ne pourra vous demander de commission. -Voilà un bon exemple [DeFi Pulse Index fund (DPI)](https://defipulse.com/blog/defi-pulse-index/). C'est un fond qui se rééquilibre automatiquement pour garantir qu'il inclue toujours [les meilleurs DeFi tokens par capitalisation boursière](https://www.coingecko.com/en/defi). Pas besoin de gérer les détails et vous pouvez retirer les fonds quand bon vous semble. +Voilà un bon exemple [DeFi Pulse Index fund (DPI)](https://defipulse.com/blog/defi-pulse-index/). C'est un fond qui se rééquilibre automatiquement pour garantir qu'il inclue toujours [les jetons DeFi ayant la meilleure capitalisation boursière](https://www.coingecko.com/en/defi). Pas besoin de gérer les détails et vous pouvez retirer les fonds quand bon vous semble. Voir les applications d'investissement dapps @@ -274,7 +274,7 @@ Cela veut dire qu'un projet A avec ses 100 donneurs de 1 dollar pourrait finir a L'assurance décentralisée vise à rendre l'assurance moins chère, plus rapide à rembourser et plus transparente. Avec davantage d'automatisation, la protection est plus abordable et les paiements sont beaucoup plus rapides. Les données utilisées pour décider de votre réclamation sont complètement transparentes. -Les produits Ethereum, comme n'importe quel logiciel, peuvent souffrir de bugs et d'exploits. Actuellement, de nombreux produits d'assurance dans l'espace sont axés sur la protection de leurs utilisateurs contre la perte de fonds. Cependant, il y a des projets qui commencent à construire une couverture pour tout ce que la vie peut nous donner. Un bon exemple de ceci est la couverture Etherisc's Crop qui vise à [protéger les petits agriculteurs kényans contre les sécheresses et les inondations](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Les assurances décentralisées peuvent offrir une couverture moins chère aux agriculteurs qui n'ont souvent pas les moyens d'accéder aux assurances traditionnelles. +Les produits Ethereum, comme n'importe quel logiciel, peuvent souffrir de bugs et d'exploits. Actuellement, de nombreux produits d'assurance dans l'espace sont axés sur la protection de leurs utilisateurs contre la perte de fonds. Cependant, il y a des projets qui commencent à construire une couverture pour tous les événements de la vie. Un bon exemple de ceci est la couverture Etherisc's Crop qui vise à [protéger les petits agriculteurs kényans contre les sécheresses et les inondations](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc). Les assurances décentralisées peuvent offrir une couverture moins chère aux agriculteurs qui n'ont souvent pas les moyens d'accéder aux assurances traditionnelles. Voir les assurances Dapps @@ -338,7 +338,7 @@ DeFi est un mouvement open source. Les protocoles et applications DeFi sont ouve ### Articles DeFi {#defi-articles} -- [Guide de la DeFi pour débutants](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) - _Sid Coelho-Prabhu, 6 janvier 2020_ +- [Un guide de la DeFi pour débutants](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) - _Sid Coelho-Prabhu, 6 janvier 2020_ ### Vidéos {#videos} diff --git a/src/content/translations/fr/desci/index.md b/src/content/translations/fr/desci/index.md index 81e434e76ab..8414305d690 100644 --- a/src/content/translations/fr/desci/index.md +++ b/src/content/translations/fr/desci/index.md @@ -110,6 +110,7 @@ Explorer les projets et rejoindre la communauté DeSci. - [Active Inference Lab](https://www.activeinference.org/) - [CureDAO : plateforme de santé de précision détenue par une communauté](https://docs.curedao.org/) - [IdeaMarkets : pour une crédibilité scientifique décentralisée renforcée](https://ideamarket.io/) +- [DeSci Labs](https://www.desci.com/) Nous accueillons volontiers les suggestions de nouveaux projets à répertorier - veuillez consulter notre [politique d'inscription](/contributing/adding-desci-projects/) pour commencer ! diff --git a/src/content/translations/fr/developers/docs/accounts/index.md b/src/content/translations/fr/developers/docs/accounts/index.md index 28ae15e42e3..63337bf63d9 100644 --- a/src/content/translations/fr/developers/docs/accounts/index.md +++ b/src/content/translations/fr/developers/docs/accounts/index.md @@ -8,7 +8,7 @@ Un compte Ethereum est une entité avec un solde en ether (ETH) qui peut réalis ## Prérequis {#prerequisites} -Les comptes sont un sujet très accessible pour les débutants, Pour vous aider à mieux comprendre cette page, nous vous recommandons de commencer par lire notre [introduction à Ethereum](/developers/docs/intro-to-ethereum/). +Pour vous aider à mieux comprendre cette page, nous vous recommandons de commencer par lire notre [introduction à Ethereum](/developers/docs/intro-to-ethereum/). ## Types de comptes {#types-of-account} @@ -42,7 +42,7 @@ Les deux types de comptes peuvent : Les comptes Ethereum comportent quatre champs : -- `nonce` – Compteur qui indique le nombre de transactions envoyées depuis le compte. Cela garantit que les transactions ne sont traitées qu'une seule fois. Dans un compte de contrat, ce nombre représente le nombre de contrats créés par ce compte +- `nonce` - Il s'agit soit d'un code indiquant le nombre de transactions envoyées à partir d'une adresse émettrice, soit du nombre de contrats créés auxquels vous pouvez avoir accès par le biais de la page dédiée aux contrats et aux adresses Ethereum (Account). Chaque adresse Ethereum (Account) peut être utilisée uniquement à chaque transaction en choisissant un nonce associé au bloc. Le rôle de ce dernier est de rendre impossible les attaques par rejeu, durant lesquelles des transactions signées sur une chaîne, sont réalisées et retransmises de manière continue sur l'autre chaîne. - `balance` – le nombre de wei possédés par cette adresse. Le wei est une unité divisionnaire de l'ETH. Il y a 1e+18 wei pour 1 ETH. - `codeHash` – ce hash est une référence au _code_ d'un compte dans la machine virtuelle Ethereum (EVM). Les comptes de contrat possèdent des fragments de code qui peuvent réaliser différentes opérations. Ce code EVM est exécuté si le compte reçoit un message. Contrairement aux autres champs, il ne peut pas être modifié. Tous ces fragments de code sont stockés dans une base de données à états, sous leur hachage correspondant, pour une récupération future. Cette valeur de hachage est connue en tant que codeHash. Pour les comptes externes, le champ du codeHash contient le hachage d'une chaîne vide. - `storageRoot` – Parfois connu sous le nom de hachage de stockage. Un hash 256 bits du nœud racine d'un arbre de Merkle qui encode le contenu de stockage du compte (une correspondance entre 256 bits entiers), encodé dans un arbre préfixé comme correspondance d'un hach Keccak 256 bits des clés d'entier en 256 bits en des valeurs entières encodées en RLP. Cet arbre encode le hash des contenus stockés de ce compte, et est vide pas défaut. @@ -120,6 +120,8 @@ Regardez Austin vous guider à travers les fonctions de hachage et les paires de ## Complément d'information {#further-reading} +- [Comprendre les Comptes Ethereum](https://info.etherscan.com/understanding-ethereum-accounts/) - etherscan + _Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ ## Sujets connexes {#related-topics} diff --git a/src/content/translations/fr/developers/docs/apis/backend/index.md b/src/content/translations/fr/developers/docs/apis/backend/index.md index 96dfe9094f6..e2af751674c 100644 --- a/src/content/translations/fr/developers/docs/apis/backend/index.md +++ b/src/content/translations/fr/developers/docs/apis/backend/index.md @@ -143,19 +143,36 @@ Les bibliothèques suppriment une grande partie de la complexité de l'interacti - [Discord](https://discord.com/invite/KYswaxwEtg) - [Forum](https://forum.moralis.io/) -**GetBlock - _Blockchain-as-a-service pour le développement Web3_** +- [chainbase.com](https://chainbase.com/) +- [Documentation](https://docs.chainbase.com/) +- [Discord](https://discord.gg/Wx6qpqz4AF) + +**GetBlock-** **_Blockchain-as-a-service pour le développement du Web3_** - [GetBlock.io](https://getblock.io/) - [Documentation](https://getblock.io/docs/) +**BlockPi -** **_Fournit des services RPC plus efficaces et plus rapides_** + +- [blockpi.io](https://blockpi.io/) +- [Documentation](https://docs.blockpi.io/) +- [GitHub](https://github.com/BlockPILabs) +- [Discord](https://discord.com/invite/xTvGVrGVZv) + +**Tokenview -** **_La plateforme générale d'API de blockchain multi-crypto._** + +- [services.tokenview.io](https://services.tokenview.io/) +- [Documentation](https://services.tokeniew/docs?type=api) +- [Github](https://github.com/Tokenview) + ## Complément d'information {#further-reading} _Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ ## Sujets connexes {#related-topics} -- [Nœuds et clients](/developers/docs/nodes-and-clients/) -- [Infrastructures de développement](/developers/docs/frameworks/) +- [ Nœuds et clients](/developers/docs/nodes-and-clients/) +- [Frameworks de développement](/developers/docs/frameworks/) ## Tutoriels connexes {#related-tutorials} diff --git a/src/content/translations/fr/developers/docs/apis/json-rpc/index.md b/src/content/translations/fr/developers/docs/apis/json-rpc/index.md index 39c2a37d5df..533705d52a0 100644 --- a/src/content/translations/fr/developers/docs/apis/json-rpc/index.md +++ b/src/content/translations/fr/developers/docs/apis/json-rpc/index.md @@ -358,7 +358,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":6 } ``` -## eth_chainId {#eth_chainId} +### eth_chainId {#eth_chainId} Retourne la chaîne ID utilisée pour la signature d'opérations protégées par la rediffusion. @@ -1239,7 +1239,10 @@ params: ["0x85d995eba9763907fdf35cd2034144dd9d53ce32cbec21349d4b12823c6860c5"] - `contractAddress`: `DATA`, 20 octets - L'adresse du contrat a été créée, si la transaction était une création de contrat, sinon `null`. - `logs`: `Tableau` - Tableau d'objets de log, que cette transaction a générés. - `logsBloom`: `DATA`, 256 octets - Filtre Bloom pour les clients légers pour récupérer rapidement les logs associés. -- `type`: `QUANTITY` - nombre entier du type de transaction, `0x00` pour les transactions héritées, `0x01` pour les types de listes d'accès, `0x02` pour les frais dynamiques. Il renvoie aussi _soit_ : +- `type`: `QUANTITY` - nombre entier du type de transaction, `0x00` pour les transactions héritées, `0x01` pour les types de listes d'accès, `0x02` pour les frais dynamiques. + +Il renvoie aussi _soit_ : + - `root` : `DATA` 32 octets de stateroot post-transaction (avant Byzantium) - `status`: `QUANTITY` soit `1` (succès) ou `0` (échec) @@ -1484,10 +1487,10 @@ Crée un objet filtre, basé sur les options de filtre, pour avertir lorsque l' 1. `Object` - Les options de filtre : -- `fromBlock`: `QUANTITY|TAG` - (optionnel, par défaut : `« latest »`) nombre de blocs entiers, ou `« latest »` pour le dernier bloc miné ou `« pendant »`, `« earliest »` pour les transactions non encore minées. -- `toBlock`: `QUANTITY|TAG` - (facultatif, par défaut : `« latest »`) Numéro de bloc d'entier ou `« latest »` pour le dernier bloc miné ou `« pending »`, `« earliest »` pour les transactions non encore minées. +- `fromBlock`: `QUANTITY|TAG` - (optionnel, par défaut : `"latest"`) nombre de blocs entiers, ou `"latest"` pour le dernier bloc miné ou `"pending"`, `"earliest"` pour les transactions non encore minées. +- `toBlock`: `QUANTITY|TAG` - (facultatif, par défaut : `"latest"`) Numéro de bloc d'entier ou `"latest"` pour le dernier bloc miné ou `"pending"`, `"earliest"` pour les transactions non encore minées. - `address`: `DATA|Array`, 20 octets - (facultatif) adresse contractuelle ou une liste d'adresses d'où les logs doivent provenir. -- `topics` : `Array of DATA`, - (facultatif) tableau de sujets `DATA` de 32 bytes. Les sujets dépendent de l'ordre. Chaque sujet peut également être un tableau de DATA avec des options « ou ». +- `topics`: `Array of DATA`, - (facultatif) tableau de 32 bytes `DATA` topics. Les sujets dépendent de l'ordre. Chaque sujet peut également être un tableau de DATA avec des options "ou". ```js params: [ @@ -1678,10 +1681,10 @@ Retourne un tableau de tous les logs correspondant à un objet filtre donné. 1. `Object` - Les options de filtre : -- `fromBlock`: `QUANTITY|TAG` - (optionnel, par défaut : `« latest »`) nombre de blocs entiers, ou `« latest »` pour le dernier bloc miné ou `« pendant »`, `« earliest »` pour les transactions non encore minées. -- `toBlock`: `QUANTITY|TAG` - (facultatif, par défaut : `« latest »`) Numéro de bloc d'entier ou `« latest »` pour le dernier bloc miné ou `« pending »`, `« earliest »` pour les transactions non encore minées. +- `fromBlock`: `QUANTITY|TAG` - (optionnel, par défaut : `"latest"`) nombre de blocs entiers, ou `"latest"` pour le dernier bloc miné ou `"pending"`, `"earliest"` pour les transactions non encore minées. +- `toBlock`: `QUANTITY|TAG` - (facultatif, par défaut : `"latest"`) Numéro de bloc d'entier ou `"latest"` pour le dernier bloc miné ou `"pending"`, `"earliest"` pour les transactions non encore minées. - `address`: `DATA|Array`, 20 octets - (facultatif) adresse contractuelle ou une liste d'adresses d'où les logs doivent provenir. -- `topics` : `Array of DATA`, - (facultatif) tableau de sujets `DATA` de 32 bytes. Les sujets dépendent de l'ordre. Chaque sujet peut également être un tableau de DATA avec des options « ou ». +- `topics`: `Array of DATA`, - (facultatif) tableau de 32 bytes `DATA` topics. Les sujets dépendent de l'ordre. Chaque sujet peut également être un tableau de DATA avec des options "ou". - `blockhash`: `DATA`, 32 octets - (facultatif, **futur**) À l'ajout de EIP-234, `blockHash` sera une nouvelle option de filtre qui restreint les logs retournés au bloc unique avec le hachage de 32 octets `blockHash`. Utiliser `blockHash` est équivalent à `fromBlock` = `toBlock` = le numéro de bloc avec le hachage `blockHash`. Si `blockHash` est présent dans les critères de filtre, alors ni `fromBlock` ni `toBlock` ne sont autorisés. ```js @@ -1798,7 +1801,7 @@ curl -X POST --data '{"jsonrpc":"2.0", "method":"eth_submitHashrate", "params":[ } ``` -### db_putString (deprecated) {#db_putstring} +### db_putString (obsolète) {#db_putstring} Stocke une chaîne dans la base de données locale. @@ -1829,7 +1832,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"db_putString","params":["testDB" } ``` -### db_getString (deprecated) {#db_getstring} +### db_getString (obsolète) {#db_getstring} Retourne une chaîne depuis la base de données locale. **Remarque :** cette fonction est obsolète. @@ -1857,7 +1860,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"db_getString","params":["testDB" } ``` -### db_putHex (deprecated) {#db_puthex} +### db_putHex (obsolète) {#db_puthex} Stocke les données binaires dans la base de données locale. **Remarque :** cette fonction est obsolète. @@ -1886,7 +1889,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"db_putHex","params":["testDB","m } ``` -### db_getHex (deprecated) {#db_gethex} +### db_getHex (obsolète) {#db_gethex} Retourne des données binaires depuis la base de données locale. **Remarque :** cette fonction est obsolète. @@ -1914,7 +1917,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"db_getHex","params":["testDB","m } ``` -### shh_version (deprecated) {#shh_post} +### shh_version (obsolète) {#shh_post} Retourne la version actuelle du protocole de chuchotement. @@ -1937,7 +1940,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"shh_version","params":[],"id":67 } ``` -### shh_post (deprecated) {#shh_version} +### shh_post (obsolète) {#shh_version} Envoie un message chuchoté. @@ -2008,7 +2011,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"shh_newIdentity","params":[],"id } ``` -### shh_hasIdentity (deprecated){#shh_hasidentity} +### shh_hasIdentity (obsolète){#shh_hasidentity} Vérifie si le client détient les clés privées pour une identité donnée. @@ -2039,7 +2042,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"shh_hasIdentity","params":["0x04 } ``` -### shh_newGroup (deprecated){#shh_newgroup} +### shh_newGroup (obsolète){#shh_newgroup} **Remarque :** cette fonction est obsolète. @@ -2060,7 +2063,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"shh_newGroup","params":[],"id":7 } ``` -### shh_addToGroup (deprecated){#shh_addtogroup} +### shh_addToGroup (obsolète){#shh_addtogroup} **Remarque :** cette fonction est obsolète. @@ -2089,7 +2092,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"shh_addToGroup","params":["0x04f } ``` -### shh_newFilter (deprecated){#shh_newfilter} +### shh_newFilter (obsolète){#shh_newfilter} Crée un filtre à notifier, lorsque le client reçoit un message chuchotant correspondant aux options de filtre. **Remarque :** cette fonction est obsolète. @@ -2128,7 +2131,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"shh_newFilter","params":[{"topic } ``` -### shh_uninstallFilter (deprecated){#shh_uninstallfilter} +### shh_uninstallFilter (obsolète){#shh_uninstallfilter} Désinstalle un filtre avec un identifiant donné. Doit toujours être appelé lorsque la montre n'est plus nécessaire. De plus, filtre le délai d'attente quand ils ne sont pas demandés avec [shh_getFilterChanges](#shh_getfilterchanges) pour une certaine période. **Remarque :** cette fonction est obsolète. @@ -2157,7 +2160,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"shh_uninstallFilter","params":[" } ``` -### shh_getFilterChanges (deprecated){#shh_getfilterchanges} +### shh_getFilterChanges (obsolète){#shh_getfilterchanges} Méthode de vote pour les filtres chuchotants. Retourne les nouveaux messages depuis le dernier appel de cette méthode. **Note** appelant la méthode [shh_getMessages](#shh_getmessages) va réinitialiser le tampon pour cette méthode afin que vous ne receviez pas de messages dupliqués. **Remarque :** cette fonction est obsolète. @@ -2206,7 +2209,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"shh_getFilterChanges","params":[ } ``` -### shh_getMessages (deprecated) {#shh_getmessages} +### shh_getMessages (obsolète) {#shh_getmessages} Récupère tous les messages correspondant à un filtre. Contrairement à `shh_getFilterChanges` cela retourne tous les messages. diff --git a/src/content/translations/fr/developers/docs/blocks/index.md b/src/content/translations/fr/developers/docs/blocks/index.md index b89a8e88a60..c8adc71e945 100644 --- a/src/content/translations/fr/developers/docs/blocks/index.md +++ b/src/content/translations/fr/developers/docs/blocks/index.md @@ -22,7 +22,7 @@ En espaçant les engagements, nous donnons à tous les participants du serveur a Pour préserver l'historique des transactions, les blocs sont strictement ordonnés (chaque nouveau bloc créé contient une référence à son bloc parent), et les transactions au sein des blocs sont également strictement ordonnées. Sauf dans de rares cas, à tout moment, tous les participants au réseau sont d'accord sur le nombre exact et l'historique des blocs, et s'efforcent de regrouper les demandes de transactions en cours dans le bloc suivant. -Une fois qu'un bloc est assemblé par un validateur sur le réseau, il est propagé auprès du reste du réseau ; tous les nœuds ajoutent ce bloc à la fin de leur blockchain, et un nouveau validateur est sélectionné pour créer le bloc suivant. Le processus exact d'assemblage de blocs et le processus d'engagement/consensus sont actuellement spécifiés par le protocole de la « preuve d'enjeu » d'Ethereum. +Une fois qu'un bloc a été lié aux autres blocs par un validateur sélectionné aléatoirement sur le réseau, il est scellé au reste du réseau ; ce bloc ajouté à la chaîne de bloc (blockchain) est lié au précédent, et une copie est transmise à tous les noeuds du réseau, ensuite un autre validateur est sélectionné pour créer le nouveau bloc. Le processus exact d'assemblage de blocs et le processus d'engagement/consensus sont actuellement spécifiés par le protocole de la « preuve d'enjeu » d'Ethereum. ## Protocole de la preuve d'enjeu {#proof-of-work-protocol} @@ -100,8 +100,9 @@ Exécuter les transactions dans `execution_payload` met à jour l'état global. | `base_fee_per_gas` | la valeur des frais de base | | `block_hash` | hachage du bloc d'exécution | | `transactions_root` | hachage racine des transactions dans le bloc | +| `withdrawal_root` | hachage racine des retraits dans le bloc | -`execution_payload` contient lui-même ce qui suit (notez que cela est identique à l'en-tête sauf qu'au lieu du hachage racine des transactions, il inclut la liste réelle des opérations) : +`execution_payload` contient lui-même ce qui suit (notez que cela est identique à l'en-tête sauf qu'au lieu du hachage racine des transactions, il inclut la liste réelle des transactions et des informations de retrait) : | Champ | Description | | :----------------- | :-------------------------------------------------------------------------------- | @@ -119,10 +120,22 @@ Exécuter les transactions dans `execution_payload` met à jour l'état global. | `base_fee_per_gas` | la valeur des frais de base | | `block_hash` | hachage du bloc d'exécution | | `des transactions` | liste des transactions à exécuter | +| `retraits` | liste des objets de retrait | + +La liste `withdrawals` contient les objets `withdrawal` structurée de la façon suivante : + +| Champ | Description | +| :--------------- | :--------------------------------- | +| `address` | adresse du compte qui s'est retiré | +| `amount` | montant du retrait | +| `Index` | valeur d'index du retrait | +| `validatorIndex` | valeur d'index du validateur | ## Durée de blocage {#block-time} -Le temps de bloc fait référence au temps qui sépare les blocs. Dans Ethereum, le temps est divisé en unités de douze secondes appelées « créneau ». Pour chaque créneau, un validateur est choisi pour proposer un bloc. Si tous les validateurs sont en ligne et complétement opérationnels, il y aura un bloc dans chaque créneau, ce qui signifie que le temps de bloc est de 12 s. Occasionnellement, des validateurs peuvent être hors-ligne lorsqu'ils sont appelés pour valider un bloc, de sorte que les créneaux peuvent parfois être vide. Cela est différent des systèmes basés sur la preuve de travail où les temps de bloc sont probabilistes et ajustés selon la difficulté du minage. +Le temps de bloc fait référence au temps qui sépare les blocs. Dans Ethereum, le temps est divisé en unités de douze secondes appelées « créneau ». Pour chaque créneau, un validateur est choisi pour proposer un bloc. Si tous les validateurs sont en ligne et complétement opérationnels, il y aura un bloc dans chaque créneau, ce qui signifie que le temps de bloc est de 12 s. Occasionnellement, des validateurs peuvent être hors-ligne lorsqu'ils sont appelés pour valider un bloc, de sorte que les créneaux peuvent parfois être vide. + +Cette implémentation diffère des systèmes fondés sur la preuve de travail (PoW), dans lesquels la génération d'un bloc est une occurrence naturelle, compensée par la difficulté de mining du protocole. Le temps moyen de propagation des blocs d'Ethereum [average block time](https://etherscan.io/chart/blocktime) est l'exemple parfait de l'implementation de la preuve d'enjeu, et donc du passage de la preuve de travail (PoW) à la preuve d'enjeu (PoS), rendu possible grâce à un nouvel ajustement du temps de propagation des blocs, qui est passé à 12 secondes. ## Taille des blocs {#block-size} diff --git a/src/content/translations/fr/developers/docs/consensus-mechanisms/pow/mining/index.md b/src/content/translations/fr/developers/docs/consensus-mechanisms/pow/mining/index.md index 832c5f41e31..e7820a441fc 100644 --- a/src/content/translations/fr/developers/docs/consensus-mechanisms/pow/mining/index.md +++ b/src/content/translations/fr/developers/docs/consensus-mechanisms/pow/mining/index.md @@ -70,7 +70,7 @@ Regardez Austin vous guider à travers le minage et la blockchain de la preuve d ## L'algorithme de minage {#mining-algorithm} -Le réseau principal Ethereum n'a jamais utilisé qu'un seul algorithme de minage - ['Ethash'](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash). Ethhash était le successeur d'un algorithme R&D original connu sous le nom de ["Dagger-Hashimoto"](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto). +Le réseau principal Ethereum n'a jamais utilisé qu'un seul algorithme de minage - ['Ethash'](/developers/docs/consensus-mechanisms/pow/mining-algorithms/ethash/). Ethhash était le successeur d'un algorithme R&D original connu sous le nom de ["Dagger-Hashimoto"](/developers/docs/consensus-mechanisms/pow/mining-algorithms/dagger-hashimoto/). [Plus de détails sur les algorithmes de minage](/developers/docs/consensus-mechanisms/pow/mining-algorithms/). diff --git a/src/content/translations/fr/developers/docs/dapps/index.md b/src/content/translations/fr/developers/docs/dapps/index.md index 575d333e3a0..f14306811e9 100644 --- a/src/content/translations/fr/developers/docs/dapps/index.md +++ b/src/content/translations/fr/developers/docs/dapps/index.md @@ -68,15 +68,23 @@ Un contrat intelligent est un code présent sur la blockchain Ethereum qui fonct - [etherflow.quiknode.io](https://etherflow.quiknode.io/) - [GitHub](https://github.com/abunsen/etherflow) +**thirdweb _- SDKs dans tous les langages, smart contrats, outils et infrastructure pour le développement web3._** + +- [Page d'accueil](https://thirdweb.com/) +- [Documentation](https://portal.thirdweb.com/) +- [GitHub](https://github.com/thirdweb-dev/) + ## Complément d'information {#further-reading} +- [Explorez des applications décentralisées](/dapps) - [L'Architecture d'une application Web 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _Preethi Kasireddy_ - [Le guide 2021 pour les applications décentralisées](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) - _LimeChain_ - [Qu'est-ce que les applications décentralisées ?](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) - _Gemini_ +- [Dapps populaires](https://www.alchemy.com/dapps) - _Alchemy_ _Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ ## Sujets connexes {#related-topics} - [Introduction à la pile Ethereum](/developers/docs/ethereum-stack/) -- [Infrastructures de développement](/developers/docs/frameworks/) +- [Frameworks de développement](/developers/docs/frameworks/) diff --git a/src/content/translations/fr/developers/docs/data-and-analytics/block-explorers/index.md b/src/content/translations/fr/developers/docs/data-and-analytics/block-explorers/index.md index 73c4ac397a4..603f78e2956 100644 --- a/src/content/translations/fr/developers/docs/data-and-analytics/block-explorers/index.md +++ b/src/content/translations/fr/developers/docs/data-and-analytics/block-explorers/index.md @@ -21,8 +21,10 @@ Pour que les données fournies par un explorateur de blocs aient du sens, vous d - [Ethplorer](https://ethplorer.io/) - _Aussi disponible en chinois, espagnol, français, turc, russe, coréen et vietnamien_ - [OKLink](https://www.oklink.com/eth) - [Otterscan](https://otterscan.io/) +- [Rantom](https://rantom.app/) - [Sirato](https://www.web3labs.com/sirato) - [EthVM](https://www.ethvm.com/) +- [Explorateurs de bloc DexGuru](https://ethereum.dex.guru/) ## Données {#data} @@ -234,6 +236,7 @@ Les données de couches de consensus de haut niveau comprennent les éléments s - [Blockchair](https://blockchair.com/ethereum) - L'explorateur Ethereum le plus privé. Egalement pour trier et filtrer des données (mempool). - [Etherchain](https://www.etherchain.org/) - un explorateur de blocs pour le réseau principal Ethereum - [Ethplorer](https://ethplorer.io/) - un explorateur de blocs avec une focalisation sur les jetons pour le réseau principal Ethereum et le réseau de test Kovan +- [Rantom](https://rantom.app/) - Un service crypto-friendly open-source, intégré à sa plateforme de finance décentralisée (DeFi) & Visualisation du volume de transactions des NFT pour une vision détaillée ## En savoir plus {#further-reading} diff --git a/src/content/translations/fr/developers/docs/development-networks/index.md b/src/content/translations/fr/developers/docs/development-networks/index.md index 99698d1a813..7d162144cac 100644 --- a/src/content/translations/fr/developers/docs/development-networks/index.md +++ b/src/content/translations/fr/developers/docs/development-networks/index.md @@ -62,11 +62,22 @@ Il y a aussi deux implémentations de test publiques maintenues d'Ethereum : Goe - [Plateforme de lancement de la mise en jeu de Goerli](https://goerli.launchpad.ethereum.org/) - [Ropsten, Rinkeby & Annonce de dépréciation Kiln](https://blog.ethereum.org/2022/06/21/testnet-deprecation) +### Pack Ethereum de Kurtosis {#kurtosis} + +Kurtosis est un système de construction d'environnements de test multi-conteneurs qui permet aux développeurs de créer localement des instances reproductibles de réseaux de blockchain. + +Le pack Ethereum Kurtosis permet de mettre localement en place un réseau de test Ethereum paramétrable, prenant en charge plusieurs clients différents de la couche d'exécution et de la couche de consensus, ainsi qu'un nombre "n" de nœuds. Kurtosis gère harmonieusement toutes les cartographies de ports locaux et les connexions de services pour faciliter le prototypage et le test des dApp et des contrats intelligents. + +- [Pack réseau Ethereum](https://github.com/kurtosis-tech/eth-network-package) +- [Site Web](https://www.kurtosis.com/) +- [Github](https://github.com/kurtosis-tech/kurtosis) +- [Documentation](https://docs.kurtosis.com/) + ## Complément d'information {#further-reading} _Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ ## Sujets connexes {#related-topics} -- [Infrastructures de développement](/developers/docs/frameworks/) +- [Frameworks de développement](/developers/docs/frameworks/) - [Configurer un environnement de développement local](/developers/local-environment/) diff --git a/src/content/translations/fr/developers/docs/evm/index.md b/src/content/translations/fr/developers/docs/evm/index.md index 8878fb9ef32..c0b78e73adc 100644 --- a/src/content/translations/fr/developers/docs/evm/index.md +++ b/src/content/translations/fr/developers/docs/evm/index.md @@ -71,6 +71,7 @@ Les [clients d'exécution Ethereum](/developers/docs/nodes-and-clients/#executio - [Jellopaper aka KEVM : Sémantique de l'EVM en K](https://jellopaper.org/) - [Livre beige Ethereum](https://github.com/chronaeon/beigepaper) - [Codes d'opérations de l'EVM](https://www.ethervm.io/) +- [Documents de Référence aux Codes Opératoires de la Machine Virtuelle Ethereum](https://www.evm.codes/) - [Une courte introduction dans la documentation de Solidity](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#index-6) ## Sujets connexes {#related-topics} diff --git a/src/content/translations/fr/developers/docs/evm/opcodes/index.md b/src/content/translations/fr/developers/docs/evm/opcodes/index.md new file mode 100644 index 00000000000..0243221d9a7 --- /dev/null +++ b/src/content/translations/fr/developers/docs/evm/opcodes/index.md @@ -0,0 +1,170 @@ +--- +title: Opcodes pour l'EMV +description: Une liste de tous les opcodes disponibles pour la machine virtuelle Ethereum. +lang: fr +--- + +## Aperçu {#overview} + +Il s'agit d'une version mise à jour de la page de référence de l'EMV sur [wolflo/evm-opcodes](https://github.com/wolflo/evm-opcodes). Également tirée du [Yellow Paper,](https://ethereum.github.io/yellowpaper/paper.pdf) du [Jello Paper](https://jellopaper.org/evm/) et de l'implémentation [geth](https://github.com/ethereum/go-ethereum). Ceci est destiné à être une référence accessible, mais ce n'est pas particulièrement rigoureux. Si vous souhaitez être sûr de la précision et conscient de chaque cas limite, il est conseillé d'utiliser le Jello Paper ou une implémentation de client. + +À la recherche d'une référence interactive ? Consultez [evm.codes](https://www.evm.codes/). + +Pour les opérations avec des coûts en gaz dynamiques, consultez [gas.md](https://github.com/wolflo/evm-opcodes/blob/main/gas.md). + +💡 Conseil rapide : Pour afficher des lignes entières, utilisez `[shift] + défilement` pour faire défiler horizontalement sur ordinateur. + +| Base | Nom | Gaz | Base | Résultat | Mémoire | Notes | +| :---: | :------------- | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------- | :------------------------------ | :---------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- | +| 00 | STOP | 0 | | | | halt execution | +| 01 | ADD | 3 | `a, b` | `a + b` | | (u)int256 addition modulo 2\*\*256 | +| 02 | MUL | 5 | `a, b` | `a * b` | | (u)int256 multiplication modulo 2\*\*256 | +| 03 | SUB | 3 | `a, b` | `a - b` | | (u)int256 addition modulo 2\*\*256 | +| 04 | DIV | 5 | `a, b` | `a // b` | | uint256 division | +| 05 | SDIV | 5 | `a, b` | `a // b` | | int256 division | +| 06 | MOD | 5 | `a, b` | `a % b` | | uint256 modulus | +| 07 | SMOD | 5 | `a, b` | `a % b` | | int256 modulus | +| 08 | ADDMOD | 8 | `a, b, N` | `(a + b) % N` | | (u)int256 addition modulo N | +| 09 | MULMOD | 8 | `a, b, N` | `(a * b) % N` | | (u)int256 multiplication modulo N | +| 0A | EXP | [A1](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a1-exp) | `a, b` | `a ** b` | | uint256 exponentiation modulo 2\*\*256 | +| 0B | SIGNEXTEND | 5 | `b, x` | `SIGNEXTEND(x, b)` | | [sign extend](https://wikipedia.org/wiki/Sign_extension) `x` from `(b+1)` bytes to 32 bytes | +| 0C-0F | _invalid_ | | | | | | +| 10 | LT | 3 | `a, b` | `a < b` | | uint256 less-than | +| 11 | GT | 3 | `a, b` | `a > b` | | uint256 greater-than | +| 12 | SLT | 3 | `a, b` | `a < b` | | int256 less-than | +| 13 | SGT | 3 | `a, b` | `a > b` | | int256 greater-than | +| 14 | EQ | 3 | `a, b` | `a == b` | | (u)int256 equality | +| 15 | ISZERO | 3 | `a` | `a == 0` | | (u)int256 iszero | +| 16 | AND | 3 | `a, b` | `a && b` | | bitwise AND | +| 17 | OR | 3 | `a, b` | `a \|\| b` | | bitwise OR | +| 18 | XOR | 3 | `a, b` | `a ^ b` | | bitwise XOR | +| 19 | NOT | 3 | `a` | `~a` | | bitwise NOT | +| 1A | BYTE | 3 | `i, x` | `(x >> (248 - i * 8)) && 0xFF` | | `i`th byte of (u)int256 `x`, from the left | +| 1B | SHL | 3 | `shift, val` | `val << shift` | | shift left | +| 1C | SHR | 3 | `shift, val` | `val >> shift` | | logical shift right | +| 1D | SAR | 3 | `shift, val` | `val >> shift` | | arithmetic shift right | +| 1E-1F | _invalid_ | | | | | | +| 20 | KECCAK256 | [A2](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a2-sha3) | `ost, len` | `keccak256(mem[ost:ost+len-1])` | | keccak256 | +| 21-2F | _invalid_ | | | | | | +| 30 | ADDRESS | 2 | `.` | `address(this)` | | address of executing contract | +| 31 | BALANCE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `addr.balance` | | balance, in wei | +| 32 | ORIGIN | 2 | `.` | `tx.origin` | | address that originated the tx | +| 33 | CALLER | 2 | `.` | `msg.sender` | | address of msg sender | +| 34 | CALLVALUE | 2 | `.` | `msg.value` | | msg value, in wei | +| 35 | CALLDATALOAD | 3 | `idx` | `msg.data[idx:idx+32]` | | read word from msg data at index `idx` | +| 36 | CALLDATASIZE | 2 | `.` | `len(msg.data)` | | length of msg data, in bytes | +| 37 | CALLDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := msg.data[ost:ost+len-1] | copy msg data | +| 38 | CODESIZE | 2 | `.` | `len(this.code)` | | length of executing contract's code, in bytes | +| 39 | CODECOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | | mem[dstOst:dstOst+len-1] := this.code[ost:ost+len-1] | copy executing contract's bytecode | +| 3A | GASPRICE | 2 | `.` | `tx.gasprice` | | gas price of tx, in wei per unit gas [\*\*](https://eips.ethereum.org/EIPS/eip-1559#gasprice) | +| 3B | EXTCODESIZE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `len(addr.code)` | | size of code at addr, in bytes | +| 3C | EXTCODECOPY | [A4](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a4-extcodecopy) | `addr, dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := addr.code[ost:ost+len-1] | copy code from `addr` | +| 3D | RETURNDATASIZE | 2 | `.` | `size` | | size of returned data from last external call, in bytes | +| 3E | RETURNDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := returndata[ost:ost+len-1] | copy returned data from last external call | +| 3F | EXTCODEHASH | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `Empreinte numérique` | | hash = addr.exists ? keccak256(addr.code) : 0 | +| 40 | BLOCKHASH | 20 | `blockNum` | `blockHash(blockNum)` | | | +| 41 | COINBASE | 2 | `.` | `block.coinbase` | | address of miner of current block | +| 42 | TIMESTAMP | 2 | `.` | `block.timestamp` | | timestamp of current block | +| 43 | NUMBER | 2 | `.` | `block.number` | | number of current block | +| 44 | PREVRANDAO | 2 | `.` | `randomness beacon` | | randomness beacon | +| 45 | GASLIMIT | 2 | `.` | `block.gaslimit` | | gas limit of current block | +| 46 | CHAINID | 2 | `.` | `chain_id` | | push current [chain id](https://eips.ethereum.org/EIPS/eip-155) onto stack | +| 47 | SELFBALANCE | 5 | `.` | `address(this).balance` | | balance of executing contract, in wei | +| 48 | BASEFEE | 2 | `.` | `block.basefee` | | base fee of current block | +| 49-4F | _invalid_ | | | | | | +| 50 | POP | 2 | `_anon` | `.` | | remove item from top of stack and discard it | +| 51 | MLOAD | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost` | `mem[ost:ost+32]` | | read word from memory at offset `ost` | +| 52 | MSTORE | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost:ost+32] := val | write a word to memory | +| 53 | MSTORE8 | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost] := val && 0xFF | write a single byte to memory | +| 54 | SLOAD | [A6](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a6-sload) | `key` | `storage[key]` | | read word from storage | +| 55 | SSTORE | [A7](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a7-sstore) | `key, val` | `.` | storage[key] := val | write word to storage | +| 56 | JUMP | 8 | `dst` | `.` | | `$pc := dst` mark that `pc` is only assigned if `dst` is a valid jumpdest | +| 57 | JUMPI | 10 | `dst, condition` | `.` | | `$pc := condition ? dst : $pc + 1` | +| 58 | PC | 2 | `.` | `$pc` | | program counter | +| 59 | MSIZE | 2 | `.` | `len(mem)` | | size of memory in current execution context, in bytes | +| 5A | GAS | 2 | `.` | `gasRemaining` | | | +| 5B | JUMPDEST | 1 | | | mark valid jump destination | a valid jump destination for example a jump destination not inside the push data | +| 5C-5E | _invalid_ | | | | | | +| 5F | PUSH0 | 2 | `.` | `uint8` | | push the constant value 0 onto stack | +| 60 | PUSH1 | 3 | `.` | `uint8` | | push 1-byte value onto stack | +| 61 | PUSH2 | 3 | `.` | `uint16` | | push 2-byte value onto stack | +| 62 | PUSH3 | 3 | `.` | `uint24` | | push 3-byte value onto stack | +| 63 | PUSH4 | 3 | `.` | `uint32` | | push 4-byte value onto stack | +| 64 | PUSH5 | 3 | `.` | `uint40` | | push 5-byte value onto stack | +| 65 | PUSH6 | 3 | `.` | `uint48` | | push 6-byte value onto stack | +| 66 | PUSH7 | 3 | `.` | `uint56` | | push 7-byte value onto stack | +| 67 | PUSH8 | 3 | `.` | `uint64` | | push 8-byte value onto stack | +| 68 | PUSH9 | 3 | `.` | `uint72` | | push 9-byte value onto stack | +| 69 | PUSH10 | 3 | `.` | `uint80` | | push 10-byte value onto stack | +| 6A | PUSH11 | 3 | `.` | `uint88` | | push 11-byte value onto stack | +| 6B | PUSH12 | 3 | `.` | `uint96` | | push 12-byte value onto stack | +| 6C | PUSH13 | 3 | `.` | `uint104` | | push 13-byte value onto stack | +| 6D | PUSH14 | 3 | `.` | `uint112` | | push 14-byte value onto stack | +| 6E | PUSH15 | 3 | `.` | `uint120` | | push 15-byte value onto stack | +| 6F | PUSH16 | 3 | `.` | `uint128` | | push 16-byte value onto stack | +| 70 | PUSH17 | 3 | `.` | `uint136` | | push 17-byte value onto stack | +| 71 | PUSH18 | 3 | `.` | `uint144` | | push 18-byte value onto stack | +| 72 | PUSH19 | 3 | `.` | `uint152` | | push 19-byte value onto stack | +| 73 | PUSH20 | 3 | `.` | `uint160` | | push 20-byte value onto stack | +| 74 | PUSH21 | 3 | `.` | `uint168` | | push 21-byte value onto stack | +| 75 | PUSH22 | 3 | `.` | `uint176` | | push 22-byte value onto stack | +| 76 | PUSH23 | 3 | `.` | `uint184` | | push 23-byte value onto stack | +| 77 | PUSH24 | 3 | `.` | `uint192` | | push 24-byte value onto stack | +| 78 | PUSH25 | 3 | `.` | `uint200` | | push 25-byte value onto stack | +| 79 | PUSH26 | 3 | `.` | `uint208` | | push 26-byte value onto stack | +| 7A | PUSH27 | 3 | `.` | `uint216` | | push 27-byte value onto stack | +| 7B | PUSH28 | 3 | `.` | `uint224` | | push 28-byte value onto stack | +| 7C | PUSH29 | 3 | `.` | `uint232` | | push 29-byte value onto stack | +| 7D | PUSH30 | 3 | `.` | `uint240` | | push 30-byte value onto stack | +| 7E | PUSH31 | 3 | `.` | `uint248` | | push 31-byte value onto stack | +| 7F | PUSH32 | 3 | `.` | `uint256` | | push 32-byte value onto stack | +| 80 | DUP1 | 3 | `a` | `a, a` | | clone 1st value on stack | +| 81 | DUP2 | 3 | `_, a` | `a, _, a` | | clone 2nd value on stack | +| 82 | DUP3 | 3 | `_, _, a` | `a, _, _, a` | | clone 3rd value on stack | +| 83 | DUP4 | 3 | `_, _, _, a` | `a, _, _, _, a` | | clone 4th value on stack | +| 84 | DUP5 | 3 | `..., a` | `a, ..., a` | | clone 5th value on stack | +| 85 | DUP6 | 3 | `..., a` | `a, ..., a` | | clone 6th value on stack | +| 86 | DUP7 | 3 | `..., a` | `a, ..., a` | | clone 7th value on stack | +| 87 | DUP8 | 3 | `..., a` | `a, ..., a` | | clone 8th value on stack | +| 88 | DUP9 | 3 | `..., a` | `a, ..., a` | | clone 9th value on stack | +| 89 | DUP10 | 3 | `..., a` | `a, ..., a` | | clone 10th value on stack | +| 8A | DUP11 | 3 | `..., a` | `a, ..., a` | | clone 11th value on stack | +| 8B | DUP12 | 3 | `..., a` | `a, ..., a` | | clone 12th value on stack | +| 8C | DUP13 | 3 | `..., a` | `a, ..., a` | | clone 13th value on stack | +| 8D | DUP14 | 3 | `..., a` | `a, ..., a` | | clone 14th value on stack | +| 8E | DUP15 | 3 | `..., a` | `a, ..., a` | | clone 15th value on stack | +| 8F | DUP16 | 3 | `..., a` | `a, ..., a` | | clone 16th value on stack | +| 90 | SWAP1 | 3 | `a, b` | `b, a` | | | +| 91 | SWAP2 | 3 | `a, _, b` | `b, _, a` | | | +| 92 | SWAP3 | 3 | `a, _, _, b` | `b, _, _, a` | | | +| 93 | SWAP4 | 3 | `a, _, _, _, b` | `b, _, _, _, a` | | | +| 94 | SWAP5 | 3 | `a, ..., b` | `b, ..., a` | | | +| 95 | SWAP6 | 3 | `a, ..., b` | `b, ..., a` | | | +| 96 | SWAP7 | 3 | `a, ..., b` | `b, ..., a` | | | +| 97 | SWAP8 | 3 | `a, ..., b` | `b, ..., a` | | | +| 98 | SWAP9 | 3 | `a, ..., b` | `b, ..., a` | | | +| 99 | SWAP10 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9A | SWAP11 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9B | SWAP12 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9C | SWAP13 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9D | SWAP14 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9E | SWAP15 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9F | SWAP16 | 3 | `a, ..., b` | `b, ..., a` | | | +| A0 | LOG0 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len` | `.` | | LOG0(memory[ost:ost+len-1]) | +| A1 | LOG1 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0` | `.` | | LOG1(memory[ost:ost+len-1], topic0) | +| A2 | LOG2 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1` | `.` | | LOG1(memory[ost:ost+len-1], topic0, topic1) | +| A3 | LOG3 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2` | `.` | | LOG1(memory[ost:ost+len-1], topic0, topic1, topic2) | +| A4 | LOG4 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2, topic3` | `.` | | LOG1(memory[ost:ost+len-1], topic0, topic1, topic2, topic3) | +| A5-EF | _invalid_ | | | | | | +| F0 | CREATE | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len` | `addr` | | addr = keccak256(rlp([address(this), this.nonce])) | +| F1 | CALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | gas, addr, val, argOst, argLen, retOst, retLen | `success` | mem[retOst:retOst+retLen-1] := returndata | | +| F2 | CALLCODE | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, val, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] = returndata | same as DELEGATECALL, but does not propagate original msg.sender and msg.value | +| F3 | RETOUR | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | return mem[ost:ost+len-1] | +| F4 | DELEGATECALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | | +| F5 | CREATE2 | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len, salt` | `addr` | | addr = keccak256(0xff ++ address(this) ++ salt ++ keccak256(mem[ost:ost+len-1]))[12:] | +| F6-F9 | _invalid_ | | | | | | +| FA | STATICCALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | | +| FB-FC | _invalid_ | | | | | | +| FD | REVERT | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | revert(mem[ost:ost+len-1]) | +| FE | INVALID | [AF](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#af-invalid) | | | designated invalid opcode - [EIP-141](https://eips.ethereum.org/EIPS/eip-141) | | +| FF | SELFDESTRUCT | [AB](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#ab-selfdestruct) | `addr` | `.` | | | destroy contract and sends all funds to `addr` | diff --git a/src/content/translations/fr/developers/docs/frameworks/index.md b/src/content/translations/fr/developers/docs/frameworks/index.md index b15faf595aa..6155482103e 100644 --- a/src/content/translations/fr/developers/docs/frameworks/index.md +++ b/src/content/translations/fr/developers/docs/frameworks/index.md @@ -91,6 +91,17 @@ Avant de plonger dans les infrastructures, nous vous recommandons de commencer p - [GitHub](https://github.com/node-real) - [Discord](https://discord.gg/V5k5gsuE) +**thirdweb SDK -** **_Créez des applications web3 capables d'interagir avec vos smart contracts à l'aide de nos puissants SDK et CLI._** + +- [Documentation](https://portal.thirdweb.com/sdk/) +- [GitHub](https://github.com/thirdweb-dev/) + +**Chainstack -** **_Plateforme de développement Web3 (Ethereum et autres)._** + +- [chainstack.com](https://www.chainstack.com/) +- [GitHub](https://github.com/chainstack) +- [Discord](https://discord.gg/BSb5zfp9AT) + ## Complément d'information {#further-reading} _Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ diff --git a/src/content/translations/fr/developers/docs/gas/index.md b/src/content/translations/fr/developers/docs/gas/index.md index bd60a78737f..4a997852f4f 100644 --- a/src/content/translations/fr/developers/docs/gas/index.md +++ b/src/content/translations/fr/developers/docs/gas/index.md @@ -14,41 +14,43 @@ Pour mieux comprendre cette page, nous vous recommandons de commencer par lire c Le gaz est l'unité qui mesure la quantité d'efforts de calculs requis pour exécuter des opérations spécifiques sur le réseau Ethereum. -Comme chaque transaction Ethereum nécessite des ressources informatiques pour s'exécuter, cela implique des frais. Le gaz correspond aux frais requis pour effectuer correctement une transaction sur Ethereum. +Étant donné que l'exécution de chaque transaction Ethereum nécessite des ressources informatiques, ces ressources doivent être payées pour garantir qu'Ethereum ne soit pas vulnérable au spam et ne reste pas bloqué dans des boucles de calcul infinies. Le paiement concernant le calcul se fait sous forme de frais de gaz. + +Les frais de gaz** correspondent à la somme de gaz utilisé pour effectuer une opération, multiplié au coût par unité de gaz**. Les frais sont payés, que la transaction réussisse ou échoue. ![Diagramme indiquant où le gaz est nécessaire dans les opérations EVM](./gas.png) _Schéma adapté à partir du document [Ethereum EVM illustrated](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ -Fondamentalement, les frais de gaz sont payés en ether (ETH), la monnaie native d'Ethereum. Les prix du gaz sont indiqués en gwei, qui est une dénomination de l'ETH. Chaque gwei est égal à 0,00000001 ETH (10-9 ETH). Par exemple, au lieu de dire que votre gaz coûte 0,000000001 Ether, vous pouvez dire qu'il coûte 1 gwei. Le mot « gwei » signifie « giga-wei », et il est égal à 1 000 000 000 de wei. « Wei » (qui porte le nom de [Wei Dai](https://wikipedia.org/wiki/Wei_Dai), le créateur de [b-money](https://www.investopedia.com/terms/b/bmoney.asp)), est la plus petite unité d'ETH. +Les frais de gaz doivent être payés dans la monnaie native d'Ethereum, l'éther (ETH). Le prix du gaz est généralement indiqué en gwei, qui est une dénomination de l'ETH. Chaque gwei est égal à un milliardième d'ETH (0,000000001 ETH ou 10-9 ETH). -## Avant la mise à jour de Londres {#pre-london} +Par exemple, au lieu de dire que votre gaz coûte 0,000000001 Ether, vous pouvez dire qu'il coûte 1 gwei. -Sur le réseau Ethereum, la façon dont les frais de transaction sont calculés a été modifiée avec [la mise à jour de Londres](/history/#london) d'août 2021. Voici un récapitulatif de la façon dont cela fonctionnait : +Le mot "gwei" est une contraction de "giga-wei", qui signifie "milliard de wei". Un gwei est égal à un milliard de wei. « Wei » (qui porte le nom de [Wei Dai](https://wikipedia.org/wiki/Wei_Dai), le créateur de [b-money](https://www.investopedia.com/terms/b/bmoney.asp)), est la plus petite unité d'ETH. -Disons qu'Alice devait payer à Marc la somme d'1 ETH. Dans la transaction, la limite de gaz est de 21 000 unités et le prix du gaz est de 200 gwei. +## Comment sont calculées les frais de gaz ? {#how-are-gas-fees-calculated} -Les frais totaux auraient été : `unités de gaz (limite) * prix de gaz par unité` i. `21 000 * 200 = 4 200 000 gwei` ou 0,0042 ETH +Vous pouvez fixer le montant du gaz que vous êtes prêt à payer lorsque vous soumettez une transaction. En choissisant une certaine quantité de gaz, vous faites une offre pour que votre transaction soit incluse dans le bloc suivant. Si votre offre est insuffisante, les validateurs seront moins enclins à choisir votre transaction pour l'inclure, ce qui signifie que votre transaction risque d'être exécutée tardivement ou de ne pas être exécutée du tout. Si vous en offrez trop, vous risquez de gaspiller de l'ETH. Alors, comment savoir combien payer ? -## Après la mise à jour de Londres {#post-london} +Le montant total du gaz que vous payez est divisé en deux parties : `frais de base` et `frais de priorité` (pourboire). -Disons que Jordan doit payer à Thierry la somme d'1 ETH. Dans la transaction, la limite de gaz est de 21 000 unités et les frais de base sont de 10 gwei. Jordan y ajoute un pourboire de 2 gwei. +Les `frais de base` sont fixés par le protocole - vous devez payer au moins ce montant pour que votre transaction soit considérée comme valide. Les `frais de priorité ` sont un pourboire que vous ajoutez aux frais de base pour rendre votre transaction attrayante aux yeux des validateurs afin qu'ils la choisissent pour l'inclure dans le bloc suivant. -Le coût total serait maintenant : `unités de gaz utilisées x (frais de base + frais de priorité)` où les `frais de base` sont des valeurs définies par le protocole et les `frais de priorité` sont une valeur définie par l'utilisateur comme un pourboire pour le validateur. +Une transaction qui ne paie que les `frais de base` est techniquement valable, mais il est peu probable qu'elle soit incluse parce qu'elle n'incite pas les validateurs à la choisir plutôt qu'une autre transaction. Les frais de `priority` (priorité) "corrects" sont déterminés par l'utilisation du réseau au moment où vous émettez votre transaction. Si la demande est importante, vous devrez peut-être augmenter vos frais de `priority` ; dans le cas contraire, vous pourriez payer moins. -Ex. : `21.000 * (10 + 2) = 252 000 gwei` ou 0,000252 ETH. +Par exemple, disons que Jordan doit payer 1 ETH à Taylor. Un transfert d'ETH nécessite 21 000 unités de gaz et les frais de base sont de 10 gwei. Jordan y ajoute un pourboire de 2 gwei. -Lorsque Jordan enverra de l'argent, 1,000252 ETH sera déduit du compte de Jordan. Thierry sera crédité de 1,0000 ETH. Le validateur reçoit un pourboire de 0,000042 ETH. Les frais de base de 0,0021 ETH sont brûlés. +Le montant total des frais s'élèverait alors à : -De plus, Jordan peut également fixer des frais maximums (`maxFeePerGas`) pour la transaction. La différence entre les frais max et les frais réels est remboursée à Jordan, c'est-à-dire `remboursement = frais max - (frais de base + frais de priorité)`. Jordan peut fixer un montant maximum à payer pour l'exécution de la transaction et ne pas s'inquiéter de payer trop, « au-delà » des frais de base lorsque la transaction est exécutée. +`unités de gaz utilisées * ( frais de base + frais de priorité)` -### Taille des blocs {#block-size} +où les `frais de base` sont une valeur fixée par le protocole et les `frais de priorité` sont une valeur fixée par l'utilisateur en guise de pourboire au validateur. -Avant la mise à jour de Londres, Ethereum avait des blocs de taille fixe. En période de forte demande sur le réseau, ces blocs fonctionnaient à pleine capacité. En conséquence, les utilisateurs devaient souvent attendre que la forte demande diminue pour être inclus dans un bloc, ce qui entraînait une mauvaise expérience utilisateur. +ex. `21,000 * (10 + 2) = 252,000 gwei` (0.000252 ETH). -La mise à niveau de Londres a permis d'introduire des blocs de taille variable dans Ethereum. Chaque bloc vise une taille cible de 15 millions de gaz, mais leur taille s'adapte aux exigences du réseau, jusqu'à une limite de 30 millions de gaz (deux fois la taille cible de bloc). Le protocole atteint une taille d'équilibre de bloc de 15 millions en moyenne grâce au processus de _tâtonnement_. Cela signifie que si la taille du bloc est plus importante que la taille cible du bloc, le protocole augmentera les frais de base pour le bloc suivant. De même, le protocole diminuera les frais de base si la taille du bloc est inférieure à la taille cible du bloc. Le montant par lequel les frais de base sont ajustés est proportionnel à l'écart entre la taille actuelle et la taille cible du bloc. [En savoir plus sur les blocs](/developers/docs/blocks/). +Lorsque Jordan enverra de l'argent, 1,000252 ETH sera déduit du compte de Jordan. Thierry sera crédité de 1,0000 ETH. Le validateur reçoit un pourboire de 0,000042 ETH. Les `frais de base` de 0,00021 ETH sont brûlés. ### Frais de base {#base-fee} -Chaque bloc a des frais de base qui servent de prix de réserve. Pour être éligible à l'inclusion dans un bloc, le prix proposé en gaz doit être au moins égal aux frais de base. Les frais de base sont calculés indépendamment du bloc actuel et sont déterminés par les blocs qui le précèdent, ce qui rend les frais de transaction plus prévisibles pour les utilisateurs. Lorsque le bloc est miné, ces frais de base sont « brûlés », disparaissant ainsi de la circulation. +Chaque bloc a des frais de base qui servent de prix de réserve. Pour être éligible à l'inclusion dans un bloc, le prix proposé en gaz doit être au moins égal aux frais de base. Les frais de base sont calculés indépendamment du bloc actuel et sont déterminés par les blocs qui le précèdent, ce qui rend les frais de transaction plus prévisibles pour les utilisateurs. Lors de la création du bloc, les **frais de base sont "brûlés"**, ce qui les retire de la circulation. Les frais de base sont calculés par une formule qui compare la taille du bloc précédent (la quantité de gaz utilisée pour toutes les transactions) avec la taille cible. Les frais de base augmenteront d'un maximum de 12,5 % par bloc si la taille du bloc cible est dépassée. D'un point de vue économique, cette croissance exponentielle ne permet pas de garder indéfiniment des blocs de grande taille. @@ -63,9 +65,9 @@ Les frais de base sont calculés par une formule qui compare la taille du bloc p | 7 | 30 M | 12,5 % | 180,2 gwei | | 8 | 30 M | 12,5 % | 202,7 gwei | -Comparativement au marché aux enchères de gaz d'avant la mise à niveau de Londres, ce changement de mécanisme de frais de transaction permet une meilleure prédiction de ces frais. D'apres la table ci-dessus - afin de créer une transaction sur le bloc numéro 9, un portefeuille pourra faire savoir à l'utilisateur avec certitude que les **frais de base maximum** à ajouter au bloc suivant sont `les frais de base actuels * 112,5 %` ou `202,8 gwei * 112,5 % = 228,1 gwei`. +D'apres la table ci-dessus - afin de créer une transaction sur le bloc numéro 9, un portefeuille pourra faire savoir à l'utilisateur avec certitude que les **frais de base maximum** à ajouter au bloc suivant sont `les frais de base actuels * 112,5 %` ou `202,8 gwei * 112,5 % = 228,1 gwei`. -Il faut également souligner qu'il est peu probable d'assister à des pics prolongés de blocs complets, en raison de la vitesse à laquelle les frais de base augmentent en procédant à un bloc complet. +Il est également important de noter qu'il est peu probable que nous assistions à des pics prolongés de blocs complets en raison de la vitesse à laquelle les frais de base augmentent avant un bloc complet. | Numéro de bloc | Gaz inclus | Augmentation des frais | Frais de base actuels | | -------------- | ---------: | ---------------------: | --------------------: | @@ -77,29 +79,19 @@ Il faut également souligner qu'il est peu probable d'assister à des pics prolo ### Frais de priorité (pourboires) {#priority-fee} -Avant la mise à niveau de Londres, les mineurs recevaient l'ensemble des frais de gaz pour chaque transaction incluse dans un bloc. - -Les nouveaux frais de base étant détruits, la mise à niveau de Londres introduit des frais de priorité (pourboire) afin d'inciter les mineurs à inclure une transaction dans le bloc. Sans pourboires, les mineurs auraient un intérêt économique viable à miner des blocs vides, dans la mesure où ils recevraient la même récompense de bloc. Dans des conditions normales, un petit pourboire incite les mineurs à inclure une transaction. Pour que certaines transactions soient exécutées de préférence avant d'autres Dans le même bloc, un pourboire plus élevé sera nécessaire afin de tenter de surenchérir sur les autres transactions. +Les frais de priorité (pourboire) incitent les validateurs à inclure une transaction dans le bloc. En l'absence de pourboires, les validateurs trouveraient économiquement viable de miner des blocs vides, puisqu'ils recevraient la même récompense pour les blocs. Les petits pourboires n'incitent que très peu les validateurs à inclure une transaction. Pour que les transactions soient exécutées de préférence à d'autres transactions dans le même bloc, un pourboire plus élevé peut être ajouté pour tenter de surenchérir sur les transactions concurrentes. ### Frais maximums {#maxfee} Pour exécuter une transaction sur le réseau, les utilisateurs peuvent spécifier une limite maximale qu'ils sont prêts à payer pour que leur transaction soit exécutée. Ce paramètre optionnel est connu sous le nom de `maxFeePerGas`. Pour qu'une transaction soit exécutée, les frais max doivent dépasser la somme des frais de base et du pourboire. La différence entre les frais maximums et la somme des frais de base et du pourboire est remboursée à l'émetteur de la transaction. -### Le calcul des frais {#calculating-fees} - -L'un des principaux avantages de la mise à niveau de Londres est l'amélioration de l'expérience utilisateur lors de la définition des frais de transaction. Pour les portefeuilles qui prennent en charge la mise à niveau, au lieu d'indiquer explicitement combien vous êtes prêt à payer pour faire passer votre transaction, les fournisseurs de portefeuilles fixeront automatiquement des frais de transaction recommandés (frais de base + frais de priorité recommandés) pour réduire la complexité pesant sur leurs utilisateurs. - -## EIP-1559 {#eip-1559} - -L'intégration de [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) dans la mise à niveau Londres a rendu le mécanisme des frais de transaction plus complexe que les enchères précédentes sur le prix du gaz, mais elle a l'avantage de rendre les frais de gaz plus prévisibles, ce qui se traduit par une plus grande efficacité du marché des frais de transaction. Les utilisateurs peuvent soumettre des transactions avec un `maxFeePerGas` correspondant au montant qu'ils sont prêts à payer pour l'exécution de la transaction, sachant qu'ils ne paieront pas plus que le prix du marché pour le gaz (`baseFeePerGas`), et obtenir un remboursement du supplément, moins leur pourboire. - -Cette vidéo explique l'EIP-1559 et les avantages qu'il procure : +### Taille des blocs {#block-size} - +Chaque bloc vise une taille cible de 15 millions de gaz, mais leur taille s'adapte aux exigences du réseau, jusqu'à une limite de 30 millions de gaz (deux fois la taille cible de bloc). Le protocole atteint une taille d'équilibre de bloc de 15 millions en moyenne grâce au processus de _tâtonnement_. Cela signifie que si la taille du bloc est plus importante que la taille cible du bloc, le protocole augmentera les frais de base pour le bloc suivant. De même, le protocole diminuera les frais de base si la taille du bloc est inférieure à la taille cible du bloc. Le montant par lequel les frais de base sont ajustés est proportionnel à l'écart entre la taille actuelle et la taille cible du bloc. [En savoir plus sur les blocs](/developers/docs/blocks/). -Si vous êtes intéressé, vous pouvez lire [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559). +### Calculer les frais de gaz dans la pratique {#calculating-fees-in-practice} -Continuez à suivre le lapin avec ces [Ressources EIP-1559](https://hackmd.io/@timbeiko/1559-resources). +Vous pouvez indiquer explicitement le montant que vous êtes prêt à payer pour que votre transaction soit exécutée. Cependant, la plupart des fournisseurs de portefeuilles fixent automatiquement des frais de transaction recommandés (frais de base + frais de priorité recommandés) afin de réduire la complexité imposée à leurs utilisateurs. ## Pourquoi les frais de gaz existent-ils ? {#why-do-gas-fees-exist} @@ -111,15 +103,13 @@ Bien qu'une transaction comprenne une limite, tout gaz inutilisé dans une trans ## Qu'est-ce que la limite de gaz ? {#what-is-gas-limit} -La limite de gaz correspond à la quantité maximale de gaz que vous êtes prêt à consommer pour une transaction. Les transactions plus compliquées impliquant des [contrats intelligents](/developers/docs/smart-contracts/) nécessitent plus de travail de calcul, et donc une limite de gaz supérieure à celle d'un simple paiement. Un transfert standard d'ETH nécessite une limite de gaz de 21 000 unités de gaz. +La limite de gaz correspond à la quantité maximale de gaz que vous êtes prêt à consommer lors d'une transaction. Les transactions plus compliquées impliquant des [contrats intelligents](/developers/docs/smart-contracts/) nécessitent plus de travail de calcul, et donc une limite de gaz supérieure à celle d'un simple paiement. Un transfert standard d'ETH nécessite une limite de gaz de 21 000 unités de gaz. -Par exemple, si vous définissez votre limite de gaz à 50 000 pour un simple transfert ETH, l'EVM en consommera 21 000 et vous récupérerez les 29 000 restants. Cependant, si vous fixez un montant de gaz trop faible, par exemple une limite de gaz de 20 000 pour un simple transfert ETH, l'EVM consommera vos 20 000 unités de gaz en essayant de réaliser la transaction, mais celle-ci ne sera pas complète. L'EVM annule alors toute modification, mais puisque le mineur a déjà réalisé pour 20 000 unités de gaz en calculs, ce gaz est consommé. +Par exemple, si vous définissez votre limite de gaz à 50 000 pour un simple transfert ETH, l'EVM en consommera 21 000 et vous récupérerez les 29 000 restants. Cependant, si vous fixez un montant de gaz trop faible, par exemple une limite de gaz de 20 000 pour un simple transfert ETH, l'EVM consommera vos 20 000 unités de gaz en essayant de réaliser la transaction, mais celle-ci ne sera pas complète. L'EVM annule alors toute modification, mais comme le validateur a déjà effectué un travail d'une valeur de 20 000 unités de gaz, ce gaz est consommé. ## Pourquoi les frais de gaz peuvent-ils devenir si élevés ? {#why-can-gas-fees-get-so-high} -Les frais élevés de gaz sont le fruit de la popularité d'Ethereum. Effectuer une opération sur Ethereum nécessite de consommer du gaz, et l'espace de gaz est limité pour un bloc donné. Les frais comprennent les calculs, le stockage ou la manipulation de données ou le transfert de jetons, consommant différentes quantités d'unités de gaz. Au fur et à mesure que les fonctionnalités offertes par les dApps deviennent plus complexes, le nombre d'opérations réalisées par un contrat intelligent augmente également, de sorte que chaque transaction prend plus de place dans un bloc de taille limitée. S'il y a trop de demandes, les utilisateurs doivent offrir un montant de pourboire plus élevé pour essayer de surenchérir sur les transactions des autres utilisateurs. Un pourboire plus élevé augmentera la possibilité que votre transaction soit intégrée au prochain bloc. - -Le prix du gaz ne détermine pas à lui seul le montant que nous avons à payer pour une transaction particulière. Pour calculer les frais de transaction, il convient de multiplier le gaz utilisé par les frais de base en gaz, qui sont mesurés en gwei. +Les frais élevés de gaz sont le fruit de la popularité d'Ethereum. Si la demande est trop forte, les utilisateurs doivent proposer des pourboires plus élevés pour tenter de surenchérir sur les transactions des autres utilisateurs. Un pourboire plus élevé augmentera la possibilité que votre transaction soit intégrée au prochain bloc. De plus, les applications de contrats intelligents plus complexes peuvent effectuer de nombreuses opérations pour assurer leurs fonctions, ce qui leur fait consommer beaucoup de gaz. ## Initiatives mises en œuvre pour réduire les coûts du gaz {#initiatives-to-reduce-gas-costs} @@ -127,16 +117,28 @@ Le prix du gaz ne détermine pas à lui seul le montant que nous avons à payer La mise à l'échelle de la couche 2 est une initiative primordiale pour améliorer considérablement les coûts de gaz, l'expérience utilisateur et l'évolutivité. [En savoir plus sur la mise à l'échelle de la couche 2](/developers/docs/scaling/#layer-2-scaling). -## Stratégies permettant de réduire les frais de gaz {#strategies-for-you-to-reduce-gas-costs} +## Que fut la mise à niveau London / EIP-1559 ? {#what-was-the-london-upgrade-eip-1559} + +Avant la mise à jour de Londres, Ethereum avait des blocs de taille fixe. En période de forte demande du réseau, ces blocs fonctionnaient au maximum de sa capacité En conséquence, les utilisateurs devaient souvent attendre que la demande diminue pour être inclus dans un bloc, ce qui entraînait une mauvaise expérience utilisateur. La mise à niveau de Londres a permis d'introduire des blocs de taille variable dans Ethereum. -Si vous cherchez à réduire les frais de gaz pour votre ETH, vous pouvez définir un pourboire pour indiquer le niveau de priorité de votre transaction. Les mineurs « travailleront » et exécuteront des transactions qui offrent un pourboire plus élevé en gaz, car ils peuvent conserver les pourboires que vous offrez et seront moins enclins à exécuter des transactions offrant des pourboires moins élevés. +Sur le réseau Ethereum, la façon dont les frais de transaction sont calculés a été modifiée avec [la mise à jour de Londres](/history/#london) d'août 2021. Avant la mise à niveau de Londres, les frais étaient calculés sans distinguer les frais de `base` et de `priority`, comme suit : + +Disons qu'Alice devait payer à Marc la somme d'1 ETH. Dans la transaction, la limite de gaz est de 21 000 unités et le prix du gaz est de 200 gwei. + +Les frais totaux auraient été les suivants : `Gas units (limit) * Gas price per unit` (unités de gaz (limite) _ Prix du gaz par unité) soit `21 000 _ 200 = 4 200 000 gwei` ou 0,0042 ETH + +La mise en œuvre de [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) dans la mise à niveau de Londres a rendu le mécanisme de frais de transaction plus complexe, mais a rendu les frais de gaz plus prévisibles, ce qui s'est traduit par un marché des frais de transaction plus efficace. Les utilisateurs peuvent soumettre des transactions avec un`PrixMaximumParUnitéDeGaz`, ce que cela signifie c'est que les utilisateurs pourront eux-mêmes décider du montant qu'ils sont prêts à payer pour l'exécution de la transaction, et ce, en toute connaissance de cause du prix maximum de gaz à payer sur le marché. Un prix soumis supérieur à celui du marché, ne sera pas pris en compte, et le cas écheant, vous ne recevrez pas de communication ni de rémunération. (`PrixMinimumParUnitéDeGaz`). + +Cette vidéo explique l'EIP-1559 et les avantages qu'il procure : + + + +## Suivi des frais de gaz {#moitoring-gas-fees} Si vous voulez surveiller les prix du gaz et pouvoir envoyer votre ETH à moindre coût, vous pouvez utiliser différents outils comme : - [Etherscan](https://etherscan.io/gastracker) _- Évaluateur du prix du gaz pour une transaction_ - [Blocknative ETH Gas Estimator](https://chrome.google.com/webstore/detail/blocknative-eth-gas-estim/ablbagjepecncofimgjmdpnhnfjiecfm) _Extension Chrome pour estimer le gaz à la fois pour les transactions de Type 0 et les transactions de Type 2 EIP-1559 ._ - -- [ETH Gas Station](https://ethgasstation.info/) _Indicateur orienté consommateur pour le marché du gaz Ethereum_ - [Cryptoneur Gas Fees Calculator](https://www.cryptoneur.xyz/gas-fees-calculator) _Calculez les frais de gaz dans votre devise locale pour différents types de transaction sur le réseau principal, Arbitrum et Polygon._ ## Outils connexes {#related-tools} @@ -148,7 +150,6 @@ Si vous voulez surveiller les prix du gaz et pouvoir envoyer votre ETH à moindr - [Explication du gaz sur Ethereum](https://defiprime.com/gas) - [Réduire la consommation de gaz de vos contrats intelligents](https://medium.com/coinmonks/8-ways-of-reducing-the-gas-consumption-of-your-smart-contracts-9a506b339c0a) - [Preuve d'enjeu contre preuve de travail](https://blockgeeks.com/guides/proof-of-work-vs-proof-of-stake/) - -## Sujets connexes {#related-topics} - -- [Le minage](/developers/docs/consensus-mechanisms/pow/mining/) +- [Des Stratégies pour Optimiser la Consommation de Gas, pour les Développeurs](https://www.alchemy.com/overviews/solidity-gas-optimization) +- [documentation EIP-1559](https://eips.ethereum.org/EIPS/eip-1559). +- [Ressources EIP-1559 de Time Beiko](https://hackmd.io/@timbeiko/1559-resources). diff --git a/src/content/translations/fr/developers/docs/ides/index.md b/src/content/translations/fr/developers/docs/ides/index.md index c8f49a73798..a05aa66621d 100644 --- a/src/content/translations/fr/developers/docs/ides/index.md +++ b/src/content/translations/fr/developers/docs/ides/index.md @@ -66,4 +66,6 @@ La plupart des IDE ont permis de construire des plugins pour améliorer l'expér ## Complément d'information {#further-reading} +- [ IDEs pour Ethereum](https://www.alchemy.com/list-of/web3-ides-on-ethereum) _- Liste d'IDEs pour Ethereum par Alchemy_ + _Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ diff --git a/src/content/translations/fr/developers/docs/intro-to-ethereum/index.md b/src/content/translations/fr/developers/docs/intro-to-ethereum/index.md index f68e79c409d..96885a0c605 100644 --- a/src/content/translations/fr/developers/docs/intro-to-ethereum/index.md +++ b/src/content/translations/fr/developers/docs/intro-to-ethereum/index.md @@ -14,7 +14,7 @@ Une blockchain est une base de données publique qui est mise à jour et partag Chaque ordinateur du réseau doit accepter chaque nouveau bloc, ainsi que la chaîne dans son intégralité. Ces ordinateurs sont appelés des « nœuds ». Les nœuds garantissent que toutes les personnes qui interagissent avec la blockchain disposent des mêmes données. Pour assurer que tous les nœuds soient d'accord, les blockchains ont besoin d'un mécanisme de consensus. -Ethereum utilise un mécanisme de consensus basé sur [la preuve d'enjeu](/developers/docs/consensus-mechanisms/pos/). Celui qui souhaite ajouter un nouveau bloc à la chaîne doit miser au moins 32 ETH dans le contrat de dépôt et éxécuter un logiciel de validation. Il peut ensuite être choisi au hasard pour proposer des blocs que d'autres validateurs vérifient et ajoutent à la blockchain. Dans ce modèle, on trouve généralement une seule chaîne, mais les latences du réseau et les comportements malhonnêtes peuvent provoquer l'existence de plusieurs blocs à la même position près de la tête du réseau. Pour résoudre ce problème, un algorithme de sélection de fourche choisit un ensemble canonique de blocs. Les blocs sélectionnés sont ceux qui forment la chaîne la plus lourde, le terme « lourde » faisant référence au nombre de validateurs ayant soutenu les blocs (mesuré par le nombre d'ETH mis en enjeu). Il existe un système de récompenses et de pénalités qui incite fortement les participants à être honnêtes et disponibles en ligne autant que possible. +Ethereum utilise un mécanisme de consensus basé sur [la preuve d'enjeu](/developers/docs/consensus-mechanisms/pos/). Quiconque souhaite ajouter de nouveaux blocs à la chaîne, doit staker de l'ETH - la monnaie native d'Ethereum - qui pourra être utilisée en tant que collatéral et logiciel de validation. Ces "validateurs" peuvent ensuite être sélectionnés aléatoirement pour soumettre des blocs, lesquels seront envoyés à d'autres validateurs pour vérification et ajoutés à la chaîne de blocs. Il existe un système de récompenses et de pénalités qui incite fortement les participants à être honnêtes et disponibles en ligne autant que possible. Si vous souhaitez voir comment les données de la blockchain sont hachées puis ajoutées à l'historique des références des blocs, consultez [cette démo](https://andersbrownworth.com/blockchain/blockchain) d'Anders Brownworth et regardez la vidéo d'accompagnement ci-dessous. diff --git a/src/content/translations/fr/developers/docs/networks/index.md b/src/content/translations/fr/developers/docs/networks/index.md index 16f0c4615fe..99a7cf27dad 100644 --- a/src/content/translations/fr/developers/docs/networks/index.md +++ b/src/content/translations/fr/developers/docs/networks/index.md @@ -4,7 +4,7 @@ description: Une vue d'ensemble des réseaux Ethereum et où obtenir de l'ether lang: fr --- -Les réseaux constituent différents environnements Ethereum auxquels vous pouvez accéder à des fins de développement, de test ou de production. Comme Ethereum est un protocole, plusieurs « réseaux » indépendants peuvent se conformer au protocole sans interagir les uns avec les autres. +Les réseaux Ethereum sont des groupes d'ordinateurs connectés qui communiquent à l'aide du protocole Ethereum. Il n'existe qu'un seul réseau principal Ethereum, mais des réseaux indépendants conformes aux mêmes règles de protocole peuvent être créés à des fins de test et de développement. Il existe de nombreux "réseaux" indépendants qui se conforment au protocole sans interagir les uns avec les autres. Vous pouvez même en lancer un localement sur votre propre ordinateur pour tester vos contrats intelligents et vos applications web3. Votre compte Ethereum fonctionnera sur les différents réseaux, mais le solde de votre compte et votre historique de transactions ne seront pas transférés du réseau Ethereum principal. Pour les tests, il est utile de connaître les réseaux disponibles et la façon d'obtenir de l'ETH de test pour pouvoir vous amuser avec. En général, pour des raisons de sécurité, il n'est pas recommandé de réutiliser les comptes principaux sur les réseaux de test ou vice versa. @@ -30,7 +30,7 @@ Vous devriez tester tout code de contrat que vous écrivez sur un réseau de tes La plupart des réseaux de test ont commencé par utiliser le mécanisme de consensus de preuve d'autorité. Cela signifie qu'un petit nombre de nœuds sont choisis pour valider les transactions et créer des blocs, en mettant en jeu leur identité dans le processus. Alternativement, certains réseaux de test proposent un mécanisme de consensus ouvert, qui permet à tout le monde de tester un validateur, comme avec le réseau principal Ethereum. -L'ETH des réseaux de test n'a pas de valeur réelle, il n'existe donc pas de marché pour celui-ci. Puisque vous avez besoin d'ETH pour interagir avec Ethereum, la plupart des utilisateurs obtiennent de l'ETH de réseau de test via des robinets. La plupart des robinets sont des applications Web dans lesquelles vous saisissez l'adresse à laquelle vous demandez l'envoi d'ETH. +L'ETH sur les réseaux de test est censé n'avoir aucune valeur réelle ; cependant, des marchés ont été créés pour certains types d'ETH testnet qui sont devenus rares ou difficiles à obtenir. Étant donné que vous avez besoin d'ETH pour interagir avec Ethereum (même sur les testnets), la plupart des gens obtiennent l'ETH des testnets gratuitement via des robinets. La plupart des robinets sont des applications Web dans lesquelles vous saisissez l'adresse à laquelle vous demandez l'envoi d'ETH. #### Quel réseau de test dois-je utiliser ? @@ -53,16 +53,21 @@ Les deux réseaux de test publics que les développeurs de clients conservent ac ##### Robinets +- [QuickNode Sepolia Faucet](https://faucet.quicknode.com/drip) - [Grabteeth](https://grabteeth.xyz/) -- [PoW faucet](https://sepolia-faucet.pk910.de/) +- [Robinet PoW](https://sepolia-faucet.pk910.de/) - [Sepolia faucet](https://faucet.sepolia.dev/) - [FaucETH](https://fauceth.komputing.org) +- [Coinbase Wallet Faucet | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet) +- [Alchemy Sepolia faucet](https://sepoliafaucet.com/) +- [Infura Sepolia faucet](https://www.infura.io/faucet) +- [Robinet Sepolia Chainstack](https://faucet.chainstack.com/sepolia-faucet) #### Goerli _(support à long terme)_ {#goerli} _Remarque : [le réseau de test Goerli est obsolète](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17) et sera remplacé par [Holesovice](https://github.com/eth-clients/holesovice) en 2023. Veuillez envisager de migrer vos applications vers Sepolia._ -Goerli ess un réseau de test pour les tests de validation et de mise en jeu. Le réseau Goerli est ouvert aux utilisateurs souhaitant exécuter un validateur de réseau de test. Les utilisateurs désireux de tester les mises à jour de protocoles avant de les déployer sur le réseau principal sont donc invités à utiliser Goerli. +Goerli est un réseau de test qui permet de tester, de valider et de mettre en jeu. Le réseau Goerli est ouvert aux utilisateurs souhaitant exécuter un validateur de réseau de test. Les utilisateurs désireux de tester les mises à jour de protocoles avant de les déployer sur le réseau principal sont donc invités à utiliser Goerli. - Ensemble de validateurs ouvert, les validateurs peuvent tester les mises à jour du réseau - État diversifié, utile pour tester les interactions des contrats intelligents complexes @@ -76,28 +81,17 @@ Goerli ess un réseau de test pour les tests de validation et de mise en jeu. Le ##### Robinets +- [QuickNode Sepolia Faucet](https://faucet.quicknode.com/drip) - [Grabteeth](https://grabteeth.xyz/) - [Robinet PoW](https://goerli-faucet.pk910.de/) -- [Robinet Goerli](https://faucet.goerli.mudit.blog/) - [Robinet Paradigm](https://faucet.paradigm.xyz/) - [Robinet Alchemy Goerli](https://goerlifaucet.com/) - [Robinet All That Node Goerli](https://www.allthatnode.com/faucet/ethereum.dsrv) +- [Coinbase Wallet Faucet | Goerli](https://coinbase.com/faucets/ethereum-goerli-faucet) +- [Robinet Goerli Chainstack](https://faucet.chainstack.com/goerli-faucet) Pour lancer un validateur sur le réseau de test Goerli, utilisez la [plateforme de lancement "validateur goerli bon marché"](https://goerli.launchpad.ethstaker.cc/en/) d'ethstaker. -#### Rinkeby _(soutien à long terme)_ {#rinkeby} - -_Veuillez noter que [le réseau de test Rinkeby est obsolète](https://blog.ethereum.org/2022/11/30/ropsten-shutdown-announcement) et ne bénéficiera plus de mises à jour de son protocole. Veuillez envisager de migrer vos applications vers Sepolia._ - -Un réseau de test pour preuve d'autorité pour ceux qui utilisent les anciennes versions du client Geth. - -##### Robinets - -- [FaucETH](https://fauceth.komputing.org) (Robinet multichaînes fonctionnant sans avoir besoin d'un compte sur un réseau social) -- [Robinet Chainlink](https://faucets.chain.link/) -- [Robinet Paradigm](https://faucet.paradigm.xyz/) -- [Robinet Rinkeby](https://faucet.rinkeby.io/) - ### Réseaux de test de Couche 2 {#layer-2-testnets} [La couche 2 (Layer 2 - L2)](/layer-2/) est un terme collectif pour désigner un ensemble spécifique de solutions aptes à faire évoluer Ethereum. Une couche 2 est une blockchaià part entière qui prolonge Ethereum et hérite des garanties de sécurité d'Ethereum. Les réseaux de test de couche 2 sont généralement étroitement couplés aux réseaux publics de test Ethereum. @@ -108,18 +102,16 @@ Un réseau de test pour [Arbitrum](https://arbitrum.io/). ##### Robinets -- [FaucETH](https://fauceth.komputing.org) (Robinet multichaînes fonctionnant sans avoir besoin d'un compte sur un réseau social) - [Robinet Chainlink](https://faucets.chain.link/) -- [Robinet Paradigm](https://faucet.paradigm.xyz/) -#### Goerli Optimiste {#optimistic-goerli} +#### Optimistic Goerli {#optimistic-goerli} Réseau de test pour [Optimism](https://www.optimism.io/). ##### Robinets -- [FaucETH](https://fauceth.komputing.org) (Robinet multichaînes fonctionnant sans avoir besoin d'un compte sur réseau social) - [Robinet Paradigm](https://faucet.paradigm.xyz/) +- [Coinbase Wallet Faucet | Optimism Goerli](https://coinbase.com/faucets/optimism-goerli-faucet) ## Réseaux privés {#private-networks} diff --git a/src/content/translations/fr/developers/docs/programming-languages/golang/index.md b/src/content/translations/fr/developers/docs/programming-languages/golang/index.md index ac743a8ce9f..903ebe9533c 100644 --- a/src/content/translations/fr/developers/docs/programming-languages/golang/index.md +++ b/src/content/translations/fr/developers/docs/programming-languages/golang/index.md @@ -81,4 +81,4 @@ Vous cherchez davantage de ressources ? Consultez [ethereum.org/developers.](/d ## Autres ressources {#other-aggregated-lists} - [Génial Ethereum](https://github.com/btomashvili/awesome-ethereum) -- [Consensys: une liste définitive des outils pour les développeurs d'Ethereum](https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974) | [Source GitHub](https://github.com/ConsenSys/ethereum-developer-tools-list) +- [Consensys : une liste définitive des outils pour les développeurs d'Ethereum](https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974) | [Source GitHub](https://github.com/ConsenSys/ethereum-developer-tools-list) diff --git a/src/content/translations/fr/developers/docs/programming-languages/javascript/index.md b/src/content/translations/fr/developers/docs/programming-languages/javascript/index.md index 4be48af284b..10cff7bf7dc 100644 --- a/src/content/translations/fr/developers/docs/programming-languages/javascript/index.md +++ b/src/content/translations/fr/developers/docs/programming-languages/javascript/index.md @@ -20,6 +20,7 @@ Exploitez ces bibliothèques pour interagir avec des contrats intelligents sur E - [Web3.js](https://web3js.readthedocs.io/) - [Ethers.js](https://docs.ethers.io/) _- Comprend l'implémentation d'un portefeuille Ethereum et des utilitaires en JavaScript et TypeScript._ +- [viem](https://viem.sh) –est une proposition d'interface TypeScript pour Ethereum, fournissant des primitives permettant de programmer des opérations spécifiques, qui sont nécessaires pour interagir avec Ethereum. ### Contrats intelligents {#smart-contracts} @@ -50,10 +51,12 @@ Si vous préférez lire du code, ce extrait JavaScript peut être une excellente ### Nœuds et clients {#nodes-and-clients} -Il existe un client Ethereumjs en cours de développement. Cela vous permettra de découvrir comment les clients Ethereum fonctionnent dans un langage que vous comprenez. +L'un des clients logiciels d'Ethereum se trouve actuellement en phase de test, vous permettant ainsi de découvrir le fonctionnement des clients de test d'Ethereum, dans un langage de programmation qui vous est propre : JavaScript ! + +Il était jadis bâti sur des systèmes indépendants sur lesquels pouvaient être installés les systèmes d'exploitation hôte[`repository`](https://github.com/ethereumjs/ethereumjs-client), par contre, il a ensuite été implémenté en tant que paquet dans la monorepo de la machine virtuelle d'Ethereum. **Jetez un œil au client** -[`ethereumjs-client`](https://github.com/ethereumjs/ethereumjs-client) +[`ethereumjs-client`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client) ## Autres projets {#other-projects} diff --git a/src/content/translations/fr/developers/docs/programming-languages/rust/index.md b/src/content/translations/fr/developers/docs/programming-languages/rust/index.md index 8f534bfadad..9a5d60e9c9d 100644 --- a/src/content/translations/fr/developers/docs/programming-languages/rust/index.md +++ b/src/content/translations/fr/developers/docs/programming-languages/rust/index.md @@ -51,6 +51,7 @@ Besoin d’une approche plus élémentaire ? Consultez [ethereum.org/learn](/le - [Foundry](https://github.com/gakonst/foundry)- _Boîte à outils pour le développement d'applications Ethereum_ - [Ethers_rs](https://github.com/gakonst/ethers-rs) - _Bibliothèque Ethereum et implémentation de portefeuille_ - [SewUp](https://github.com/second-state/SewUp) - _Bibliothèque pour vous aider aussi bien à créer votre contrat Webassembly Ethereum avec Rust que développer un backend commun._ +- [Substreams](https://github.com/streamingfast/substreams) - _Il s'agit de protocoles d'indexation décentralisés des données qui sont soumises à une période d'immobilisation _ - [Reth](https://github.com/paradigmxyz/reth) Reth (sous le nom de Rust Ethereum, en abrégé Reth, prononciation) : il s'agit d'une nouvelle implémentation de nœud complet sur Ethereum Vous cherchez davantage de ressources ? Consultez [ethereum.org/developers.](/developers/) diff --git a/src/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md index 55930bf23cc..da2d83fb6e2 100644 --- a/src/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/fr/developers/docs/scaling/optimistic-rollups/index.md @@ -260,6 +260,6 @@ Plusieurs implémentations de rollups optimistes existent, que vous pouvez inté - [Comment fonctionnent les rollups optimistes (Le guide complet)](https://www.alchemy.com/overviews/optimistic-rollups) - [Tout ce que vous devez savoir sur les rollups optimisés](https://research.paradigm.xyz/rollups) - [Le guide essentiel pour Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Comment fonctionne réellement le rollup d'Optimism ?](https://research.paradigm.xyz/optimism) +- [Comment fonctionne réellement le rollup d'Optimism ?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) - [Qu’est-ce que la machine virtuelle optimiste ?](https://www.alchemy.com/overviews/optimistic-virtual-machine) diff --git a/src/content/translations/fr/developers/docs/smart-contracts/deploying/index.md b/src/content/translations/fr/developers/docs/smart-contracts/deploying/index.md index aee467780a8..4e88d73a96c 100644 --- a/src/content/translations/fr/developers/docs/smart-contracts/deploying/index.md +++ b/src/content/translations/fr/developers/docs/smart-contracts/deploying/index.md @@ -57,6 +57,10 @@ Une fois déployé, votre contrat aura une adresse Ethereum comme les autres [co - [Documentation sur les réseaux et le déploiement d'applications](https://www.trufflesuite.com/docs/truffle/advanced/networks-and-app-deployment) - [GitHub](https://github.com/trufflesuite/truffle) +**thirdweb - _Déployez facilement n'importe quel contrat sur n'importe quelle chaîne compatible EVM en une seule commande_** + +- [Documentation](https://portal.thirdweb.com/deploy/) + ## Tutoriels connexes {#related-tutorials} - [Déployer votre premier contrat intelligent](/developers/tutorials/deploying-your-first-smart-contract/) _– Introduction au déploiement de votre premier contrat intelligent sur un réseau de test Ethereum_ @@ -73,6 +77,6 @@ _Une ressource communautaire vous a aidé ? Modifiez cette page et ajoutez-la !_ ## Thèmes connexes {#related-topics} -- [Infrastructures de développement](/developers/docs/frameworks/) +- [Frameworks de développement](/developers/docs/frameworks/) - [Exécuter un nœud Ethereum](/developers/docs/nodes-and-clients/run-a-node/) - [Nœuds en tant que service](/developers/docs/nodes-and-clients/nodes-as-a-service) diff --git a/src/content/translations/fr/developers/docs/smart-contracts/index.md b/src/content/translations/fr/developers/docs/smart-contracts/index.md index ac87a89bb8b..53fe9290a53 100644 --- a/src/content/translations/fr/developers/docs/smart-contracts/index.md +++ b/src/content/translations/fr/developers/docs/smart-contracts/index.md @@ -67,7 +67,7 @@ Tout comme un distributeur automatique peut remplacer un employé dans une bouti ## Sans autorisation {#permissionless} -N'importe qui peut rédiger un contrat intelligent et le déployer sur le réseau. Il vous suffit d'apprendre à coder dans un [langage de contrat intelligent](/developers/docs/smart-contracts/languages/) et de disposer de suffisamment d'ETH pour déployer votre contrat. Techniquement, le fait de déployer un contrat intelligent est une transaction. L'auteur doit donc payer des frais de [Gaz](/developers/docs/gas/) de la même façon qu'il s'acquitterait de ces frais pour un simple transfert d'ETH. Toutefois, les frais de gaz pour le déploiement d'un contrat sont beaucoup plus élevés. +N'importe qui peut rédiger un contrat intelligent et le déployer sur le réseau. Il vous suffit d'apprendre à coder dans un [langage de contrat intelligent](/developers/docs/smart-contracts/languages/) et de disposer de suffisamment d'ETH pour déployer votre contrat. Techniquement, le fait de déployer un contrat intelligent est une transaction. L'auteur doit donc payer des frais de [gaz](/developers/docs/gas/) de la même façon qu'il s'acquitterait de ces frais pour un simple transfert d'ETH. Toutefois, les frais de gaz pour le déploiement d'un contrat sont beaucoup plus élevés. Pour la rédaction des contrats intelligents, Ethereum propose aux développeurs des langages conviviaux : @@ -86,9 +86,9 @@ En savoir plus sur la [composabilité des contrats intelligents](/developers/doc ## Limitations {#limitations} -Les contrats intelligents seuls ne peuvent pas obtenir d'informations sur les événements du "monde réel", dans la mesure où ils ne peuvent pas envoyer de requêtes HTTP. C'est un choix délibéré. Le fait de s'appuyer sur des informations externes pourrait compromettre le consensus, qui est essentiel en matière de sécurité et de décentralisation. +Les contrats intelligents seuls ne peuvent pas obtenir d'informations sur les événements du "monde réel", dans la mesure où ils ne peuvent pas récupérer de données depuis des sources hors chaîne. Cela signifie qu'ils ne peuvent pas réagir aux événements du monde réel. C'est un choix délibéré. Le fait de s'appuyer sur des informations externes pourrait compromettre le consensus, qui est essentiel en matière de sécurité et de décentralisation. -Il existe des moyens de contourner le problème en utilisant [oracles](/developers/docs/oracles/). +Il est toutefois important que les applications de la blockchain puissent utiliser des données hors chaîne. Pour ce faire, il est possible d'utiliser [oracles](/developers/docs/oracles/), des outils capables d'ingérer des données hors chaîne et de mettre à la disposition des contrats intelligents. Une autre limitation des contrats intelligents est la taille maximale des contrats. Un contrat intelligent ne peut pas dépasser 24 Ko, sans quoi il sera à court de gaz. Ceci peut être contourné en utilisant [Le modèle du diamant](https://eips.ethereum.org/EIPS/eip-2535). @@ -104,13 +104,8 @@ Les contrats multisig (signature multiple) sont des comptes de contrats intellig - [GitHub](https://github.com/OpenZeppelin/openzeppelin-contracts) - [Forum communautaire](https://forum.openzeppelin.com/c/general/16) -**DappSys -** **_Blocs de construction sûrs, simples et flexibles pour les contrats intelligents_** - -- [Dappsys](https://dappsys.readthedocs.io/) -- [GitHub](https://github.com/dapphub/dappsys) - ## Complément d'information {#further-reading} -- [Les Contrats intelligents : La technologie Blockchain qui va remplacer les juristes](https://blockgeeks.com/guides/smart-contracts/) _- Blockgeeks_ -- [Meilleures pratiques pour le développement de contrats intelligents](https://yos.io/2019/11/10/smart-contract-development-best-practices/) _- Yos Riady, 10 novembre 2019_ -- [Contrats propres - un guide sur les modèles et bonnes pratiques pour les contrats intelligents](https://www.wslyvh.com/clean-contracts/) _– 30 juillet 2020 - wslyvh_ +- [Coinbase : Qu'est-ce qu'un contrat intelligent ?](https://www.coinbase.com/learn/crypto-basics/what-is-a-smart-contract) +- [Chainlink : Qu'est-ce qu'un contrat intelligent ?](https://chain.link/education/smart-contracts) +- [Vidéo : Expliqués Simplement - Les Contrats Intelligents](https://youtu.be/ZE2HxTmxfrI) diff --git a/src/content/translations/fr/developers/docs/smart-contracts/libraries/index.md b/src/content/translations/fr/developers/docs/smart-contracts/libraries/index.md index fc35c2a3e55..938717c0945 100644 --- a/src/content/translations/fr/developers/docs/smart-contracts/libraries/index.md +++ b/src/content/translations/fr/developers/docs/smart-contracts/libraries/index.md @@ -102,6 +102,11 @@ Enfin, au moment où vous décidez s'inclure une bibliothèque, considérez son - [GitHub](https://github.com/HQ20/contracts) +**SDK Solidity thirdweb -** **_Fournit les outils nécessaires pour construire efficacement des contrats intelligents personnalisés_** + +- [Documentation](https://portal.thirdweb.com/solidity/) +- [GitHub](https://github.com/thirdweb-dev/contracts) + ## Tutoriels connexes {#related-tutorials} - [Considérations de sécurité pour les développeurs Ethereum](/developers/docs/smart-contracts/security/) _- Tutoriel sur les considérations de sécurité lors de la construction de contrats intelligents, y compris l'utilisation de la bibliothèque_ diff --git a/src/content/translations/fr/developers/docs/smart-contracts/security/index.md b/src/content/translations/fr/developers/docs/smart-contracts/security/index.md index 8da4cdf59a2..77be68f22bb 100644 --- a/src/content/translations/fr/developers/docs/smart-contracts/security/index.md +++ b/src/content/translations/fr/developers/docs/smart-contracts/security/index.md @@ -504,6 +504,8 @@ Si vous comptez interroger un oracle sur le prix des actifs, envisagez d'utilise - **[HashEx](https://hashex.org/)** - _Les rapports d'audit présentés par HashEx relatifs à la blockchain et aux contrats intelligents, visent à garantir la sécurité des cryptomonnaies, fournissant des services tels que le développement des contrats intelligents, le test de pénétration, ou le conseil blockchain._ +- **[Code4rena](https://code4rena.com/)** - _Une plateforme concurrentielle, réputée pour ses audits de sécurité, qui prête main forte aux experts garantissant la sécurité des smart-contracts, dans l'objectif commun d'œuvrer à la sécurisation du Web3. _ + ### Plateformes de récompense de bug {#bug-bounty-platforms} - **[Immunefi](https://immunefi.com/)** - _Plateforme de récompense de bug pour les contrats intelligents et les projets DeFi, où les chercheurs en sécurité examinent le code, révèlent les vulnérabilités, sont payés et rendent les crypto-monnaies plus sûres._ diff --git a/src/content/translations/fr/developers/docs/transactions/index.md b/src/content/translations/fr/developers/docs/transactions/index.md index 76915b80dd0..d899f0355de 100644 --- a/src/content/translations/fr/developers/docs/transactions/index.md +++ b/src/content/translations/fr/developers/docs/transactions/index.md @@ -22,12 +22,13 @@ Les transactions requièrent des frais et doivent être incluses dans un bloc va Une transaction soumise comprend les informations suivantes : +- `depuis` - l'adresse de l'expéditeur qui signera la transaction. On aura donc une adresse émettrice, car les contrats et les adresses (Accounts) ne vous permettront pas d'envoyer des transactions. - `recipient` : adresse de réception (S'il s'agit d'un compte externe, la transaction va transférer la valeur. S'il s'agit d'un compte de contrat, la transaction exécutera le code du contrat.) - `signature` : identifiant de l'expéditeur. Cette signature est générée lorsque la clé privée de l'expéditeur signe la transaction, et confirme que l'expéditeur a autorisé cette transaction. -- `nonce` - un compteur d'incrémentation séquentielle qui indique le numéro de transaction du compte -- `value` : quantité d'ETH à transférer de l'expéditeur au destinataire (en WEI, une dénomination de l'ETH). -- `data` : champ facultatif destiné à inclure des données arbitraires. -- `gasLimit` : Quantité maximum d’unités de gaz pouvant être consommée par la transaction. Les unités de gaz représentent les étapes de calcul. +- `nonce` -, il s'agit d'une machine à travers laquelle un nombre maximum d'essais consécutifs est réalisé, il qualifie aussi le numéro de transactions dans la liste des transactions sortantes depuis votre adresse +- `valeur` - montants de l'Ether (ETH) à transférer de l'expéditeur au destinataire (libellé en WEI parallèlement à la valeur de l'Ether, qui atteint les 1e+18wei) +- `input data` – champ facultatif permettant d'inclure des données arbitraires +- `gasLimit` : Quantité maximum d’unités de gaz pouvant être consommée par la transaction. La [machine virtuelle d'Ethereum (EVM)](/developers/docs/evm/opcodes) donne une estimation de la quantité de gaz (unité virtuelle) nécessaire à une opération, ce qui permet de représenter les coûts informatiques d'une opération sur le réseau - `maxPriorityFeePerGas` : la quantité maximale de gaz à inclure comme pourboire pour le validateur - `maxFeePerGas` : montant maximum de gaz prêt à être payé pour la transaction (y compris `baseFeePerGas` et `maxPriorityFeePerGas`) @@ -98,7 +99,7 @@ Exemple de réponse : } ``` -- `raw` est la transaction signée sous forme de préfixe de longueur récursive (RLP) +- dans la Structure de Données Récursives (SDR), la transaction signée prend essentiellement la forme d'une séquence d'instructions codées`` [](/developers/docs/data-structures-and-encoding/rlp) - `tx` est la transaction signée sous la forme JSON Grâce au hachage de la signature, il est possible de prouver de façon cryptographique que la transaction provient de l'expéditeur et qu'elle a été soumise au réseau. @@ -162,10 +163,10 @@ Tout gaz non utilisé dans une transaction est remboursé sur le compte de l'uti Voici ce qui se passe une fois qu'une transaction a été soumise : -1. Quand vous envoyez une transaction, la cryptographie génère un hachage de transaction : `0x97d99bc77292111a21b12c933c949d4f31684f1d6954ff477d0477538ff017` -2. La transaction est ensuite diffusée sur le réseau et incluse dans un groupe comportant de nombreuses autres transactions. +1. Le hash de la transaction vient d'être généré grâce aux fonctions de hachage (suite d'opérations mathématiques et cryptographiques) : `0x97d99bc7729211111a21b12c933c949d4f31684f1d6954ff477d0477538ff017` +2. La transaction est ensuite diffusée sur le réseau et ajoutée à un pool de transactions composé de toutes les autres transactions réseau en attente. 3. Un validateur doit sélectionner votre transaction et l'inclure dans un bloc pour la vérifier et la considérer comme « réussie ». -4. Au fur et à mesure que le temps passe, le bloc contenant votre transaction sera mis à niveau vers « justifié » puis « finalisé ». Grâce à ces mises à niveau, vous êtes davantage assuré que votre transaction a été réussie et qu'elle ne sera jamais altérée. Une fois un bloc « finalisé », il ne pourrait être changé que par une attaque qui coûterait plusieurs milliards de dollars. +4. Au fur et à mesure que le temps passe, le bloc contenant votre transaction sera mis à niveau vers « justifié » puis « finalisé ». Grâce à ces mises à niveau, vous êtes davantage assuré que votre transaction a été réussie et qu'elle ne sera jamais altérée. Une fois qu'un bloc est "finalisé", il ne peut plus être modifié par une attaque au niveau du réseau qui coûterait plusieurs milliards de dollars. ## Démonstration visuelle {#a-visual-demo} @@ -175,7 +176,7 @@ Regardez Austin vous guider à travers les transactions, le gaz et le minage. ## Enveloppe de transaction saisie {#typed-transaction-envelope} -Ethereum avait à l'origine un unique format pour les transactions. Chaque transaction contenait une nonce, le prix du gaz, la limite de gaz, l'adresse de destination, la valeur, les données, v, r et s. Ces champs sont encodés en RLP, pour ressembler à ceci : +Ethereum avait à l'origine un unique format pour les transactions. Chaque transaction contenait une nonce, le prix du gaz, la limite de gaz, l'adresse de destination, la valeur, les données, v, r et s. Il s'agit de champs d'application [d'un RLP](/developers/docs/data-structures-and-encoding/rlp/), qui pourraient ressembler à ceci : `RLP([nonce, gasPrice, gasLimit, to, value, data, v, r, s])` diff --git a/src/content/translations/fr/developers/tutorials/nft-minter/index.md b/src/content/translations/fr/developers/tutorials/nft-minter/index.md index 101b94e2294..09301561212 100644 --- a/src/content/translations/fr/developers/tutorials/nft-minter/index.md +++ b/src/content/translations/fr/developers/tutorials/nft-minter/index.md @@ -195,7 +195,7 @@ Si vous ouvrez le fichier `App.js`, qui est le composant principal en React agis Maintenant que nous comprenons ce avec quoi nous travaillons, mettons en place notre portefeuille Ethereum ! -## : Configurez votre portefeuille Ethereum {#set-up-your-ethereum-wallet} +## Configurez votre portefeuille Ethereum {#set-up-your-ethereum-wallet} Pour que les utilisateurs puissent interagir avec votre contrat intelligent, ils devront connecter leur portefeuille Ethereum à votre dApp. diff --git a/src/content/translations/fr/energy-consumption/index.md b/src/content/translations/fr/energy-consumption/index.md index 115f2b7f498..f8d4be8680c 100644 --- a/src/content/translations/fr/energy-consumption/index.md +++ b/src/content/translations/fr/energy-consumption/index.md @@ -6,36 +6,38 @@ lang: fr # Les dépenses énergétiques d'Ethereum {#proof-of-stake-energy} -Ethereum est une blockchain verte. Il utilise un mécanisme de consensus de [preuve d'enjeu](/developers/docs/consensus-mechanisms/pos), utilisant l'ETH au lieu de [l'énergie pour sécuriser le réseau](/developers/docs/consensus-mechanisms/pow). Le mécanisme de preuve d'enjeu d'Ethereum n'utilise que [~0.0026 TWh/yr](https://carbon-ratings.com/eth-report-2022) sur l'ensemble du réseau global. +Ethereum est une blockchain verte. Le mécanisme de consensus par [preuve d'enjeu](/developers/docs/consensus-mechanisms/pos) d'Ethereum utilise de l'ETH au lieu [d'énergie pour sécuriser le réseau](/developers/docs/consensus-mechanisms/pow). La consommation énergétique d'Ethereum est approximativement [0.0026 TWh/an](https://carbon-ratings.com/eth-report-2022) pour l'ensemble du réseau. -Le [CCRI (Crypto Carbon Ratings Institute)](https://carbon-ratings.com) a produit des estimations ascendantes de la consommation d'électricité et de l'empreinte carbone du réseau Ethereum ([voir le rapport](https://carbon-ratings.com/eth-report-2022)). Il a mesuré la consommation d'électricité de différents nœuds selon diverses configurations matérielles et logiciels clients. Il en résulte une estimation de **2,601 MWh** (0. 0026 TWh) pour la consommation annuelle d'électricité du réseau (septembre 2022), ce qui correspond à des émissions de carbone annuelles de **870 tonnes de CO2e** en appliquant des facteurs d'intensité de carbone spécifiques à la région. +L'estimation de la consommation énergétique d'Ethereum se base sur une étude réalisée par le [CCRI (Crypto Carbon Ratings Institute)](https://carbon-ratings.com). Ils ont généré des estimations détaillées de la consommation d'électricité et de l'empreinte carbone du réseau Ethereum ([voir le rapport](https://carbon-ratings.com/eth-report-2022)). Ils ont mesuré la consommation d'électricité de différents nœuds avec différentes configurations matérielles et différents logiciels clients. Ils ont estimé que les **2,601 MWh** (0.0026 TWh) d'électricité consommés annuellement par le réseau correspond à **870 tonnes CO2e** annuelles en appliquant des facteur régionaux d'ntensité de carbone. Cette valeur change au fur et à mesure que des nœuds entrent et sortent du réseau. Vous pouvez suivre ces variations grâce à l'Indice de Durabilité du Réseau Blockchain de Cambridge qui offre une estimation moyenne sur 7 jours (notez qu'ils utilisent une méthode légèrement différente pour leurs estimations - plus de détails sont disponibles sur leur site). + +Pour replacer la consommation énergétique d'Ethereum dans son contexte, nous pouvons comparer les estimations annualisées d'autres secteurs industriels. Cela nous aide à mieux comprendre si l'estimation pour Ethereum est élevée ou faible. -Le graphique ci-dessus montre la consommation annuelle estimée d'énergie en TWh/an pour divers secteurs (donnée de juin 2022). Il convient de noter que les estimations présentées dans le graphique proviennent de sources accessibles au public et pour lesquelles les liens figurent dans le tableau ci-dessous. CEBCI désigne l'indice de consommation d'électricité de Cambridge Bitcoin. Les valeurs sont fournies à titre d'illustration et ne constituent pas une estimation, une promesse ou une prévision officielle. +Le tableau ci-dessous montre la consommation énergétique estimée annuellement en TWh/an pour Ethereum, comparée à plusieurs autres secteurs. Les estimations fournies proviennent d'informations publiquement disponibles (consultées en mai 2023). Les liens vers les sources sont disponibles dans le tableau ci-dessous : + +| | Consommation d’énergie annualisée (TWh) | Comparaison avec Ethereum PoS | Source | +| :------------------------- | :-------------------------------------: | :---------------------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Centres de données globaux | 200 | 77,000x | [source](https://www.iea.org/commentaries/data-centres-and-energy-from-global-headlines-to-local-headaches) | +| Extraction d'or | 131 | 50 000 x | [source](https://ccaf.io/cbnsi/cbeci/comparisons) | +| Bitcoin | 131 | 50 000 x | [source](https://ccaf.io/cbnsi/cbeci/comparisons) | +| Ethereum PoW | 78 | 30 000 x | [source](https://digiconomist.net/ethereum-energy-consumption) | +| Youtube (direct seulement) | 12 | 4600x | [source](https://www.gstatic.com/gumdrop/sustainability/google-2020-environmental-report.pdf) | +| Jeux vidéos aux États-Unis | 34 | 13 000 x | [source](https://www.researchgate.net/publication/336909520_Toward_Greener_Gaming_Estimating_National_Energy_Use_and_Energy_Efficiency_Potential) | +| Netflix | 0,451 | 173 x | [source](https://assets.ctfassets.net/4cd45et68cgf/7B2bKCqkXDfHLadrjrNWD8/e44583e5b288bdf61e8bf3d7f8562884/2021_US_EN_Netflix_EnvironmentalSocialGovernanceReport-2021_Final.pdf) | +| PayPal | 0,26 | 100 x | [source](https://app.impaakt.com/analyses/paypal-consumed-264100-mwh-of-energy-in-2020-24-from-non-renewable-sources-27261) | +| Airbnb | 0,02 | 8x | [source]() | +| Ethereum PoS | 0,0026 | 1 x | [source](https://carbon-ratings.com/eth-report-2022) | -Pour mettre en perspective la consommation d'énergie d'Ethereum, nous pouvons comparer des estimations annualisées pour d'autres industries - cela nous permet de mieux comprendre si 0,0026 TWh est une quantité importante ou faible. Les données sont résumées dans le graphique en barres ci-dessus, mais le tableau ci-dessous founit plus de details : +Il est difficile d'obtenir des estimations précises de la consommation d'énergie, en particulier lorsque ce qui est mesuré a une chaîne d'approvisionnement complexe ou des caractéristiques de déploiement qui influencent son efficacité. Prenons Netflix ou Youtube comme exemples. Les estimations de leur consommation d'énergie varient selon qu'elles incluent uniquement l'énergie utilisée pour entretenir leurs systèmes et fournir du contenu aux utilisateurs (_dépenses directes_) ou qu'elles incluent les dépenses nécessaires pour produire du contenu, gérer les bureaux de l'entreprise, faire de la publicité, etc (_dépenses indirectes_). L'utilisation indirecte pourrait également inclure l'énergie nécessaire à la consommation de contenu sur les appareils des utilisateurs finaux tels que les téléviseurs, les ordinateurs et les téléphones portables, ce qui dépend également des appareils utilisés. -| | Consommation d’énergie annualisée (TWh) | Comparaison avec Ethereum PoS | Source | -| :------------------------- | :-------------------------------------: | :---------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| Extraction d'or | 240 | 92 000 x | [source](https://www.kitco.com/news/2021-05-17/Gold-s-energy-consumption-doubles-that-of-bitcoin-Galaxy-Digital.html) | -| Extraction d'or | 130 | 50 000 x | [source](https://ccaf.io/cbeci/index/comparisons) | -| Bitcoin | 130 | 50 000 x | [source](https://digiconomist.net/bitcoin-energy-consumption) | -| Bitcoin | 100 | 38 000 x | [source](https://ccaf.io/cbeci/index/comparisons) | -| YouTube | 244 | 94 000 x | [source](https://thefactsource.com/how-much-electricity-does-youtube-use/) | -| Centres de données globaux | 200 | 78 000x | [source](https://www.iea.org/commentaries/data-centres-and-energy-from-global-headlines-to-local-headaches) | -| Netflix | 0,45 | 175 x | [source](https://s22.q4cdn.com/959853165/files/doc_downloads/2020/02/0220_Netflix_EnvironmentalSocialGovernanceReport_FINAL.pdf) | -| Netflix | 94 | 36 000 x | [source](https://theshiftproject.org/en/article/unsustainable-use-online-video/) | -| PayPal | 0,26 | 100 x | [source](https://app.impaakt.com/analyses/paypal-consumed-264100-mwh-of-energy-in-2020-24-from-non-renewable-sources-27261) | -| Jeux vidéos aux États-Unis | 34 | 13 000 x | [source](https://www.researchgate.net/publication/336909520_Toward_Greener_Gaming_Estimating_National_Energy_Use_and_Energy_Efficiency_Potential) | -| Ethereum PoW | 78 | 30 000 x | [source](https://digiconomist.net/ethereum-energy-consumption) | -| Ethereum PoS | 0,0026 | 1 x | [source](https://carbon-ratings.com/eth-report-2022) | +Cette question est abordée sur [Carbon Brief](https://www.carbonbrief.org/factcheck-what-is-the-carbon-footprint-of-streaming-video-on-netflix). Dans le tableau ci-dessus, la valeur déclarée pour Netflix comprend l'utilisation _directe_ et _indirecte_ déclarée par l'entreprise. Youtube ne fournit qu'une estimation de sa propre _dépense énergétique directe_, qui est d'environ [12 TWh/an](https://www.gstatic.com/gumdrop/sustainability/google-2020-environmental-report.pdf). -Les estimations de la dépense énergétique de YouTube ont aussi été décomposées par chaînes et par vidéos individuelles. [Ces estimations](https://thefactsource.com/how-much-electricity-does-youtube-use/) montrent que YouTube a consommé 175 fois plus d'énergie lors des visionnages de Gangnam Style en 2019 que l'Ethereum n'en utilise par an. +Le tableau et le graphique ci-dessus comprennent également des comparaisons avec Bitcoin et Ethereum proof-of-work. Il est important de noter que la consommation d'énergie des réseaux de preuve de travail n'est pas statique - elle évolue au jour le jour. La valeur utilisée pour Ethereum proof-of-work est celle juste avant [La Fusion](/roadmap/merge/), comme prédit par [Digiconomist](https://digiconomist.net/ethereum-energy-consumption). D'autres sources, telles que le [Cambridge Blockchain Network Sustainability Index](https://ccaf.io/cbnsi/ethereum/1) estiment que la consommation d'énergie a été beaucoup plus faible (plus proche de 20 TWh/an). Les estimations de la consommation d'énergie de Bitcoin varient également considérablement d'une source à l'autre et c'est un sujet qui suscite de nombreux [débats](https://www.coindesk.com/business/2020/05/19/the-last-word-on-bitcoins-energy-consumption/) nuancés non seulement sur la quantité d'énergie consommée, mais aussi sur les sources de cette énergie et l'éthique qui s'y rattache. La consommation d'énergie ne correspond pas nécessairement à l'empreinte environnementale, car différents projets peuvent utiliser différentes sources d'énergie, par exemple une proportion plus ou moins grande d'énergies renouvelables. Par exemple, le [Cambridge Bitcoin Electricity Consumption Index](https://ccaf.io/cbnsi/cbeci/comparisons) indique que la demande du réseau Bitcoin pourrait théoriquement être alimentée par le brûlage de gaz ou par de l'électricité qui serait autrement perdue lors de la transmission et de la distribution. La voie de la durabilité empruntée par Ethereum a consisté à remplacer la partie du réseau gourmande en énergie par une alternative verte. -Il est compliqué d'obtenir des estimations précises de la consommation d'énergie, surtout lorsque ce qui est mesuré présente une chaîne d'approvisionnement complexe ou des détails de déploiement qui influencent son efficacité. Par exemple, nous avons inclus une estimation haute et une estimation basse pour l'extraction de l'or qui diffère d'environ 90 TWh. Les estimations de la consommation d'énergie de Netflix varient considérablement selon la source. Leurs propres estimations autodéclarées sont environ 20 fois plus faible qu'une estimation indépendante - il existe une discussion sur les raisons de ce phénomène sur [Carbon Brief](https://www.carbonbrief.org/factcheck-what-is-the-carbon-footprint-of-streaming-video-on-netflix). De même, la consommation de Youtube est estimée à environ [244 TWh/an](https://thefactsource.com/how-much-electricity-does-youtube-use/), bien que l'énergie consommée dépende beaucoup du type d'appareil sur lequel les vidéos sont diffusées et de l'efficacité énergétique de l'infrastructure sous-jacente, comme les centres de données - les valeurs appropriées pour ces paramètres sont difficiles à estimer, de sorte qu'une marge d'incertitude substancielle existe. +Vous pouvez consulter les estimations de la consommation d'énergie et des émissions de carbone pour de nombreuses industries sur le site [Cambridge Blockchain Network Sustainability Index](https://ccaf.io/cbnsi/ethereum). -Le graphique ci-dessus inclut également des comparaisons avec Bitcoin et Ethereum lorsqu'il utilisait la preuve de travail. Les estimations de la consommation d'énergie du Bitcoin varient considérablement selon les sources. Ce sujet suscite beaucoup de [débats](https://www.coindesk.com/business/2020/05/19/the-last-word-on-bitcoins-energy-consumption/) nuancés non seulement sur la quantité d'énergie consommée, mais aussi sur les sources de cette énergie et l'éthique qui y est associée. +## Estimations par transaction {#per-transaction-estimates} De nombreux articles estiment les dépenses énergétiques pour les blockchains « par transaction ». Cela peut être trompeur dans la mesure où l'énergie nécessaire pour proposer et valider un bloc est indépendante du nombre de transactions qu'il contient. Une unité de dépense énergétique par transaction implique qu'un nombre moins élevé de transactions entraînerait une moindre dépense énergétique et vice-versa, ce qui n'est pas le cas. En outre, l'estimation par transaction dépend fortement de la façon dont le débit de transaction d'une blockchain est défini, sachant qu'il est possible de jouer avec cette définition pour que la valeur semble plus ou moins grande. @@ -45,30 +47,31 @@ Par exemple, sur Ethereum, le débit de transaction n'est pas seulement celui de Les dépenses énergétiques d'Ethereum sont très faibles, mais cela n'a pas toujours été le cas. Ethereum utilisait à l'origine la preuve de travail : celle-ci avait un coût environnemental bien plus élevé que le mécanisme actuel de preuve d'enjeu. -Depuis le tout début, Ethereum prévoyait d'implémenter un mécanisme de consensus par preuve d'enjeu, mais il aura fallu des années de recherches et de développement ciblés pour y parvenir sans sacrifier la sécurité et la décentralisation. C'est pourquoi un mécanisme de preuve de travail a été utilisé pour faire démarrer le réseau. Un consensus de preuve de travail exige que les mineurs utilisent leur matériel informatique pour calculer une valeur, en dépensant de l'énergie pendant le processus. La consommation énergétique totale d'Ethereum a atteint son apogée en février 2022 avec un peu moins de 94 TWh/an lors du pic du marché haussier des cryptomonnaies. Juste avant le passage à la preuve d'enjeu, la consommation d'énergie avoisinait les [78 TWh/an](https://digiconomist.net/ethereum-energy-consumption), comparable à celle de l'Ouzbékistan, avec une émission de carbone équivalente à celle de l'Azerbaïdjan (33 MT/an). +Depuis le tout début, Ethereum prévoyait d'implémenter un mécanisme de consensus par preuve d'enjeu, mais il aura fallu des années de recherches et de développement ciblés pour y parvenir sans sacrifier la sécurité et la décentralisation. Par conséquent, un mécanisme de preuve de travail a été utilisé pour faire démarrer le réseau. Un consensus de preuve de travail exige que les mineurs utilisent leur matériel informatique pour calculer une valeur, en dépensant de l'énergie pendant le processus. -![Comparaison de la consommation d'énergie entre Ethereum pré-fusion et post-fusion. Sont présentées à gauche la tour Eiffel de 330 mètres de haut et à droite une figurine de jouet en plastique de 4 cm de haut vue à travers une loupe.](energy_consumption_pre_post_merge.png) +![Comparaison de la consommation d'énergie d'Ethereum avant et après La Fusion, en utilisant la tour Eiffel (300 mètres de haut) sur la gauche pour symboliser la grande consommation d'énergie avant La Fusion, et une petite figurine Lego de 4 cm de haut sur la droite pour représenter la réduction drastique de consommation d'énergie après La Fusion](energy_consumption_pre_post_merge.png) -Le CCRC a examiné l'impact de la transition d'Ethereum de la preuve de travail à la preuve d'enjeu. La consommation d'électricité annualisée a été réduite de plus de **99,988 %**. De même, l'empreinte carbone d'Ethereum a été réduite d'environ **99,992 %** (de 11.016.000 à 870 tonnes de CO2e). Dépeint métaphoriquement, cela correspond à une réduction des émissions de la hauteur de la Tour Eiffel à celle d'un petit jouet en plastique, comme indiqué dans la figure ci-dessus. Le coût environnemental de la sécurisation du réseau est de ce fait réduit de façon drastique. Simultanément, on estime que la sécurité du réseau a augmenté. +Le CCRI estime que The Merge a réduit la consommation d'électricité annualisée d'Ethereum de plus de **99,988%**. De même, l'empreinte carbone d'Ethereum a été réduite d'environ **99,992%** (de 11 016 000 à 870 tonnes de CO2e). Pour mettre les choses en perspective, la réduction des émissions équivaut à passer de la hauteur de la Tour Eiffel à celle d'une petite figurine en plastique, comme l'illustre la figure ci-dessus. Par conséquent, le coût environnemental de la sécurisation du réseau est considérablement réduit. Dans le même temps, la sécurité du réseau est présumée s'être améliorée. ## Une couche d'application verte {#green-applications} -Bien que la consommation d'énergie d'Ethereum soit très faible, il existe également une communauté de **finance régénérative (ReFi)** substantielle, croissante et très active sur Ethereum. Les applications ReFi utilisent les composants DeFi pour construire des applications financières présentant des externalités positives bénéfiques pour l'environnement. La ReFi fait partie d'un plus large mouvement [« solarpunk »](https://en.wikipedia.org/wiki/Solarpunk) qui est étroitement aligné avec Ethereum et vise à associer progrès technologiques et gérance environnementale. La nature décentralisée, sans permission et composable d'Ethereum en fait la couche de base idéale pour les communautés ReFi et solarpunk. +Bien que la consommation d'énergie d'Ethereum soit très faible, il existe également une communauté de [**finance régénérative (ReFi)**](/refi/) substantielle, croissante et très active qui construit sur Ethereum. Les applications ReFi utilisent les composants DeFi pour construire des applications financières présentant des externalités positives bénéfiques pour l'environnement. La ReFi fait partie d'un plus large mouvement [« solarpunk »](https://en.wikipedia.org/wiki/Solarpunk) qui est étroitement aligné avec Ethereum et vise à associer progrès technologiques et gérance environnementale. La nature décentralisée, sans permission et composable d'Ethereum en fait la couche de base idéale pour les communautés ReFi et solarpunk. Les plateformes de financement de biens publics natifs Web3 telles que [Gitcoin](https://gitcoin.co) exécutent des rondes climatiques pour stimuler la construction écologique sur la couche d'application d'Ethereum. Grâce au développement de ces initiatives (et d'autres comme par exemple [DeSci](/desci/)), Ethereum est en train de devenir une technologie positive sur le plan environnemental et social. - Si vous pensez que cette page pourrait être plus précise, veuillez soulever un problème ou un PR. Les statistiques de cette page sont des estimations basées sur des données publiques - elles ne représentent pas une déclaration officielle ou une promesse de l'équipe ethereum.org team ou de la Fondation Ethereum. + Si vous pensez que cette page pourrait être plus précise, veuillez soulever un problème ou un PR. Les statistiques de cette page sont des estimations basées sur des données publiques - elles ne représentent pas une déclaration officielle ou une promesse de l'équipe ethereum.org team ou de la Fondation Ethereum. ## Complément d'information {#further-reading} +- [Index de Durabilité des Réseaux Blockchain de Cambridge](https://ccaf.io/cbnsi/ethereum) - [Rapport de la Maison-Blanche sur les blockchains de preuve de travail](https://www.whitehouse.gov/wp-content/uploads/2022/09/09-2022-Crypto-Assets-and-Climate-Report.pdf) -- [Consommation énergétique d'Ethereum](https://mirror.xyz/jmcook.eth/ODpCLtO4Kq7SCVFbU4He8o8kXs418ZZDTj0lpYlZkR8) -- [Ethereum Emissions: A Bottom-up Estimate](https://kylemcdonald.github.io/ethereum-emissions/) – Kyle McDonald\_ -- [Ethereum Energy Consumption Index](https://digiconomist.net/ethereum-energy-consumption/) – _Digiconomist_ -- [ETHMerge.com](https://ethmerge.com/) — _[@InsideTheSim](https://twitter.com/InsideTheSim)_ +- [Les Émissions d'Ethereum : une estimation de bas à haut](https://kylemcdonald.github.io/ethereum-emissions/) - _Kyle McDonald_ +- [Index de Consommation d'Énergie d'Ethereum](https://digiconomist.net/ethereum-energy-consumption/) - _Digiconomist_ +- [ETHMerge.com](https://ethmerge.com/) - _[@InsideTheSim](https://twitter.com/InsideTheSim)_ - [La Fusion - Implications sur la consommation d'électricité et l'empreinte carbone du réseau Ethereum](https://carbon-ratings.com/eth-report-2022) - _CCRI_ +- [Consommation énergétique d'Ethereum](https://mirror.xyz/jmcook.eth/ODpCLtO4Kq7SCVFbU4He8o8kXs418ZZDTj0lpYlZkR8) ## Sujets connexes {#related-topics} diff --git a/src/content/translations/fr/governance/index.md b/src/content/translations/fr/governance/index.md index eed82899fea..43da462401c 100644 --- a/src/content/translations/fr/governance/index.md +++ b/src/content/translations/fr/governance/index.md @@ -57,7 +57,7 @@ _Note : Toute personne peut faire partie de plusieurs de ces groupes (par exempl ## Qu'est-ce qu'une EIP ? {#what-is-an-eip} -Un processus important utilisé dans la gouvernance Ethereum est la proposition de **Propositions d'amélioration Ethereum (EIP)**. Les EIP sont des normes qui spécifient de nouvelles fonctionnalités ou processus potentiels pour Ethereum. N'importe qui au sein de la communauté Ethereum peut créer une EIP. Par exemple, aucun des auteurs de l'EIP-721, l'EIP qui a standardisé les NFT, n'a travaillé directement sur le développement de protocoles Ethereum. +Un processus important utilisé dans la gouvernance Ethereum est la proposition de **Propositions d'amélioration Ethereum (EIP)**. Les EIP sont des normes qui spécifient de nouvelles fonctionnalités ou processus potentiels pour Ethereum. N'importe qui au sein de la communauté Ethereum peut créer une EIP. Si vous souhaitez écrire une EIP ou participer à une revue par les pairs, et/ou la gouvernance, voir : Plus d'infos les EIP diff --git a/src/content/translations/fr/guides/how-to-create-an-ethereum-account/index.md b/src/content/translations/fr/guides/how-to-create-an-ethereum-account/index.md new file mode 100644 index 00000000000..e02c306aa8d --- /dev/null +++ b/src/content/translations/fr/guides/how-to-create-an-ethereum-account/index.md @@ -0,0 +1,73 @@ +--- +title: Comment "créer" un compte Ethereum +description: Un guide étape par étape sur la création d'un compte Ethereum à l'aide d'un portefeuille. +lang: fr +--- + +# Comment créer un compte Ethereum + +Quiconque peut créer un compte Ethereum à tout moment, gratuitement. Il existe plusieurs façons de procéder, mais la plus simple et la plus courante consiste à utiliser une application appelée "portefeuille". Les portefeuilles créent et sécurisent les clés qui vous permettent d'utiliser Ethereum. Vous pouvez utiliser votre portefeuille pour réaliser des transactions, vérifier le solde de vos jetons et vous connecter à des applications construites sur Ethereum, telles que des échanges, des jeux, des places de marché NFT et bien d'autres encore. Certaines applications "web2" permettent désormais de se connecter avec Ethereum. + +Contrairement à l'ouverture d'un nouveau compte auprès d'une entreprise, la création d'un compte Ethereum se fait librement, en privé et sans demander d'autorisation. Les comptes sont contrôlés par des clés que votre logiciel de portefeuille vous aide à créer, et ils ne sont pas émis par un tiers ni stockés dans un registre centralisé. + +## Étape 1 : Choisir un portefeuille + +Un portefeuille est une application qui vous aide à gérer votre compte Ethereum. Il utilise vos clés pour envoyer et recevoir des transactions et se connecter à des applications. Il existe des dizaines de portefeuilles différents - mobiles, de bureau ou même des extensions de navigateur. + + + Trouver un portefeuille + + +Si vous êtes novice, vous pouvez sélectionner le filtre "Débutant dans les cryptos" sur la page "Trouver un portefeuille" pour identifier les portefeuilles qui devraient inclure toutes les fonctionnalités nécessaires pour les débutants. + +![ +Sélection de filtre sur la page "Trouver un portefeuille".](./wallet-box.png) + +Il y a aussi d'autres filtres de profil pour répondre à vos besoins. Il s'agit d'exemples de portefeuilles couramment utilisés - vous devez faire vos propres recherches avant de faire confiance à tout logiciel. + +## Étape 2: Téléchargez et installez votre application de portefeuille + +Une fois que vous avez choisi votre portefeuille , visitez leur site Web officiel ou l'application officielle, téléchargez et installez-le. Ils devraient tous être gratuits. + +## Étape 3 : Ouvrez l'application et générez ou importez votre compte Ethereum + +La première fois que vous ouvrez votre nouveau portefeuille, il vous sera demandé de choisir entre créer un nouveau compte ou importer un compte existant. Cliquez sur la création d'un nouveau compte. + +## Étape 4 : Conservez votre phrase de récupération + +Certaines applications vous demanderont de posséder une "seed phrase" ou suite de mots (souvent 12 ou 24) également entendue comme "phrase de récupération" ou moyen mnémonique. Conserver cette phrase de récupération relève de la plus haute importance. Cette phrase de récupération est utilisée pour générer une clé secrète (privée) reliée à un compte, et qui peut être utilisée pour signer puis envoyer des transactions. Toute personne qui aura accès à cette phrase de récupération, pourra ainsi prendre le contrôle de l'ensemble de vos comptes générés par celle-ci. Il ne faut jamais partager cette phrase de récupération (seed phrase) avec qui que ce soit. La phrase de récupération doit contenir une suite de 12 à 24 mots générés de manière aléatoire, mais l'ordre de ces mots s'avère des plus importants. + +Une fois votre phrase de récupération enregistrée, vous pourrez consulter le tableau de bord de votre portefeuille et l'accès au solde de celui-ci. Consultez notre guide : [comment utiliser un portefeuille.](/guides/how-to-use-a-wallet) + +
+ + +
Vous voulez en savoir plus ?
+ + Consultez nos autres guides + +
+ +## Questions fréquemment posées + +### Est-ce que mon portefeuille et mon compte Ethereum sont les mêmes ? + +Non. Le portefeuille est un outil de gestion qui vous aide à gérer vos comptes. Un seul portefeuille peut donner accès à plusieurs comptes, et un seul compte peut être accessible par plusieurs portefeuilles. La phrase de récupération est utilisée dans le but de créer des comptes administrés par le portefeuille. + +Il suffit d'imaginer les comptes créés, telles les branches d'un arbre qui chacune, poussent toutes à partir d'une seule phrase de récupération. Chaque semence fera germer tout un arbre différent de comptes. + +### Puis-je envoyer des bitcoins à une adresse Ethereum, ou des ethers à une adresse Bitcoin ? + +Non, vous ne pouvez pas. Le bitcoin et l'ether existent sur deux réseaux distincts (c'est-à-dire des blockchains différentes), chacun ayant ses propres modèles de comptabilité et formats d'adresse. Il y a eu plusieurs tentatives de relier les deux réseaux différents, dont la plus active actuellement est[Bitcoin ou WBTC enveloppé](https://www.bitcoin.com/get-started/what-is-wbtc/). Ceci n'est pas une recommandation, car WBTC est une solution de garde (ce qui signifie qu'un groupe restreint de personnes contrôle certaines fonctions critiques) et est fourni ici à titre informatif uniquement. + +### Si je possède une adresse ETH, est-ce que je peux l'utiliser sur d'autres blockchains ? + +Vous pouvez utiliser la même adresse sur toutes les blockchains qui utilisent un logiciel sous-jacent similaire à Ethereum ("compatible-EVM"). Cette [liste](https://chainlist.org/) vous présente les blockchains que vous pouvez utiliser avec la même adresse. Certaines blockchains, comme Bitcoin, utilisent un ensemble de règles de réseau totalement différentes et vous aurez donc besoin d'une adresse différente fonctionnant sous un autre format. Si vous utilisez un portefeuille de contrats intelligents, vous pouvez consulter son site web pour plus d'informations sur les blockchains pris en charge. + +### Est-il plus sûr de garder mes fonds sur mon portefeuille plutôt que sur un échange ? + +Posséder son propre portefeuille signifie que l'on assume la responsabilité de la sécurité de ses biens. Il existe malheureusement de nombreux exemples d'échanges qui ont échoué et qui ont fait perdre de l'argent à leurs clients. Posséder un portefeuille (avec une phrase de récupération) élimine le risque lié à la confiance envers une entité qui conserverait vos actifs. Cependant, vous devez sécuriser vos propres clés et éviter les arnaques de phishing, l'approbation accidentelle de transactions ou l'exposition de vos clés, l'interaction avec des sites Web frauduleux et tout autre risque lié à la conservation privée. Les risques et les avantages sont différents. + +### Si je perds mon portefeuille téléphone/matériel, dois-je utiliser à nouveau la même application de portefeuille pour récupérer les fonds perdus ? + +Non, vous pouvez utiliser un autre portefeuille. Tant que vous possédez la phrase de récupération, vous pouvez la saisir dans la plupart des portefeuilles et cette action restaurera votre compte. Par contre, soyez prudent si vous avez besoin d'agir en ce sens : il est préférable de s'assurer que vous n'êtes pas connecté à Internet lorsque vous récupérez votre portefeuille, afin que votre phrase de récupération ne soit pas divulguée accidentellement. Le plus souvent, il est impossible de récupérer des fonds perdus sans la phrase de récupération. diff --git a/src/content/translations/fr/guides/how-to-id-scam-tokens/index.md b/src/content/translations/fr/guides/how-to-id-scam-tokens/index.md new file mode 100644 index 00000000000..8975896be4e --- /dev/null +++ b/src/content/translations/fr/guides/how-to-id-scam-tokens/index.md @@ -0,0 +1,97 @@ +--- +title: Comment identifier les jetons frauduleux +description: Comprendre les jetons frauduleux, comment ils se présentent comme légitimes et comment les éviter. +lang: fr +--- + +# Comment identifier les jetons frauduleux {#identify-scam-tokens} + +Ethereum est couramment utilisé par des groupes pour créer des jetons échangeables ou, dans un certain sens, leur propre monnaie. Ces jetons suivent généralement une norme, [ERC-20](/developers/docs/standards/tokens/erc-20/). Cependant, partout où il existe des cas d'utilisation légitimes qui apportent de la valeur, il y a aussi des criminels qui essaient de voler cette valeur à leur profit. + +Ils peuvent vous tromper de deux façons : + +- **Vente d'un jeton frauduleux**, qui peut ressembler au jeton légitime que vous souhaitez acheter, mais qui est émis par les escrocs et ne vaut rien. +- **Incitation à signer des transactions frauduleuses**, généralement en vous dirigeant vers leur propre interface utilisateur. Ils pourraient essayer de vous inciter à accorder à leurs contrats une allocation de vos jetons ERC-20, à divulguer des informations sensibles qui leur donneraient accès à vos actifs, etc. Ces interfaces utilisateurs peuvent être des clones presque parfaits de sites honnêtes, mais avec des astuces cachées. + +Pour illustrer ce que sont les jetons frauduleux et comment les identifier, nous allons examiner un exemple de jeton frauduleux : [`wARB`](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82). Ce jeton tente de ressembler au jeton [`ARB`](https://etherscan.io/address/0xb50721bcf8d664c30412cfbc6cf7a15145234ad1) légitime. + + + +Arbitrum est une organisation qui développe et gère des rollups optimistiques. Au départ, Arbitrum était organisée comme une entreprise à but lucratif, mais elle a ensuite pris des mesures pour se décentraliser. Dans le cadre de ce processus, un jeton de gouvernance échangeable a été créé. + + + + + +Il existe une convention dans Ethereum selon laquelle lorsqu'un actif n'est pas conforme à la norme ERC-20, nous créons une version "enveloppée" de cet actif dont le nom commence par "w". Ainsi, par exemple, nous avons wBTC pour le bitcoin et wETH pour l'éther. + +Il n'est pas logique de créer une version enveloppée d'un jeton ERC-20 déjà présent sur Ethereum, mais les escrocs s'appuient sur l'apparence de légitimité plutôt que sur la réalité sous-jacente. + + + +## Comment fonctionnent les jetons frauduleux ? {#how-do-scam-tokens-work} + +L'objectif d'Ethereum est la décentralisation. Cela signifie qu'il n'y a pas d'autorité centrale qui puisse confisquer vos actifs ou vous empêcher de déployer un contrat intelligent. Mais cela signifie également que les escrocs peuvent déployer n'importe quel contrat intelligent. + + + +Les contrats intelligents sont les programmes qui s'exécutent sur la blockchain Ethereum. Chaque jeton ERC-20, par exemple, est implémenté comme contrat intelligent. + + + +Plus précisément, Arbitrum a déployé un contrat qui utilise le symbole `ARB`. Mais cela n'empêche pas d'autres personnes de déployer un contrat qui utilise exactement le même symbole, ou un symbole similaire. Quiconque rédige le contrat définit son contenu. + +## Paraître légitime {#appearing-legitimate} + +Les créateurs de jetons frauduleux ont recours à plusieurs astuces pour paraître légitimes. + +- **Nom et symbole légitimes**. Comme indiqué précédemment, les contrats ERC-20 peuvent avoir le même symbole et le même nom que d'autres contrats ERC-20. Vous ne pouvez pas compter sur ces champs pour assurer votre sécurité. + +- **Propriétaires légitimes**. Les jetons frauduleux créditent souvent des soldes importants à des adresses qui pourraient vraisemblablement détenir des jetons authentiques. + + Par exemple, regardons à nouveau `wARB`. [Environ 16 % des jetons](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82?a=0x1c8db745abe3c8162119b9ef2c13864cd1fdd72f) sont détenus par une adresse dont la balise publique est [Arbitrum Foundation: Deployer](https://etherscan.io/address/0x1c8db745abe3c8162119b9ef2c13864cd1fdd72f). Il ne s'agit _pas_ d'une fausse adresse, c'est vraiment l'adresse qui a [déployé le vrai contrat ARB sur Ethereum mainnet](https://etherscan.io/tx/0x242b50ab4fe9896cb0439cfe6e2321d23feede7eeceb31aa2dbb46fc06ed2670). + + Étant donné que le solde ERC-20 d'une adresse fait partie du stockage du contrat ERC-20, il peut être spécifié par le contrat comme étant ce que souhaite le développeur du contrat. Il est également possible qu'un contrat interdise les transferts afin que les utilisateurs légitimes ne puissent pas se débarrasser de ces jetons frauduleux. + +- **Transferts légitimes**. _Les propriétaires légitimes ne paieraient pas pour transférer un jeton frauduleux à d'autres, donc s'il y a des transferts, ils doivent être légitimes, n'est-ce pas ? _ **Faux**. Les événements `Transfert` sont produits par le contrat ERC-20. Un escroc peut facilement rédiger le contrat de manière à ce qu'il produise ces actions. + +## Sites web frauduleux {#websites} + +Les escrocs peuvent également produire des sites web très convaincants, parfois même des clones précis de sites authentiques avec des interfaces utilisateur identiques, mais avec des astuces subtiles. Il peut s'agir, par exemple, de liens externes qui semblent légitimes mais qui renvoient l'utilisateur vers un site frauduleux, ou d'instructions incorrectes qui amènent l'utilisateur à exposer ses clés ou à envoyer des fonds à l'adresse d'un pirate. + +Une bonne pratique pour éviter cela est de vérifier soigneusement l'URL des sites que vous visitez et d'enregistrer les adresses de sites authentiques connus dans vos signets. Ensuite, vous pouvez accéder au site réel par le biais de vos signets sans faire accidentellement de fautes d'orthographe ou dépendre de liens externes. + +## Comment se protéger ? {#protect-yourself} + +1. **Vérifier l'adresse du contrat**. Les jetons légitimes proviennent d'organisations légitimes, et vous pouvez consulter les adresses des contrats sur le site web de l'organisation. Par exemple, [pour `ARB`, vous pouvez consulter les adresses légitimes ici](https://docs.arbitrum.foundation/deployment-addresses#token). + +2. **Les jetons réels ont de la liquidité**. Une autre option consiste à examiner la quantité de liquidités disponibles sur [Uniswap](https://uniswap.org/), l'un des protocoles d'échange de jetons les plus courants. Ce protocole utilise des pools de liquidité, dans lesquels les investisseurs déposent leurs jetons dans l'espoir d'un retour sur les frais de transaction. + +Les jetons frauduleux ont généralement de minuscules réserves de liquidités, voire aucune, parce que les fraudeurs ne veulent pas risquer des actifs réels. Par exemple, le pool `ARB`/`ETH` Uniswap contient environ un million de dollars ([voir ici pour la valeur à jour](https://info.uniswap.org/#/pools/0x755e5a186f0469583bd2e80d1216e02ab88ec6ca)) et acheter ou vendre une petite quantité ne changera pas le prix : + +![Acheter des jetons authentiques](./uniswap-real.png) + +Mais lorsque vous essayez d'acheter le jeton frauduleux `wARB`, même un achat minime modifierait le prix de plus de 90 % : + +![Acheter des jetons frauduleux](./uniswap-scam.png) + +Il s'agit d'un autre élément qui montre que `wARB` n'est probablement pas un jeton légitime. + +3. **Regarder sur Etherscan**. De nombreux jetons frauduleux ont déjà été identifiés et signalés par la communauté. Ces jetons sont [marqués sur Etherscan](https://info.etherscan.com/etherscan-token-reputation/). Bien qu'Etherscan ne soit pas une source de vérité faisant autorité (la nature des réseaux décentralisés fait qu'il ne peut y avoir de source de légitimité faisant autorité), les jetons identifiés par Etherscan comme étant frauduleux sont susceptibles de l'être. + + ![Les tokens frauduleux sur Etherscan](./etherscan-scam.png) + +## Conclusion {#conclusion} + +Tant qu'il y aura de la valeur dans le monde, il y aura des malfaiteurs qui tenteront de s'en emparer, et dans un monde décentralisé, il n'y a personne d'autre que vous-même pour vous protéger. Suivez ces indications pour vous aider à distinguer les jetons légitimes des arnaques : + +- Les jetons malveillants imitent des jetons légitimes en utilisant le même nom, symbole, etc. +- Les jetons malveillants _ne peuvent pas_ utiliser la même adresse de contrat. +- La meilleure source pour l'adresse légitime du jeton est l'organisation émettrice dudit jeton. +- À défaut, vous pouvez utiliser des applications populaires et fiables comme [Uniswap](https://app.uniswap.org/#/swap) et [Etherscan](https://etherscan.io/). diff --git a/src/content/translations/fr/guides/how-to-revoke-token-access/index.md b/src/content/translations/fr/guides/how-to-revoke-token-access/index.md new file mode 100644 index 00000000000..d6f9fa9c4d7 --- /dev/null +++ b/src/content/translations/fr/guides/how-to-revoke-token-access/index.md @@ -0,0 +1,73 @@ +--- +title: Comment révoquer l'accès des contrats intelligents à vos fonds crypto +description: Un guide pour révoquer l'accès des contrats intelligents +lang: fr +--- + +# Comment révoquer l'accès des contrats intelligents à vos fonds crypto + +Ce guide vous explique comment visualiser la liste de tous les contrats intelligents pour lesquels vous avez autorisé un accès à vos fonds et comment les révoquer. + +Parfois, des développeurs malveillants installent des portes dérobées dans les contrats intelligents, leur permettant d'accéder aux fonds des utilisateurs à leur insu. Souvent, il s'agit de plateformes demandant la permission à l'utilisateur de dépenser un **nombre illimité de jetons** en vue d'économiser de petites quantités de gas à l'avenir, mais cela s'accompagne d'un risque accru. + +Lorsque la plateforme possède un jeton de droit d'accès illimité à votre portefeuille, elle peut dépenser tous ces jetons, même si vous les avez rappatriés de la plateforme sur votre portefeuille. Une personne mal intentionnée peut accéder à vos fonds et les retirer, vous laissant sans possibilité de les récupérer. + +Vos options pour vous protéger sont de ne pas utiliser de ne pas utiliser de nouveaux projets non testés, de n'approuver que ce dont vous avez besoin et de régulièrement contrôler et révoquer les accès qui présentent un risque. Alors, comment fait-on ? + +## Étape 1 : Utiliser les outils de révocation d'accès + +Plusieurs sites Web vous permettent de visualiser et de révoquer les contrats intelligents connectés à votre adresse. Chacun de ces sites nécessite une connexion à votre portefeuille : + +- [Ethallowance](https://ethallowance.com/) (Ethereum) +- [Etherscan](https://etherscan.io/tokenapprovalchecker) (Ethereum) +- [Cointool](https://cointool.app/approve/eth) (plusieurs réseaux) +- [Revoke](https://revoke.cash/) (plusieurs réseaux) +- [Unrekt](https://app.unrekt.net/) (plusieurs réseaux) +- [EverRevoke](https://everrise.com/everrevoke/) (plusieurs réseaux) + +## Étape 2 : Connectez votre portefeuille + +Une fois que vous êtes sur le site Web, cliquez sur « Connecter le portefeuille ». Le site Web devrait vous inviter à connecter votre portefeuille. + +Assurez-vous d'utiliser le même réseau pour votre portefeuille et pour le site Web. Vous ne verrez que les contrats intelligents liés au réseau sélectionné. Par exemple, si vous vous connectez au réseau principal Ethereum, vous ne verrez que les contrats Ethereum et non les contrats d'autres chaînes comme Polygon. + +## Étape 3 : Sélectionnez un contrat intelligent que vous souhaitez révoquer + +Vous devriez voir tous les contrats qui sont autorisés à accéder à vos jetons ainsi que leurs limites de dépenses respectives. Identifiez les contrats que vous souhaitez révoquer. + +Si vous ne savez pas quel contrat choisir, vous pouvez tous les révoquer. Cela ne créera aucun problème de votre côte, mais lorsque vous aurez à interagir avec un contrat révoqué, vous devrez à nouveau lui accorder des droits d'accès. + +## Étape 4 : Révoquer l'accès à vos fonds + +Lorsque vous cliquez sur révoquer, vous devriez voir une nouvelle proposition de transaction dans votre portefeuille. C'est tout à fait normal. Vous devrez payer ces frais pour que la révocation soit validée. Selon le réseau, le délai de traitement de la requête peut varier d'une à plusieurs minutes. + +Nous vous conseillons de rafraîchir l'outil de révocation après quelques minutes et de reconnecter votre portefeuille pour vérifier à nouveau si le contrat révoqué a disparu de la liste. + +Nous vous recommandons de ne jamais autoriser de projets ayant un accès illimité à vos fonds et de révoquer régulièrement l'intégralité des droits de vos contrats intelligents. La révocation de l'accès aux jetons ne devrait jamais entraîner une perte de fonds, surtout si vous utilisez les outils mentionnés ci-dessus. + +
+ + +
Vous voulez en savoir plus ?
+ + Consultez nos autres guides + +
+ +## Questions fréquemment posées + +### Est-ce que la révocation de l'accès aux jetons met également fin au staking, aux pools de liquidités, aux prêts, etc. ? + +Non, cela n'affectera aucune de vos stratégies DeFi. Vos positions et vos gains seront préservés. + +### Est-ce que déconnecter un portefeuille d'un projet équivaut à supprimer les permissions d'utilisation de mes fonds ? + +Non, si vous déconnectez votre portefeuille du projet, mais que vous avez accordé des droits d'accès avec un jeton, les droits d'accès accordés par le jeton restent valides. Vous devez révoquer cet accès. + +### Quelle est la date d'expiration du contrat ? + +Il n'y a pas de date d'expiration pour les permissions accordées par un contrat. Lorsque vous accordez des droits avec un contrat, ils restent valides même plusieurs années après leur octroi. + +### Pourquoi certains projets définissent-ils une allocation de jetons illimitée ? + +Les projets le font souvent pour minimiser le nombre de demandes requises, ce qui signifie que l'utilisateur n'a qu'à approuver une seule fois et qu'il ne paye les frais de transaction qu'une seule fois. Bien que pratique, cette solution peut s'avérer dangereuse pour les utilisateurs qui approuvent sans précaution les contrats sur des sites dont la fiabilité reste à prouver par le temps ou par des audits. Certains portefeuilles permettent d'établir une limite de transaction afin de limiter les risques. Consultez votre fournisseur de portefeuille pour plus d'informations. diff --git a/src/content/translations/fr/guides/how-to-swap-tokens/index.md b/src/content/translations/fr/guides/how-to-swap-tokens/index.md new file mode 100644 index 00000000000..37db7cfff13 --- /dev/null +++ b/src/content/translations/fr/guides/how-to-swap-tokens/index.md @@ -0,0 +1,67 @@ +--- +title: Comment échanger des jetons +description: Un guide pour échanger des jetons sur Ethereum. +lang: fr +--- + +# Comment échanger des jetons + +Fatigué de chercher un échange de cryptomonnaies qui répertorie tous vos jetons favoris ? Vous pouvez échanger la plupart des jetons en utilisant des échanges décentralisés. + +Un échange de jetons implique l'échange de deux actifs distincts et présents sur le réseau Ethereum, par exemple échanger ETH contre DAI (un jeton ERC-20). Le processus est à la fois très rapide et peu coûteux. Vous aurez besoin d'un portefeuille de cryptomonnaies pour échanger des jetons. + +**Prérequis :** + +- détenir un portefeuille de cryptomonnaies, vous pouvez suivre ce tutoriel : [Comment : "Enregistrer" un compte Ethereum](/guides/how-to-register-an-ethereum-account/) +- ajouter des fonds à votre portefeuille + +## 1. Connectez votre portefeuille à l'échange décentralisé (DEX) de votre choix + +Parmi les échanges décentralisés les plus connus : + +- [Uniswap](https://app.uniswap.org/#/swap) +- [Sushiswap](https://www.sushi.com/swap) +- [1Inch](https://app.1inch.io/#/1/unified/swap/ETH/DAI) +- [Curve](https://curve.fi/#/ethereum/swap) + +Si vous aimeriez en apprendre davantage sur la Finance Décentralisée (DeFi) et sur la façon dont ces nouveaux types d'échanges fonctionnent, nous vous recommandons la [Bibliothèque "Kernel"](https://library.kernel.community/Topic+-+DeFi/Topic+-+DeFi). + +## 2. Sélectionnez la paire de jetons que vous souhaitez échanger + +Par exemple, ETH et DAI. Assurez-vous d'avoir des fonds dans l'un des deux jetons. ![Interface commune pour les échanges](./swap1.png) + +## 3. Entrez le nombre de jetons que vous voulez échanger et cliquez sur échanger + +L'échange va calculer automatiquement le nombre de jetons que vous obtiendrez. + +![Interface commune pour les échanges](./swap2.png) + +## 4. Confirmez la transaction + +Vérifiez les détails de la transaction. Vérifiez le taux de change et tous les frais annexes pour éviter les mauvaises surprises. + +![Interface commune pour examiner la transaction](./swap3.png) + +## 5. Attendez que la transaction soit traitée + +Vous pouvez vérifier la progression de la transaction sur n'importe quel explorateur de blockchain. Cette procédure ne devrait pas prendre plus de 10 minutes. + +Vous recevez automatiquement les jetons échangés dans votre portefeuille lorsque la transaction est finalisée. +
+ + +
Vous voulez en savoir plus ?
+ + Consultez nos autres guides + +
+ +## Questions fréquemment posées + +### Puis-je échanger des ETH contre des BTC depuis mon portefeuille ? + +Non, vous ne pouvez échanger que des jetons natifs du réseau Ethereum, tels que les jetons ETH, ERC-20 ou NFTs. Vous pouvez toutefois échanger des "Bitcoins enveloppés", qui sont des jetons conçus pour circuler sur le réseau Ethereum. + +### Qu'est-ce que l'effet de glissement ? + +Il s'agit de la différence entre votre taux de change prévu et le taux réel. diff --git a/src/content/translations/fr/guides/how-to-use-a-bridge/index.md b/src/content/translations/fr/guides/how-to-use-a-bridge/index.md new file mode 100644 index 00000000000..56fc819cd24 --- /dev/null +++ b/src/content/translations/fr/guides/how-to-use-a-bridge/index.md @@ -0,0 +1,70 @@ +--- +title: Comment transférer des jetons aux réseaux de seconde couche +description: Un guide expliquant comment déplacer des jetons d'Ethereum vers la couche Layer 2 à l'aide d'un pont (ou bridge). +lang: fr +--- + +# Comment transférer des jetons aux réseaux de seconde couche + +Si le trafic sur Ethereum devient trop important, cela peut devenir coûteux. Une solution possible consiste à créer de nouvelles "layers" : c'est-à-dire des réseaux secondaires qui fonctionnent de manière similaire à Ethereum lui-même. Ces "Layer 2s" aident à réduire la congestion et les coûts sur Ethereum en traitant beaucoup plus de transactions à des frais réduits, et en ne stockant les résultats de ces transactions sur Ethereum que de temps en temps. Ainsi, ces couches secondaires nous permettent de réaliser des transactions plus rapidement et à moindre coût. Beaucoup de projets crypto adopte cette approche pour ces bénéfices. Le moyen le plus simple de déplacer des jetons d'Ethereum vers une "Layer 2" est d'utiliser un pont (bridge). + +**Prérequis :** + +- détenir un portefeuille de cryptomonnaies, vous pouvez suivre ce tutoriel : [Comment : "Enregistrer" un compte Ethereum](/guides/how-to-register-an-ethereum-account/) +- ajouter des fonds à votre portefeuille + +## 1. Déterminez le réseau de seconde couche que vous souhaitez utiliser + +Vous pouvez en apprendre plus sur les différents projets et des liens importants sur notre [page sur la couche 2](/layer-2/). + +## 2. Accédez au pont sélectionné + +Quelques exemples de solutions de seconde couche populaires : + +- [Pont Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [Pont Optimism](https://app.optimism.io/bridge/deposit) +- [Pont Boba Network](https://gateway.boba.network/) + +## 3. Connectez-vous au pont avec votre portefeuille + +Assurez-vous que votre portefeuille est connecté au réseau principal Ethereum. Si ce n'est pas le cas, le site vous demandera automatiquement de changer de réseau. + +![Interface commune pour transférer des jetons](./bridge1.png) + +## 4. Indiquez le montant et transférez les fonds + +Vérifiez le montant que vous recevrez sur le réseau de seconde couche et les frais associés pour éviter les mauvaises surprises. + +![Interface commune pour transférer des jetons](./bridge2.png) + +## 5. Confirmez cette transaction dans votre portefeuille + +Vous devrez payer des frais en ETH pour traiter la transaction. + +![Interface commune pour transférer des jetons](./bridge3.png) + +## 6. Attendez que vos fonds soient transférés + +Cette opération ne devrait pas prendre plus de 10 minutes. + +## 7. Ajoutez le réseau de la seconde couche sélectionnée sur votre portefeuille (facultatif) + +Vous pouvez utiliser chainlist.org pour trouver les détails RPC du réseau. Une fois le réseau ajouté et la transaction terminée, vous devriez voir les jetons dans votre portefeuille. +
+ + +
Vous voulez en savoir plus ?
+ + Consultez nos autres guides + +
+ +## Questions fréquemment posées + +### Et si j'ai des fonds sur une plateforme d'échange ? + +Il se pourrait que vous puissiez retirer vos fonds directement vers certains réseaux de seconde couche depuis une plateforme d'échange. Consultez notre section “Passer à la couche 2” sur notre [page sur la Couche 2](/layer-2/) pour plus d'information. + +### Puis-je revenir sur le réseau principal Ethereum après avoir transféré mes jetons vers une seconde couche 2 ? + +Oui, vous pouvez toujours rapatrier vos fonds vers le réseau principal en utilisant le même pont. diff --git a/src/content/translations/fr/guides/how-to-use-a-wallet/index.md b/src/content/translations/fr/guides/how-to-use-a-wallet/index.md new file mode 100644 index 00000000000..7383a92939b --- /dev/null +++ b/src/content/translations/fr/guides/how-to-use-a-wallet/index.md @@ -0,0 +1,88 @@ +--- +title: Comment utiliser un portefeuille +description: Un guide expliquant comment envoyer, recevoir des jetons et se connecter à des projets web3. +lang: fr +--- + +# Comment utiliser un portefeuille + +Apprenez à utiliser toutes les fonctions de base d'un portefeuille. Si vous n'en possédez pas encore, consultez notre[Comment : créer un compte Ethereum](/guides/how-to-create-an-ethereum-account/). + +## Ouvrir votre portefeuille + +Vous devriez voir un tableau de bord qui montrera probablement votre solde et contiendra des boutons pour envoyer et recevoir des jetons. + +## Recevoir de la cryptomonnaie + +Voulez-vous recevoir des cryptomonnaies dans votre portefeuille? + +Chaque compte Ethereum possède sa propre adresse de réception, qui est une séquence unique de chiffres et de lettres. L'adresse fonctionne comme un numéro de compte bancaire. Les adresses Ethereum commenceront toujours par « 0x ». Vous pouvez partager cette adresse avec n'importe qui: il est sécuritaire de le faire. + +Votre adresse est un peu comme l’adresse de votre domicile : vous devez la communiquez aux gens pour qu’ils puissent vous trouver. Vous pouvez agir ainsi en toute sécurité, car il est toujours possible de verrouiller votre porte principale via une autre clé, que vous seul détenez, afin que personne ne s'introduise, même s'il connaît l'adresse de votre domicile. + +Vous devez fournir à quiconque veut vous envoyer de l'argent avec votre adresse publique. De nombreuses applications de portefeuille vous permettent de copier votre adresse ou d'afficher un code QR à scanner pour une utilisation plus facile. Évitez de taper manuellement une adresse Ethereum. Cela peut facilement conduire à des erreurs de frappe et à des pertes de fonds. + +Différentes applications peuvent varier ou utiliser une langue différente, mais elles devraient vous conduire dans un processus similaire si vous essayez de transférer des fonds. + +1. Ouvrez votre application de portefeuille. +2. Cliquez sur « Recevoir » (ou sur le libellé similaire). +3. Copiez votre adresse Ethereum dans le presse-papiers. +4. Fournissez à l'expéditeur votre adresse Ethereum de réception. + +## Envoyer de la cryptomonnaie + +Voulez-vous envoyer ETH à un autre portefeuille ? + +1. Ouvrez votre application de portefeuille. +2. Obtenez l'adresse de réception et assurez-vous que vous êtes connecté au même réseau que le destinataire. +3. Entrez l'adresse de réception ou scannez un code QR avec votre caméra afin que vous n'ayez pas à écrire l'adresse manuellement. +4. Cliquez sur le bouton « Envoyer » dans votre portefeuille (ou sur une alternative de la même forme). + +![Champ d'envoi de l'adresse crypto](./send.png) +
+ +5. De nombreux actifs, comme le DAI ou l'USDC, existent sur plusieurs réseaux. Lors du transfert de crypto-jetons, assurez-vous que le destinataire utilise le même réseau que vous, car ceux-ci ne sont pas interchangeables. +6. Assurez-vous que votre portefeuille a suffisamment d'ETH pour couvrir les frais de transaction, qui varient selon les conditions du réseau. La plupart des portefeuilles ajouteront automatiquement les frais suggérés à la transaction que vous pourrez ensuite confirmer. +7. Une fois votre transaction traitée, le montant de crypto correspondant apparaîtra dans le compte du destinataire. Cette opération peut aller de quelques secondes à quelques minutes, en fonction de l'intensité de l'utilisation du réseau. + +## Connexion à des projets + +Votre adresse sera la même pour tous les projets Ethereum. Vous n'avez pas besoin de vous inscrire individuellement à un projet. Une fois que vous avez un portefeuille, vous pouvez vous connecter à n'importe quel projet Ethereum sans aucune information supplémentaire. Aucun courrier électronique ou autre renseignement personnel n'est nécessaire. + +1. Visitez le site Web de n'importe quel projet. +2. Si la page d'accueil du projet n'est qu'une description statique du projet, vous devriez être en mesure de cliquer sur le bouton « Ouvrir l'application » dans le menu qui vous mènera vers l'application web actuelle. +3. Une fois que vous êtes dans l'application, cliquez sur « Connecter ». + +![Bouton permettant à l'utilisateur de se connecter au site avec un portefeuille](./connect1.png) + +4. Sélectionnez votre portefeuille à partir de la liste des options fournies. Si vous ne pouvez pas voir votre portefeuille, il peut être caché sous l’option « WalletConnect ». + +![Sélection à partir d'une liste de portefeuilles avec lesquels se connecter](./connect2.png) + +5. Confirmez la demande de signature dans votre portefeuille pour établir la connexion. **La signature de ce message ne devrait pas nécessiter de dépenser des ETH**. +6. C’est tout! Commencez à utiliser l'application. Vous pouvez trouver des projets intéressants sur notre page [dApps](/dapps/#explore).
+ + +
Vous voulez en savoir plus ?
+ + Consultez nos autres guides + +
+ +## Questions fréquemment posées + +### Si je possède une adresse ETH, est-ce que je peux l'utiliser sur d'autres blockchains ? + +Vous pouvez utiliser la même adresse sur toutes les blockchains compatibles EVM (si vous utilisez un portefeuille avec une phrase de récupération). Cette [liste](https://chainlist.org/) vous présente les blockchains que vous pouvez utiliser avec la même adresse. Certaines blockchains, comme Bitcoin, utilisent un ensemble de règles de réseau totalement différentes et vous aurez donc besoin d'une adresse différente fonctionnant sous un autre format. Si vous utilisez un portefeuille de contrats intelligents, vous pouvez consulter son site web pour plus d'informations sur les blockchains pris en charge. + +### Puis-je utiliser la même adresse sur plusieurs appareils ? + +Bien entendu, vous pouvez utiliser la même adresse sur plusieurs appareils. Techniquement, les portefeuilles ne sont qu'une interface permettant d'afficher votre solde et d'effectuer des transactions. Votre compte n'est pas directement stocké à l'intérieur du portefeuille, mais bien sur la blockchain. + +### Je n'ai pas reçu la cryptomonnaie, où puis-je vérifier l'état d'une transaction ? + +Vous pouvez utiliser [l'explorateur de bloc](/developers/docs/data-and-analytics/block-explorers/) afin de vérifier l'état d'une transaction en temps réel. Tout ce que vous avez à faire est de chercher l'adresse de votre portefeuille ou l'ID de la transaction. + +### Puis-je annuler ou retourner des transactions ? + +Non, une fois qu'une transaction est confirmée, vous ne pouvez pas annuler la transaction. diff --git a/src/content/translations/fr/guides/index.md b/src/content/translations/fr/guides/index.md new file mode 100644 index 00000000000..449e0da2b0b --- /dev/null +++ b/src/content/translations/fr/guides/index.md @@ -0,0 +1,27 @@ +--- +title: Guides sur Ethereum +description: Une collection de guides expliquant en pratique les bases de l'utilisation d'Ethereum pour les débutants. +lang: fr +--- + +# Guides sur Ethereum + +Vous souhaitez entamer votre aventure sur Ethereum ? Nos guides pratiques vous conduisent pas à pas pour bien débuter, et facilitent la navigation vers cette nouvelle technologie. + +## Premiers pas + +1. [Comment "créer" un compte Ethereum](/guides/how-to-create-an-ethereum-account/) -N'importe qui peut créer un portefeuille gratuitement. Ce guide vous montrera par où commencer. + +2. [Comment utiliser un portefeuille](/guides/how-to-use-a-wallet/) - Une introduction aux fonctionnalités de base de n'importe quel portefeuille et comment les utiliser. + +## Notions de sécurité + +1. [Comment révoquer l'accès des contrats intelligents à vos cryptos](/guides/how-to-revoke-token-access/) - Si vous découvrez une transaction dans votre portefeuille que vous n'avez pas initiée, ce guide vous apprendra comment éviter que cela ne se reproduise. + +2. [Comment identifier les arnaques aux jetons](/guides/how-to-id-scam-tokens/) - Que sont les jetons d'arnaque, comment parviennent-ils à se faire passer pour légitimes et comment les identifier pour vous protéger et éviter les escroqueries. + +## Utiliser Ethereum + +1. [Comment transférer des jetons vers une seconde couche](/guides/how-to-use-a-bridge/) - Les transactions sur Ethereum sont-elles trop coûteuses ? Pensez à passer aux solutions de mise à l'échelle Ethereum appelées secondes couches. + +2. [Comment échanger des jetons](/guides/how-to-swap-tokens/) - Souhaitez-vous échanger vos jetons contre un autre ? Ce guide simple vous montrera comment procéder. diff --git a/src/content/translations/fr/refi/index.md b/src/content/translations/fr/refi/index.md new file mode 100644 index 00000000000..a4e20581b28 --- /dev/null +++ b/src/content/translations/fr/refi/index.md @@ -0,0 +1,79 @@ +--- +title: Finance Régénérative (ReFi) +description: Une vue d'ensemble de la ReFi et de ses cas d'utilisation actuels. +lang: fr +template: use-cases +emoji: ":recycle:" +sidebarDepth: 2 +image: ../../../../assets/future_transparent.png +alt: "" +summaryPoint1: Un système économique alternatif fondé sur des principes de régénération +summaryPoint2: Une tentative d'utilisation d'Ethereum pour résoudre les crises de coordination au niveau mondial, telles que le changement climatique +summaryPoint3: Un outil permettant une augmentation drastique des bénéfices écologiques tels que les crédits de carbone vérifiés +--- + +## Qu'est-ce que la ReFi ? {#what-is-refi} + +**La finance régénérative (ReFi)** est un ensemble d'outils et d'idées construits sur les blockchains, qui visent à créer des économies régénératives, plutôt qu'extractives ou exploitantes. Les systèmes extractifs finissent par épuiser les ressources disponibles et s'effondrent ; en l'absence de mécanismes de régénération, ils manquent de résilience. La ReFi part du principe que la création de valeur monétaire doit être dissociée de l'extraction non durable des ressources de notre planète et de nos communautés. + +Le ReFi vise plutôt à résoudre des problèmes environnementaux, communautaires ou sociaux en créant des cycles de régénération. Ces systèmes créent de la valeur pour les participants tout en bénéficiant aux écosystèmes et aux communautés. + +L'un des fondements de la ReFi est le concept d'économie régénératrice dont John Fullerton, du [Capital Institute](https://capitalinstitute.org), a été le pionnier. Il a proposé huit principes interconnectés qui constituent la base de la santé systémique : + +![Huit principes interconnectés](../../assets/use-cases/refi-regenerative-economy-diagram.png) + +Les projets ReFi concrétisent ces principes en utilisant des [contrats intelligents](/developers/docs/smart-contracts/) et des [applications de finance décentralisée (DeFi)](/defi/) pour encourager les comportements régénérateurs, par exemple la restauration des écosystèmes dégradés, et faciliter la collaboration à grande échelle sur des questions mondiales telles que le changement climatique et la perte de biodiversité. + +La ReFi rejoint également le mouvement [science décentralisée (DeSci)](/desci/), qui utilise Ethereum comme plateforme pour financer, créer, réviser, créditer, stocker et diffuser des connaissances scientifiques. Les outils DeSci pourraient être utiles pour élaborer des normes et des pratiques vérifiables pour la mise en œuvre et le suivi d'activités régénératrices telles que la plantation d'arbres, l'élimination du plastique dans les océans ou la restauration d'un écosystème dégradé. + +## Tokenisation des crédits carbone {#tokenization-of-carbon-credits} + +Le **[marché volontaire du carbone (VCM)](https://climatefocus.com/so-what-voluntary-carbon-market-exactly/)** est un mécanisme de financement de projets qui ont un impact positif vérifié sur les émissions de carbone, soit en réduisant les émissions en cours, soit en éliminant les gaz à effet de serre déjà émis dans l'atmosphère. Après vérification, ces projets reçoivent un actif appelé "crédits carbone", qu'ils peuvent vendre à des particuliers et à des organisations désireux de soutenir l'action en faveur du climat. + +En plus du VCM, il existe également plusieurs marchés du carbone mandatés par les gouvernements ("marchés de conformité") qui visent à établir un prix du carbone par le biais de lois ou de réglementations au sein d'une juridiction particulière (par exemple, un pays ou une région), en contrôlant l'offre de permis à distribuer. Les marchés de conformité incitent les pollueurs relevant de leur juridiction à réduire leurs émissions, mais ils ne sont pas en mesure d'éliminer les gaz à effet de serre déjà émis. + +Malgré son développement au cours des dernières décennies, le VCM continue de souffrir d'une multitude de problèmes : + +1. Liquidité très fragmentée +2. Mécanismes de transaction opaques +3. Frais élevés +4. Vitesse de trading très lente +5. Manque de passage à l'échelle + +La transition du VCM vers le nouveau **marché numérique du carbone (DCM)** basé sur la blockchain pourrait être l'occasion de mettre à niveau la technologie existante pour la validation, la vente et la consommation des crédits carbone. Les blockchains permettent d'obtenir des données publiquement vérifiables, un accès pour un large éventail d'utilisateurs et une plus grande liquidité. + +Les projets utilisent la technologie de la blockchain pour atténuer de nombreux problèmes du marché traditionnel : + +- **La liquidité est concentrée sur un petit nombre de pools** où chacun peut commercer. Les grandes organisations comme les individus peuvent utiliser ces pools sans devoir rechercher manuellement des acheteurs/vendeurs, sans frais de participation ou sans enregistrement préalable. +- **Toutes les transactions sont enregistrées sur des blockchains publiques**. Le chemin que chaque crédit carbone prend en raison de l'activité de trading est retraçable à jamais dès qu'il est est rendu disponible dans le DCM. +- **La rapidité des transactions est quasiment instantanée**. Sécuriser de vastes quantités de crédits carbone via les marchés traditionnels peut prendre des jours ou des semaines, alors que ceci peut être réalisé en quelques secondes dans le DCM. +- **Les activités de trading ont lieu sans intermédiaires**, qui facturent des fortes commissions. Les crédits carbone numériques représentent une [amélioration du coût de 62% par rapport aux crédits traditionnels équivalents](https://www.klimadao.finance/blog/klimadao-analysis-of-the-base-carbon-tonne), d'après les données d'une société d'analyse. +- **Le DCM peut passer à l'échelle** et répondre aussi bien aux attentes des individus que des entreprises multinationales. + +### Composants clés du DCM {#key-components-dcm} + +Quatre éléments majeurs composent le paysage actuel du DCM : + +1. Des registres tels que [Verra](https://verra.org/project/vcs-program/registry-system/) et [Gold Standard](https://www.goldstandard.org/) veillent à ce que les projets créant des crédits carbone soient fiables. Ils gèrent également les bases de données dans lesquelles les crédits carbone numériques sont créés, transférés ou utilisés. + +Une nouvelle vague de projets innovants est en train d'être développée sur des blockchains dans le but de bouleverser les acteurs établis de ce secteur. + +2. Ponts carbone, aussi appelées tokeniseurs, fournissent la technologie pour représenter ou transférer les crédits carbones depuis les registres traditionnels vers les DCM. [Toucan Protocol](https://toucan.earth/), [C3](https://c3.app/), and [Moss.Earth](https://moss.earth/) font partie des exemples remarquables. +3. Les services intégrés offrent des crédits d'évitement ou de suppression de carbone aux utilisateurs finaux afin qu'ils obtiennent le bénéfice environnemental de leur crédit et partagent leur soutien à l'action climatique avec le monde. + +Certains, comme [Klima Infinity](https://www.klimadao.finance/infinity) et [Senken](https://senken.io/), proposent une grande variété de projets développés par des tiers et émis conformément à des normes établies telles que Verra ; d'autres, comme [Nori](https://nori.com/), ne proposent que des projets spécifiques développés selon leur propre norme de crédit carbone, qu'ils émettent et pour laquelle ils ont leur propre marché dédié. + +4. Les rails et l'infrastructure sous-jacente qui facilitent la montée en charge de l'impact et de l'efficacité de l'ensemble de la chaîne d'approvisionnement du marché du carbone. [KlimaDAO](http://klimadao.finance/) fournit de la liquidité comme un bien public (permettant à quiconque d'acheter ou de vendre des crédits carbone à un prix transparent), stimule les flux sur les marchés carbone et les retraits via des récompenses, et fournit un outillage interopérable et convivial pour accéder aux données, acquérir et retirer, une grande variété de crédits carbone tokenisés. + +## La ReFi au-delà des marchés du carbone {#refi-beyond} + +Bien qu'il y ait actuellement une grande attention portée aux marchés du carbone en général et à la transition du VCM au DCM en particulier, le terme "ReFi" n'est pas strictement limité au carbone. D'autres actifs environnementaux en dehors des crédits carbone peuvent être développés et tokenisés, ce qui signifiera que d'autres externalités négatives pourront également être valorisées au sein des couches de base des futurs systèmes économiques. De plus, l'aspect régénératif de ce modèle économique peut être appliqué à d'autres domaines, tels que le financement des biens publics via des plateformes de financement quadratique comme [Gitcoin](https://gitcoin.co/). Les organisations qui reposent sur l'idée de participation ouverte et de distribution équitable des ressources permettent à chacun de contribuer financièrement aux projets de logiciels open-source, ainsi qu'aux projets éducatifs, environnementaux et communautaires. + +En orientant le capital loin des pratiques extractives et vers un flux régénératif, les projets et les entreprises qui fournissent des avantages sociaux, environnementaux ou communautaires - et qui pourraient échouer à obtenir un financement dans la finance traditionnelle - peuvent démarrer et générer des externalités positives pour la société beaucoup plus rapidement et facilement. La transition vers ce modèle de financement ouvre également la voie à des systèmes économiques beaucoup plus inclusifs, où les personnes de toutes les catégories démographiques peuvent devenir des participants actifs plutôt que de simples observateurs passifs. ReFi propose une vision d'Ethereum en tant que mécanisme de coordination de l'action face aux défis existentiels auxquels notre espèce et toute vie sur notre planète sont confrontées - en tant que couche de base d'un nouveau paradigme économique, permettant un avenir plus inclusif et durable pour les siècles à venir. + +## Lectures complémentaires sur la ReFi + +- [Une vue d'ensemble des monnaies carbone et de leur place dans l'économie](https://www.klimadao.finance/blog/the-vision-of-a-carbon-currency) +- [The Ministry for the Future, un roman décrivant le rôle d'une monnaie adossée au carbone dans la lutte contre le changement climatique](https://en.wikipedia.org/wiki/The_Ministry_for_the_Future) +- [Un rapport détaillé du Groupe de travail pour l'expansion des marchés volontaires du carbone](https://www.iif.com/Portals/1/Files/TSVCM_Report.pdf) +- [La ReFi sur le glossaire CoinMarketCap par Kevin Owocki et Evan Miyazono](https://coinmarketcap.com/alexandria/glossary/regenerative-finance-refi) diff --git a/src/content/translations/fr/security/index.md b/src/content/translations/fr/security/index.md index 4fc825dba45..0835d907dea 100644 --- a/src/content/translations/fr/security/index.md +++ b/src/content/translations/fr/security/index.md @@ -277,6 +277,7 @@ Les arnaques au airdrop : il s'agit d'un projet factice de distribution d'actif ### Prévention des arnaques {#reading-scam-education} +- [Guide : Comment identifier les jetons frauduleux](/guides/how-to-id-scam-tokens/) - [Staying Safe: Common Scams](https://support.mycrypto.com/staying-safe/common-scams) - _MyCrypto_ - [Avoiding Scams](https://bitcoin.org/en/scams) - _Bitcoin.org_ - [Fil Twitter sur les courriels et messages communs de phishing en cryptomonnaies](https://twitter.com/tayvano_/status/1516225457640787969) - _Taylor Monahan_ diff --git a/src/content/translations/fr/smart-contracts/index.md b/src/content/translations/fr/smart-contracts/index.md index 47c893c2b9d..b5b82c2e371 100644 --- a/src/content/translations/fr/smart-contracts/index.md +++ b/src/content/translations/fr/smart-contracts/index.md @@ -6,69 +6,59 @@ lang: fr # Introduction aux contrats intelligents {#introduction-to-smart-contracts} -Les contrats intelligents sont les éléments fondamentaux des [applications Ethereum](/dapps/). Ce sont des programmes informatiques stockés sur la blockchain qui permettent de convertir des contrats traditionnels en parallèles numériques. Les contrats intelligents suivent strictement une structure dite logique de type « Si » et « alors ». Cela implique qu'ils se comportent exactement tels qu'ils sont programmés et ne peuvent pas être modifiés. +Les contrats intelligents sont les éléments fondamentaux de la couche applicative d'Ethereum. Il s'agit de programmes informatiques stockés sur la blockchain qui suivent la logique "si ceci alors cela" et sont garantis de s'exécuter selon les règles définies par leur code, qui ne peut être modifié une fois créé. -L'expression « contrat intelligent » a été utilisée en premier par Nick Szabo. En 1994, il a rédigé [une présentation du concept](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html) puis, en 1996, [une étude approfondie sur les possibilités offertes par les contrats intelligents](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html). +L'expression « contrat intelligent » a été utilisée en premier par Nick Szabo. En 1994, il a écrit [une introduction au concept](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html), et en 1996 il a écrit [une exploration à ce que les contrats intelligents pourraient faire](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html). -Nick Szabo a imaginé un marché numérique basé sur ces processus automatiques et sécurisés par la cryptographie. Un lieu où les transactions et les activités économiques peuvent se dérouler en toute confiance, sans intermédiaire. Les contrats intelligents Ethereum concrétisent cette vision. +Szabo a imaginé un marché numérique où des processus automatiques et cryptographiquement sécurisés permettent aux transactions et aux fonctions commerciales de se dérouler sans intermédiaires de confiance. Les contrats intelligents Ethereum concrétisent cette vision. -## En quoi consistent ces contrats ? {#what-are-contracts} - -Vous pensez probablement : _"Je ne suis pas avocat ! Pourquoi devrais-je m'intéresser aux contrats ?"_. Pour la plupart des gens, les contrats évoquent des accords longs basés sur des conditions générales ou des documents juridiques sans intérêt et qui ne servent à rien. - -Les contrats ne sont que des accords. Autrement dit, toute forme d'accord peut être englobée dans les conditions d'un contrat. Les accords verbaux ou écrits sont acceptables dans de nombreuses situations, mais ils ne sont pas infaillibles. - -### Confiance et contrats {#trust-and-contracts} +### La confiance dans les contrats conventionnels {#trust-and-contracts} L'un des problèmes majeurs d'un contrat classique est la nécessité que des personnes de confiance assurent le suivi des résultats du contrat. En voici un exemple : -Alice et Bob font une course de vélo. Imaginons qu'Alice parie 10 € avec Bob qu'elle gagnera la course. Bob est sûr de gagner et accepte le pari. Finalement, Alice devance largement Bob et est le vainqueur incontestable. Mais Bob refuse de payer le pari, prétendant qu'Alice a dû tricher. +Alice et Bob font une course de vélo. Imaginons qu'Alice parie 10 € avec Bob qu'elle gagnera la course. Bob est sûr de gagner et accepte le pari. Finalement, Alice devance largement Bob et gagne de façon incontestable la course. Mais Bob refuse de payer le pari, prétendant qu'Alice a dû tricher. Cet exemple ridicule illustre le problème de tout accord non intelligent. Même si les conditions de l'accord sont remplies (ex. vous avez gagné la course), vous devez toujours faire confiance à une autre personne pour qu'elle respecte l'accord (ex. payer le pari). -## Contrats intelligents {#smart-contracts} - -Les contrats intelligents numérisent les accords en traduisant les conditions générales d'un contrat en code informatique qui s'exécute automatiquement lorsque les conditions du contrat sont respectées. - ### Distributeur automatique numérique {#vending-machine} Nous pouvons comparer simplement un contrat intelligent à un distributeur automatique, qui fonctionne de manière assez similaire à un contrat intelligent ; des intrants spécifiques qui garantissent des résultats prédéterminés. - Vous choisissez un produit -- Le distributeur automatique renvoie le montant nécessaire à l'achat du produit -- Vous introduisez le montant requis -- Le distributeur automatique vérifie que vous avez introduit le bon montant -- Le distributeur automatique distribue le produit choisi +- Le distributeur automatique affiche le prix +- Vous payez le prix +- Le distributeur automatique vérifie que vous avez payé le bon montant +- Le distributeur automatique vous remet votre article Le distributeur automatique ne distribuera le produit choisi que si toutes les conditions sont remplies. Si vous ne sélectionnez pas un produit ou que vous n'insérez pas le montant suffisant, le distributeur automatique ne distribuera pas le produit. ### Exécution automatique {#automation} -L'un des avantages les plus importants des contrats intelligents par rapport aux contrats traditionnels est que l'engagement issu d'un contrat est automatiquement exécuté lorsque les conditions de celui-ci sont remplies. Il n'y a pas besoin d'attendre qu'un humain exécute le résultat. En d'autres termes : les contrats intelligents éliminent le besoin de confiance. +Le principal avantage d'un contrat intelligent est qu'il exécute de manière déterministe un code non ambigu lorsque certaines conditions sont remplies. Il n'est pas nécessaire d'attendre qu'un humain interprète ou négocie le résultat. Il n'est donc plus nécessaire de recourir à des intermédiaires de confiance. -Par exemple, vous pouvez rédiger un contrat intelligent qui détient des fonds en fiducie pour un enfant, autorisant celui-ci à retirer des fonds seulement à partir d'une date précise. S'il essaie de retirer de l'argent avant ladite date, le contrat intelligent ne s'exécute pas. Ou encore, vous pouvez rédiger un contrat qui vous donne automatiquement une version numérique de la carte grise de votre nouvelle voiture lorsque vous payez le concessionnaire. +Par exemple, vous pouvez rédiger un contrat intelligent qui détient des fonds en fiducie pour un enfant, autorisant celui-ci à retirer des fonds seulement à partir d'une date précise. S'il essaie de se retirer avant cette date, le contrat intelligent ne s'exécutera pas. Vous pouvez également rédiger un contrat qui vous fournit automatiquement une version numérique du titre de propriété d'une voiture lorsque vous payez le concessionnaire. ### Résultats prévisibles {#predictability} -Le facteur humain est l'un des principaux points de défaillance des contrats traditionnels. Par exemple, deux juges individuels peuvent interpréter un contrat traditionnel de deux manières différentes. Leur interprétation propre pourrait conduire à une prise de décision différente et ainsi à des résultats inégaux. Les contrats intelligents écartent la possibilité d'interprétations différentes. En effet, les contrats intelligents s'exécutent précisément en fonction des conditions écrites dans le code du contrat. Cette précision signifie que, dans les mêmes circonstances, le contrat intelligent produit le même résultat. +Les contrats traditionnels sont ambigus parce qu'ils dépendent de l'homme pour leur interprétation et leur mise en œuvre. Par exemple, deux juges peuvent interpréter un contrat différemment, ce qui peut conduire à des décisions incohérentes et à des résultats inégaux. Les contrats intelligents éliminent cette possibilité. En effet, les contrats intelligents s'exécutent précisément en fonction des conditions écrites dans le code du contrat. Cette précision signifie que, dans les mêmes circonstances, le contrat intelligent produit le même résultat. ### Enregistrement public {#public-record} -Les contrats intelligents sont aussi utiles pour les audits et le suivi. Comme les contrats intelligents Ethereum sont sur une blockchain publique, tout le monde peut suivre instantanément les transferts d'actifs ainsi que toute autre information connexe. Vous pouvez, par exemple, vérifier que quelqu'un a envoyé de l'argent à votre adresse. +Les contrats intelligents sont utiles pour les audits et le suivi. Comme les contrats intelligents Ethereum sont sur une blockchain publique, tout le monde peut suivre instantanément les transferts d'actifs ainsi que toute autre information connexe. Vous pouvez par exemple vérifier si quelqu'un a envoyé de l'argent à votre adresse. ### Protection de la vie privée {#privacy-protection} -Les contrats intelligents peuvent également protéger votre vie privée. Ethereum étant un réseau pseudonyme (vos transactions sont liées publiquement à une adresse cryptographique unique, et non à votre identité), vous pouvez protéger votre vie privée. +Les contrats intelligents protègent également votre vie privée. Ethereum étant un réseau pseudonyme (vos transactions sont liées publiquement à une adresse cryptographique unique, et non à votre identité), vous pouvez protéger votre vie privée. ### Transparence des conditions {#visible-terms} -Enfin, comme pour les contrats, vous pouvez consulter le contenu d'un contrat intelligent avant de le signer (ou de le traiter d'une façon quelconque). Mieux encore, la transparence publique des conditions du contrat signifie que tout le monde peut l'examiner. +Enfin, comme pour les contrats traditionnels, vous pouvez vérifier le contenu d'un contrat intelligent avant de le signer (ou d'interagir avec). La transparence d'un contrat intelligent garantit que tout le monde peut l'examiner. ## Cas d'utilisation des contrats intelligents {#use-cases} -Les contrats intelligents sont donc des programmes informatiques qui vivent sur la blockchain. Ils peuvent s'exécuter automatiquement. Vous pouvez suivre leurs transactions, prédire leur fonctionnement et même les utiliser de manière pseudonyme. C'est bien. Mais à quoi peuvent-ils servir ? Les contrats intelligents peuvent faire à peu près tout ce que font les autres programmes informatiques. +Les contrats intelligents peuvent faire essentiellement tout ce que les programmes informatiques peuvent faire. Ils peuvent effectuer des calculs, produire de la monnaie, stocker des données, générer des NFT, envoyer des messages et même produire des visuels. Voici quelques exemples courants et concrets : @@ -79,7 +69,7 @@ Ils peuvent effectuer des calculs, produire de la monnaie, stocker des données, - [Police d'assurance qui paie automatiquement](https://etherisc.com/) - [Norme qui permet aux gens de créer des devises personnalisées et interopérables](/developers/docs/standards/tokens/) -## Vous comprenez mieux avec des images ? {#visual-learner} +## Davantage qu'un apprenant visuel ? {#visual-learner} Regardez Finematics expliquer les contrats intelligents : diff --git a/src/content/translations/fr/staking/dvt/index.md b/src/content/translations/fr/staking/dvt/index.md new file mode 100644 index 00000000000..9486ef848cf --- /dev/null +++ b/src/content/translations/fr/staking/dvt/index.md @@ -0,0 +1,95 @@ +--- +title: Technologie de Validation Distribuée (DVT) +description: La technologie de validation distribuée (DVT) ou Distributed validator technology, permet le fonctionnement distribué d'un validateur Ethereum par plusieurs entités. +lang: fr +--- + +# Technologie de Validation Distribuée (DVT) {#distributed-validator-technology} + +La Technologie de validation distribuée (DVT) est une approche à la sécurité des validateurs répartissant la gestion des clés et les responsabilités de signature multipartites, dans le but de réduire les points de défaillance uniques et d'augmenter la résilience des validateurs. + +La DVT l'accomplit** en divisant la clé privée** utilisée pour sécuriser un validateur** parmi de nombreux ordinateurs** organisés en "cluster". Ce qui présente l'avantage de rendre très compliqué pour les commanditaires d'attaques de pouvoir accéder à la clé, celle-ci n'étant pas stockée intégralement sur une seule et même machine. Ça permet aussi à certains nœuds de se déconnecter, car la nécessité de signature peut être effectuée par un sous-ensemble des machines dans chaque cluster. Ce qui réduit également les points de défaillance uniques provenant du réseau et rend l'ensemble du groupe de validateurs bien plus robuste. + +![Un schéma illustrant la façon dont une clé de validateur unique est divisée en fragments, puis distribuée à plusieurs nœuds ayant des composants variables.](./dvt-cluster.png) + +## Pourquoi avons-nous besoin de la Technologie de validation distribuée (DVT) ? {#why-do-we-need-dvt} + +### Sécurité {#security} + +Les validateurs génèrent deux paires de clés publique-privée : les clés du validateur pour participer au consensus et les clés de retrait pour accéder aux fonds. Ainsi, alors que les validateurs sécurisent les clés de retrait dans un stockage à froid, les validateurs des clés privées doivent absolument rester en ligne 7j/7 et h24. Si la clé d'un validateur s'avère compromise, un attaquant peut alors prendre le contrôle du validateur en question, pouvant alors conduire à une sanction voire à la perte des ETH stackés (verrouillage d'actifs). La Technologie DVT peut aider à amoindrir ce risque. Voici comment : + +En utilisant la Technologie DVT, les validateurs peuvent participer au jalonnement tout en conservant la clé-privée-validateur dans un stockage à froid. Ce processus est établi en encryptant la clé originale complète d'un validateur puis divise cette dernière en parts de clé. Les fragments de clé demeurent en ligne et distribués par de multiples nœuds, ce qui permet le fonctionnement distribué du validateur. C'est possible car les validateurs Ethereum utilisent des signatures BLS qui sont additives, ce qui signifie que la clé entière peut être reconstituée en additionnant leurs composants. Ça permet au participant de maintenir hors-ligne et en toute sécurité, la clé de validation du master original. + +### Zéro point de défaillance unique {#no-single-point-of-failure} + +Lorsqu'un validateur est réparti parmi de multiples opérateurs et machines, il peut résister aux défaillances individuelles du matériel (hardware et logiciels) sans se déconnecter. Le risque de défaillances peut aussi être réduit en utilisant des configurations matérielles et logicielles diverses sur les nœuds d'un cluster. Cette résilience est indisponible aux configurations de validateurs à nœud simple - qui découle de la couche DVT. + +Si l'un des composants d'une machine au sein d'un cluster tombe en panne (exemple : s'il y a quatre opérateurs dans un cluster de validateurs et que l'un d'eux utilise un client spécifique qui présente un bug), les autres veillent à ce que le validateur continue de fonctionner normalement. + +### Décentralisation {#decentralization} + +Le scénario idéal pour Ethereum est de posséder le plus grand nombre de validateurs opérables agissant de manière indépendante. Cependant, quelques fournisseurs d'actifs (ETH) sont devenus très populaires et représentent une part importante de la totalité d'ETH mis en enjeu sur le réseau. La Technologie de validation distribuée (DVT) peut permettre à ses opérateurs d'exister tout en préservant un jalonnement décentralisé. Car les clés pour chaque validateur sont distribuées entre de nombreuses machines (ordinateurs), ce qui nécessiterait une bien plus grande collision pour qu'un validateur devienne malveillant. + +Sans la Technologie DVT, il est plus facile pour les fournisseurs d'actifs de ne prendre en charge qu'une ou deux configurations client pour l'ensemble de leurs validateurs, accroissant ainsi l'impact d'un bug client. La technologie (DVT) peut être utilisée pour répandre le risque autour de multiples configurations client et différentes machines (hardware), créant une certaine résilience à travers le biais de la diversité. + +**La technologie DVT offre à Ethereum les avantages suivants : ** + +1. **Décentralisation** du consensus à Preuve d'enjeu d'Ethereum +2. Assurer la** disponibilité continue** du réseau +3. Établir une tolérance aux défaillances validateur +4. **Confiance minime**de l'opération validateur +5. **Minimiser les risques** de sanctions et d'interruptions +6. **Améliorer la diversité**(client, centre de données, lieu, régulation, etc.) +7. **Renforcer la sécurité** du management des clés-validateur + +## Comment fonctionne la Technologie de validation distribuée (DVT) ? {#how-does-dvt-work} + +Une solution DVT contient les éléments suivants : + +- Le partage secret de Shamir (SSS - algorithme cryptographique portant le nom de son créateur : Adi Shamir) Validateurs utilisant [des clés BLS](https://en.wikipedia.org/wiki/BLS_digital_signature) Les partages individuels de clés BLS (key shares) peuvent être combinés en une seule clé agrégée (signature). Dans la Technologie de validation distribuée (DVT), la clé privée d'un validateur est la combinaison de signatures BLS de chaque opérateur à l'intérieur du cluster. + + - Seuil du schéma de signature - Détermine le nombre de partages de clés individuelles requis au sujet des droits de signature. Exemple : 3 sur 4. + + - Génération de clés distribuées (DKG) - Processus cryptographique qui génère les partages de clé, puis utilisé à distribuer les partages d'une clé de validateur nouvelle ou déjà existante à l'endroit des nœuds d'un cluster. + + - **[Calcul multipartite (MPC)](https://messari.io/report/applying-multiparty-computation-to-the-world-of-blockchains)** - L'intégralité de la clé du validateur est générée de manière confidentielle via l'apport d'un calcul multipartite sécurisé. L'intégralité de la clé n'est jamais connue par aucun opérateur individuel : chaque opérateur n'a connaissance que de son propre fragment de clé (leur "part"). + +- **Protocole de consensus** - Le protocole de consensus sélectionne un nœud qui deviendra le proposant de bloc. Ils partagent ledit bloc avec les autres nœuds du cluster, qui ajoutent leurs fragments de clé à la signature agrégée. Lorsque suffisamment de fragments de clé ont été agrégés, le bloc est proposé sur Ethereum. + +Les validateurs distribués bénéficient d'une tolérance aux défaillances intégrées et peuvent continuer à fonctionner, et ce même, si certains des nœuds individuels demeurent hors-ligne. Il faut interpréter que le cluster est résistant, même si certains de ses nœuds s'avèrent être malveillants ou très peu actifs. + +## Cas d'utilisation de la Technologie de Validation Distribuée (DVT) {#dvt-use-cases} + +La DVT a des implications significatives pour l'ensemble de l'industrie du "staking" (verrouillage d'ETH dans le but de sécuriser la blockchain Ethereum) : + +### Mise en enjeu individuelle {#solo-stakers} + +La technologie DVT permet également une participation non-custodienne (staking), en vous autorisant à distribuer votre clé de validateur à travers des nœuds distants, tout en conservant l'intégralité de la clé de manière totalement hors-ligne. Ce qui signifie que les participants individuels n'ont pas nécessairement besoin d'investir dans du matériel (hardware), tandis que la distribution des fragments de clé, peut aider à les renforcer contre d'éventuelles attaques (hack). + +### Mise en jeu en tant que service (SaaS) {#saas} + +Les opérateurs comme les pools de staking (verrouillage d'actifs - ETH) ainsi que les fournisseurs d'actifs institutionnels gérant de multiples validateurs, peuvent utiliser la technologie de validation distribuée (DVT) afin de réduire leurs risques. En distribuant leur infrastructure, ils peuvent rajouter de la redondance à leurs opérations, et ainsi diversifier les types de matériel hardware qu'ils utilisent. + +La technologie DVT partage la responsabilité de la gestion des clés entre plusieurs nœuds, entendant le fait que certains coûts opérationnels peuvent également être répartis. La technologie DVT peut aussi réduire les coûts opérationnels et d'assurance pour les fournisseurs d'actifs. + +### Les pools de mise en jeu {#staking-pools} + +En raison des configurations standard des validateurs, les pools de staking et les fournisseurs de staking liquide, sont contraints à différents niveaux de confiance en un seul opérateur, depuis que gains et pertes sont partagés par l'ensemble du pool. Ils dépendent également des opérateurs afin de protéger les clés de signature, car jusqu'à présent, aucune autre option ne s'offrait à eux. + +Même si des efforts constants sont déployés pour diluer le risque en distribuant des participations entre plusieurs opérateurs, chaque opérateur gère toujours une part de verrouillage d'actifs (ETH) significative de façon indépendante. S'appuyer sur un seul opérateur présente des risques considérables, si celui-ci sous-performe, qu'il rencontre des périodes d'inactivité, qu'il est compromis, ou encore s'il agit par des actes malveillants. + +En optimisant la Technologie de validation distribuée (DVT), le niveau de confiance requis de la part des opérateurs s'en retrouve nettement réduit. **Les pools permettent entres autres aux opérateurs, de détenir des participations sans nécessiter la conservation des clés de validation** (seuls des fragments de clé sont utilisés). Ce qui permet de répartir les participations gérées entre plusieurs opérateurs (ex : au lieu d'avoir un opérateur unique administrant quelque 1000 validateurs, la technologie DVT permet auxdits validateurs d'être collectivement régentés par plusieurs opérateurs). Aussi, des configurations diverses d'opérateurs (validateurs) garantiront que si l'un des opérateurs rencontraient une faille technique, les autres garants du réseau pourraient toujours garantir l'attestation (processus de signature d'un bloc). Ce qui engendre une redondance et une diversification conduisant à de meilleures performances ajoutée à une plus grande résilience, tout en maximisant les récompenses. + +L'autre avantage de minimiser la confiance en un seul opérateur, c'est que les pools de staking permettent une participation plus ouverte sans le consentement des autres opérateurs. En procédant ainsi, les acteurs peuvent réduire leur risque et soutenir la décentralisation d'Ethereum, en utilisant tout à la fois des ensembles d'opérateurs supervisés et ouverts, par exemple, en associant des fournisseurs d'actifs (Staking) individuels ou de moindre envergure à des acteurs plus importants. + +## Inconvénients possibles à l'utilisation de la Technologie de validation distribuée (DVT) {#potential-drawbacks-of-using-dvt} + +- **Composant additionnel** - L' introduction d'un nœud DVT ajoute une partie supplémentaire potentiellement défectueuse ou vulnérable. Une manière d'atténuer cette situation est de forcer plusieurs mises en œuvre d'un nœud DVT, c'est-à-dire plusieurs clients DVT (tout comme il existe plusieurs clients pour le consensus en lui-même et les couches d'exécution). +- **Coûts opérationnels** - comme la technologie DVT distribue la validation de façon multipartite, davantage de nœuds sont requis pour le fonctionnement au lieu d'un nœud seul, ce qui génère des coûts liés à ce processus bien plus élevés. +- **Possibilité d'une latence accrue** - étant donné que la technologie DVT utilise un protocole de consensus pour finaliser ledit consensus via les nœuds multiples exploitant un validateur ; ce qui peut entraîner une latence accrue possible. + +## Complément d'information {#further-reading} + +- [Spécificités des validateurs distribués d'Ethereum (niveau élevé)](https://github.com/ethereum/distributed-validator-specs) +- [Spécificités techniques des validateurs distribués d'Ethereum](https://github.com/ethereum/distributed-validator-specs/tree/dev/src/dvspec) +- [Application démo de partage de secret Shamir](https://iancoleman.io/shamir/) diff --git a/src/content/translations/fr/staking/pools/index.md b/src/content/translations/fr/staking/pools/index.md index db25ab54414..da90aaab1cb 100644 --- a/src/content/translations/fr/staking/pools/index.md +++ b/src/content/translations/fr/staking/pools/index.md @@ -10,7 +10,7 @@ sidebarDepth: 2 summaryPoints: - Misez et gagnez des récompenses avec n'importe quel montant d'ETH en joignant vos forces à celles des autres - Laissez de côté la partie difficile et confiez la validation des opérations à une tierce partie - - Conservez les jetons de liquidité dans votre propre portefeuille + - Conservez vos jetons de staking dans votre propre portefeuille --- ## Que sont les groupes d'enjeu ? {#what-are-staking-pools} @@ -26,7 +26,7 @@ En plus des avantages que nous avons décrits dans notre [introduction à la mis - + @@ -35,9 +35,9 @@ En plus des avantages que nous avons décrits dans notre [introduction à la mis La mise en jeu mutualisée ou déléguée n'est pas prise en charge nativement par le protocole Ethereum, mais compte tenu de la demande des utilisateurs de miser moins de 32 ETH, un nombre croissant de solutions ont été construites pour répondre à cette demande. -Chaque pool et les outils ou contrats intelligents qu'ils utilisent ont été élaborés par différentes équipes, et chacun présente des avantages et des risques. Les pools permettent aux utilisateurs d'échanger leur ETH contre un jeton représentant l'ETH mis en jeu. Le jeton est connu sous le nom de « dérivé de staking liquide » ; ceci est utile parce que cela permet aux utilisateurs d'échanger n'importe quel montant d'ETH à un montant équivalent d'un jeton porteur de rendement qui génère un retour des récompenses de mise en jeu appliquées à l'ETH misé sous-jacent (et vice versa) sur les échanges décentralisés même si l'ETH réel reste misé sur la Chaîne phare (Beacon Chain). Cela signifie que les échanges entre un produit ETH mis en jeu générateur de rendement et l'« ETH brut» sont rapides, faciles et pas uniquement disponibles en multiples de 32 ETH. +Chaque pool et les outils ou contrats intelligents qu'ils utilisent ont été élaborés par différentes équipes, et chacun présente des avantages et des risques. Les pools permettent aux utilisateurs d'échanger leur ETH contre un jeton représentant l'ETH mis en jeu. Ce jeton est utile car il permet aux utilisateurs d'échanger n'importe quel montant d'ETH avec un montant équivalent d'un jeton porteur d'intérêts qui génère des rendements à partir des récompenses de staking appliqués aux ETH sous-jacents (et vice versa) sur les plateformes d'échanges décentralisées alors même que l'ETH réel reste mis en jeu sur la couche consensus. Cela signifie que les échanges entre un produit ETH mis en jeu générateur de rendement et l'« ETH brut» sont rapides, faciles et pas uniquement disponibles en multiples de 32 ETH. -Cependant, ces dérivés du staking liquide ont tendance à créer des comportements de type cartel, où une grande quantité d'ETH mis en jeu se retrouve sous le contrôle de quelques organisations centralisées plutôt que répartis entre de nombreux individus indépendants. Cela crée les conditions d'une censure ou d'une extraction de valeur. La norme d'excellence pour la mise en jeu devrait toujours porter sur des personnes individuelles qui exécutent des nœuds validateurs sur leur propre matériel, dans la mesure du possible. +Toutefois, ces jetons d'ETH mis en jeu ont tendance à créer des comportements assimilables à des cartels où de vastes montants d'ETH mis en jeu finissent sous le contrôle de quelques organisations centralisées plutôt que réparties à travers de nombreux individus indépendants. Cela crée les conditions d'une censure ou d'une extraction de valeur. La norme d'excellence pour la mise en jeu devrait toujours porter sur des personnes individuelles qui exécutent des nœuds validateurs sur leur propre matériel, dans la mesure du possible. [En savoir plus sur les risques de la mise en jeu de jetons](https://notes.ethereum.org/@djrtwo/risks-of-lsd). @@ -49,28 +49,24 @@ Les indicateurs d'attributs sont utilisés ci-dessous pour signaler des forces o De nombreuses options sont disponible pour vous aider dans votre configuration. Utilisez les indicateurs ci-dessus pour vous guider à travers les outils ci-dessous. - -Veuillez noter l'importance de choisir un service qui prend au sérieux la diversité des clients , car elle améliore la sécurité du réseau et limite vos risques. Les services dont il est prouvé qu'ils limitent l'utilisation des clients majoritaires sont indiqués comme "clients diversifiés". - + -Avez-vous une suggestion concernant un outil de mise en jeu que nous avons manqué ? Consultez notre [politique de liste de produits](/contributing/adding-staking-products/) pour voir s'il conviendrait, et le soumettre à examen. +Veuillez noter l'importance de choisir un service qui prend au sérieux [la diversité des clients](/developers/docs/nodes-and-clients/client-diversity/) , car elle améliore la sécurité du réseau et limite vos risques. Les services limitent l'émergence d'un client majoritaire sont indiqués avec "diversité des clients d'exécution" et "diversité des clients de consensus". + +Vous souhaitez suggérer un outil de mise en jeu que nous avons manqué ? Consultez notre [politique de liste de produits](/contributing/adding-staking-products/) pour voir s'il conviendrait, et le soumettre à examen. ## Questions fréquemment posées {#faq} -Habituellement, les jetons de liquidité ERC-20 émis envers les validateurs représentent la valeur de leur ETH misé auquel s'ajoutent des récompenses. Gardez en mémoire que les différents pools distribueront des récompenses de mise en jeu à leurs utilisateurs selon des règles différentes, mais c'est un sujet général. +Habituellement, les jetons ERC-20 de staking sont émis envers les validateurs et représentent la valeur de leur ETH misé auquel s'ajoutent des récompenses. Gardez en mémoire que les différents pools distribueront des récompenses de mise en jeu à leurs utilisateurs selon des règles différentes, mais c'est un sujet général. -Actuellement, il n'est pas possible de retirer des fonds d'un validateur Ethereum, ce qui limite la capacité à réellement échanger votre jeton de liquidité en échange des récompenses ETH bloquées dans la couche de consensus. - -La mise à niveau du réseau de Shanghai introduira la fonctionnalité de retrait prévue pour le 12 avril 2023. Tous les ETH misés resteront verrouillés jusqu'à ce moment-là. - -Après cette mise à niveau, les comptes de validateur soutenant les pools de mise en jeu auront la possibilité de sortir et de retirer l'ETH à leur adresse de retrait désignée. Cela vous permettra de racheter votre part de participation d'ETH sous-jacent. Vérifiez auprès de votre fournisseur de services pour savoir comment il supporte cette fonctionnalité. +Et c'est déjà le cas ! La mise à niveau du réseau Shanghai/Capella a eu lieu en avril 2023 et a introduit des retraits de staking. Après cette mise à niveau, les comptes de validateur soutenant les pools de mise en jeu auront la possibilité de sortir et de retirer l'ETH à leur adresse de retrait désignée. Cela permet de racheter votre part de mise en jeu pour l'ETH. Vérifiez auprès de votre fournisseur de services pour savoir comment il supporte cette fonctionnalité. -Alternativement, les pools qui utilisent un jeton de liquidité ERC-20 permettent aux utilisateurs d'échanger ce jeton sur le marché ouvert, vous permettant de vendre votre position de mise en jeu, de réaliser dans les faits un "retrait" sans pour autant retirer l'ETH du contrat de mise en jeu. +Alternativement, les pools qui utilisent les jetons de staking ERC-20 permettent à leurs utilisateurs d'échanger ce jeton sur le marché ouvert, vous permettant de vendre votre position de mise, en retirant sans pour autant supprimer l'ETH du contrat de staking. En savoir plus sur les retraits de mise en jeu. @@ -78,7 +74,7 @@ Alternativement, les pools qui utilisent un jeton de liquidité ERC-20 permetten Il existe de nombreuses similitudes entre ces options de mise en jeu mutualisée et les échanges centralisés, comme la capacité de mettre en jeu de petites quantités d'ETH et de les regrouper pour activer les validateurs. -Contrairement aux échanges centralisés, beaucoup d'autres options de mise en jeu mutualisée utilisent des contrats intelligents et/ou des jetons de liquidité, qui sont habituellement des jetons ERC-20 pouvant être détenus dans votre propre portefeuille, et achetés ou vendus comme n'importe quel autre jeton. Cela vous offre une couche de souveraineté et de sécurité en vous donnant le contrôle de vos jetons, mais ne vous donne toujours pas de contrôle direct sur le client de validateur qui atteste en votre nom en arrière-plan. +Contrairement aux plateformes d'échanges centralisés, beaucoup d'autres options de mise en jeu mutualisée utilisent des contrats intelligents et/ou des jetons de staking, qui sont habituellement des jetons ERC-20 pouvant être détenus dans votre propre portefeuille, et achetés ou vendus comme n'importe quel autre jeton. Cela vous offre une couche de souveraineté et de sécurité en vous donnant le contrôle de vos jetons, mais ne vous donne toujours pas de contrôle direct sur le client de validateur qui atteste en votre nom en arrière-plan. Certaines options de mise en commun sont plus décentralisées que d'autres concernant les nœuds qui les soutiennent. Pour promouvoir la santé et la décentralisation du réseau, les validateurs sont toujours encouragés à sélectionner un service de mutualisation offrant un ensemble décentralisé d'opérateurs de nœuds sans permission. diff --git a/src/content/translations/fr/staking/saas/index.md b/src/content/translations/fr/staking/saas/index.md index a35a64bff75..d50e83b6b75 100644 --- a/src/content/translations/fr/staking/saas/index.md +++ b/src/content/translations/fr/staking/saas/index.md @@ -23,15 +23,15 @@ Le protocole Ethereum ne soutient pas nativement la délégation de mise en jeu. - - + + ## Ce que vous devez prendre en compte {#what-to-consider} -Il existe un nombre croissant de fournisseurs de services SaaS pour vous aider à miser votre ETH, mais chacun présente différents avantages et risques. Vous devriez considérer que toutes les options SaaS requièrent des hypothèses de confiance supplémentaires par rapport au staking local. Les options Saas peuvent contenir du code supplémentaire qui n'est ni ouvert ni auditable, pour les clients Ethereum. Le SaaS a également un effet préjudiciable sur la décentralisation du réseau. Selon la configuration, il se peut que vous ne contrôliez pas votre validateur - l'opérateur pourrait agir malhonnêtement en utilisant votre ETH. +Il existe un nombre croissant de fournisseurs de services SaaS pour vous aider à miser votre ETH, mais chacun présente ses propres avantages et risques. Toutes les options SaaS requièrent des hypothèses de confiance supplémentaires par rapport à la mise en jeu individuelle depuis le domicile. Les options Saas peuvent contenir du code supplémentaire qui n'est ni ouvert ni auditable, pour les clients Ethereum. Le SaaS a également un effet préjudiciable sur la décentralisation du réseau. Selon la configuration, il se peut que vous ne contrôliez pas votre validateur - l'opérateur pourrait agir malhonnêtement en utilisant votre ETH. Les indicateurs sont listés ci-dessous pour signaler les forces ou faiblesses notables d'un fournisseur SaaS répertorié. Utilisez cette section comme référence pour définir ces indicateurs pendant que vous choisissez un pool à rejoindre. @@ -41,14 +41,14 @@ Les indicateurs sont listés ci-dessous pour signaler les forces ou faiblesses n Vous trouverez ci-dessous quelques fournisseurs SaaS disponibles. Utilisez les indicateurs ci-dessus pour vous guider à travers les outils ci-dessous - -Veuillez noter l'importance de choisir un service qui prend au sérieux la diversité des clients , car elle améliore la sécurité du réseau et limite vos risques. Les services dont il est prouvé qu'ils limitent l'utilisation des clients majoritaires sont indiqués comme "clients diversifiés". - + #### Fournisseurs SaaS +Veuillez noter l'importance de choisir un service qui prend au sérieux [la diversité des clients](/developers/docs/nodes-and-clients/client-diversity/) , car elle améliore la sécurité du réseau et limite vos risques. Les services limitent l'émergence d'un client majoritaire sont indiqués avec "diversité des clients d'exécution" et "diversité des clients de consensus". + #### Générateurs de clés @@ -58,7 +58,7 @@ Avez-vous une suggestion concernant un fournisseur de mise en jeu en tant que se ## Questions fréquemment posées {#faq} - Les dispositions varient d'un fournisseur à l'autre, mais en général, vous serez guidé à travers la configuration de toutes les clés de signature dont vous avez besoin (un par 32 ETH), afin de les télécharger à votre fournisseur et lui permettre de les valider en votre nom. Les clés de signature seules ne donnent aucune possibilité de retirer, de transférer ou de dépenser vos fonds. Cependant, elles donnent la possibilité de voter pour le consensus, ce qui, si ce n'est pas fait correctement, peut entraîner des pénalités de mise hors ligne ou de délestage. +Les dispositions varient d'un fournisseur à l'autre, mais en général, vous serez guidé à travers la configuration de toutes les clés de signature dont vous avez besoin (un par 32 ETH), afin de les télécharger à votre fournisseur et lui permettre de les valider en votre nom. Les clés de signature seules ne donnent aucune possibilité de retirer, de transférer ou de dépenser vos fonds. Cependant, elles donnent la possibilité de voter pour le consensus, ce qui, si ce n'est pas fait correctement, peut entraîner des pénalités de mise hors ligne ou de délestage. @@ -66,25 +66,25 @@ Oui. Chaque compte est composé à la fois de clés de signature BLS (B Les clés de retrait BLS sont utilisées pour signer un message unique qui indique à quel compte de couche d'exécution les récompenses de mise en jeu de compte et les fonds sortis doivent être envoyés. Une fois ce message diffusé, les clés de retrait BLS ne sont plus nécessaires. Au lieu de cela, le contrôle des fonds retirés est délégué de façon permanente à l'adresse que vous avez fournie. Cela vous permet de définir une adresse de retrait sécurisée via votre propre portefeuille de stockage à froid, minimisant le risque pour les fonds de votre validateur, même si quelqu'un d'autre contrôle les clés de signature de votre validateur. -La mise à jour des identifiants de retrait est une étape nécessaire pour activer les retraits avec la mise à niveau Shanghai. Ce processus consiste à générer les clés de retrait en utilisant votre phrase de récupération mnémotechnique. Assurez-vous que vous que cette phrase de récupération soit sauvegardée en toute sécurité ou vous ne pourrez pas générer vos clés de retrait le moment venu. +La mise à jour des identifiants de retrait est une étape nécessaire pour activer les retraits\*. Ce processus consiste à générer les clés de retrait en utilisant votre phrase de récupération mnémotechnique. + +Assurez-vous que vous que cette phrase de récupération soit sauvegardée en toute sécurité ou vous ne pourrez pas générer vos clés de retrait le moment venu. Les stakers qui ont fourni une adresse de retrait avec le dépôt initial n'ont pas besoin de la définir. Consultez votre fournisseur SaaS pour obtenir une assistance sur la façon de préparer votre validateur. -Lorsque vous mettez 32 ETH en jeu avec un fournisseur SaaS, cet ETH est toujours déposé dans le cadre du contrat officiel de dépôt de mise en jeu. Ainsi, les personnes qui misent avec SaaS sont limités par les mêmes restrictions de retrait que les stakers individuels, et les retraits ne sont pas autorisés jusqu'à la mise à niveau Shanghai. - -Les retraits de staking seront mis en œuvre lors de la prochaine mise à niveau de Shanghai, prévue pour le 12 avril 2023. Après cela, les personnes qui misent doivent fournir une adresse de retrait (si elle n'est pas fournie avec le dépôt initial) et les paiements de récompense commenceront automatiquement à être distribués de façon périodique à intervalles de quelques jours. +Les retraits de prises ont été mis en œuvre lors de la mise à niveau de Shanghai/Capella en avril 2023. Après cela, les personnes qui misent doivent fournir une adresse de retrait (si elle n'est pas fournie avec le dépôt initial) et les paiements de récompense commenceront automatiquement à être distribués de façon périodique à intervalles de quelques jours. -Cela permettra également de débloquer les fonds sortis. Les validateurs peuvent se retirer entièrement en tant que validateur, et ils recevront leur solde complet à l'adresse de retrait fournie. +Les validateurs peuvent également se retirer entièrement en tant que validateur, ce qui débloquera leur solde ETH restant pour le retrait. Les comptes qui ont fourni une adresse de retrait d’exécution et terminé le processus de sortie recevront tout leur solde à l’adresse de retrait fournie lors du prochain balayage du validateur. En savoir plus sur les retraits de mise en jeu -En utilisant un fournisseur SaaS, vous confiez l'exploitation de votre nœud à quelqu'un d'autre. Cela s'accompagne du risque de mauvaise performance du nœud, qui n'est pas sous votre contrôle. Dans le cas où votre validateur est banni, votre solde de validateur sera pénalisé et supprimé de force du groupe de validateurs. Ces fonds seront verrouillés jusqu'à ce que les retraits soient activés au niveau du protocole. +En utilisant un fournisseur SaaS, vous confiez l'exploitation de votre nœud à quelqu'un d'autre. Cela s'accompagne du risque de mauvaise performance du nœud, qui n'est pas sous votre contrôle. Dans le cas où votre validateur est banni, votre solde de validateur sera pénalisé et supprimé de force du groupe de validateurs. -La prochaine mise à niveau de Shanghai apporte la fonctionnalité de retrait. Cependant, il est nécessaire de fournir une adresse de retrait pour l'activer. Il se peut que l'adresse de retrait ait été fournie sur dépôt initial. Dans le cas contraire, les clés de signature du validateur devront être utilisées pour signer un message déclarant une adresse de retrait une fois la mise à niveau en ligne. +Une fois le processus de coupure ou de sortie terminé, ces fonds seront transférés à l'adresse de retrait assignée au validateur. Cela nécessite de fournir une adresse de retrait à activer. Il se peut que l'adresse de retrait ait été fournie sur dépôt initial. Sinon, les clés de retrait du validateur devront être utilisées pour signer un message indiquant une adresse de retrait. Si aucune adresse de retrait n'a été fournie, les fonds resteront verrouillés jusqu'à ce qu'ils soient fournis. Communiquez avec un fournisseur individuel de SaaS pour obtenir davantage de détails sur n'importe quelles garanties ou options d'assurance ainsi que des instructions sur la façon de fournir une adresse de retrait. Si vous préférez contrôler complètement la configuration de votre validateur, apprenez-en plus sur la façon de miser votre ETH de manière individuelle. diff --git a/src/content/translations/fr/staking/solo/index.md b/src/content/translations/fr/staking/solo/index.md index a2de814d5a1..b77323830ee 100644 --- a/src/content/translations/fr/staking/solo/index.md +++ b/src/content/translations/fr/staking/solo/index.md @@ -40,32 +40,37 @@ La mise en jeu individuelle demande plus de responsabilités, mais vous donne un Bien que nous souhaitions que la mise en jeu individuelle soit accessible et sans risque pour tout le monde, la réalité est différente. Diverses considérations pratiques et sérieuses sont à garder à l'esprit avant de choisir de miser vos ETH de manière individuelle. - - Lorsque vous opérerez votre propre nœud, vous devrez passer du temps à apprendre à utiliser le logiciel que vous avez choisi. Cela implique de lire la documentation adéquate et d'être connecté aux canaux de communication de ses équipes de développeurs. - Mieux vous comprendrez le logiciel que vous exécutez et comment la preuve d'enjeu fonctionne, moins ce sera risqué pour vous, et plus il vous sera facile de résoudre toute sorte de problèmes qui peuvent survenir en tant qu'opérateur de nœud. - - - La configuration des nœuds nécessite un niveau d'aisance raisonnable dans le travail avec des ordinateurs, bien que de nouveaux outils apparaissent au fil du temps pour rendre cela plus facile. Comprendre l'interface de ligne commande est utile, mais n'est plus strictement nécessaire. - Il faut également faire un petit peu de configuration matérielle et posséder une certaine compréhension des spécifications minimales recommandées. - - - Tout comme la façon dont les clés privées sécurisent votre adresse Ethereum, vous devrez générer des clés spécifiques pour votre validateur. Il est important de bien comprendre comment protéger les phrases de récupération ou les clés privées, et comment les stocker en toute sécurité. -

Sécurité d'Ethereum et prévention des arnaques

-
- - Il n'est pour l'instant pas possible de retirer les ETH misés ou les récompenses du solde d'un validateur. La prise en charge des retraits est prévue pour la prochaine mise à niveau Shanghai. Après cela, les utilisateurs peuvent opter pour recevoir des paiements de récompense automatiquement, et peuvent retirer leur solde entier pour recevoir leurs fonds en retour. - - - Le matériel tombe parfois en panne, tout comme les connexions réseau, et les logiciels client ont parfois besoin d'être mis à jour. La maintenance des nœuds est inévitable et nécessitera occasionnellement votre attention. Il est préférable de se tenir au courant de toutes les mises à niveau du réseau prévues, ou d'autres mises à jour critiques des logiciels client. - - - Vos récompenses sont proportionnelles au temps passé par votre validateur en ligne et au fait qu'il atteste correctement. Tout temps passé hors ligne s'accompagne de pénalités proportionnelles au nombre de validateurs qui se trouvent hors ligne au même moment, mais ne donne pas lieu à des sanctions de délestage (slashing). La bande passante est également un facteur important, car les récompenses sont réduites pour les attestations qui ne sont pas reçues à temps. Les exigences varient, mais un minimum de 10 Mbit/s est recommandé (débits descendant et montant). - - - Les sanctions de délestage (slashing) diffèrent des pénalités d'inactivité (applicables si un validateur est hors ligne). Ce sont des pénalités bien plus graves, réservées aux délits ayant un caractère malveillant. Exécuter un client minoritaire en ayant vos clés chargées sur un seul appareil à la fois permet de minimiser le risque de délestage. Cela étant dit, toute personne plaçant des ETH doit être consciente du risque de délestage. - -

En savoir plus sur le délestage et le cycle de vie du validateur

-
+ +Lorsque vous opérerez votre propre nœud, vous devrez passer du temps à apprendre à utiliser le logiciel que vous avez choisi. Cela implique de lire la documentation adéquate et d'être connecté aux canaux de communication de ses équipes de développeurs. + +Mieux vous comprendrez le logiciel que vous exécutez et comment la preuve d'enjeu fonctionne, moins ce sera risqué pour vous, et plus il vous sera facile de résoudre toute sorte de problèmes qui peuvent survenir en tant qu'opérateur de nœud. + + + +La configuration des nœuds nécessite un niveau d'aisance raisonnable dans le travail avec des ordinateurs, bien que de nouveaux outils apparaissent au fil du temps pour rendre cela plus facile. Comprendre l'interface de ligne commande est utile, mais n'est plus strictement nécessaire. + +Il faut également faire un petit peu de configuration matérielle et posséder une certaine compréhension des spécifications minimales recommandées. + + + +Tout comme la façon dont les clés privées sécurisent votre adresse Ethereum, vous devrez générer des clés spécifiques pour votre validateur. Vous devez comprendre comment conserver toutes vos phrases de récupération ou vos clés privées en sécurité.{' '} + +Sécurité d'Ethereum et prévention des escroqueries + + + +Le matériel tombe parfois en panne, tout comme les connexions réseau, et les logiciels client ont parfois besoin d'être mis à jour. La maintenance des nœuds est inévitable et nécessitera occasionnellement votre attention. Il est préférable de se tenir au courant de toutes les mises à niveau du réseau prévues, ou d'autres mises à jour critiques des logiciels client. + + + +Vos récompenses sont proportionnelles au temps passé par votre validateur en ligne et au fait qu'il atteste correctement. Tout temps passé hors ligne s'accompagne de pénalités proportionnelles au nombre de validateurs qui se trouvent hors ligne au même moment, mais ne donne pas lieu à des sanctions de délestage (slashing). La bande passante est également un facteur important, car les récompenses sont réduites pour les attestations qui ne sont pas reçues à temps. Les exigences varient, mais un minimum de 10 Mbit/s est recommandé (débits descendant et montant). + + + +Les sanctions de délestage (slashing) diffèrent des pénalités d'inactivité (applicables si un validateur est hors ligne). Ce sont des pénalités bien plus graves, réservées aux délits ayant un caractère malveillant. Exécuter un client minoritaire en ayant vos clés chargées sur un seul appareil à la fois permet de minimiser le risque de délestage. Cela étant dit, toute personne plaçant des ETH doit être consciente du risque de délestage. + +Plus de détails sur le slashing et le cycle de vie du validateur +
@@ -78,8 +83,6 @@ Lorsque vous êtes actif, vous gagnerez des récompenses ETH, qui seront dépos Si vous le désirez, vous pouvez vous retirer en tant que validateur, ce qui élimine l'obligation d'être en ligne et met fin à toute autre récompense. Votre solde restant sera alors retiré à l'adresse de retrait que vous avez désignée lors de la configuration. -_La mise à niveau de Shanghai est nécessaire pour permettre les paiements de récompense et les retraits complets des validateurs sortis._ - [En savoir plus sur les retraits de mise en jeu](/staking/withdrawals/) ## Commencer avec la plateforme de lancement de la mise en jeu {#get-started-on-the-staking-launchpad} @@ -100,14 +103,14 @@ Les indicateurs d'attributs sont utilisés ci-dessous pour signaler des forces o Il existe une variété d'options disponibles pour vous aider dans votre configuration. Utilisez les indicateurs ci-dessus pour vous guider à travers les outils ci-dessous. - -Veuillez noter l'importance de choisir un client minoritaire , car cela améliore la sécurité du réseau et limite vos risques. Les outils qui permettent de configurer un client minoritaire sont désignés comme "multi-client." - + #### Outils de nœud +Veuillez noter l'importance de choisir un [client minoritaire](/developers/docs/nodes-and-clients/client-diversity/) , car cela améliore la sécurité du réseau et limite vos risques. Les outils qui permettent de configurer un client minoritaire sont désignés comme "multi-client." + #### Générateurs de clés Ces outils peuvent être utilisés en alternative à [l'interface de dépôt de mise en jeu](https://github.com/ethereum/staking-deposit-cli/) pour vous aider à générer vos clés. @@ -126,14 +129,14 @@ Voici quelques-unes des questions les plus fréquentes relatives à la mise en j -Un validateur est une entité virtuelle existant sur Ethereum et participant au consensus du protocole Ethereum. Les validateurs sont représentés par un solde, une clé publique et d'autres propriétés. Un client validateur est le logiciel qui agit au nom du validateur en détenant et en utilisant sa clé privée. Un même client peut contenir plusieurs paires de clés, contrôlant de nombreux validateurs. +Un validateur est une entité virtuelle existant sur Ethereum et participant au consensus du protocole Ethereum. Les validateurs sont représentés par un solde, une clé publique et d'autres propriétés. Un client de validateur est le logiciel qui agit au nom du validateur en détenant et en utilisant sa clé privée. Un même client peut contenir plusieurs paires de clés, contrôlant de nombreux validateurs. Chaque paire de clés associée à un validateur nécessite exactement 32 ETH pour être activée. Déposer plus d'ETH sur un même ensemble de clés n'augmente pas le potentiel de récompense, car chaque validateur est limité à un solde effectif de 32 ETH. Cela signifie que la mise en jeu se fait par tranches de 32 ETH, chacune avec son propre jeu de clés et son propre solde. -Ne déposez pas plus de 32 ETH pour un seul validateur. Cela n'augmentera pas vos récompenses, et ils seront verrouillés jusqu'à la mise à jour de Shanghai. +Ne déposez pas plus de 32 ETH pour un seul validateur. Cela n'augmentera pas vos récompenses. Si une adresse de retrait a été définie pour le validateur, Les fonds excédentaires de 32 ETH seront automatiquement retirés à cette adresse lors du prochain balayage de validateur. Si la mise en jeu individuelle vous semble trop exigeante, envisagez d'utiliser un fournisseur de mise en jeu en tant que service, ou si vous possédez moins de 32 ETH, consultez les groupes d'enjeu. @@ -155,8 +158,10 @@ L'exécution d'un client supermajoritaire (tout client utilisé par plus de 2/3 Des bogues équivalents dans un client minoritaire ne seraient jamais finalisés et ne donneraient donc jamais lieu à un vote circulaire, et entraîneraient simplement des pénalités d'inactivité, et non un délestage. -

En savoir plus sur l'importance d'exploiter un client minoritaire.

-

En savoir plus sur la prévention du délestage

+ @@ -176,9 +181,10 @@ Les pénalités hors ligne sont proportionnelles au nombre de personnes se trouv -Au moment de la mise à niveau de Shanghai, les paiements de récompense et les retraits complets des validateurs sortis commenceront. Les retraits de quelque nature que ce soit de la Chaîne Phare (Beacon Chain) exigent que les identifiants de retrait soient définis. -Les nouvelles personnes plaçant des ETH définissent ceci au moment de la génération et du dépôt de clés. Les personnes ayant déjà placé des ETH qui n'ont pas déjà défini cela peuvent mètre à jour leurs clés. Leurs clés pourront ainsi supporter cette fonctionnalité après la mise à niveau de Shanghai. +Les retraits de quelque nature que ce soit de la Chaîne Phare (Beacon Chain) exigent que les identifiants de retrait soient définis. + +Les nouvelles personnes plaçant des ETH définissent ceci au moment de la génération et du dépôt de clés. Les stakers existants qui n'ont pas déjà défini cela peuvent mettre à jour leurs clés pour supporter cette fonctionnalité. Une fois que les identifiants de retrait sont définis, les paiements de récompense (ETH cumulés par rapport aux 32 initiaux) seront distribués périodiquement à l'adresse de retrait automatiquement. diff --git a/src/content/translations/fr/staking/withdrawals/index.md b/src/content/translations/fr/staking/withdrawals/index.md index 033deae0785..bc27a6cd301 100644 --- a/src/content/translations/fr/staking/withdrawals/index.md +++ b/src/content/translations/fr/staking/withdrawals/index.md @@ -4,34 +4,36 @@ description: Page résumant ce que sont les retraits de staking, comment ils fon lang: fr template: staking image: ../../../../../assets/staking/leslie-withdrawal.png -alt: Leslie le rhinocéros avec ses récompenses de stacking +alt: Leslie le rhinocéros avec ses récompenses de staking sidebarDepth: 2 summaryPoints: - - La mise à niveau de Shanghai permet d'activer les retraits sur Ethereum + - La mise à niveau Shanghai/Capella a permis les retraits de staking sur Ethereum - Les opérateurs validateurs doivent fournir une adresse de retrait pour l'activer - Les récompenses sont automatiquement distribuées tous les deux ou trois jours - - Les validateurs qui quittent complètements le staking recevront leur solde restant + - Les validateurs qui quittent complètement le staking recevront leur solde restant --- - Les retraits de staking seront autorisés grâce à la mise à niveau de Shanghai/Capella. Cette mise à niveau du réseau Ethereum devrait avoir lieu au premier semestre de 2023. Plus de détails ci-dessous +Les retraits de staking ont été activés avec la mise à niveau Shanghai/Capella, qui a eu lieu le 12 avril 2023. Plus d'informations sur Shanghai/Capella -La mise à niveau Shanghai/Capella permet **des retraits de staking** sur Ethereum, autorisant les gens à débloquer des récompenses de staking ETH. Les paiements des récompenses seront automatiquement et régulièrement envoyés à une adresse de retrait fournie et liée à chaque validateur. Les utilisateurs peuvent également quitter le staking entièrement en débloquant la totalité de leur solde de validateur. +**Les retraits de staking** font référence aux transferts d'ETH depuis le compte d'un validateur sur la couche de consensus d'Ethereum (la chaîne phare) vers la couche d'exécution où ils peuvent être traités. + +**Les paiements des récompenses au dessus d'un solde** de 32 ETH seront automatiquement et régulièrement envoyés à une adresse de retrait liée à chaque validateur, une fois fourni par l’utilisateur. Les utilisateurs peuvent également **quitter le staking entièrement**, débloquer leur solde de validateur complet. ## Récompenses de staking {#staking-rewards} Les paiements de récompenses sont traités automatiquement pour les comptes des validateurs actifs avec un solde effectif de 32 ETH maximum. -Tout solde supérieur à 32 ETH gagné grâce aux récompenses ne contribue pas réellement au principal, ou à augmenter la pondération de ce validateur sur le réseau, et est donc automatiquement retiré comme paiement des récompenses tous les deux ou trois jours. En sus de fournir une adresse de retrait ponctuellement, ces récompenses ne nécessitent aucune action de la part de l'opérateur de validateur. Tout cela est initié à la couche de consensus, donc aucun gaz (frais de transaction) n'est requis à aucune étape. +Tout solde supérieur à 32 ETH gagné grâce aux récompenses ne contribue pas réellement au capital, ou à augmenter le poids de ce validateur sur le réseau, et se trouve donc automatiquement renvoyé après quelques jours lors du paiement des récompenses. À part fournir une adresse de retrait une seule fois, recevoir ces récompenses ne nécessite aucune action de la part de l'opérateur du nœud validateur. Tout cela est géré depuis la couche de consensus, donc aucun gaz (frais de transaction) n'est requis à aucune étape. ### Comment sommes-nous arrivés là ? {#how-did-we-get-here} -Au cours des dernières années, Ethereum a subi plusieurs mises à niveau de réseau en passant à un réseau sécurisé par ETH lui-même, au lieu de miner à haute intensité énergétique comme par le passé. Participer au consensus sur Ethereum est maintenant connu sous le nom de « mise en jeu », les participants ayant volontairement bloqué l'ETH, le plaçant « en stacking » pour pouvoir participer au réseau. Les utilisateurs qui suivent les règles seront récompensés, tandis que les tentatives de triche peuvent être pénalisées. +Au cours des dernières années, Ethereum a subi plusieurs mises à niveau de réseau en passant à un réseau sécurisé par ETH lui-même, plutôt que par un minage coûteux en énergie auparavant. Participer au consensus sur Ethereum est maintenant connu sous le nom de « staking », les participants ayant volontairement bloqué l'ETH, le mettant « en jeu » pour pouvoir participer au réseau. Les utilisateurs qui suivent les règles seront récompensés, tandis que les tentatives de triche peuvent être pénalisées. -Depuis le lancement du contrat de dépôt de staking en novembre 2020, certains courageux pionniers d'Ethereum ont volontairement bloqué des fonds pour activer les « validateurs », les comptes qui ont le droit de présenter une attestation officielle et de proposer des blocs, en suivant les règles du réseau. +Depuis le lancement du contrat de dépôt en staking en novembre 2020, certains courageux pionniers d'Ethereum ont volontairement bloqué des fonds pour activer des comptes « validateurs », spéciaux qui ont le droit d'attester formellement et de proposer des blocs, en suivant les règles du réseau. -Avant la mise à jour de Shanghai, vous ne pouviez pas utiliser ou accéder à vos ETH mis en jeu. Mais désormais vous pouvez choisir de recevoir automatiquement vos récompenses dans un compte fourni, et vous pouvez également retirer votre ETH misé quand vous le souhaitez. +Avant la mise à niveau de Shanghai/Capella, vous ne pouviez pas utiliser l'ETH déposé en staking. Mais désormais vous pouvez choisir de recevoir automatiquement vos récompenses dans un compte de votre choix, et vous pouvez également retirer vos ETH mis en jeu quand vous le souhaitez. ### Comment puis-je me préparer ? {#how-do-i-prepare} @@ -42,26 +44,29 @@ Avant la mise à jour de Shanghai, vous ne pouviez pas utiliser ou accéder à v Fournir une adresse de retrait est une étape requise pour tout compte de validateur avant d'être admissible à un retrait d'ETH sur son solde. - Chaque compte de validateur ne peut se voir attribué qu'une seule adresse de retrait. Une fois qu'une adresse est choisie et soumise à la chaîne phare (Beacon Chain), elle ne peut pas être annulée ou modifiée à nouveau. Vérifiez la propriété et l'exactitude de l'adresse fournie avant de la soumettre. + Chaque compte de validateur ne peut se voir attribué qu'une seule adresse de retrait. Une fois qu'une adresse est choisie et soumise à la couche de consensus, elle ne peut pas être annulée ou modifiée à nouveau. Vérifiez la propriété et l'exactitude de l'adresse fournie avant de la soumettre. -Il n'y a aucune menace concernant vos fonds dans l'intervalle pour ne pas fournir celle-ci. Ne pas ajouter d’identifiants de retrait laissera simplement l’ETH verrouillé sur le compte du validateur tel qu'il était jusqu'à jusqu’à ce qu’une adresse de retrait soit fournie. +Le fait de ne pas fournir cette adresse ne pose aucun danger pour vos fonds pendant ce temps, à condition que votre phrase mnémonique/de récupération soit restée en sécurité hors-ligne, et n'ait été compromise d'aucune façon. Ne pas ajouter d’identifiants de retrait laissera simplement l’ETH verrouillé sur le compte du validateur tel qu'il était jusqu'à jusqu’à ce qu’une adresse de retrait soit fournie. ## Quitter entièrement le staking {#exiting-staking-entirely} Fournir une adresse de retrait est nécessaire pour que _les fonds_ puissent être transférés sur un solde de compte de validateur. -Les utilisateurs qui cherchent à quitter entièrement le staking et à retirer leur solde complet doivent également signer et diffuser un message de « sortie volontaire » avec des clés de validateur qui lanceront le processus de sortie de la mise en jeu. Ceci est exécuté avec votre client de validateur et soumis à votre nœud de balise, et ne nécessite pas de gaz. +Les utilisateurs qui cherchent à quitter entièrement le staking et à retirer leur solde complet doivent également signer et diffuser un message de « sortie volontaire » avec des clés de validateur qui lanceront le processus de sortie de la mise en jeu. Ceci est exécuté avec votre client de validateur et soumis à votre nœud de consensus, et ne nécessite pas de gaz. -Le processus d'un validateur sortant du staking prend un temps variable, en fonction du nombre d'autres individus sortant en même temps. Une fois terminé, ce compte ne sera plus responsable de l'exécution des tâches du réseau de validateur, ne sera plus admissible aux récompenses, et n'aura plus d'ETH « en jeu ». À ce moment, le compte doit être marqué comme entièrement « retirable ». +Le processus d'un validateur sortant du staking prend un temps variable, en fonction du nombre d'autres individus sortant en même temps. Une fois terminé, ce compte ne sera plus responsable de l'exécution des tâches du réseau de validateur, ne sera plus admissible aux récompenses, et n'aura plus d'ETH « en jeu ». À ce moment, le compte sera marqué comme entièrement « retirable ». Une fois qu'un compte est marqué comme « retirable » et que les identifiants de retrait ont été fournis, un utilisateur n'a plus rien à faire d'autre qu'attendre. Les comptes sont automatiquement et continuellement balayés par les proposeurs de blocs pour les fonds sortis qui sont admissibles, et le solde de votre compte sera transféré en entier (également connu sous le nom de « retrait complet ») au cours du prochain balayage. ## Quand les retraits de staking sont-ils activés ? {#when} -Les fonctionnalités de retrait seront activées grâce à une mise à niveau simultanée du réseau en deux parties, **Shanghai + Capella**. +Les retraits de staking sont disponibles ! La fonction de retrait a été activée dans le cadre de la mise à niveau Shanghai/Capella qui a eu lieu le 12 avril 2023. + +La mise à niveau Shanghai/Capella a permis de récupérer de l'Ether précédemment mis en jeu vers un compte Ethereum standard. Cela a fermé la boucle de la liquidité mise en jeu, et a fait avancer Ethereum sur son chemin de construction d'un écosystème durable, évolutif, sûr et décentralisé. - +- [En savoir plus sur l'histoire d'Ethereum](/history/) +- [En savoir plus sur la feuille de route d'Ethereum](/roadmap/) ## Comment fonctionnent les paiements de retraits ? {#how-do-withdrawals-work} @@ -78,9 +83,9 @@ Consultez cette explication de Finematics sur les retraits de staking d'Ethereum Lorsqu'un validateur doit proposer le bloc suivant, il est tenu de constituer une file d'attente de retraits, pouvant aller jusqu'à 16 retraits éligibles. Pour ce faire, on commence par l'index 0 du validateur, on détermine s'il existe un retrait éligible pour ce compte selon les règles du protocole et on l'ajoute à la file d'attente si tel est le cas. Le validateur configuré pour proposer le bloc suivant reprendra là où le précédent s'est arrêté, progressant dans l'ordre indéfiniment. -Pensez à une horloge analogique. L'aiguille sur l’horloge pointe vers l’heure, progresse dans une direction, ne saute pas d’heures, et finit par se déplacer vers le début à nouveau après que le dernier nombre est atteint.

-Maintenant au lieu de 1 à 12, imaginez que l'horloge a 0 à N (le nombre total de comptes de validateur qui ont déjà été enregistrés sur la chaîne phare, plus de 500 000 ans à compter de janvier 2023).

-L'aiguille sur l’horlog pointe vers le validateur suivant qui doit être vérifié pour les retraits éligibles. Il commence à 0 et progresse tout autour sans sauter de compte. Lorsque le dernier validateur est atteint, le cycle reprend au début. +Pensez à une horloge analogique. L'aiguille de l’horloge pointe vers l’heure, progresse dans une direction, ne saute pas d’heures, et finit par revenir au début après que le dernier nombre est atteint.

+Maintenant au lieu de 1 à 12, imaginez que l'horloge a 0 à N (le nombre total de comptes de validateur qui ont déjà été enregistrés sur la couche de consensus, plus de 500 000 en janvier 2023).

+L'aiguille de l’horloge pointe vers le prochain validateur qui doit être vérifié pour les retraits éligibles. Il commence à 0 et progresse tout autour sans sauter de compte. Lorsque le dernier validateur est atteint, le cycle reprend au début.
#### Vérification des retraits sur un compte {#checking-an-account-for-withdrawals} @@ -98,7 +103,7 @@ Seules deux actions entreprises par les opérateurs de validateurs au cours du c ### Sans gaz {#gas-free} -Cette approche des retraits de staking évite d'obliger les stakers à soumettre manuellement une transaction demandant le retrait d'une quantité particulière d'ETH. Cela signifie également qu'il n'y a **pas de gaz (frais de transaction) requis**, et que les retraits ne sont pas en concurrence avec l'espace de bloc de la couche d'exécution existante. +Cette approche des retraits de staking évite d'obliger les stakers à soumettre manuellement une transaction demandant le retrait d'une quantité particulière d'ETH. Cela signifie qu'aucun **gaz (frais de transaction)** n'est requis, et les retraits ne concurrencent pas non plus l'espace de bloc existant de la couche d'exécution. ### À quelle fréquence recevrai-je mes récompenses de mise en jeu ? {#how-soon} @@ -118,7 +123,7 @@ En élargissant ce calcul, nous pouvons estimer le temps nécessaire pour traite -Comme vous pouvez le constater, ce processus ralentit au fur et à mesure que le nombre de validateurs augmente sur le réseau. Une augmentation des blocs manqués pourrait ralentir proportionnellement ce phénomène, mais cela représente généralement le côté le plus lent des résultats possibles. +Comme vous pouvez le constater, ce processus ralentit au fur et à mesure que le nombre de validateurs augmente sur le réseau. Une augmentation des crénaux manqués pourrait ralentir proportionnellement ce phénomène, mais cela représente généralement le côté le plus lent des résultats possibles. ## Questions fréquemment posées {#faq} @@ -143,14 +148,15 @@ En guise d'alternative au changement d'adresse de retrait pour un validateur par
-

Si vous faites partie d'un groupe d'enjeux ou si vous détenez des produits dérivés de staking liquides, vous devez vous renseigner auprès de votre fournisseur pour savoir comment les retraits de staking affecteront votre contrat, car chaque service fonctionne différemment.

-

En général, les utilisateurs n'auront probablement rien à faire, et ces services ne seront plus limités par l'impossibilité de retirer des récompenses ou de sortir des fonds du validateur après cette mise à niveau.

-

Cela signifie que les utilisateurs peuvent désormais décider de racheter leurs ETH sous-jacents mis en jeu, ou de changer le fournisseur de mise en jeu qu'ils utilisent. Si un groupe particulier devient trop important, les fonds peuvent être retirés et rachetés, et remisés auprès d'un fournisseur plus petit. Ou, si vous avez accumulé suffisamment d'ETH, vous pouvez mise depuis chez vous.

+Si vous faites partie d'un groupe d'enjeux ou si vous détenez des jetons de mise en jeu, vous devez vous renseigner auprès de votre fournisseur pour savoir comment les retraits de mise en jeu sont gérés, car chaque service fonctionne différemment. + +En général, les utilisateurs sont censés être libres de récupérer leur ETH sous-jacent mis en jeu, ou de changer le fournisseur de mise en jeu qu'ils utilisent. Si un groupe particulier devient trop important, les fonds peuvent être retirés, rachetés, et remisés auprès d'un fournisseur plus petit. Ou, si vous avez accumulé suffisamment d'ETH, vous pouvez miser depuis chez vous. +
- -

Oui, à condition que votre validateur ait fourni une adresse de retrait. Il doit être fourni une fois pour permettre tout retrait, puis les paiements de récompenses seront automatiquement déclenchés tous les deux ou trois jours avec chaque balayage de validateur.

+Oui, à condition que votre validateur ait fourni une adresse de retrait. Elle doit être fournie une fois pour permettre tout retrait initialement, puis les paiements de récompenses seront automatiquement déclenchés tous les deux ou trois jours avec chaque balayage des validateurs.
-

Non, si votre validateur est toujours actif sur le réseau, un retrait total ne se fera pas automatiquement. Pour cela, il faut déclencher manuellement une sortie volontaire.

-

Une fois qu'un validateur a terminé le processus de sortie, et en supposant que le compte possède des identifiants de retrait, le solde restant sera alors retiré lors du prochain balayage du validateur.

+Non, si votre validateur est toujours actif sur le réseau, un retrait total ne se fera pas automatiquement. Pour cela, il faut déclencher manuellement une sortie volontaire. + +Une fois qu'un validateur a terminé le processus de sortie, et en supposant que le compte possède des identifiants de retrait, le solde restant sera alors retiré lors du prochain balayage du validateur. +
+Les retraits sont conçus pour être effectués automatiquement, en transférant tous les ETH qui ne contribuent pas activement à la mise. Cela comprend le solde complet pour les comptes qui ont terminé de processus de sortie. -

Les retraits sont conçus pour être effectués automatiquement, en transférant tous les ETH qui ne contribuent pas activement à la mise. Il s'agit notamment des soldes complets des comptes

-

Il n'est pas possible de demander manuellement le retrait de quantités spécifiques d'ETH.

+Il n'est pas possible de demander manuellement le retrait de quantités spécifiques d'ETH.
-

Il est recommandé aux opérateurs de validateurs de consulter la page Staking Launchpad Withdrawals où vous trouverez plus de détails sur la façon de se préparer, le calendrier des événements, et davantage d'informations sur le fonctionnement des retraits.

+Il est recommandé aux opérateurs de validateurs de consulter la page Retraits de la mise en jeu où vous trouverez plus de détails sur la façon de préparer votre validateur aux retraits. préparés, le déroulé des événements, et plus de détails sur comment les retraits fonctionnent. + +Pour commencer en testant votre configuration sur un réseau de test, visitez la Platforme de lancement pour la mise en jeu sur le réseau de test Goerli. +
- -

Non. Une fois qu'un validateur est sorti et que son solde total a été retiré, tous les fonds supplémentaires déposés sur ce validateur seront automatiquement transférés à l'adresse de retrait lors du prochain balayage du validateur. Pour remettre en jeu l'ETH, un nouveau validateur doit être activé.

+Non. Une fois qu'un validateur est sorti et que son solde total a été retiré, tous les fonds supplémentaires déposés sur ce validateur seront automatiquement transférés à l'adresse de retrait lors du prochain balayage du validateur. Pour remettre en jeu l'ETH, un nouveau validateur doit être activé.
## Complément d'information {#further-reading} @@ -206,4 +215,4 @@ eventName="read more"> - [Ethereum Cat Herders - Shanghai](https://www.ethereumcatherders.com/shanghai_upgrade/index.html) - [PEEPanEIP #94 : Retrait de l'ETH misé (Testing) avec Potuz & Hsiao-Wei Wang](https://www.youtube.com/watch?v=G8UstwmGtyE) - [PEEPanEIP#68 : EIP-4895 : Retraits de la chaîne de balises en tant qu'opérations avec des prises Alex](https://www.youtube.com/watch?v=CcL9RJBljUs) -- [Comprendre le solde effectif du validateur](https://www.attestant.io/posts/understanding-validator-effective-balance/) +- [Comprendre le Solde Effectif du Validateur](https://www.attestant.io/posts/understanding-validator-effective-balance/) diff --git a/src/content/translations/fr/zero-knowledge-proofs/index.md b/src/content/translations/fr/zero-knowledge-proofs/index.md index 2b20c38df27..8977565ea62 100644 --- a/src/content/translations/fr/zero-knowledge-proofs/index.md +++ b/src/content/translations/fr/zero-knowledge-proofs/index.md @@ -110,7 +110,7 @@ Les preuves à divulgation nulle de connaissance sont également utilisées pour Les systèmes actuels de gestion de l'identité mettent en péril les renseignements personnels. Les preuves à divulgation nulle peuvent aider les individus à valider leur identité tout en protégeant leurs données personnelles. -Les preuves à divulgation nulle sont particulièrement utiles dans un contexte de [décentralisation de l'identité](/decentralized-identity/). La décentralisation de l'identité (également appelée "'identité auto-souveraine") donne à l'individu la possibilité de contrôler l'accès à ses données personnelles. Prouver votre citoyenneté sans révéler les détails de vos documents d'identité est un bon exemple de la manière dont la technologie de la preuve à divulgation nulle de connaissance permet une décentralisation de l'identité. +Les preuves à divulgation nulle sont particulièrement utiles dans un contexte de [décentralisation de l'identité](/decentralized-identity). La décentralisation de l'identité (également appelée "'identité auto-souveraine") donne à l'individu la possibilité de contrôler l'accès à ses données personnelles. Prouver votre citoyenneté sans révéler les détails de vos documents d'identité est un bon exemple de la manière dont la technologie de la preuve à divulgation nulle de connaissance permet une décentralisation de l'identité. ### Authentification {#authentication} @@ -146,7 +146,7 @@ C'est ici que le calcul vérifiable entre en jeu. En effet, lorsqu'un nœud exé Les systèmes de vote de la blockchain ont de nombreuses caractéristiques favorables : ils sont entièrement auditables, blindés contre les attaques, résistants à la censure et exempts de contraintes géographiques. Mais même les systèmes de vote en chaîne ne sont pas immunisés contre le problème de la **collusion**. -Défini comme "entente visant à limiter la libre concurrence par le trucage, la fraude, et en trompant les autres", la collusion peut prendre la forme d'un individu malveillant influant sur le vote d'autrui en lui offrant des pots-de-vin. Par exemple Alice pourrait recevoir un pot-de-vin de Bob pour voter pour `l'option B` sur un bulletin même si elle préfère `l'option A`. +Défini comme "entente visant à limiter la libre concurrence par le trucage, la fraude, et en trompant les autres", la collusion peut prendre la forme d'un individu malveillant influant sur le vote d'autrui en lui offrant des pots-de-vin. Par exemple Alice pourrait recevoir un pot-de-vin de Bob pour voter pour l'`option B` sur un bulletin même si elle préfère l'`option A`. La corruption et la collusion limitent l'efficacité de tout processus utilisant le système de vote comme mécanisme de positionnement (en particulier lorsque les usagers peuvent révéler comment ils ont voté). Cela peut avoir des conséquences significatives, en particulier lorsque les votes déterminent l'affectation de ressources limitées. @@ -165,12 +165,12 @@ Dans MACI, des preuves à divulgation nulle sont utilisées pour assurer l'exact Ainsi, même sans partager une répartition des votes par utilisateur (comme c'est généralement le cas), MACI garantit l'intégrité des résultats calculés au cours du processus de décompte. Cette caractéristique permet de réduire l'efficacité des programmes de collusion de base. Nous pouvons étudier cette possibilité en utilisant l'exemple précédent de Bob soudoyant Alice pour voter pour une option: - Alice enregistre son vote en envoyant sa clé publique à un contrat intelligent. -- Alice accepte de voter pour l'option `B` en échange d'un pot-de-vin de Bob. -- Alice vote pour l'option `B`. +- Alice accepte de voter pour l'`option B` en échange d'un pot-de-vin de Bob. +- Alice vote pour l'`option B`. - Alice envoie secrètement une transaction chiffrée pour changer la clé publique associée à son identité. -- Alice envoie un autre message (chiffré) au contrat intelligent afin de voter pour l'option `A` en utilisant la nouvelle clé publique. -- Alice montre à Bob une transaction indiquant qu'elle a voté pour l'option `B` (qui est invalide car la clé publique n'est plus associée à l'identité d'Alice dans le système) -- Lors du traitement des messages, le coordinateur ignore le vote d'Alice pour l'option `B` et ne compte que le vote pour l'option `A`. Ainsi, la tentative de Bob de se joindre à Alice et de manipuler le vote sur la chaîne échoue. +- Alice envoie un autre message (chiffré) au contrat intelligent afin de voter pour l'`option A` en utilisant la nouvelle clé publique. +- Alice montre à Bob une transaction indiquant qu'elle a voté pour l'`option B` (qui est invalide car la clé publique n'est plus associée à l'identité d'Alice dans le système) +- Lors du traitement des messages, le coordinateur ignore le vote d'Alice pour l'`option B` et ne compte que le vote pour l'`option A`. Ainsi, la tentative de Bob de se joindre à Alice et de manipuler le vote sur la chaîne échoue. L'utilisation de MACI _nécessite_ de faire confiance au coordinateur pour ne pas collaborer avec des corrupteurs ou tenter de soudoyer les électeurs eux-mêmes. Le coordinateur peut déchiffrer les messages des utilisateurs (nécessaires à la création de la preuve), afin qu'ils puissent vérifier avec précision comment chaque personne a voté. diff --git a/src/content/translations/id/developers/docs/scaling/layer-2-rollups/index.md b/src/content/translations/id/developers/docs/scaling/layer-2-rollups/index.md index 6fb6f1a8347..94aa4c26a03 100644 --- a/src/content/translations/id/developers/docs/scaling/layer-2-rollups/index.md +++ b/src/content/translations/id/developers/docs/scaling/layer-2-rollups/index.md @@ -143,7 +143,7 @@ Solusi hibrida ada dengan menggabungkan bagian terbaik dari berbagai teknologi l - [Semua yang perlu Anda ketahui tentang Rollup Optimistic](https://research.paradigm.xyz/rollups) - [Panduan Penting untuk Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Bagaimana Rollup Optimism benar-benar berfungsi?](https://research.paradigm.xyz/optimism) +- [Bagaimana Rollup Optimism benar-benar berfungsi?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) **Solusi Hibrida** diff --git a/src/content/translations/id/developers/tutorials/nft-minter/index.md b/src/content/translations/id/developers/tutorials/nft-minter/index.md index bad2561c6b3..6bf125fd57f 100644 --- a/src/content/translations/id/developers/tutorials/nft-minter/index.md +++ b/src/content/translations/id/developers/tutorials/nft-minter/index.md @@ -196,7 +196,7 @@ If you go to the `App.js` file, which is the main component in React that acts a Now that we understand what we're working with, let's set up our Ethereum wallet! -## : Set up your Ethereum wallet {#set-up-your-ethereum-wallet} +## Set up your Ethereum wallet {#set-up-your-ethereum-wallet} For users to be able to interact with your smart contract they will need to connect their Ethereum wallet to your dApp. diff --git a/src/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md index 58e370a55b5..78c4f4b7ae3 100644 --- a/src/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/it/developers/docs/scaling/optimistic-rollups/index.md @@ -260,6 +260,6 @@ Esistono molteplici implementazioni dei rollup ottimistici, che puoi integrare n - [Come funzionano gli Optimistic Rollup (La guida completa)](https://www.alchemy.com/overviews/optimistic-rollups) - [Everything you need to know about Optimistic Rollup](https://research.paradigm.xyz/rollups) - [Guida essenziale ad Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Come funziona davvero il rollup di Optimism?](https://research.paradigm.xyz/optimism) +- [Come funziona davvero il rollup di Optimism?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [Approfondimento su OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) - [What is the Optimistic Virtual Machine?](https://www.alchemy.com/overviews/optimistic-virtual-machine) diff --git a/src/content/translations/it/developers/tutorials/nft-minter/index.md b/src/content/translations/it/developers/tutorials/nft-minter/index.md index eebd77fc01d..7ed1ff38de7 100644 --- a/src/content/translations/it/developers/tutorials/nft-minter/index.md +++ b/src/content/translations/it/developers/tutorials/nft-minter/index.md @@ -198,7 +198,7 @@ Se vai al file `App.js`, che è il componente principale su React e che agisce c Ora che ci è chiaro con cosa stiamo lavorando, configuriamo il portafoglio di Ethereum! -## : Configura il tuo portafoglio di Ethereum {#set-up-your-ethereum-wallet} +## Configura il tuo portafoglio di Ethereum {#set-up-your-ethereum-wallet} Per poter interagire con il tuo smart contract, gli utenti dovranno connettere il proprio portafoglio di Ethereum alla tua dapp. diff --git a/src/content/translations/ja/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/ja/developers/docs/scaling/optimistic-rollups/index.md index 5021f079ddc..79da0a5be35 100644 --- a/src/content/translations/ja/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/ja/developers/docs/scaling/optimistic-rollups/index.md @@ -260,6 +260,6 @@ Dapp に統合可能な、既存のオプティミスティック・ロールア - [オプティミスティック・ロールアップの仕組み(完全ガイド)](https://www.alchemy.com/overviews/optimistic-rollups) - [オプティミスティック・ロールアップについて必要なすべての知識](https://research.paradigm.xyz/rollups) - [Arbitrum の基本ガイド](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Optimism のロールアップはどのように機能するのか?](https://research.paradigm.xyz/optimism) +- [Optimism のロールアップはどのように機能するのか?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [OVM の詳細を学ぶ](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) - [オプティミスティック仮想マシンとは何か?](https://www.alchemy.com/overviews/optimistic-virtual-machine) diff --git a/src/content/translations/ja/developers/tutorials/nft-minter/index.md b/src/content/translations/ja/developers/tutorials/nft-minter/index.md index e45cf591bc1..704e20b0dcb 100644 --- a/src/content/translations/ja/developers/tutorials/nft-minter/index.md +++ b/src/content/translations/ja/developers/tutorials/nft-minter/index.md @@ -195,7 +195,7 @@ return ( これから取り組む内容を理解したところで、イーサリアムウォレットを設定しましょう。 -## : イーサリアムウォレットの設定{#set-up-your-ethereum-wallet} +## イーサリアムウォレットの設定{#set-up-your-ethereum-wallet} ユーザーがスマートコントラクトとやり取りできるようにするには、自分のイーサリアムウォレットを分散型アプリケーション(Dapp)に接続する必要があります。 diff --git a/src/content/translations/kn/decentralized-identity/index.md b/src/content/translations/kn/decentralized-identity/index.md new file mode 100644 index 00000000000..e8e13758521 --- /dev/null +++ b/src/content/translations/kn/decentralized-identity/index.md @@ -0,0 +1,185 @@ +--- +title: ವಿಕೇಂದ್ರೀಕರಿತ ಗುರುತು +description: ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಎಂದರೇನು, ಮತ್ತು ಅದು ಏಕೆ ಮುಖ್ಯವಾಗಿದೆ? +lang: kn +template: use-cases +emoji: ":id:" +sidebarDepth: 2 +image: ../../../../assets/eth-gif-cat.png +summaryPoint1: ಸಾಂಪ್ರದಾಯಿಕ ಗುರುತಿನ ವ್ಯವಸ್ಥೆಗಳು ನಿಮ್ಮ ಗುರುತಿಸುವಿಕೆಗಳ ವಿತರಣೆ, ನಿರ್ವಹಣೆ ಮತ್ತು ನಿಯಂತ್ರಣವನ್ನು ಕೇಂದ್ರೀಕರಿಸಿವೆ. +summaryPoint2: ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಕೇಂದ್ರೀಕೃತ ಮೂರನೇ ಪಕ್ಷಗಳ ಮೇಲಿನ ಅವಲಂಬನೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. +summaryPoint3: ಕ್ರಿಪ್ಟೋಗೆ ಧನ್ಯವಾದಗಳು, ಬಳಕೆದಾರರು ಈಗ ಮತ್ತೊಮ್ಮೆ ತಮ್ಮದೇ ಆದ ಗುರುತಿಸುವಿಕೆಗಳು ಮತ್ತು ದೃಢೀಕರಣಗಳನ್ನು ವಿತರಿಸಲು, ಹಿಡಿದಿಡಲು ಮತ್ತು ನಿಯಂತ್ರಿಸಲು ಸಾಧನಗಳನ್ನು ಹೊಂದಿದ್ದಾರೆ. +--- + +ಗುರುತು ಇಂದು ನಿಮ್ಮ ಜೀವನದ ಪ್ರತಿಯೊಂದು ಅಂಶಕ್ಕೂ ಆಧಾರವಾಗಿದೆ. ಜಾಲತಾಣ ಸೇವೆಗಳನ್ನು ಬಳಸುವುದು, ಬ್ಯಾಂಕ್ ಖಾತೆಯನ್ನು ತೆರೆಯುವುದು, ಚುನಾವಣೆಗಳಲ್ಲಿ ಮತ ಚಲಾಯಿಸುವುದು, ಆಸ್ತಿ ಖರೀದಿಸುವುದು, ಉದ್ಯೋಗ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು - ಇವೆಲ್ಲವೂ ನಿಮ್ಮ ಗುರುತಿನ ಪುರಾವೆಯನ್ನು ಸೂಚಿಸುತ್ತವೆ. + +ಆದಾಗ್ಯೂ, ಸಾಂಪ್ರದಾಯಿಕ ಗುರುತಿನ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಗಳು ನಿಮ್ಮ ಗುರುತಿಸುವಿಕೆಗಳು ಮತ್ತು [ದೃಢೀಕರಣಗಳನ್ನು](#what-are-attestations), ನೀಡುವ, ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಮತ್ತು ನಿಯಂತ್ರಿಸುವ ಕೇಂದ್ರೀಕೃತ ಮಧ್ಯವರ್ತಿಗಳ ಮೇಲೆ ದೀರ್ಘಕಾಲ ಅವಲಂಬಿಸಿವೆ. ಇದರರ್ಥ ನೀವು ನಿಮ್ಮ ಗುರುತಿನ ಸಂಬಂಧಿತ ಮಾಹಿತಿಯನ್ನು ನಿಯಂತ್ರಿಸಲಾಗುವುದಿಲ್ಲ ಅಥವಾ ಯಾರುಪರ್ಸನಲ್ಲಿ ಐಡೆಂಟಿಫೈಅಬಲೆ ಇನ್ಫಾರ್ಮಶನ್(PII) ಗೆ ಪ್ರವೇಶವನ್ನು ನಿರ್ಧರಿಸಲು ಅಥವಾ ಈ ಪಕ್ಷಗಳಿಗೆ ಎಷ್ಟು ಪ್ರವೇಶವಿದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲಾಗುವುದಿಲ್ಲ. + +ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು, ನಾವು ಇಥಿರಿಯಮ್ ನಂತಹ ಸಾರ್ವಜನಿಕ ಬ್ಲಾಕ್‌ಚೈನ್‌ಗಳಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ವ್ಯಕ್ತಿಗಳು ತಮ್ಮ ಗುರುತಿನ-ಸಂಬಂಧಿತ ಮಾಹಿತಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಡೀಸೆಂಟ್ರಲೈಸ್ಡ್ ಐಡೆಂಟಿಟಿ ಸಲಹೆಗಳೊಂದಿಗೆ, _ನೀವು_ ಸೇವಾ ಪೂರೈಕೆದಾರರು ಅಥವಾ ಸರ್ಕಾರಗಳಂತಹ ಕೇಂದ್ರೀಯ ಅಧಿಕಾರಿಗಳ ಮೇಲೆ ಅವಲಂಬಿಸದೆ ಗುರುತುಗಳು ಮತ್ತು ದೃಢೀಕರಣಗಳನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ಹೊಂದಬಹುದು. + +## ಗುರುತು ಎಂದರೇನು? {#what-is-identity} + +ಗುರುತಿನೆಂದರೆ ವ್ಯಕ್ತಿಯ ಸ್ವಯಂ ಭಾವನೆಯಾಗಿದ್ದು, ಅದು ಅನನ್ಯ ಗುಣಲಕ್ಷಣಗಳಿಂದ ನಿರೂಪಿಸಲ್ಪಟ್ಟಿದೆ. ಐಡೆಂಟಿಟಿಯು ಒಬ್ಬ _ವ್ಯಕ್ತಿಯನ್ನುl_ ಸೂಚಿಸುತ್ತದೆ, ಅಂದರೆ, ಒಂದು ವಿಶಿಷ್ಟವಾದ ಮಾನವ ಅಸ್ತಿತ್ವ. ಗುರುತು ಸಂಸ್ಥೆ ಅಥವಾ ಅಧಿಕಾರದಂತಹ ಇತರ ಮಾನವೇತರ ಘಟಕಗಳನ್ನು ಸಹ ಉಲ್ಲೇಖಿಸಬಹುದು. + +## ಗುರುತಿಸುವಿಕೆಗಳು ಯಾವುವು? {#what-are-identifiers} + +ಗುರುತಿಸುವಿಕೆಯು ಒಂದು ನಿರ್ದಿಷ್ಟ ಗುರುತು ಅಥವಾ ಗುರುತುಗಳಿಗೆ ಸೂಚಕವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಮಾಹಿತಿಯ ತುಣುಕು. ಸಾಮಾನ್ಯ ಗುರುತಿಸುವಿಕೆಗಳಲ್ಲಿ ಇವು ಸೇರಿವೆ: + +- ಹೆಸರು +- ಸಾಮಾಜಿಕ ಭದ್ರತಾ ಸಂಖ್ಯೆ/ ತೆರಿಗೆ ಐಡಿ ಸಂಖ್ಯೆ +- ಮೊಬೈಲ್ ಸಂಖ್ಯೆ +- ಹುಟ್ಟಿದ ದಿನಾಂಕ ಮತ್ತು ಸ್ಥಳ +- ಡಿಜಿಟಲ್ ಗುರುತಿನ ರುಜುವಾತುಗಳು, ಉದಾ., ಇಮೇಲ್ ವಿಳಾಸಗಳು, ಬಳಕೆದಾರ ಹೆಸರುಗಳು, ಅವತಾರಗಳು + +ಗುರುತಿಸುವಿಕೆಗಳ ಈ ಸಾಂಪ್ರದಾಯಿಕ ಉದಾಹರಣೆಗಳನ್ನು ಕೇಂದ್ರ ಘಟಕಗಳು ನೀಡುತ್ತವೆ, ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುತ್ತವೆ ಮತ್ತು ನಿಯಂತ್ರಿಸುತ್ತವೆ. ನಿಮ್ಮ ಹೆಸರನ್ನು ಬದಲಾಯಿಸಲು ಅಥವಾ ನಿಮ್ಮ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ವೇದಿಕೆಯಿಂದ ನಿಮಗೆ ನಿಮ್ಮ ಸರ್ಕಾರದಿಂದ ಅನುಮತಿ ಬೇಕು. + +## ದೃಢೀಕರಣಗಳು ಎಂದರೇನು? {#what-are-attestations} + +ದೃಢೀಕರಣವು ಒಂದು ಘಟಕವು ಮತ್ತೊಂದು ಘಟಕದ ಬಗ್ಗೆ ಮಾಡಿದ ಹಕ್ಕು. ನೀವು ಯುನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್ ನಲ್ಲಿ ವಾಸಿಸುತ್ತಿದ್ದರೆ, ಮೋಟಾರು ವಾಹನಗಳ ಇಲಾಖೆ (ಒಂದು ಘಟಕ) ನಿಮಗೆ ನೀಡಿದ ಚಾಲನಾ ಪರವಾನಗಿಯು ನಿಮಗೆ (ಮತ್ತೊಂದು ಘಟಕ) ಕಾರನ್ನು ಓಡಿಸಲು ಕಾನೂನುಬದ್ಧವಾಗಿ ಅನುಮತಿಸಲಾಗಿದೆ ಎಂದು ದೃಢೀಕರಿಸುತ್ತದೆ. + +ದೃಢೀಕರಣಗಳು ಗುರುತಿಸುವಿಕೆಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿವೆ. ದೃಢೀಕರಣವು ಒಂದು ನಿರ್ದಿಷ್ಟ ಗುರುತನ್ನು ಉಲ್ಲೇಖಿಸಲು ಗುರುತಿಸುವಿಕೆಗಳನ್ನು _ಒಳಗೊಂಡಿರುತ್ತದೆ_, ಮತ್ತು ಈ ಗುರುತಿಗೆ ಸಂಬಂಧಿಸಿದ ಗುಣಲಕ್ಷಣದ ಬಗ್ಗೆ ಹಕ್ಕು ಸಾಧಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ, ನಿಮ್ಮ ಚಾಲನಾ ಪರವಾನಗಿಯು ಗುರುತಿಸುವಿಕೆಗಳನ್ನು (ಹೆಸರು, ಹುಟ್ಟಿದ ದಿನಾಂಕ, ವಿಳಾಸ) ಹೊಂದಿದೆ ಆದರೆ ಚಾಲನೆ ಮಾಡುವ ನಿಮ್ಮ ಕಾನೂನುಬದ್ಧ ಹಕ್ಕಿನ ಬಗ್ಗೆ ದೃಢೀಕರಣವಾಗಿದೆ. + +### ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳು ಎಂದರೇನು? {#what-are-decentralized-identifiers} + +ನಿಮ್ಮ ಕಾನೂನು ಹೆಸರು ಅಥವಾ ಇಮೇಲ್ ವಿಳಾಸದಂತಹ ಸಾಂಪ್ರದಾಯಿಕ ಗುರುತಿಸುವಿಕೆಗಳು ಮೂರನೇ ಪಕ್ಷಗಳು-ಸರ್ಕಾರಗಳು ಮತ್ತು ಇಮೇಲ್ ಪೂರೈಕೆದಾರರನ್ನು ಅವಲಂಬಿಸಿರುತ್ತವೆ. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳು (DIDs) ವಿಭಿನ್ನವಾಗಿವೆ - ಅವುಗಳನ್ನು ಯಾವುದೇ ಕೇಂದ್ರ ಘಟಕವು ನೀಡುವುದಿಲ್ಲ, ನಿರ್ವಹಿಸುವುದಿಲ್ಲ ಅಥವಾ ನಿಯಂತ್ರಿಸುವುದಿಲ್ಲ. + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ವ್ಯಕ್ತಿಗಳು ನೀಡುತ್ತಾರೆ, ಹಿಡಿದಿಡುತ್ತಾರೆ ಮತ್ತು ನಿಯಂತ್ರಿಸುತ್ತಾರೆ. [ಎಥೆರಿಯಮ್ ಖಾತೆಯು](/developers/docs/accounts/) ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಯ ಉದಾಹರಣೆಯಾಗಿದೆ. ಯಾರ ಅನುಮತಿಯಿಲ್ಲದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಕೇಂದ್ರ ರಿಜಿಸ್ಟ್ರಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸುವ ಅಗತ್ಯವಿಲ್ಲದೆ ನೀವು ಬಯಸಿದಷ್ಟು ಖಾತೆಗಳನ್ನು ನೀವು ರಚಿಸಬಹುದು. + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ವಿತರಣಾ ಲೆಡ್ಜರ್ ಗಳಲ್ಲಿ (ಬ್ಲಾಕ್‍ಚೈನ್‍ಗಳು) ಅಥವಾ ಪೀರ್-ಟು-ಪೀರ್ ನೆಟ್‍ವರ್ಕ್‍ಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ಇದು DID ಗಳನ್ನು [ಜಾಗತಿಕವಾಗಿ ಅನನ್ಯಗೊಳಿಸುತ್ತದೆ, ಹೆಚ್ಚಿನ ಲಭ್ಯತೆಯೊಂದಿಗೆ ಪರಿಹರಿಸಬಹುದು ಮತ್ತು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಆಗಿ ಪರಿಶೀಲಿಸಬಹುದು.](https://w3c-ccg.github.io/did-primer/). ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಜನರು, ಸಂಸ್ಥೆಗಳು ಅಥವಾ ಸರ್ಕಾರಿ ಸಂಸ್ಥೆಗಳು ಸೇರಿದಂತೆ ವಿವಿಧ ಘಟಕಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಬಹುದು. + +## ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ಯಾವುದು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ? {#what-makes-decentralized-identifiers-possible} + +### 1. ಪಬ್ಲಿಕ್ ಕೀ ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್ (PKI) {#public-key-infrastructure} + +ಸಾರ್ವಜನಿಕ-ಕೀ ಮೂಲಸೌಕರ್ಯ (PKI) ಎಂಬುದು ಮಾಹಿತಿ ಭದ್ರತಾ ಕ್ರಮವಾಗಿದ್ದು, ಇದು ಒಂದು ಘಟಕಕ್ಕೆ [ಸಾರ್ವಜನಿಕ ಕೀ](/glossary/#public-key) ಮತ್ತು [ಖಾಸಗಿ ಕೀಯನ್ನು](/glossary/#private-key) ಉತ್ಪಾದಿಸುತ್ತದೆ. ಬಳಕೆದಾರರ ಗುರುತುಗಳನ್ನು ದೃಢೀಕರಿಸಲು ಮತ್ತು ಡಿಜಿಟಲ್ ಸ್ವತ್ತುಗಳ ಮಾಲೀಕತ್ವವನ್ನು ಸಾಬೀತುಪಡಿಸಲು ಬ್ಲಾಕ್‍ಚೈನ್ ನೆಟ್‍ವರ್ಕ್‍ಗಳಲ್ಲಿ ಸಾರ್ವಜನಿಕ-ಕೀ ಕ್ರಿಪ್ಟೋಗ್ರಫಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. + +ಇಥಿರಿಯಮ್ ಖಾತೆಯಂತಹ ಕೆಲವು ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳು ಸಾರ್ವಜನಿಕ ಮತ್ತು ಖಾಸಗಿ ಕೀಲಿಗಳನ್ನು ಹೊಂದಿವೆ. ಸಾರ್ವಜನಿಕ ಕೀಯು ಖಾತೆಯ ನಿಯಂತ್ರಕವನ್ನು ಗುರುತಿಸುತ್ತದೆ, ಆದರೆ ಖಾಸಗಿ ಕೀಗಳು ಈ ಖಾತೆಗೆ ಸಂದೇಶಗಳಿಗೆ ಸಹಿ ಮಾಡಬಹುದು ಮತ್ತು ಡಿಕ್ರಿಪ್ಟ್ ಮಾಡಬಹುದು. PKI ಘಟಕಗಳನ್ನು ದೃಢೀಕರಿಸಲು ಮತ್ತು ನಕಲಿ ಗುರುತುಗಳ ಆವರ್ತನ ಮತ್ತು ಬಳಕೆಯನ್ನು ತಡೆಗಟ್ಟಲು ಅಗತ್ಯವಾದ ಪುರಾವೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಎಲ್ಲಾ ಹಕ್ಕುಗಳನ್ನು ಪರಿಶೀಲಿಸಲು [ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಸಹಿಗಳನ್ನು](https://andersbrownworth.com/blockchain/public-private-keys/) ಬಳಸುತ್ತದೆ. + +### 2. ವಿಕೇಂದ್ರೀಕೃತ ಡೇಟಾಸ್ಟೋರ್ ಗಳು {#decentralized-datastores} + +ಬ್ಲಾಕ್‍ಚೈನ್ ಪರಿಶೀಲಿಸಬಹುದಾದ ಡೇಟಾ ರಿಜಿಸ್ಟ್ರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ: ಮಾಹಿತಿಯ ಮುಕ್ತ, ವಿಶ್ವಾಸಾರ್ಹ ಮತ್ತು ವಿಕೇಂದ್ರೀಕೃತ ಭಂಡಾರ. ಸಾರ್ವಜನಿಕ ಬ್ಲಾಕ್‍ಚೈನ್‍ಗಳ ಅಸ್ತಿತ್ವವು ಕೇಂದ್ರೀಕೃತ ರಿಜಿಸ್ಟ್ರಿಗಳಲ್ಲಿ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. + +ವಿಕೇಂದ್ರೀಕೃತ ಐಡೆಂಟಿಫೈಯರ್ ನ ಸಿಂಧುತ್ವವನ್ನು ಯಾರಾದರೂ ದೃಢೀಕರಿಸಬೇಕಾದರೆ, ಅವರು ಬ್ಲಾಕ್ ಚೈನ್ ನಲ್ಲಿ ಸಂಬಂಧಿತ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ನೋಡಬಹುದು. ಇದು ಮೂರನೇ ಪಕ್ಷಗಳು ಪ್ರಮಾಣೀಕರಿಸಬೇಕಾದ ಸಾಂಪ್ರದಾಯಿಕ ಗುರುತಿಸುವಿಕೆಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿದೆ. + +## ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳು ಮತ್ತು ದೃಢೀಕರಣಗಳು ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತನ್ನು ಹೇಗೆ ಸಕ್ರಿಯಗೊಳಿಸುತ್ತವೆ? {#how-decentralized-identifiers-and-attestations-enable-decentralized-identity} + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಎಂದರೆ ಗುರುತು-ಸಂಬಂಧಿತ ಮಾಹಿತಿಯು ಸ್ವಯಂ-ನಿಯಂತ್ರಿತ, ಖಾಸಗಿ ಮತ್ತು ಪೋರ್ಟಬಲ್ ಆಗಿರಬೇಕು, ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳು ಮತ್ತು ದೃಢೀಕರಣಗಳು ಪ್ರಾಥಮಿಕ ಕಟ್ಟಡ ಘಟಕಗಳಾಗಿವೆ. + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಸಂದರ್ಭದಲ್ಲಿ, ದೃಢೀಕರಣಗಳು ([ಪರಿಶೀಲಿಸಬಹುದಾದ ರುಜುವಾತುಗಳು](https://www.w3.org/TR/vc-data-model/) ಎಂದೂ ಕರೆಯಲ್ಪಡುತ್ತವೆ) ವಿತರಕರು ಮಾಡಿದ ಟ್ಯಾಂಪರ್-ಪ್ರೂಫ್, ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಆಗಿ ಪರಿಶೀಲಿಸಬಹುದಾದ ಹಕ್ಕುಗಳಾಗಿವೆ. ಪ್ರತಿಯೊಂದು ದೃಢೀಕರಣ ಅಥವಾ ಪರಿಶೀಲಿಸಬಹುದಾದ ರುಜುವಾತು ಒಂದು ಘಟಕ (ಉದಾಹರಣೆಗೆ, ಸಂಸ್ಥೆ) ಸಮಸ್ಯೆಗಳು ಅವರ DID ಡಿಐಡಿಯೊಂದಿಗೆ ಸಂಬಂಧ ಹೊಂದಿವೆ. + +DIDs ಡಿಐಡಿಗಳನ್ನು ಬ್ಲಾಕ್‍ಚೈನ್‍ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿರುವುದರಿಂದ, ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ವಿತರಕರ DID ಯನ್ನು ಅಡ್ಡ-ಪರಿಶೀಲಿಸುವ ಮೂಲಕ ಯಾರಾದರೂ ದೃಢೀಕರಣದ ಸಿಂಧುತ್ವವನ್ನು ಪರಿಶೀಲಿಸಬಹುದು. ಮೂಲಭೂತವಾಗಿ, ಇಥಿರಿಯಮ್ ಬ್ಲಾಕ್‍ಚೈನ್ ಜಾಗತಿಕ ಡೈರೆಕ್ಟರಿಯಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಅದು ಕೆಲವು ಘಟಕಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ DID ಗಳ ಪರಿಶೀಲನೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳು ದೃಢೀಕರಣಗಳು ಸ್ವಯಂ-ನಿಯಂತ್ರಿತ ಮತ್ತು ಪರಿಶೀಲಿಸಬಹುದಾದವುಗಳಾಗಲು ಕಾರಣವಾಗಿವೆ. ವಿತರಕರು ಇನ್ನು ಮುಂದೆ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೂ, ಹೋಲ್ಡರ್ ಯಾವಾಗಲೂ ದೃಢೀಕರಣದ ಮೂಲ ಮತ್ತು ಸಿಂಧುತ್ವದ ಪುರಾವೆಗಳನ್ನು ಹೊಂದಿರುತ್ತಾರೆ. + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಮೂಲಕ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯ ಗೌಪ್ಯತೆಯನ್ನು ರಕ್ಷಿಸಲು ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳು ಸಹ ನಿರ್ಣಾಯಕವಾಗಿವೆ. ಉದಾಹರಣೆಗೆ, ಒಬ್ಬ ವ್ಯಕ್ತಿಯು ದೃಢೀಕರಣದ ಪುರಾವೆಯನ್ನು (ಡ್ರೈವಿಂಗ್ ಲೈಸೆನ್ಸ್) ಸಲ್ಲಿಸಿದರೆ, ಪರಿಶೀಲಿಸುವ ಪಕ್ಷವು ಪುರಾವೆಯಲ್ಲಿನ ಮಾಹಿತಿಯ ಸಿಂಧುತ್ವವನ್ನು ಪರಿಶೀಲಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಬದಲಾಗಿ, ಪುರಾವೆ ಮಾನ್ಯವಾಗಿದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಲು ಪರಿಶೀಲಕನಿಗೆ ದೃಢೀಕರಣದ ಸತ್ಯಾಸತ್ಯತೆ ಮತ್ತು ನೀಡುವ ಸಂಸ್ಥೆಯ ಗುರುತಿನ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಖಾತರಿಗಳು ಮಾತ್ರ ಬೇಕಾಗುತ್ತವೆ. + +## ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನಲ್ಲಿ ದೃಢೀಕರಣಗಳ ವಿಧಗಳು {#types-of-attestations-in-decentralized-identity} + +ಇಥಿರಿಯಮ್-ಆಧಾರಿತ ಗುರುತಿನ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ದೃಢೀಕರಣ ಮಾಹಿತಿಯನ್ನು ಹೇಗೆ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಹಿಂಪಡೆಯಲಾಗುತ್ತದೆ ಎಂಬುದು ಸಾಂಪ್ರದಾಯಿಕ ಗುರುತಿನ ನಿರ್ವಹಣೆಗಿಂತ ಭಿನ್ನವಾಗಿದೆ. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ದೃಢೀಕರಣಗಳನ್ನು ನೀಡುವ, ಸಂಗ್ರಹಿಸುವ ಮತ್ತು ಪರಿಶೀಲಿಸುವ ವಿವಿಧ ವಿಧಾನಗಳ ಅವಲೋಕನ ಇಲ್ಲಿದೆ: + +### ಆಫ್-ಚೈನ್ ದೃಢೀಕರಣಗಳು {#off-chain-attestations} + +ದೃಢೀಕರಣಗಳನ್ನು ಸರಪಳಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸುವ ಒಂದು ಕಾಳಜಿಯೆಂದರೆ ಅವು ವ್ಯಕ್ತಿಗಳು ಖಾಸಗಿಯಾಗಿಡಲು ಬಯಸುವ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. ಇಥಿರಿಯಮ್ ಬ್ಲಾಕ್‍ಚೈನ್‍ನ ಸಾರ್ವಜನಿಕ ಸ್ವರೂಪವು ಅಂತಹ ದೃಢೀಕರಣಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಆಕರ್ಷಕವಲ್ಲ. + +ಡಿಜಿಟಲ್ ವ್ಯಾಲೆಟ‌ಗಳಲ್ಲಿ ಬಳಕೆದಾರರು ಆಫ್-ಚೈನ್ ಹೊಂದಿರುವ ಆದರೆ ವಿತರಕರ DID ಯೊಂದಿಗೆ ಸಹಿ ಮಾಡಿದ ದೃಢೀಕರಣಗಳನ್ನು ನೀಡುವುದು ಪರಿಹಾರವಾಗಿದೆ. ಈ ದೃಢೀಕರಣಗಳನ್ನು [JASON Web ಟೋಕನ್‍ಗಳಾಗಿ](https://en.wikipedia.org/wiki/JSON_Web_Token) ಎನ್‍ಕೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ವಿತರಕರ ಡಿಜಿಟಲ್ ಸಹಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ - ಇದು ಆಫ್-ಚೈನ್ ಕ್ಲೈಮ್‍ಗಳ ಸುಲಭ ಪರಿಶೀಲನೆಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. + +ಆಫ್-ಚೈನ್ ದೃಢೀಕರಣಗಳನ್ನು ವಿವರಿಸಲು ಒಂದು ಕಾಲ್ಪನಿಕ ಸನ್ನಿವೇಶ ಇಲ್ಲಿದೆ: + +1. ವಿಶ್ವವಿದ್ಯಾಲಯ (ವಿತರಕ) ದೃಢೀಕರಣವನ್ನು (ಡಿಜಿಟಲ್ ಶೈಕ್ಷಣಿಕ ಪ್ರಮಾಣಪತ್ರ) ರಚಿಸುತ್ತದೆ, ಅದರ ಕೀಗಳೊಂದಿಗೆ ಸಹಿ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಬಾಬ್ (ಗುರುತಿನ ಮಾಲೀಕ) ಗೆ ನೀಡುತ್ತದೆ. + +2. ಬಾಬ್ ಕೆಲಸಕ್ಕೆ ಅರ್ಜಿ ಸಲ್ಲಿಸುತ್ತಾನೆ ಮತ್ತು ತನ್ನ ಶೈಕ್ಷಣಿಕ ಅರ್ಹತೆಗಳನ್ನು ಉದ್ಯೋಗದಾತರಿಗೆ ಸಾಬೀತುಪಡಿಸಲು ಬಯಸುತ್ತಾನೆ, ಆದ್ದರಿಂದ ಅವನು ತನ್ನ ಮೊಬೈಲ್ ವ್ಯಾಲೆಟ್ ನಿಂದ ದೃಢೀಕರಣವನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತಾನೆ. ಕಂಪನಿಯು (ಪರಿಶೀಲಕ) ವಿತರಕರ DID (ಅಂದರೆ, ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ಅದರ ಸಾರ್ವಜನಿಕ ಕೀ) ಅನ್ನು ಪರಿಶೀಲಿಸುವ ಮೂಲಕ ದೃಢೀಕರಣದ ಸಿಂಧುತ್ವವನ್ನು ದೃಢೀಕರಿಸಬಹುದು. + +### ನಿರಂತರ ಪ್ರವೇಶದೊಂದಿಗೆ ಆಫ್-ಚೈನ್ ದೃಢೀಕರಣಗಳು {#offchain-attestations-with-persistent-access} + +ಈ ವ್ಯವಸ್ಥೆಯಡಿಯಲ್ಲಿ ದೃಢೀಕರಣಗಳನ್ನು JASON ಫೈಲ್‍ಗಳಾಗಿ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಆಫ್-ಚೈನ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ (IPFS ಅಥವಾ ಸ್ವರ್ಮ್‍ನಂತಹ [ವಿಕೇಂದ್ರೀಕೃತ ಕ್ಲೌಡ್ ಸ್ಟೋರೇಜ್](/developers/docs/storage/) ಪ್ಲಾಟ್‍ಫಾರ್ಮ್‍ನಲ್ಲಿ). ಆದಾಗ್ಯೂ, JASON ಫೈಲ್‍ನ [ಹ್ಯಾಶ್](/glossary/#hash) ಅನ್ನು ಸರಪಳಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಆನ್-ಚೈನ್ ರಿಜಿಸ್ಟ್ರಿ ಮೂಲಕ DID ಗೆ ಲಿಂಕ್ ಮಾಡಲಾಗುತ್ತದೆ. ಸಂಬಂಧಿತ DID ದೃಢೀಕರಣದ ವಿತರಕ ಅಥವಾ ಸ್ವೀಕರಿಸುವವರಾಗಿರಬಹುದು. + +ಈ ವಿಧಾನವು ದೃಢೀಕರಣಗಳಿಗೆ ಬ್ಲಾಕ್‍ಚೈನ್ ಆಧಾರಿತ ಸ್ಥಿರತೆಯನ್ನು ಪಡೆಯಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಅದೇ ಸಮಯದಲ್ಲಿ ಕ್ಲೈಮ್ ಮಾಹಿತಿಯನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು ಪರಿಶೀಲಿಸಬಹುದು. ಖಾಸಗಿ ಕೀಯನ್ನು ಹೊಂದಿರುವವರು ಮಾಹಿತಿಯನ್ನು ಡಿಕ್ರಿಪ್ಟ್ ಮಾಡಬಹುದಾದ್ದರಿಂದ ಇದು ಆಯ್ದ ಬಹಿರಂಗಪಡಿಸುವಿಕೆಗೆ ಅನುಮತಿಸುತ್ತದೆ. + +### ಆನ್-ಚೈನ್ ದೃಢೀಕರಣಗಳು {#onchain-attestations} + +ಆನ್-ಚೈನ್ ದೃಢೀಕರಣಗಳನ್ನು ಇಥಿರಿಯಮ್ ಬ್ಲಾಕ್‍ಚೈನ್‍ನಲ್ಲಿ [ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳಲ್ಲಿ](/developers/docs/smart-contracts/) ನಡೆಸಲಾಗುತ್ತದೆ. ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ (ರಿಜಿಸ್ಟ್ರಿಯಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ) ಅನುಗುಣವಾದ ಆನ್-ಚೈನ್ ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗೆ (ಸಾರ್ವಜನಿಕ ಕೀ) ದೃಢೀಕರಣವನ್ನು ನಕ್ಷೆ ಮಾಡುತ್ತದೆ. + +ಆನ್-ಚೈನ್ ದೃಢೀಕರಣಗಳು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದು ಎಂಬುದನ್ನು ತೋರಿಸಲು ಒಂದು ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ: + +1. ಒಂದು ಕಂಪನಿ (XYZ Corp) ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಮಾಲೀಕತ್ವದ ಷೇರುಗಳನ್ನು ಮಾರಾಟ ಮಾಡಲು ಯೋಜಿಸಿದೆ ಆದರೆ ಹಿನ್ನೆಲೆ ಪರಿಶೀಲನೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ಖರೀದಿದಾರರನ್ನು ಮಾತ್ರ ಬಯಸುತ್ತದೆ. + +2. ಇಥಿರಿಯಮ್ ನಲ್ಲಿ ಆನ್-ಚೈನ್ ದೃಢೀಕರಣಗಳನ್ನು ನೀಡಲು XYZ ಕಾರ್ಪ್ ಕಂಪನಿಯು ಹಿನ್ನೆಲೆ ಪರಿಶೀಲನೆಗಳನ್ನು ನಡೆಸಬಹುದು. ಯಾವುದೇ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯನ್ನು ಬಹಿರಂಗಪಡಿಸದೆ ವ್ಯಕ್ತಿಯು ಹಿನ್ನೆಲೆ ಪರಿಶೀಲನೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣನಾಗಿದ್ದಾನೆ ಎಂದು ಈ ದೃಢೀಕರಣವು ಪ್ರಮಾಣೀಕರಿಸುತ್ತದೆ. + +3. ಷೇರುಗಳನ್ನು ಮಾರಾಟ ಮಾಡುವ ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಸ್ಕ್ರೀನಿಂಗ್ ಖರೀದಿದಾರರ ಗುರುತುಗಳಿಗಾಗಿ ರಿಜಿಸ್ಟ್ರಿ ಒಪ್ಪಂದವನ್ನು ಪರಿಶೀಲಿಸಬಹುದು, ಇದರಿಂದಾಗಿ ಷೇರುಗಳನ್ನು ಖರೀದಿಸಲು ಯಾರಿಗೆ ಅನುಮತಿ ಇದೆ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ. + +### ಆತ್ಮಬಂಧಿತ ಸಂಕೇತಗಳು ಮತ್ತು ಗುರುತು {#soulbound} + +ನಿರ್ದಿಷ್ಟ ವ್ಯಾಲೆಟ್‍ಗೆ ವಿಶಿಷ್ಟವಾದ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ಸೋಲ್ [ಬೌಂಡ್ ಟೋಕನ್](https://vitalik.ca/general/2022/01/26/soulbound.html) ಗಳನ್ನು (ವರ್ಗಾವಣೆ ಮಾಡಲಾಗದ NFTಗಳು) ಬಳಸಬಹುದು. ಇದು ಸಾಧನೆಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಟೋಕನ್‍ಗಳನ್ನು (ಉದಾಹರಣೆಗೆ, ಕೆಲವು ನಿರ್ದಿಷ್ಟ ಆನ್‍ಲೈನ್ ಕೋರ್ಸ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸುವುದು ಅಥವಾ ಆಟದಲ್ಲಿ ಆರಂಭಿಕ ಸ್ಕೋರ್ ಅನ್ನು ಪಾಸ್ ಮಾಡುವುದು) ಅಥವಾ ಸಮುದಾಯದ ಭಾಗವಹಿಸುವಿಕೆಯನ್ನು ಒಳಗೊಂಡಿರುವ ನಿರ್ದಿಷ್ಟ ಇಥಿರಿಯಮ್ ವಿಳಾಸಕ್ಕೆ ಬದ್ಧವಾಗಿರುವ ವಿಶಿಷ್ಟ ಆನ್-ಚೈನ್ ಗುರುತನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಸೃಷ್ಟಿಸುತ್ತದೆ. + +## ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಪ್ರಯೋಜನಗಳು {#benefits-of-decentralized-identity} + +1. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಮಾಹಿತಿಯನ್ನು ಗುರುತಿಸುವ ವೈಯಕ್ತಿಕ ನಿಯಂತ್ರಣವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ. ಕೇಂದ್ರೀಕೃತ ಪ್ರಾಧಿಕಾರಗಳು ಮತ್ತು ಮೂರನೇ ಪಕ್ಷದ ಸೇವೆಗಳನ್ನು ಅವಲಂಬಿಸದೆ ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳು ಮತ್ತು ದೃಢೀಕರಣಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದು. + +2. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಪರಿಹಾರಗಳು ಬಳಕೆದಾರರ ಗುರುತನ್ನು ಪರಿಶೀಲಿಸಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ವಿಶ್ವಾಸಾರ್ಹ, ತಡೆರಹಿತ ಮತ್ತು ಗೌಪ್ಯತೆ-ರಕ್ಷಿಸುವ ವಿಧಾನವನ್ನು ಸುಗಮಗೊಳಿಸುತ್ತವೆ. + +3. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಬ್ಲಾಕ್ಚೈನ್ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ, ಇದು ವಿವಿಧ ಪಕ್ಷಗಳ ನಡುವೆ ವಿಶ್ವಾಸವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ ಮತ್ತು ದೃಢೀಕರಣಗಳ ಸಿಂಧುತ್ವವನ್ನು ಸಾಬೀತುಪಡಿಸಲು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಖಾತರಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. + +4. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಗುರುತಿನ ಡೇಟಾವನ್ನು ಪೋರ್ಟಬಲ್ ಮಾಡುತ್ತದೆ. ಬಳಕೆದಾರರು ದೃಢೀಕರಣಗಳು ಮತ್ತು ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ಮೊಬೈಲ್ ವ್ಯಾಲೆಟ್‍ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತಾರೆ ಮತ್ತು ಅವರ ಆಯ್ಕೆಯ ಯಾವುದೇ ಪಕ್ಷದೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಬಹುದು. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿಸುವಿಕೆಗಳು ಮತ್ತು ದೃಢೀಕರಣಗಳನ್ನು ನೀಡುವ ಸಂಸ್ಥೆಯ ಡೇಟಾಬೇಸ್‍ನಲ್ಲಿ ಲಾಕ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ. + +5. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಉದಯೋನ್ಮುಖ ಶೂನ್ಯ-ಜ್ಞಾನ ತಂತ್ರಜ್ಞಾನಗಳೊಂದಿಗೆ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕು, ಅದು ವ್ಯಕ್ತಿಗಳು ಆ ವಿಷಯ ಏನೆಂದು ಬಹಿರಂಗಪಡಿಸದೆ ತಮ್ಮ ಸ್ವಂತ ಅಥವಾ ಏನನ್ನಾದರೂ ಮಾಡಿದ್ದಾರೆ ಎಂದು ಸಾಬೀತುಪಡಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಮತದಾನದಂತಹ ಅಪ್ಲಿಕೇಶನ್‍ಗಳಿಗೆ ವಿಶ್ವಾಸ ಮತ್ತು ಗೌಪ್ಯತೆಯನ್ನು ಸಂಯೋಜಿಸಲು ಇದು ಪ್ರಬಲ ಮಾರ್ಗವಾಗಬಹುದು. + +6. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು anti-Sybil ಸಿಬಿಲ್ ವಿರೋಧಿ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಒಬ್ಬ ವ್ಯಕ್ತಿಯು ಕೆಲವು ವ್ಯವಸ್ಥೆಯನ್ನು ಆಡಲು ಅಥವಾ ಸ್ಪ್ಯಾಮ್ ಮಾಡಲು ಅನೇಕ ಮಾನವರಂತೆ ನಟಿಸುತ್ತಿರುವಾಗ ಗುರುತಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. + +## ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಬಳಕೆ-ಪ್ರಕರಣಗಳು {#decentralized-identity-use-cases} + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಅನೇಕ ಸಂಭಾವ್ಯ ಬಳಕೆ-ಪ್ರಕರಣಗಳನ್ನು ಹೊಂದಿದೆ: + +### 1. ಸಾರ್ವತ್ರಿಕ ಲಾಗಿನ್‍ಗಳು {#universal-dapp-logins} + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಪಾಸ್‍ವರ್ಡ್ ಆಧಾರಿತ ಲಾಗಿನ್‍ಗಳನ್ನು [ವಿಕೇಂದ್ರೀಕೃತ ದೃಢೀಕರಣದೊಂದಿಗೆ](https://www.ibm.com/blogs/blockchain/2018/10/decentralized-identity-an-alternative-to-password-based-authentication/) ಬದಲಾಯಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಸೇವಾ ಪೂರೈಕೆದಾರರು ಬಳಕೆದಾರರಿಗೆ ದೃಢೀಕರಣಗಳನ್ನು ನೀಡಬಹುದು, ಇದನ್ನು ಇಥಿರಿಯಮ್ ವ್ಯಾಲೆಟ್‍ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಬಹುದು. ಆನ್‍ಲೈನ್ ಸಮುದಾಯಕ್ಕೆ ಹೋಲ್ಡರ್ ಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡುವ [NFT](/nft/) ಒಂದು ಉದಾಹರಣೆ ದೃಢೀಕರಣವಾಗಿದೆ. + +[ಇಥಿರಿಯಮ್ ಕಾರ್ಯದೊಂದಿಗೆ ಸೈನ್-ಇನ್](https://login.xyz/) ನಂತರ ಬಳಕೆದಾರರ ಇಥಿರಿಯಮ್ ಖಾತೆಯನ್ನು ದೃಢೀಕರಿಸಲು ಮತ್ತು ಅವರ ಖಾತೆ ವಿಳಾಸದಿಂದ ಅಗತ್ಯ ದೃಢೀಕರಣವನ್ನು ಪಡೆಯಲು ಸರ್ವರ್ಗಳಿಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದರರ್ಥ ಬಳಕೆದಾರರು ದೀರ್ಘ ಪಾಸ್‍ವರ್ಡ್‍ಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳದೆ ಪ್ಲಾಟ್ಫಾರ್ಮ್‍ಗಳು ಮತ್ತು ವೆಬ್‍ಸೈಟ್‍ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು ಮತ್ತು ಬಳಕೆದಾರರಿಗೆ ಆನ್‍ಲೈನ್ ಅನುಭವವನ್ನು ಸುಧಾರಿಸುತ್ತದೆ. + +### 2. KYC ದೃಢೀಕರಣ {#kyc-authentication} + +ಅನೇಕ ಆನ್‍ಲೈನ್ ಸೇವೆಗಳನ್ನು ಬಳಸಲು ವ್ಯಕ್ತಿಗಳು ಚಾಲನಾ ಪರವಾನಗಿ ಅಥವಾ ರಾಷ್ಟ್ರೀಯ ಪಾಸ್ ಪೋರ್ಟ್‍ನಂತಹ ದೃಢೀಕರಣಗಳು ಮತ್ತು ರುಜುವಾತುಗಳನ್ನು ಒದಗಿಸಬೇಕಾಗುತ್ತದೆ. ಆದರೆ ಈ ವಿಧಾನವು ಸಮಸ್ಯಾತ್ಮಕವಾಗಿದೆ ಏಕೆಂದರೆ ಖಾಸಗಿ ಬಳಕೆದಾರರ ಮಾಹಿತಿಯು ರಾಜಿಯಾಗಬಹುದು ಮತ್ತು ಸೇವಾ ಪೂರೈಕೆದಾರರು ದೃಢೀಕರಣದ ಸತ್ಯಾಸತ್ಯತೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಕಂಪನಿಗಳಿಗೆ ಸಾಂಪ್ರದಾಯಿಕ [ನೋ-ಯುವರ್-ಕಸ್ಟಮರ್ (KYC)](https://en.wikipedia.org/wiki/Know_your_customer) ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಲು ಮತ್ತು ಪರಿಶೀಲಿಸಬಹುದಾದ ರುಜುವಾತುಗಳ ಮೂಲಕ ಬಳಕೆದಾರರ ಗುರುತುಗಳನ್ನು ದೃಢೀಕರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಗುರುತಿನ ನಿರ್ವಹಣೆಯ ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಕಲಿ ದಾಖಲೆಗಳ ಬಳಕೆಯನ್ನು ತಡೆಯುತ್ತದೆ. + +### 3. ಮತದಾನ ಮತ್ತು ಆನ್‍ಲೈನ್ ಸಮುದಾಯಗಳು {#voting-and-online-communities} + +ಆನ್‍ಲೈನ್ ಮತದಾನ ಮತ್ತು ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮಗಳು ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಎರಡು ಹೊಸ ಅಪ್ಲಿಕೇಶನ್‍ಗಳಾಗಿವೆ. ಆನ್‍ಲೈನ್ ಮತದಾನ ಯೋಜನೆಗಳು ಕುಶಲತೆಗೆ ಒಳಗಾಗುತ್ತವೆ, ವಿಶೇಷವಾಗಿ ದುರುದ್ದೇಶಪೂರಿತ ನಟರು ಮತ ಚಲಾಯಿಸಲು ಸುಳ್ಳು ಗುರುತುಗಳನ್ನು ರಚಿಸಿದರೆ. ಆನ್-ಚೈನ್ ದೃಢೀಕರಣಗಳನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲು ವ್ಯಕ್ತಿಗಳನ್ನು ಕೇಳುವುದರಿಂದ ಆನ‌ಲೈನ್ ಮತದಾನ ಪ್ರಕ್ರಿಯೆಗಳ ಸಮಗ್ರತೆಯನ್ನು ಸುಧಾರಿಸಬಹುದು. + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ನಕಲಿ ಖಾತೆಗಳಿಂದ ಮುಕ್ತವಾದ ಆನ್‍ಲೈನ್ ಸಮುದಾಯಗಳನ್ನು ರಚಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಪ್ರತಿಯೊಬ್ಬ ಬಳಕೆದಾರರು ಇಥಿರಿಯಮ್ ನೇಮ್ ಸರ್ವೀಸ್‍ನಂತಹ ಆನ್-ಚೈನ್ ಗುರುತಿನ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಿಕೊಂಡು ತಮ್ಮ ಗುರುತನ್ನು ದೃಢೀಕರಿಸಬೇಕಾಗಬಹುದು, ಇದು ಬಾಟ್‍ಗಳ ಸಾಧ್ಯತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. + +### 4. ಸಿಬಿಲ್ ವಿರೋಧಿ ರಕ್ಷಣೆ {#sybil-protection} + +ಸಿಬಿಲ್ ದಾಳಿಗಳು ವೈಯಕ್ತಿಕ ಮಾನವರು ತಮ್ಮ ಪ್ರಭಾವವನ್ನು ಹೆಚ್ಚಿಸಲು ತಾವು ಅನೇಕ ಜನರು ಎಂದು ಭಾವಿಸಿ ವ್ಯವಸ್ಥೆಯನ್ನು ಮೋಸಗೊಳಿಸುವುದನ್ನು ಸೂಚಿಸುತ್ತದೆ. [ಕ್ವಾಡ್ರಾಟಿಕ್ ಮತದಾನವನ್ನು](https://www.radicalxchange.org/concepts/plural-voting/) ಬಳಸುವ [ಅನುದಾನ-ನೀಡುವ ಅಪ್ಲಿಕೇಶನ್ಗಳು](https://gitcoin.co/grants/) ಈ ಸಿಬಿಲ್ ದಾಳಿಗೆ ಗುರಿಯಾಗುತ್ತವೆ ಏಕೆಂದರೆ ಹೆಚ್ಚಿನ ವ್ಯಕ್ತಿಗಳು ಅದಕ್ಕೆ ಮತ ಚಲಾಯಿಸಿದಾಗ ಅನುದಾನದ ಮೌಲ್ಯವು ಹೆಚ್ಚಾಗುತ್ತದೆ, ಬಳಕೆದಾರರು ತಮ್ಮ ಕೊಡುಗೆಗಳನ್ನು ಅನೇಕ ಗುರುತುಗಳಲ್ಲಿ ವಿಭಜಿಸಲು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತದೆ. ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತುಗಳು ನಿರ್ದಿಷ್ಟ ಖಾಸಗಿ ಮಾಹಿತಿಯನ್ನು ಬಹಿರಂಗಪಡಿಸದೆಯೇ ಅವರು ನಿಜವಾಗಿಯೂ ಮಾನವರು ಎಂದು ಸಾಬೀತುಪಡಿಸಲು ಪ್ರತಿಯೊಬ್ಬ ಸ್ಪರ್ಧಿಯ ಮೇಲೆ ಹೊರೆಯನ್ನು ಹೆಚ್ಚಿಸುವ ಮೂಲಕ ಇದನ್ನು ತಡೆಗಟ್ಟಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. + +## ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತನ್ನು ಬಳಸಿ {#use-decentralized-identity} + +ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಪರಿಹಾರಗಳಿಗೆ ಅಡಿಪಾಯವಾಗಿ ಇಥಿರಿಯಮ್ ಅನ್ನು ಬಳಸುವ ಅನೇಕ ಮಹತ್ವಾಕಾಂಕ್ಷೆಯ ಯೋಜನೆಗಳಿವೆ: + +- **[ಇಥಿರಿಯಮ್ ನೇಮ್ ಸರ್ವಿಸ್ (ENS)](https://ens.domains/)** - _ಇಥಿರಿಯಮ್ ವ್ಯಾಲೆಟ್ ವಿಳಾಸಗಳು, ವಿಷಯ ಹ್ಯಾಶ್‍ಗಳು ಮತ್ತು ಮೆಟಾಡೇಟಾದಂತಹ ಆನ್-ಚೈನ್, ಯಂತ್ರ-ಓದಬಹುದಾದ ಗುರುತಿಸುವಿಕೆಗಳಿಗೆ ವಿಕೇಂದ್ರೀಕೃತ ನಾಮಕರಣ ವ್ಯವಸ್ಥೆ_ +- **[SpruceID](https://www.spruceid.com/)** - _ಮೂರನೇ ಪಕ್ಷದ ಸೇವೆಗಳನ್ನು ಅವಲಂಬಿಸುವ ಬದಲು ಇಥಿರಿಯಮ್ ಖಾತೆಗಳು ಮತ್ತು ENS ಪ್ರೊಫೈಲ್‍ಗಳೊಂದಿಗೆ ಡಿಜಿಟಲ್ ಗುರುತನ್ನು ನಿಯಂತ್ರಿಸಲು ಬಳಕೆದಾರರಿಗೆ ಅನುವು ಮಾಡಿಕೊಡುವ ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಯೋಜನೆ._ +- **[ಇಥಿರಿಯಮ್ ದೃಢೀಕರಣ ಸೇವೆ (ENS)](https://attest.sh/)** - _ ಯಾವುದೇ ವಿಷಯದ ಬಗ್ಗೆ ಆನ್-ಚೈನ್ ಅಥವಾ ಆಫ್-ಚೈನ್ ದೃಢೀಕರಣಗಳನ್ನು ಮಾಡಲು ವಿಕೇಂದ್ರೀಕೃತ ಲೆಡ್ಜರ್ / ಪ್ರೋಟೋಕಾಲ್._ +- **[ಮಾನವೀಯತೆಯ ಪುರಾವೆ](https://www.proofofhumanity.id)** - _ಮಾನವೀಯತೆಯ ಪುರಾವೆ (ಅಥವಾ PoH) ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ ಸಾಮಾಜಿಕ ಗುರುತಿನ ಪರಿಶೀಲನಾ ವ್ಯವಸ್ಥೆಯಾಗಿದೆ._ +- **[BrightID](https://www.brightid.org/)** - _ಸಾಮಾಜಿಕ ಗ್ರಾಫ್‍ನ ರಚನೆ ಮತ್ತು ವಿಶ್ಲೇಷಣೆಯ ಮೂಲಕ ಗುರುತಿನ ಪರಿಶೀಲನೆಯನ್ನು ಸುಧಾರಿಸಲು ಪ್ರಯತ್ನಿಸುವ ವಿಕೇಂದ್ರೀಕೃತ, ಮುಕ್ತ-ಮೂಲ ಸಾಮಾಜಿಕ ಗುರುತಿನ ನೆಟ್‍ವರ್ಕ್._ +- **[ಪ್ರೂಫ್-ಆಫ್-ಪರ್ಸನಾಲಿಟಿ ಪಾಸ್‍ಪೋರ್ಟ್](https://proofofpersonhood.com/)** - _ವಿಕೇಂದ್ರೀಕೃತ ಡಿಜಿಟಲ್ ಗುರುತಿನ ಅಗ್ರಿಗೇಟರ್._ + +## Further reading {#further-reading} + +### ಲೇಖನಗಳು {#articles} + +- [ಬ್ಲಾಕ್‍ಚೈನ್ ಬಳಕೆಯ ಪ್ರಕರಣಗಳು: ಡಿಜಿಟಲ್ ಗುರುತಿನಲ್ಲಿ ಬ್ಲಾಕ್‍ಚೈನ್](https://consensys.net/blockchain-use-cases/digital-identity/)— _ConsenSys_ +- [ಏನಿದು ಇಥಿರಿಯಮ್ ERC725? ಬ್ಲಾಕ್‍ಚೈನ್‍ನಲ್ಲಿ ಸ್ವಯಂ-ಸಾರ್ವಭೌಮ ಗುರುತಿನ ನಿರ್ವಹಣೆ](https://cryptoslate.com/what-is-erc725-self-sovereign-identity-management-on-the-blockchain/) - _ಸ್ಯಾಮ್ ಟೌನ್_ +- [ಡಿಜಿಟಲ್ ಗುರುತಿನ ಸಮಸ್ಯೆಯನ್ನು ಬ್ಲಾಕ್‍ಚೈನ್ ಹೇಗೆ ಪರಿಹರಿಸಬಹುದು](https://time.com/6142810/proof-of-humanity/) - _ಆಂಡ್ರ್ಯೂ ಆರ್_ +- [ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು ಎಂದರೇನು ಮತ್ತು ನೀವು ಏಕೆ ಕಾಳಜಿ ವಹಿಸಬೇಕು?](https://web3.hashnode.com/what-is-decentralized-identity) - _ಎಮ್ಯಾನುಯೆಲ್ ಅವೊಸಿಕಾ_ + +### Videos {#videos} + +- [ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು (ಬೋನಸ್ ಲೈವ್ ಸ್ಟ್ರೀಮ್ ಸೆಷನ್)](https://www.youtube.com/watch?v=ySHNB1za_SE&t=539s) - _ಆಂಡ್ರಿಯಾಸ್ ಆಂಟೊನೊಪೊಲಸ್ ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಬಗ್ಗೆ ಉತ್ತಮ ವಿವರಿಸುವ ವೀಡಿಯೊ_ +- [Ceramic, IDX, React, ಮತ್ತು 3ID ಕನೆಕ್ಟ್ ನೊಂದಿಗೆ ಇಥಿರಿಯಮ್ ಮತ್ತು ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನೊಂದಿಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ](https://www.youtube.com/watch?v=t9gWZYJxk7c) - _ನಾಡರ್ ಡಾಬಿಟ್ ಅವರ ಎಥೆರಿಯಮ್ ವ್ಯಾಲೆಟ್ ಬಳಸಿ ಬಳಕೆದಾರರ ಪ್ರೊಫೈಲ್ ಅನ್ನು ರಚಿಸಲು, ಓದಲು ಮತ್ತು ನವೀಕರಿಸಲು ಗುರುತಿನ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯನ್ನು ನಿರ್ಮಿಸುವ ಬಗ್ಗೆ ಯೂಟ್ಯೂಬ್ ಟ್ಯುಟೋರಿಯಲ್_ +- [BrightID - ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು](https://www.youtube.com/watch?v=D3DbMFYGRoM) - _ಇಥಿರಿಯಮ್‍ಗೆ ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಪರಿಹಾರವಾದ BrightID ಅನ್ನು ಚರ್ಚಿಸುವ ಬ್ಯಾಂಕ್ ಲೆಸ್ ಪಾಡ್ ಕಾಸ್ಟ್ ಸಂಚಿಕೆ_ +- [ಆಫ್ ಚೈನ್ ಇಂಟರ್ನೆಟ್: ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತು&; ಪರಿಶೀಲಿಸಬಹುದಾದ ರುಜುವಾತುಗಳು](https://www.youtube.com/watch?v=EZ_Bb6j87mg)— Evin McMullen ಅವರ EthDenver 2022 2022 ಪ್ರಸ್ತುತಿ + +### ಸಮುದಾಯಗಳು {#communities} + +- [GitHub ನಲ್ಲಿ ERC-725 ಮೈತ್ರಿ](https://github.com/erc725alliance) - _ ಇಥಿರಿಯಮ್ ಬ್ಲಾಕ್‍ಚೈನ್‍ನಲ್ಲಿ ಗುರುತನ್ನು ನಿರ್ವಹಿಸಲು ERC725 ಮಾನದಂಡದ ಬೆಂಬಲಿಗರು_ +- [SpruceID Discord ಸರ್ವರ್](https://discord.com/invite/Sf9tSFzrnt) - _ಇಥಿರಿಯಮ್ ನೊಂದಿಗೆ ಸೈನ್-ಇನ್ ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ಉತ್ಸಾಹಿಗಳು ಮತ್ತು ಡೆವಲಪರ್ ಗಳಿಗೆ ಸಮುದಾಯ_ +- [ವೆರಾಮೊ ಲ್ಯಾಬ್ಸ್](https://discord.gg/sYBUXpACh4) - _ಅಪ್ಲಿಕೇಶನ್‍ಗಳಿಗಾಗಿ ಪರಿಶೀಲಿಸಬಹುದಾದ ಡೇಟಾಕ್ಕಾಗಿ ಚೌಕಟ್ಟನ್ನು ನಿರ್ಮಿಸಲು ಕೊಡುಗೆ ನೀಡುವ ಡೆವಲಪರ್ ಗಳ ಸಮುದಾಯ_ diff --git a/src/content/translations/kn/defi/index.md b/src/content/translations/kn/defi/index.md new file mode 100644 index 00000000000..f992c7382e0 --- /dev/null +++ b/src/content/translations/kn/defi/index.md @@ -0,0 +1,351 @@ +--- +title: ವಿಕೇಂದ್ರೀಕರಿತ ಹಣಕಾಸು (DeFi) +description: ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ DeFi ಯ ಅವಲೋಕನ +lang: kn +template: use-cases +emoji: ":money_with_wings:" +image: ../../../../assets/use-cases/defi.png +alt: ಲೆಗೊ ಇಟ್ಟಿಗೆಗಳಿಂದ ಮಾಡಿದ Eth ಲೋಗೋ. +sidebarDepth: 2 +summaryPoint1: ಪ್ರಸ್ತುತ ಹಣಕಾಸು ವ್ಯವಸ್ಥೆಗೆ ಜಾಗತಿಕ, ಮುಕ್ತ ಪರ್ಯಾಯ. +summaryPoint2: ಸಾಲ ಪಡೆಯಲು, ಉಳಿಸಲು, ಹೂಡಿಕೆ ಮಾಡಲು, ವ್ಯಾಪಾರ ಮಾಡಲು ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ನಿಮಗೆ ಅನುಮತಿಸುವ ಉತ್ಪನ್ನಗಳು. +summaryPoint3: ಯಾರು ಬೇಕಾದರೂ ಪ್ರೋಗ್ರಾಂ ಮಾಡಬಹುದಾದ ಓಪನ್ ಸೋರ್ಸ್ ತಂತ್ರಜ್ಞಾನದ ಆಧಾರದ ಮೇಲೆ. +--- + +DeFi ಎಂಬುದು ಇಂಟರ್ನೆಟ್ ಯುಗಕ್ಕಾಗಿ ನಿರ್ಮಿಸಲಾದ ಮುಕ್ತ ಮತ್ತು ಜಾಗತಿಕ ಹಣಕಾಸು ವ್ಯವಸ್ಥೆಯಾಗಿದೆ - ಅಪಾರದರ್ಶಕ, ಬಿಗಿಯಾಗಿ ನಿಯಂತ್ರಿಸಲ್ಪಟ್ಟ ಮತ್ತು ದಶಕಗಳಷ್ಟು ಹಳೆಯ ಮೂಲಸೌಕರ್ಯ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗಳಿಂದ ಒಟ್ಟಿಗೆ ಹಿಡಿದಿಡಲ್ಪಟ್ಟ ವ್ಯವಸ್ಥೆಗೆ ಪರ್ಯಾಯವಾಗಿದೆ. ಇದು ನಿಮ್ಮ ಹಣದ ಮೇಲೆ ನಿಯಂತ್ರಣ ಮತ್ತು ಗೋಚರತೆಯನ್ನು ನೀಡುತ್ತದೆ. ಇದು ಜಾಗತಿಕ ಮಾರುಕಟ್ಟೆಗಳಿಗೆ ಮತ್ತು ನಿಮ್ಮ ಸ್ಥಳೀಯ ಕರೆನ್ಸಿ ಅಥವಾ ಬ್ಯಾಂಕಿಂಗ್ ಆಯ್ಕೆಗಳಿಗೆ ಪರ್ಯಾಯಗಳಿಗೆ ನಿಮಗೆ ಮಾನ್ಯತೆ ನೀಡುತ್ತದೆ. DeFi ಉತ್ಪನ್ನಗಳು ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕ ಹೊಂದಿರುವ ಯಾರಿಗಾದರೂ ಹಣಕಾಸು ಸೇವೆಗಳನ್ನು ತೆರೆಯುತ್ತವೆ ಮತ್ತು ಅವು ಹೆಚ್ಚಾಗಿ ತಮ್ಮ ಬಳಕೆದಾರರ ಒಡೆತನದಲ್ಲಿದೆ ಮತ್ತು ನಿರ್ವಹಿಸಲ್ಪಡುತ್ತವೆ. ಇಲ್ಲಿಯವರೆಗೆ ಹತ್ತಾರು ಶತಕೋಟಿ ಡಾಲರ್ ಮೌಲ್ಯದ ಕ್ರಿಪ್ಟೋ DeFi ಅಪ್ಲಿಕೇಶನ್‍ಗಳ ಮೂಲಕ ಹರಿದಿದೆ ಮತ್ತು ಅದು ಪ್ರತಿದಿನ ಬೆಳೆಯುತ್ತಿದೆ. + +## DeFi ಎಂದರೇನು? {#what-is-defi} + +DeFi ಎಂಬುದು ಹಣಕಾಸು ಉತ್ಪನ್ನಗಳು ಮತ್ತು ಸೇವೆಗಳ ಸಾಮೂಹಿಕ ಪದವಾಗಿದ್ದು, ಇಥಿರಿಯಮ್ ಅನ್ನು ಬಳಸಬಹುದಾದ ಯಾರಿಗಾದರೂ ಪ್ರವೇಶಿಸಬಹುದು - ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕ ಹೊಂದಿರುವ ಯಾರಿಗಾದರೂ. DeFi ನೊಂದಿಗೆ, ಮಾರುಕಟ್ಟೆಗಳು ಯಾವಾಗಲೂ ತೆರೆದಿರುತ್ತವೆ ಮತ್ತು ಪಾವತಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವ ಅಥವಾ ನಿಮಗೆ ಯಾವುದಕ್ಕೂ ಪ್ರವೇಶವನ್ನು ನಿರಾಕರಿಸುವ ಯಾವುದೇ ಕೇಂದ್ರೀಕೃತ ಪ್ರಾಧಿಕಾರಗಳಿಲ್ಲ. ಈ ಹಿಂದೆ ನಿಧಾನವಾಗಿದ್ದ ಮತ್ತು ಮಾನವ ದೋಷದ ಅಪಾಯದಲ್ಲಿದ್ದ ಸೇವೆಗಳು ಈಗ ಸ್ವಯಂಚಾಲಿತ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿವೆ, ಏಕೆಂದರೆ ಅವುಗಳನ್ನು ಯಾರಾದರೂ ಪರಿಶೀಲಿಸಬಹುದು ಮತ್ತು ಪರಿಶೀಲಿಸಬಹುದು. + +ಅಲ್ಲಿ ಪ್ರವರ್ಧಮಾನಕ್ಕೆ ಬರುತ್ತಿರುವ ಕ್ರಿಪ್ಟೋ ಆರ್ಥಿಕತೆ ಇದೆ, ಅಲ್ಲಿ ನೀವು ಸಾಲ ನೀಡಬಹುದು, ಸಾಲ ಪಡೆಯಬಹುದು, Long / short, ಬಡ್ಡಿಯನ್ನು ಗಳಿಸಬಹುದು ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ಮಾಡಬಹುದು. ಕ್ರಿಪ್ಟೋ-ಬುದ್ಧಿವಂತ ಅರ್ಜೆಂಟೀನಾದವರು ಹಣದುಬ್ಬರದಿಂದ ಪಾರಾಗಲು DeFi ಅನ್ನು ಬಳಸಿದ್ದಾರೆ. ಕಂಪನಿಗಳು ತಮ್ಮ ಉದ್ಯೋಗಿಗಳಿಗೆ ತಮ್ಮ ವೇತನವನ್ನು ನೈಜ ಸಮಯದಲ್ಲಿ ಸ್ಟ್ರೀಮ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿವೆ. ಕೆಲವು ಜನರು ಯಾವುದೇ ವೈಯಕ್ತಿಕ ಗುರುತಿನ ಅಗತ್ಯವಿಲ್ಲದೆ ಲಕ್ಷಾಂತರ ಡಾಲರ್ ಸಾಲವನ್ನು ತೆಗೆದುಕೊಂಡು ಪಾವತಿಸಿದ್ದಾರೆ. + + + +## DeFi Vs ಸಾಂಪ್ರದಾಯಿಕ ಹಣಕಾಸು {#defi-vs-tradfi} + +DeFi ನ ಸಾಮರ್ಥ್ಯವನ್ನು ನೋಡುವ ಅತ್ಯುತ್ತಮ ಮಾರ್ಗವೆಂದರೆ ಇಂದು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಮಸ್ಯೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು. + +- ಕೆಲವು ಜನರಿಗೆ ಬ್ಯಾಂಕ್ ಖಾತೆಯನ್ನು ಸ್ಥಾಪಿಸಲು ಅಥವಾ ಹಣಕಾಸು ಸೇವೆಗಳನ್ನು ಬಳಸಲು ಪ್ರವೇಶವನ್ನು ನೀಡಲಾಗುವುದಿಲ್ಲ. +- ಹಣಕಾಸು ಸೇವೆಗಳ ಲಭ್ಯತೆಯ ಕೊರತೆಯು ಜನರನ್ನು ಉದ್ಯೋಗದಿಂದ ದೂರವಿರಿಸುತ್ತದೆ. +- ಹಣಕಾಸು ಸೇವೆಗಳು ನಿಮಗೆ ಹಣ ಪಡೆಯುವುದನ್ನು ತಡೆಯಬಹುದು. +- ಹಣಕಾಸು ಸೇವೆಗಳ ಗುಪ್ತ ಶುಲ್ಕವೆಂದರೆ ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಡೇಟಾ. +- ಸರ್ಕಾರಗಳು ಮತ್ತು ಕೇಂದ್ರೀಕೃತ ಸಂಸ್ಥೆಗಳು ಇಚ್ಛಾನುಸಾರ ಮಾರುಕಟ್ಟೆಗಳನ್ನು ಮುಚ್ಚಬಹುದು. +- ವ್ಯಾಪಾರದ ಸಮಯವು ಸಾಮಾನ್ಯವಾಗಿ ನಿರ್ದಿಷ್ಟ ಸಮಯ ವಲಯದ ವ್ಯವಹಾರ ಸಮಯಕ್ಕೆ ಸೀಮಿತವಾಗಿರುತ್ತದೆ. +- ಆಂತರಿಕ ಮಾನವ ಪ್ರಕ್ರಿಯೆಗಳಿಂದಾಗಿ ಹಣ ವರ್ಗಾವಣೆಗೆ ದಿನಗಳು ತೆಗೆದುಕೊಳ್ಳಬಹುದು. +- ಹಣಕಾಸು ಸೇವೆಗಳಿಗೆ ಪ್ರೀಮಿಯಂ ಇದೆ ಏಕೆಂದರೆ ಮಧ್ಯವರ್ತಿ ಸಂಸ್ಥೆಗಳಿಗೆ ಅವುಗಳ ಕಡಿತದ ಅಗತ್ಯವಿದೆ. + +### ಒಂದು ಹೋಲಿಕೆ {#defi-comparison} + +| DeFi | ಸಾಂಪ್ರದಾಯಿಕ ಹಣಕಾಸು | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| ನೀವು ನಿಮ್ಮ ಹಣವನ್ನು ಹಿಡಿದಿದ್ದೀರಿ. | ನಿಮ್ಮ ಹಣವನ್ನು ಕಂಪನಿಗಳು ಹೊಂದಿವೆ. | +| ನಿಮ್ಮ ಹಣ ಎಲ್ಲಿಗೆ ಹೋಗುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಹೇಗೆ ಖರ್ಚು ಮಾಡಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೀವು ನಿಯಂತ್ರಿಸುತ್ತೀರಿ. | ಅಪಾಯಕಾರಿ ಸಾಲಗಾರರಿಗೆ ಸಾಲ ನೀಡುವಂತಹ ನಿಮ್ಮ ಹಣವನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳದಂತೆ ನೀವು ಕಂಪನಿಗಳನ್ನು ನಂಬಬೇಕು. | +| ಹಣದ ವರ್ಗಾವಣೆ ನಿಮಿಷಗಳಲ್ಲಿ ನಡೆಯುತ್ತದೆ. | ಹಸ್ತಚಾಲಿತ ಪ್ರಕ್ರಿಯೆಗಳಿಂದಾಗಿ ಪಾವತಿಗಳು ದಿನಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು. | +| ವಹಿವಾಟು ಚಟುವಟಿಕೆಯು ಗುಪ್ತನಾಮವಾಗಿದೆ. | ಹಣಕಾಸಿನ ಚಟುವಟಿಕೆಯು ನಿಮ್ಮ ಗುರುತಿನೊಂದಿಗೆ ಬಿಗಿಯಾಗಿ ಜೋಡಿಸಲ್ಪಟ್ಟಿದೆ. | +| DeFi ಯಾರಿಗಾದರೂ ಮುಕ್ತವಾಗಿದೆ. | ಹಣಕಾಸು ಸೇವೆಗಳನ್ನು ಬಳಸಲು ನೀವು ಅರ್ಜಿ ಸಲ್ಲಿಸಬೇಕು. | +| ಮಾರುಕಟ್ಟೆಗಳು ಯಾವಾಗಲೂ ತೆರೆದಿರುತ್ತವೆ. | ಉದ್ಯೋಗಿಗಳಿಗೆ ವಿರಾಮ ಬೇಕಾಗಿರುವುದರಿಂದ ಮಾರುಕಟ್ಟೆಗಳು ಮುಚ್ಚಲ್ಪಡುತ್ತವೆ. | +| ಇದು ಪಾರದರ್ಶಕತೆಯ ಮೇಲೆ ನಿರ್ಮಿಸಲಾಗಿದೆ - ಯಾರಾದರೂ ಉತ್ಪನ್ನದ ಡೇಟಾವನ್ನು ನೋಡಬಹುದು ಮತ್ತು ಸಿಸ್ಟಮ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಬಹುದು. | ಹಣಕಾಸು ಸಂಸ್ಥೆಗಳು ಮುಚ್ಚಿದ ಪುಸ್ತಕಗಳಾಗಿವೆ: ನೀವು ಅವರ ಸಾಲದ ಇತಿಹಾಸ, ಅವರ ನಿರ್ವಹಿಸಿದ ಸ್ವತ್ತುಗಳ ದಾಖಲೆ ಮತ್ತು ಇತ್ಯಾದಿಗಳನ್ನು ನೋಡಲು ಕೇಳಲು ಸಾಧ್ಯವಿಲ್ಲ. | + + + DeFi ಅಪ್ಲಿಕೇಶನ್‍ಗಳನ್ನು ಅನ್ವೇಷಿಸಿ + + +## ಇದು ಬಿಟ್‍ಕಾಯಿನ್ ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಯಿತು... {#bitcoin} + +ಅನೇಕ ರೀತಿಯಲ್ಲಿ ಬಿಟ್‍ಕಾಯಿನ್ ಮೊದಲ DeFi ಅಪ್ಲಿಕೇಶನ್ ಆಗಿತ್ತು. ಬಿಟ್‍ಕಾಯಿನ್ ನಿಮಗೆ ನಿಜವಾಗಿಯೂ ಮೌಲ್ಯವನ್ನು ಹೊಂದಲು ಮತ್ತು ನಿಯಂತ್ರಿಸಲು ಮತ್ತು ಅದನ್ನು ಪ್ರಪಂಚದಾದ್ಯಂತ ಎಲ್ಲಿಯಾದರೂ ಕಳುಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಪರಸ್ಪರ ನಂಬದ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಜನರಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಮಧ್ಯವರ್ತಿಯ ಅಗತ್ಯವಿಲ್ಲದೆ ಖಾತೆಗಳ ಲೆಡ್ಜರ್ನಲ್ಲಿ ಒಪ್ಪಲು ಒಂದು ಮಾರ್ಗವನ್ನು ಒದಗಿಸುವ ಮೂಲಕ ಇದು ಇದನ್ನು ಮಾಡುತ್ತದೆ. ಬಿಟ್‍ಕಾಯಿನ್ ಯಾರಿಗೂ ಮುಕ್ತವಾಗಿದೆ ಮತ್ತು ಅದರ ನಿಯಮಗಳನ್ನು ಬದಲಾಯಿಸುವ ಅಧಿಕಾರ ಯಾರಿಗೂ ಇಲ್ಲ. ಬಿಟ್‍ಕಾಯಿನ್ ನ ನಿಯಮಗಳು, ಅದರ ಕೊರತೆ ಮತ್ತು ಅದರ ಮುಕ್ತತೆಯಂತೆ, ತಂತ್ರಜ್ಞಾನದಲ್ಲಿ ಬರೆಯಲ್ಪಟ್ಟಿವೆ. ಇದು ಸಾಂಪ್ರದಾಯಿಕ ಹಣಕಾಸುನಂತೆ ಅಲ್ಲ, ಅಲ್ಲಿ ಸರ್ಕಾರಗಳು ನಿಮ್ಮ ಉಳಿತಾಯವನ್ನು ಅಪಮೌಲ್ಯಗೊಳಿಸುವ ಹಣವನ್ನು ಮುದ್ರಿಸಬಹುದು ಮತ್ತು ಕಂಪನಿಗಳು ಮಾರುಕಟ್ಟೆಗಳನ್ನು ಮುಚ್ಚಬಹುದು. + +ಇಥಿರಿಯಮ್ ಇದನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ. ಬಿಟ್‍ಕಾಯಿನ್ ನಂತೆ, ನಿಯಮಗಳು ನಿಮ್ಮ ಮೇಲೆ ಬದಲಾಗಲು ಸಾಧ್ಯವಿಲ್ಲ ಮತ್ತು ಎಲ್ಲರಿಗೂ ಪ್ರವೇಶವಿದೆ. ಆದರೆ ಇದು [ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳನ್ನು](/glossary#smart-contract) ಬಳಸಿಕೊಂಡು ಈ ಡಿಜಿಟಲ್ ಹಣವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಬಹುದು, ಆದ್ದರಿಂದ ನೀವು ಮೌಲ್ಯವನ್ನು ಸಂಗ್ರಹಿಸುವುದು ಮತ್ತು ಕಳುಹಿಸುವುದನ್ನು ಮೀರಿ ಹೋಗಬಹುದು. + + + +## ಪ್ರೋಗ್ರಾಂ ಮಾಡಬಹುದಾದ ಹಣ {#programmable-money} + +ಇದು ವಿಚಿತ್ರವಾಗಿ ತೋರುತ್ತದೆ... "ನಾನು ನನ್ನ ಹಣವನ್ನು ಏಕೆ ಪ್ರೋಗ್ರಾಂ ಮಾಡಲು ಬಯಸುತ್ತೇನೆ"? ಆದಾಗ್ಯೂ, ಇದು ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ಟೋಕನ್‍ಗಳ ಡೀಫಾಲ್ಟ್ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ. ಪಾವತಿಗಳಲ್ಲಿ ಯಾರು ಬೇಕಾದರೂ ತರ್ಕವನ್ನು ಪ್ರೋಗ್ರಾಂ ಮಾಡಬಹುದು. ಆದ್ದರಿಂದ ನೀವು ಹಣಕಾಸು ಸಂಸ್ಥೆಗಳು ಒದಗಿಸುವ ಸೇವೆಗಳೊಂದಿಗೆ ಬೆರೆತ ಬಿಟ್‍ಕಾಯಿನ್ ನ ನಿಯಂತ್ರಣ ಮತ್ತು ಭದ್ರತೆಯನ್ನು ಪಡೆಯಬಹುದು. ಸಾಲ ನೀಡುವುದು ಮತ್ತು ಸಾಲ ಪಡೆಯುವುದು, ಪಾವತಿಗಳನ್ನು ನಿಗದಿಪಡಿಸುವುದು, ಸೂಚ್ಯಂಕ ನಿಧಿಗಳಲ್ಲಿ ಹೂಡಿಕೆ ಮಾಡುವುದು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳಂತಹ ಬಿಟ್‍ಕಾಯಿನ್ ನೊಂದಿಗೆ ನೀವು ಮಾಡಲು ಸಾಧ್ಯವಾಗದ ಕ್ರಿಪ್ಟೋಕರೆನ್ಸಿಗಳೊಂದಿಗೆ ಕೆಲಸಗಳನ್ನು ಮಾಡಲು ಇದು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. + + +
ನೀವು ಇಥಿರಿಯಮ್‍ಗೆ ಹೊಸಬರಾಗಿದ್ದೀರಾ ಎಂದು ಪ್ರಯತ್ನಿಸಲು DeFi ಅಪ್ಲಿಕೇಶನ್‍ಗಳಿಗಾಗಿ ನಮ್ಮ ಸಲಹೆಗಳನ್ನು ಅನ್ವೇಷಿಸಿ.
+ + DeFi ಅಪ್ಲಿಕೇಶನ್‍ಗಳನ್ನು ಅನ್ವೇಷಿಸಿ + +
+ +## DeFi ನೊಂದಿಗೆ ನೀವು ಏನು ಮಾಡಬಹುದು? {#defi-use-cases} + +ಹೆಚ್ಚಿನ ಹಣಕಾಸು ಸೇವೆಗಳಿಗೆ ವಿಕೇಂದ್ರೀಕೃತ ಪರ್ಯಾಯವಿದೆ. ಆದರೆ ಇಥಿರಿಯಮ್ ಸಂಪೂರ್ಣವಾಗಿ ಹೊಸದಾದ ಹಣಕಾಸು ಉತ್ಪನ್ನಗಳನ್ನು ರಚಿಸುವ ಅವಕಾಶಗಳನ್ನು ಸಹ ಸೃಷ್ಟಿಸುತ್ತದೆ. ಇದು ನಿರಂತರವಾಗಿ ಬೆಳೆಯುತ್ತಿರುವ ಪಟ್ಟಿಯಾಗಿದೆ. + +- [ಪ್ರಪಂಚದಾದ್ಯಂತ ಹಣವನ್ನು ಕಳುಹಿಸಿ](#send-money) +- [ಪ್ರಪಂಚದಾದ್ಯಂತ ಹಣವನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಿ](#stream-money) +- [ಸ್ಥಿರ ಕರೆನ್ಸಿಗಳನ್ನು ಪ್ರವೇಶಿಸಿ](#stablecoins) +- [ಮೇಲಾಧಾರದೊಂದಿಗೆ ಹಣವನ್ನು ಎರವಲು ಪಡೆಯಿರಿ](#lending) +- [ಮೇಲಾಧಾರವಿಲ್ಲದೆ ಸಾಲ ಪಡೆಯಿರಿ](#flash-loans) +- [ಕ್ರಿಪ್ಟೋ ಉಳಿತಾಯವನ್ನು ಪ್ರಾರಂಭಿಸಿ](#saving) +- [ವ್ಯಾಪಾರ ಟೋಕನ್‍ಗಳು](#swaps) +- [ನಿಮ್ಮ ಪೋರ್ಟ್‍ಫೋಲಿಯೊವನ್ನು ಬೆಳೆಸಿ](#investing) +- [ನಿಮ್ಮ ಆಲೋಚನೆಗಳಿಗೆ ಧನಸಹಾಯ ಮಾಡಿ](#crowdfunding) +- [ವಿಮೆ ಖರೀದಿಸಿ](#insurance) +- [ನಿಮ್ಮ ಪೋರ್ಟ್‍ಫೋಲಿಯೊವನ್ನು ನಿರ್ವಹಿಸಿ](#aggregators) + + + +### ಪ್ರಪಂಚದಾದ್ಯಂತ ತ್ವರಿತವಾಗಿ ಹಣವನ್ನು ಕಳುಹಿಸಿ {#send-money} + +ಬ್ಲಾಕ್‍ಚೈನ್ ಆಗಿ, ಇಥಿರಿಯಮ್ ಅನ್ನು ಸುರಕ್ಷಿತ ಮತ್ತು ಜಾಗತಿಕ ರೀತಿಯಲ್ಲಿ ವಹಿವಾಟುಗಳನ್ನು ಕಳುಹಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಬಿಟ್‍ಕಾಯಿನ್‍ನಂತೆ, ಇಥಿರಿಯಮ್ ಪ್ರಪಂಚದಾದ್ಯಂತ ಹಣವನ್ನು ಕಳುಹಿಸುವುದನ್ನು ಇಮೇಲ್ ಕಳುಹಿಸುವಷ್ಟೇ ಸುಲಭಗೊಳಿಸುತ್ತದೆ. ನಿಮ್ಮ ವ್ಯಾಲೆಟ್‍ನಿಂದ ನಿಮ್ಮ ಸ್ವೀಕೃತಕರ್ತನ [ENS ಹೆಸರು](/nft/#nft-domains) (bob.eth ನಂತಹ) ಅಥವಾ ಅವರ ಖಾತೆ ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ ಮತ್ತು ನಿಮ್ಮ ಪಾವತಿ ನಿಮಿಷಗಳಲ್ಲಿ (ಸಾಮಾನ್ಯವಾಗಿ) ನೇರವಾಗಿ ಅವರಿಗೆ ಹೋಗುತ್ತದೆ. ಪಾವತಿಗಳನ್ನು ಕಳುಹಿಸಲು ಅಥವಾ ಸ್ವೀಕರಿಸಲು, ನಿಮಗೆ [ವ್ಯಾಲೆಟ್](/wallets/) ಅಗತ್ಯವಿದೆ. + + + ಪಾವತಿ dapps ನೋಡಿ + + +#### ಪ್ರಪಂಚದಾದ್ಯಂತ ಹಣವನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಿ... {#stream-money} + +ನೀವು ಇಥಿರಿಯಮ್ ಮೂಲಕವೂ ಹಣವನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಬಹುದು. ಇದು ಯಾರಿಗಾದರೂ ಸೆಕೆಂಡಿಗೆ ಅವರ ಸಂಬಳವನ್ನು ಪಾವತಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಅವರಿಗೆ ಅಗತ್ಯವಿರುವಾಗಲೆಲ್ಲಾ ಅವರ ಹಣವನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಅಥವಾ ಸ್ಟೋರೇಜ್ ಲಾಕರ್ ಅಥವಾ ಎಲೆಕ್ಟ್ರಿಕ್ ಸ್ಕೂಟರ್ ನಂತಹ ಏನನ್ನಾದರೂ ಬಾಡಿಗೆಗೆ ಪಡೆಯಿರಿ. + +ಮತ್ತು ನೀವು [ETH](/eth/) ಅನ್ನು ಕಳುಹಿಸಲು ಅಥವಾ ಸ್ಟ್ರೀಮ್ ಮಾಡಲು ಬಯಸದಿದ್ದರೆ ಏಕೆಂದರೆ ಅದರ ಮೌಲ್ಯವು ಎಷ್ಟು ಬದಲಾಗಬಹುದು, ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ಪರ್ಯಾಯ ಕರೆನ್ಸಿಗಳಿವೆ: ಸ್ಟೇಬಲ್‍ಕಾಯಿನ್‍ಗಳು. + + + +### ಸ್ಥಿರ ಕರೆನ್ಸಿಗಳನ್ನು ಪ್ರವೇಶಿಸಿ {#stablecoins} + +ಕ್ರಿಪ್ಟೋಕರೆನ್ಸಿ ಚಂಚಲತೆಯು ಬಹಳಷ್ಟು ಹಣಕಾಸು ಉತ್ಪನ್ನಗಳು ಮತ್ತು ಸಾಮಾನ್ಯ ವೆಚ್ಚಗಳಿಗೆ ಸಮಸ್ಯೆಯಾಗಿದೆ. DeFi ಸಮುದಾಯವು ಇದನ್ನು ಸ್ಟೇಬಲ್‍ಕಾಯಿನ್‍ಗಳೊಂದಿಗೆ ಪರಿಹರಿಸಿದೆ. ಅವುಗಳ ಮೌಲ್ಯವು ಮತ್ತೊಂದು ಆಸ್ತಿಗೆ ಜೋಡಿಸಲ್ಪಟ್ಟಿದೆ, ಸಾಮಾನ್ಯವಾಗಿ ಡಾಲರ್ ಗಳಂತಹ ಜನಪ್ರಿಯ ಕರೆನ್ಸಿ. + +Dai ಅಥವಾ USDCಯಂತಹ ನಾಣ್ಯಗಳು ಡಾಲರ್ನ ಕೆಲವು ಸೆಂಟ್‍ಗಳ ಒಳಗೆ ಉಳಿಯುವ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿವೆ. ಇದು ಅವುಗಳನ್ನು ಗಳಿಕೆ ಅಥವಾ ಚಿಲ್ಲರೆ ವ್ಯಾಪಾರಕ್ಕೆ ಸೂಕ್ತವಾಗಿಸುತ್ತದೆ. ಲ್ಯಾಟಿನ್ ಅಮೆರಿಕಾದ ಅನೇಕ ಜನರು ತಮ್ಮ ಸರ್ಕಾರ ಹೊರಡಿಸಿದ ಕರೆನ್ಸಿಗಳೊಂದಿಗೆ ಹೆಚ್ಚಿನ ಅನಿಶ್ಚಿತತೆಯ ಸಮಯದಲ್ಲಿ ತಮ್ಮ ಉಳಿತಾಯವನ್ನು ರಕ್ಷಿಸುವ ಮಾರ್ಗವಾಗಿ ಸ್ಟೇಬಲ್ ಕಾಯಿನ್‍ಗಳನ್ನು ಬಳಸಿದ್ದಾರೆ. + + + ಸ್ಟೇಬಲ್‍ಕಾಯಿನ್‍ಗಳ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು + + + + +### ಸಾಲ ಪಡೆಯುವುದು {#lending} + +ವಿಕೇಂದ್ರೀಕೃತ ಪೂರೈಕೆದಾರರಿಂದ ಹಣವನ್ನು ಎರವಲು ಪಡೆಯುವುದು ಎರಡು ಪ್ರಮುಖ ವಿಧಗಳಲ್ಲಿ ಬರುತ್ತದೆ. + +- ಪೀರ್-ಟು-ಪೀರ್, ಅಂದರೆ ಸಾಲಗಾರನು ನಿರ್ದಿಷ್ಟ ಸಾಲದಾತರಿಂದ ನೇರವಾಗಿ ಸಾಲ ಪಡೆಯುತ್ತಾನೆ. +- ಸಾಲಗಾರರು ಸಾಲ ಪಡೆಯಬಹುದಾದ ಪೂಲ್‍ಗೆ ಸಾಲದಾತರು ಹಣವನ್ನು (liquidity ದ್ರವ್ಯತೆ) ಒದಗಿಸುವ ಪೂಲ್ ಆಧಾರಿತ. + + + ಎರವಲು dapps ನೋಡಿ + + +ವಿಕೇಂದ್ರೀಕೃತ ಸಾಲದಾತನನ್ನು ಬಳಸುವುದರಿಂದ ಅನೇಕ ಅನುಕೂಲಗಳಿವೆ... + +#### ಗೌಪ್ಯತೆಯೊಂದಿಗೆ ಸಾಲ ಪಡೆಯುವುದು {#borrowing-privacy} + +ಇಂದು, ಸಾಲ ನೀಡುವುದು ಮತ್ತು ಹಣವನ್ನು ಎರವಲು ಪಡೆಯುವುದು ಎಲ್ಲವೂ ಭಾಗಿಯಾಗಿರುವ ವ್ಯಕ್ತಿಗಳ ಸುತ್ತ ಸುತ್ತುತ್ತದೆ. ಸಾಲ ನೀಡುವ ಮೊದಲು ನೀವು ಸಾಲವನ್ನು ಮರುಪಾವತಿ ಮಾಡುವ ಸಾಧ್ಯತೆಯಿದೆಯೇ ಎಂದು ಬ್ಯಾಂಕುಗಳು ತಿಳಿದುಕೊಳ್ಳಬೇಕು. + +ವಿಕೇಂದ್ರೀಕೃತ ಸಾಲವು ಯಾವುದೇ ಪಕ್ಷವು ತಮ್ಮನ್ನು ಗುರುತಿಸಿಕೊಳ್ಳದೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಬದಲಾಗಿ, ಸಾಲಗಾರನು ತನ್ನ ಸಾಲವನ್ನು ಮರುಪಾವತಿಸದಿದ್ದರೆ ಸಾಲದಾತನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪಡೆಯುವ ಮೇಲಾಧಾರವನ್ನು ಹಾಕಬೇಕು. ಕೆಲವು ಸಾಲದಾತರು NFT ಗಳನ್ನು ಮೇಲಾಧಾರವಾಗಿ ಸ್ವೀಕರಿಸುತ್ತಾರೆ. NFT ಗಳು ಚಿತ್ರಕಲೆಯಂತಹ ವಿಶಿಷ್ಟ ಸ್ವತ್ತಿನ ಕಾರ್ಯವಾಗಿದೆ. [NFT ಗಳ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು](/nft/) + +ಕ್ರೆಡಿಟ್ ಚೆಕ್ ಇಲ್ಲದೆ ಅಥವಾ ಖಾಸಗಿ ಮಾಹಿತಿಯನ್ನು ಹಸ್ತಾಂತರಿಸದೆ ಹಣವನ್ನು ಎರವಲು ಪಡೆಯಲು ಇದು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. + +#### ಜಾಗತಿಕ ನಿಧಿಗಳಿಗೆ ಪ್ರವೇಶ {#access-global-funds} + +ನೀವು ವಿಕೇಂದ್ರೀಕೃತ ಸಾಲದಾತರನ್ನು ಬಳಸುವಾಗ, ನೀವು ಆಯ್ಕೆ ಮಾಡಿದ ಬ್ಯಾಂಕ್ ಅಥವಾ ಸಂಸ್ಥೆಯ ವಶದಲ್ಲಿರುವ ನಿಧಿಗಳಿಗೆ ಮಾತ್ರವಲ್ಲ, ಪ್ರಪಂಚದಾದ್ಯಂತದ ಹಣವನ್ನು ನೀವು ಪ್ರವೇಶಿಸುತ್ತೀರಿ. ಇದು ಸಾಲಗಳನ್ನು ಹೆಚ್ಚು ಪ್ರವೇಶಿಸುವಂತೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಬಡ್ಡಿದರಗಳನ್ನು ಸುಧಾರಿಸುತ್ತದೆ. + +#### ತೆರಿಗೆ-ದಕ್ಷತೆಗಳು {#tax-efficiencies} + +ಸಾಲ ಪಡೆಯುವುದು ನಿಮ್ಮ ETH (ತೆರಿಗೆ ವಿಧಿಸಬಹುದಾದ ಘಟನೆ) ಅನ್ನು ಮಾರಾಟ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲದೆ ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ನಿಧಿಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡುತ್ತದೆ. ಬದಲಿಗೆ, ನೀವು ಸ್ಟೇಬಲ್ಕಾಯಿನ್ ಸಾಲಕ್ಕಾಗಿ ETH ಅನ್ನು ಮೇಲಾಧಾರವಾಗಿ ಬಳಸಬಹುದು. ಇದು ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ನಗದು ಹರಿವನ್ನು ನೀಡುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ETH ಅನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಸ್ಟೇಬಲ್‍ಕಾಯಿನ್‍ಗಳು ಟೋಕನ್‍ಗಳಾಗಿವೆ, ಏಕೆಂದರೆ ಅವು ETH ನಂತಹ ಮೌಲ್ಯದಲ್ಲಿ ಏರಿಳಿತಗೊಳ್ಳುವುದಿಲ್ಲವಾದ್ದರಿಂದ ನಿಮಗೆ ನಗದು ಅಗತ್ಯವಿದ್ದಾಗ ಹೆಚ್ಚು ಉತ್ತಮವಾಗಿರುತ್ತದೆ. [ಸ್ಟೇಬಲ್‍ಕಾಯಿನ್‍ಗಳ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು](#stablecoins) + +#### ಫ್ಲ್ಯಾಶ್ ಸಾಲಗಳು {#flash-loans} + +ಫ್ಲ್ಯಾಶ್ ಸಾಲಗಳು ವಿಕೇಂದ್ರೀಕೃತ ಸಾಲದ ಹೆಚ್ಚು ಪ್ರಾಯೋಗಿಕ ರೂಪವಾಗಿದ್ದು, ಅದು ಮೇಲಾಧಾರವಿಲ್ಲದೆ ಅಥವಾ ಯಾವುದೇ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸದೆ ಸಾಲ ಪಡೆಯಲು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. + +ಅವು ಇದೀಗ ತಾಂತ್ರಿಕೇತರ ಜನರಿಗೆ ವ್ಯಾಪಕವಾಗಿ ಲಭ್ಯವಿಲ್ಲ ಆದರೆ ಭವಿಷ್ಯದಲ್ಲಿ ಎಲ್ಲರಿಗೂ ಏನು ಸಾಧ್ಯ ಎಂಬುದರ ಬಗ್ಗೆ ಅವು ಸುಳಿವು ನೀಡುತ್ತವೆ. + +ಅದೇ ವಹಿವಾಟಿನೊಳಗೆ ಸಾಲವನ್ನು ಹೊರತೆಗೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಮರುಪಾವತಿಸಲಾಗುತ್ತದೆ ಎಂಬ ಆಧಾರದ ಮೇಲೆ ಇದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಅದನ್ನು ಮರುಪಾವತಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ವ್ಯವಹಾರವು ಏನೂ ಸಂಭವಿಸಿಲ್ಲ ಎಂಬಂತೆ ಹಿಂತಿರುಗುತ್ತದೆ. + +ಆಗಾಗ್ಗೆ ಬಳಸಲಾಗುವ ನಿಧಿಗಳನ್ನು ದ್ರವ್ಯತೆ ಕೊಳಗಳಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ (ಸಾಲ ಪಡೆಯಲು ಬಳಸುವ ದೊಡ್ಡ ನಿಧಿಗಳ ಕೊಳಗಳು). ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಮಯದಲ್ಲಿ ಅವುಗಳನ್ನು ಬಳಸದಿದ್ದರೆ, ಇದು ಯಾರಿಗಾದರೂ ಈ ಹಣವನ್ನು ಎರವಲು ಪಡೆಯಲು, ಅವರೊಂದಿಗೆ ವ್ಯವಹಾರ ನಡೆಸಲು ಮತ್ತು ಅವರು ಎರವಲು ಪಡೆದ ಅದೇ ಸಮಯದಲ್ಲಿ ಅಕ್ಷರಶಃ ಪೂರ್ಣವಾಗಿ ಮರುಪಾವತಿಸಲು ಅವಕಾಶವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. + +ಇದರರ್ಥ ಬಹಳ ಬೆಸ್ಪೋಕ್ ವಹಿವಾಟಿನಲ್ಲಿ ಬಹಳಷ್ಟು ತರ್ಕವನ್ನು ಸೇರಿಸಬೇಕು. ಒಂದು ಸರಳ ಉದಾಹರಣೆಯೆಂದರೆ, ಯಾರಾದರೂ ಫ್ಲ್ಯಾಶ್ ಲೋನ್ ಬಳಸಿ ಒಂದು ಬೆಲೆಗೆ ಹೆಚ್ಚು ಆಸ್ತಿಯನ್ನು ಎರವಲು ಪಡೆಯಬಹುದು, ಆದ್ದರಿಂದ ಅವರು ಅದನ್ನು ಬೆಲೆ ಹೆಚ್ಚಿರುವ ಬೇರೆ ವಿನಿಮಯ ಕೇಂದ್ರದಲ್ಲಿ ಮಾರಾಟ ಮಾಡಬಹುದು. + +ಆದ್ದರಿಂದ ಒಂದೇ ವ್ಯವಹಾರದಲ್ಲಿ, ಈ ಕೆಳಗಿನವು ಸಂಭವಿಸುತ್ತವೆ: + +- ನೀವು $asset X ಮೊತ್ತವನ್ನು ಎಕ್ಸ್ ಚೇಂಜ್ A ನಿಂದ $ 1.00 ಕ್ಕೆ ಎರವಲು ಪಡೆಯುತ್ತೀರಿ +- ನೀವು X $asset ಎಕ್ಸ್ ಚೇಂಜ್ B ನಲ್ಲಿ $1.10 ಕ್ಕೆ ಮಾರಾಟ ಮಾಡುತ್ತೀರಿ +- A ಎಕ್ಸ್ ಚೇಂಜ್ ಗೆ ನೀವು ಸಾಲವನ್ನು ಮರುಪಾವತಿಸುತ್ತೀರಿ +- ನೀವು ಲಾಭವನ್ನು ವಹಿವಾಟು ಶುಲ್ಕವನ್ನು ಹೊರತುಪಡಿಸಿ ಇಟ್ಟುಕೊಳ್ಳುತ್ತೀರಿ + +ಎಕ್ಸ್ ಚೇಂಜ್ B ಪೂರೈಕೆ ಇದ್ದಕ್ಕಿದ್ದಂತೆ ಕುಸಿದರೆ ಮತ್ತು ಬಳಕೆದಾರರು ಮೂಲ ಸಾಲವನ್ನು ಸರಿದೂಗಿಸಲು ಸಾಕಷ್ಟು ಖರೀದಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ವಹಿವಾಟು ವಿಫಲವಾಗುತ್ತದೆ. + +ಸಾಂಪ್ರದಾಯಿಕ ಹಣಕಾಸು ಜಗತ್ತಿನಲ್ಲಿ ಮೇಲಿನ ಉದಾಹರಣೆಯನ್ನು ಮಾಡಲು, ನಿಮಗೆ ಅಪಾರ ಪ್ರಮಾಣದ ಹಣ ಬೇಕಾಗುತ್ತದೆ. ಈ ಹಣ ಮಾಡುವ ತಂತ್ರಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಂಪತ್ತನ್ನು ಹೊಂದಿರುವವರಿಗೆ ಮಾತ್ರ ಪ್ರವೇಶಿಸುತ್ತವೆ. ಫ್ಲ್ಯಾಶ್ ಸಾಲಗಳು ಭವಿಷ್ಯದ ಉದಾಹರಣೆಯಾಗಿದ್ದು, ಅಲ್ಲಿ ಹಣವನ್ನು ಹೊಂದಿರುವುದು ಹಣ ಸಂಪಾದಿಸಲು ಪೂರ್ವಾಪೇಕ್ಷಿತವಲ್ಲ. + +[ಫ್ಲ್ಯಾಶ್ ಲೋನ್‍ಗಳ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು](https://aave.com/flash-loans/) + + + +### ಕ್ರಿಪ್ಟೋದೊಂದಿಗೆ ಉಳಿತಾಯ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿ {#saving} + +#### ಸಾಲ ನೀಡಿಕೆ {#lending} + +ನಿಮ್ಮ ಕ್ರಿಪ್ಟೋಗೆ ಸಾಲ ನೀಡುವ ಮೂಲಕ ನೀವು ಬಡ್ಡಿಯನ್ನು ಗಳಿಸಬಹುದು ಮತ್ತು ನಿಮ್ಮ ನಿಧಿಗಳು ನೈಜ ಸಮಯದಲ್ಲಿ ಬೆಳೆಯುವುದನ್ನು ನೋಡಬಹುದು. ಇದೀಗ ಬಡ್ಡಿದರಗಳು ನಿಮ್ಮ ಸ್ಥಳೀಯ ಬ್ಯಾಂಕಿನಲ್ಲಿ ನೀವು ಪಡೆಯುವ ಸಾಧ್ಯತೆಗಿಂತ ಹೆಚ್ಚಾಗಿದೆ (ನೀವು ಅದನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುವಷ್ಟು ಅದೃಷ್ಟವಂತರಾಗಿದ್ದರೆ). ಇಲ್ಲಿದೆ ಒಂದು ಉದಾಹರಣೆ: + +- ನೀವು ನಿಮ್ಮ 100 Dai, [ಸ್ಟೇಬಲ್‍ಕಾಯಿನ್](/stablecoins/) ಅನ್ನು Aave ಯಂತಹ ಉತ್ಪನ್ನಕ್ಕೆ ಸಾಲವಾಗಿ ನೀಡುತ್ತೀರಿ. +- ನೀವು 100 Aave Dai (aDai) ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತೀರಿ, ಇದು ನಿಮ್ಮ ಸಾಲ ಪಡೆದ Daiಯನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಟೋಕನ್ ಆಗಿದೆ. +- ಬಡ್ಡಿದರಗಳ ಆಧಾರದ ಮೇಲೆ ನಿಮ್ಮ aDai ಹೆಚ್ಚಾಗುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ವ್ಯಾಲೆಟ್‍ನಲ್ಲಿ ನಿಮ್ಮ ಬ್ಯಾಲೆನ್ಸ್ ಬೆಳೆಯುತ್ತಿರುವುದನ್ನು ನೀವು ನೋಡಬಹುದು. APR ಅನ್ನು ಅವಲಂಬಿಸಿ, ನಿಮ್ಮ ವ್ಯಾಲೆಟ್ ಬ್ಯಾಲೆನ್ಸ್ ಕೆಲವು ದಿನಗಳು ಅಥವಾ ಗಂಟೆಗಳ ನಂತರ 100.1234 ರಷ್ಟಿದೆ! +- ನಿಮ್ಮ aDai ಬ್ಯಾಲೆನ್ಸ್ ಗೆ ಸಮನಾದ ನಿಯಮಿತ Dai ಮೊತ್ತವನ್ನು ನೀವು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಹಿಂಪಡೆಯಬಹುದು. + + + ಸಾಲ ನೀಡುವ Dappsಗಳನ್ನು ನೋಡಿ + + +#### ನಷ್ಟವಿಲ್ಲದ ಲಾಟರಿಗಳು {#no-loss-lotteries} + +ಪೂಲ್ ಟುಗೆದರ್ ನಂತಹ ನಷ್ಟವಿಲ್ಲದ ಲಾಟರಿಗಳು ಹಣವನ್ನು ಉಳಿಸಲು ಮೋಜಿನ ಮತ್ತು ನವೀನ ಹೊಸ ಮಾರ್ಗವಾಗಿದೆ. + +- ನೀವು 100 Dai ಟೋಕನ್‍ಗಳನ್ನು ಬಳಸಿ 100 ಟಿಕೆಟ್‍ಗಳನ್ನು ಖರೀದಿಸುತ್ತೀರಿ. +- ನಿಮ್ಮ 100 ಟಿಕೆಟ್‍ಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುವ 100 plDai ಅನ್ನು ನೀವು ಸ್ವೀಕರಿಸುತ್ತೀರಿ. +- ನಿಮ್ಮ ಟಿಕೆಟ್‍ಗಳಲ್ಲಿ ಒಂದನ್ನು ವಿಜೇತರಾಗಿ ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಬಹುಮಾನದ ಮೊತ್ತದಿಂದ ನಿಮ್ಮ plDai ಬ್ಯಾಲೆನ್ಸ್ ಹೆಚ್ಚಾಗುತ್ತದೆ. +- ನೀವು ಗೆಲ್ಲದಿದ್ದರೆ, ನಿಮ್ಮ 100 plDai ಮುಂದಿನ ವಾರದ ಡ್ರಾಗೆ ತಿರುಗುತ್ತದೆ. +- ನಿಮ್ಮ plDai ಬ್ಯಾಲೆನ್ಸ್ ಗೆ ಸಮನಾದ ನಿಯಮಿತ Dai ಮೊತ್ತವನ್ನು ನೀವು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಹಿಂಪಡೆಯಬಹುದು. + +ಮೇಲಿನ ಸಾಲದ ಉದಾಹರಣೆಯಂತೆ ಟಿಕೆಟ್ ಠೇವಣಿಗಳನ್ನು ಸಾಲ ನೀಡುವ ಮೂಲಕ ಉತ್ಪತ್ತಿಯಾಗುವ ಎಲ್ಲಾ ಬಡ್ಡಿಯಿಂದ ಬಹುಮಾನದ ಪೂಲ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲಾಗುತ್ತದೆ. + + + PoolTogether ಪ್ರಯತ್ನಿಸಿ + + + + +### ವಿನಿಮಯ ಟೋಕನ್‍ಗಳು {#swaps} + +ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ಸಾವಿರಾರು ಟೋಕನ್‍ಗಳಿವೆ. ವಿಕೇಂದ್ರೀಕೃತ ವಿನಿಮಯ ಕೇಂದ್ರಗಳು (DEXs) ನಿಮಗೆ ಬೇಕಾದಾಗ ವಿಭಿನ್ನ ಟೋಕನ್‍ಗಳನ್ನು ವ್ಯಾಪಾರ ಮಾಡಲು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತವೆ. ನಿಮ್ಮ ಸ್ವತ್ತುಗಳ ಮೇಲಿನ ನಿಯಂತ್ರಣವನ್ನು ನೀವು ಎಂದಿಗೂ ಬಿಟ್ಟುಕೊಡುವುದಿಲ್ಲ. ಇದು ಬೇರೆ ದೇಶಕ್ಕೆ ಭೇಟಿ ನೀಡಿದಾಗ ಕರೆನ್ಸಿ ವಿನಿಮಯವನ್ನು ಬಳಸುವಂತಿದೆ. ಆದರೆ ಡಿಫೈ ಆವೃತ್ತಿ ಎಂದಿಗೂ ಮುಚ್ಚುವುದಿಲ್ಲ. ಮಾರುಕಟ್ಟೆಗಳು ವರ್ಷದಲ್ಲಿ 24/7, 365 ದಿನಗಳು ಮತ್ತು ವ್ಯಾಪಾರವನ್ನು ಸ್ವೀಕರಿಸಲು ಯಾವಾಗಲೂ ಯಾರಾದರೂ ಇರುತ್ತಾರೆ ಎಂದು ತಂತ್ರಜ್ಞಾನವು ಖಾತರಿಪಡಿಸುತ್ತದೆ. + +ಉದಾಹರಣೆಗೆ, ನೀವು ನಷ್ಟವಿಲ್ಲದ ಲಾಟರಿ ಪೂಲ್ ಟುಗೆದರ್ (ಮೇಲೆ ವಿವರಿಸಲಾಗಿದೆ) ಬಳಸಲು ಬಯಸಿದರೆ, ನಿಮಗೆ Dai ಅಥವಾ USDCಯಂತಹ ಟೋಕನ್ ಅಗತ್ಯವಿದೆ. ಈ DEX ಗಳು ಆ ಟೋಕನ್‍ಗಳಿಗಾಗಿ ನಿಮ್ಮ ETH ಅನ್ನು ಬದಲಾಯಿಸಲು ಮತ್ತು ನೀವು ಮುಗಿದ ನಂತರ ಮತ್ತೆ ಹಿಂತಿರುಗಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತವೆ. + + + ಟೋಕನ್ ವಿನಿಮಯಗಳನ್ನು ನೋಡಿ + + + + +### ಸುಧಾರಿತ ವ್ಯಾಪಾರ {#trading} + +ಸ್ವಲ್ಪ ಹೆಚ್ಚು ನಿಯಂತ್ರಣವನ್ನು ಬಯಸುವ ವ್ಯಾಪಾರಿಗಳಿಗೆ ಹೆಚ್ಚು ಸುಧಾರಿತ ಆಯ್ಕೆಗಳಿವೆ. ಮಿತಿ ಆದೇಶಗಳು, ಶಾಶ್ವತಗಳು, ಮಾರ್ಜಿನ್ ಟ್ರೇಡಿಂಗ್ ಮತ್ತು ಹೆಚ್ಚಿನವು ಸಾಧ್ಯ. ವಿಕೇಂದ್ರೀಕೃತ ವ್ಯಾಪಾರದೊಂದಿಗೆ ನೀವು ಜಾಗತಿಕ ದ್ರವ್ಯತೆಗೆ ಪ್ರವೇಶವನ್ನು ಪಡೆಯುತ್ತೀರಿ, ಮಾರುಕಟ್ಟೆ ಎಂದಿಗೂ ಮುಚ್ಚುವುದಿಲ್ಲ, ಮತ್ತು ನೀವು ಯಾವಾಗಲೂ ನಿಮ್ಮ ಸ್ವತ್ತುಗಳ ನಿಯಂತ್ರಣದಲ್ಲಿದ್ದೀರಿ. + +ನೀವು ಕೇಂದ್ರೀಕೃತ ವಿನಿಮಯ ಕೇಂದ್ರವನ್ನು ಬಳಸುವಾಗ ನೀವು ವ್ಯಾಪಾರದ ಮೊದಲು ನಿಮ್ಮ ಸ್ವತ್ತುಗಳನ್ನು ಠೇವಣಿ ಮಾಡಬೇಕು ಮತ್ತು ಅವುಗಳನ್ನು ನೋಡಿಕೊಳ್ಳಲು ಅವರನ್ನು ನಂಬಬೇಕು. ನಿಮ್ಮ ಸ್ವತ್ತುಗಳನ್ನು ಠೇವಣಿ ಮಾಡುವಾಗ, ಕೇಂದ್ರೀಕೃತ ವಿನಿಮಯಗಳು ಹ್ಯಾಕರ್ ಗಳಿಗೆ ಆಕರ್ಷಕ ಗುರಿಗಳಾಗಿರುವುದರಿಂದ ಅವು ಅಪಾಯದಲ್ಲಿವೆ. + + + ಟ್ರೇಡಿಂಗ್ dapps ನೋಡಿ + + + + +### ನಿಮ್ಮ ಪೋರ್ಟ್‍ಫೋಲಿಯೊವನ್ನು ಬೆಳೆಸಿ {#investing} + +ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ನಿಧಿ ನಿರ್ವಹಣಾ ಉತ್ಪನ್ನಗಳು ಇವೆ, ಅದು ನಿಮ್ಮ ಆಯ್ಕೆಯ ಕಾರ್ಯತಂತ್ರದ ಆಧಾರದ ಮೇಲೆ ನಿಮ್ಮ ಪೋರ್ಟ್‍ಫೋಲಿಯೋವನ್ನು ಬೆಳೆಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ಇದು ಸ್ವಯಂಚಾಲಿತವಾಗಿದೆ, ಎಲ್ಲರಿಗೂ ಮುಕ್ತವಾಗಿದೆ, ಮತ್ತು ನಿಮ್ಮ ಲಾಭವನ್ನು ಕಡಿತಗೊಳಿಸುವ ಮಾನವ ವ್ಯವಸ್ಥಾಪಕರ ಅಗತ್ಯವಿಲ್ಲ. +ಇದಕ್ಕೆ ಉತ್ತಮ ಉದಾಹರಣೆಯೆಂದರೆ [DeFi ಪಲ್ಸ್ ಇಂಡೆಕ್ಸ್ ಫಂಡ್ (DPI)](https://defipulse.com/blog/defi-pulse-index/). ಇದು ನಿಮ್ಮ ಪೋರ್ಟ್‍ಫೋಲಿಯೊ ಯಾವಾಗಲೂ [ಮಾರುಕಟ್ಟೆ ಬಂಡವಾಳೀಕರಣದ ಮೂಲಕ ಉನ್ನತ DeFi ಟೋಕನ್‍ಗಳನ್ನು](https://www.coingecko.com/en/defi)ಒಳಗೊಂಡಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮರುಸಮತೋಲನಗೊಳಿಸುವ ಫಂಡ್ ಆಗಿದೆ. ನೀವು ಎಂದಿಗೂ ಯಾವುದೇ ವಿವರಗಳನ್ನು ನಿರ್ವಹಿಸಬೇಕಾಗಿಲ್ಲ ಮತ್ತು ನೀವು ಬಯಸಿದಾಗ ನಿಧಿಯಿಂದ ಹಿಂಪಡೆಯಬಹುದು. + + + ಹೂಡಿಕೆ dapps ನೋಡಿ + + + + +### ನಿಮ್ಮ ಆಲೋಚನೆಗಳಿಗೆ ಧನಸಹಾಯ ಮಾಡಿ {#crowdfunding} + +ಕ್ರೌಡ್ ಫಂಡಿಂಗ್ ಗೆ ಇಥಿರಿಯಮ್ ಸೂಕ್ತ ವೇದಿಕೆಯಾಗಿದೆ: + +- ಸಂಭಾವ್ಯ ನಿಧಿದಾರರು ಎಲ್ಲಿಂದ ಬೇಕಾದರೂ ಬರಬಹುದು - ಇಥಿರಿಯಮ್ ಮತ್ತು ಅದರ ಟೋಕನ್ ಗಳು ಯಾರಿಗಾದರೂ, ವಿಶ್ವದ ಎಲ್ಲಿಯಾದರೂ ತೆರೆದಿರುತ್ತವೆ. +- ಇದು ಪಾರದರ್ಶಕವಾಗಿದೆ ಆದ್ದರಿಂದ ನಿಧಿಸಂಗ್ರಹಕರು ಎಷ್ಟು ಹಣವನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ಸಾಬೀತುಪಡಿಸಬಹುದು. ಹಣವನ್ನು ಹೇಗೆ ಖರ್ಚು ಮಾಡಲಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ನೀವು ನಂತರ ಪತ್ತೆಹಚ್ಚಬಹುದು. +- ಉದಾಹರಣೆಗೆ, ನಿರ್ದಿಷ್ಟ ಗಡುವು ಮತ್ತು ಕನಿಷ್ಠ ಮೊತ್ತವನ್ನು ಪೂರೈಸದಿದ್ದರೆ ನಿಧಿಸಂಗ್ರಹಕರು ಸ್ವಯಂಚಾಲಿತ ಮರುಪಾವತಿಗಳನ್ನು ಹೊಂದಿಸಬಹುದು. + + + ಕ್ರೌಡ್ ಫಂಡಿಂಗ್ dapps ನೋಡಿ + + +#### ಕ್ವಾಡ್ರಾಟಿಕ್ ಫಂಡಿಂಗ್ {#quadratic-funding} + +ಇಥಿರಿಯಮ್ ಓಪನ್ ಸೋರ್ಸ್ ಸಾಫ್ಟ್ವೇರ್ ಆಗಿದೆ ಮತ್ತು ಇಲ್ಲಿಯವರೆಗೆ ಬಹಳಷ್ಟು ಕೆಲಸಗಳಿಗೆ ಸಮುದಾಯವು ಧನಸಹಾಯ ನೀಡಿದೆ. ಇದು ಆಸಕ್ತಿದಾಯಕ ಹೊಸ ನಿಧಿಸಂಗ್ರಹ ಮಾದರಿಯ ಬೆಳವಣಿಗೆಗೆ ಕಾರಣವಾಗಿದೆ: ಕ್ವಾಡ್ರಾಟಿಕ್ ಫಂಡಿಂಗ್. This has the potential to improve the way we fund all types of public goods in the future. + +Quadratic funding makes sure that the projects that receive the most funding are those with the most unique demand. In other words, projects that stand to improve the lives of the most people. ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದು ಇಲ್ಲಿದೆ: + +1. ದೇಣಿಗೆ ನೀಡಿದ ನಿಧಿಗಳ ಸರಿಸಮಾನವಾದ ಪೂಲ್ ಇದೆ. +2. ಒಂದು ಸುತ್ತಿನ ಸಾರ್ವಜನಿಕ ಧನಸಹಾಯ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. +3. ಜನರು ಸ್ವಲ್ಪ ಹಣವನ್ನು ದಾನ ಮಾಡುವ ಮೂಲಕ ಯೋಜನೆಗಾಗಿ ತಮ್ಮ ಬೇಡಿಕೆಯನ್ನು ಸೂಚಿಸಬಹುದು. +4. ರೌಂಡ್ ಮುಗಿದ ನಂತರ, ಮ್ಯಾಚಿಂಗ್ ಪೂಲ್ ಅನ್ನು ಯೋಜನೆಗಳಿಗೆ ವಿತರಿಸಲಾಗುತ್ತದೆ. ಅತ್ಯಂತ ವಿಶಿಷ್ಟ ಬೇಡಿಕೆಯನ್ನು ಹೊಂದಿರುವವರು ಮ್ಯಾಚಿಂಗ್ ಪೂಲ್‍ನಿಂದ ಹೆಚ್ಚಿನ ಮೊತ್ತವನ್ನು ಪಡೆಯುತ್ತಾರೆ. + +ಇದರರ್ಥ ಪ್ರಾಜೆಕ್ಟ್ A ತನ್ನ 100 ದೇಣಿಗೆಗಳೊಂದಿಗೆ 10,000 ಡಾಲರ್ ಗಳ ಏಕೈಕ ದೇಣಿಗೆಯೊಂದಿಗೆ ಪ್ರಾಜೆಕ್ಟ್ B ಗಿಂತ ಹೆಚ್ಚಿನ ಧನಸಹಾಯವನ್ನು ಪಡೆಯಬಹುದು (ಹೊಂದಾಣಿಕೆಯ ಕೊಳದ ಗಾತ್ರವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ). + +[ಕ್ವಾಡ್ರಾಟಿಕ್ ಫಂಡಿಂಗ್ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು](https://wtfisqf.com) + + + +### ವಿಮೆ {#insurance} + +ವಿಕೇಂದ್ರೀಕೃತ ವಿಮೆಯು ವಿಮೆಯನ್ನು ಅಗ್ಗವಾಗಿ, ಪಾವತಿಸಲು ವೇಗವಾಗಿ ಮತ್ತು ಹೆಚ್ಚು ಪಾರದರ್ಶಕವಾಗಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಹೆಚ್ಚಿನ ಯಾಂತ್ರೀಕರಣದೊಂದಿಗೆ, ವ್ಯಾಪ್ತಿ ಹೆಚ್ಚು ಕೈಗೆಟುಕುತ್ತದೆ ಮತ್ತು ಪಾವತಿಗಳು ಬಹಳ ವೇಗವಾಗಿರುತ್ತವೆ. ನಿಮ್ಮ ಕ್ಲೈಮ್ ಅನ್ನು ನಿರ್ಧರಿಸಲು ಬಳಸುವ ಡೇಟಾ ಸಂಪೂರ್ಣವಾಗಿ ಪಾರದರ್ಶಕವಾಗಿದೆ. + +ಇಥಿರಿಯಮ್ ಉತ್ಪನ್ನಗಳು, ಯಾವುದೇ ಸಾಫ್ಟ್ವೇರ್ನಂತೆ, ದೋಷಗಳು ಮತ್ತು ಶೋಷಣೆಗಳಿಂದ ಬಳಲಬಹುದು. ಆದ್ದರಿಂದ ಇದೀಗ ಬಹಳಷ್ಟು ವಿಮಾ ಉತ್ಪನ್ನಗಳು ತಮ್ಮ ಬಳಕೆದಾರರನ್ನು ಹಣದ ನಷ್ಟದಿಂದ ರಕ್ಷಿಸುವತ್ತ ಗಮನ ಹರಿಸುತ್ತವೆ. ಆದಾಗ್ಯೂ, ಜೀವನವು ನಮ್ಮ ಮೇಲೆ ಎಸೆಯಬಹುದಾದ ಎಲ್ಲದಕ್ಕೂ ವ್ಯಾಪ್ತಿಯನ್ನು ನಿರ್ಮಿಸಲು ಪ್ರಾರಂಭಿಸುವ ಯೋಜನೆಗಳಿವೆ. ಇದಕ್ಕೆ ಉತ್ತಮ ಉದಾಹರಣೆಯೆಂದರೆ Etherisc's Crop cover - ಎಥೆರಿಸ್ಕ್ ನ ಬೆಳೆ ಹೊದಿಕೆ, ಇದು ಕೀನ್ಯಾದಲ್ಲಿ [ಸಣ್ಣ ಹಿಡುವಳಿದಾರ ರೈತರನ್ನು ಬರಗಾಲ ಮತ್ತು ಪ್ರವಾಹದಿಂದ ರಕ್ಷಿಸುವ](https://blog.etherisc.com/etherisc-teams-up-with-chainlink-to-deliver-crop-insurance-in-kenya-137e433c29dc) ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ವಿಕೇಂದ್ರೀಕೃತ ವಿಮೆಯು ಸಾಂಪ್ರದಾಯಿಕ ವಿಮೆಯಿಂದ ಹೊರಗುಳಿದ ರೈತರಿಗೆ ಅಗ್ಗದ ರಕ್ಷಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. + + + ವಿಮಾ dapps ನೋಡಿ + + + + +### ಅಗ್ರಿಗೇಟರ್ ಗಳು ಮತ್ತು ಪೋರ್ಟ್‍ಫೋಲಿಯೊ ಮ್ಯಾನೇಜರ್ ಗಳು {#aggregators} + +ಇಷ್ಟೆಲ್ಲಾ ನಡೆಯುತ್ತಿರುವಾಗ, ನಿಮ್ಮ ಎಲ್ಲಾ ಹೂಡಿಕೆಗಳು, ಸಾಲಗಳು ಮತ್ತು ವಹಿವಾಟುಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ನಿಮಗೆ ಒಂದು ಮಾರ್ಗ ಬೇಕು. ನಿಮ್ಮ ಎಲ್ಲಾ ಡಿಫೈ ಚಟುವಟಿಕೆಯನ್ನು ಒಂದೇ ಸ್ಥಳದಿಂದ ಸಮನ್ವಯಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಉತ್ಪನ್ನಗಳ ಇದೆ. ಇದು ಡಿಫೈನ ಮುಕ್ತ ವಾಸ್ತುಶಿಲ್ಪದ ಸೌಂದರ್ಯವಾಗಿದೆ. ತಂಡಗಳು ಇಂಟರ್ಫೇಸ್‍ಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು, ಅಲ್ಲಿ ನೀವು ಉತ್ಪನ್ನಗಳಾದ್ಯಂತ ನಿಮ್ಮ ಸಮತೋಲನವನ್ನು ನೋಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ನೀವು ಅವರ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸಹ ಬಳಸಬಹುದು. ನೀವು DeFi ಬಗ್ಗೆ ಹೆಚ್ಚು ಅನ್ವೇಷಿಸುವಾಗ ಇದು ನಿಮಗೆ ಉಪಯುಕ್ತವಾಗಬಹುದು. + + + ಪೋರ್ಟ್‍ಫೋಲಿಯೊ dapps ನೋಡಿ + + + + +## DeFi ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? {#how-defi-works} + +ಮಧ್ಯವರ್ತಿಗಳ ಅಗತ್ಯವಿಲ್ಲದ ಸೇವೆಗಳನ್ನು ಒದಗಿಸಲು ಡಿಫೈ ಕ್ರಿಪ್ಟೋಕರೆನ್ಸಿಗಳು ಮತ್ತು ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಇಂದಿನ ಹಣಕಾಸು ಜಗತ್ತಿನಲ್ಲಿ, ಹಣಕಾಸು ಸಂಸ್ಥೆಗಳು ವಹಿವಾಟಿನ ಖಾತರಿದಾರರಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಇದು ಈ ಸಂಸ್ಥೆಗಳಿಗೆ ಅಪಾರ ಶಕ್ತಿಯನ್ನು ನೀಡುತ್ತದೆ ಏಕೆಂದರೆ ನಿಮ್ಮ ಹಣವು ಅವುಗಳ ಮೂಲಕ ಹರಿಯುತ್ತದೆ. ಜೊತೆಗೆ ಪ್ರಪಂಚದಾದ್ಯಂತದ ಶತಕೋಟಿ ಜನರು ಬ್ಯಾಂಕ್ ಖಾತೆಯನ್ನು ಸಹ ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. + +DeFi ನಲ್ಲಿ, ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ವ್ಯವಹಾರದಲ್ಲಿ ಹಣಕಾಸು ಸಂಸ್ಥೆಯನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಒಂದು ರೀತಿಯ ಇಥಿರಿಯಮ್ ಖಾತೆಯಾಗಿದ್ದು, ಅದು ಹಣವನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳಬಹುದು ಮತ್ತು ಕೆಲವು ಷರತ್ತುಗಳ ಆಧಾರದ ಮೇಲೆ ಅವುಗಳನ್ನು ಕಳುಹಿಸಬಹುದು / ಮರುಪಾವತಿ ಮಾಡಬಹುದು. ಆ ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಲೈವ್ ಆಗಿರುವಾಗ ಯಾರೂ ಅದನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ - ಅದು ಯಾವಾಗಲೂ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿದಂತೆ ಚಲಿಸುತ್ತದೆ. + +ಭತ್ಯೆ ಅಥವಾ ಪಾಕೆಟ್ ಹಣವನ್ನು ಹಸ್ತಾಂತರಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಒಪ್ಪಂದವನ್ನು ಪ್ರತಿ ಶುಕ್ರವಾರ ಖಾತೆ A ಯಿಂದ ಖಾತೆ B ಗೆ ಹಣವನ್ನು ಕಳುಹಿಸಲು ಪ್ರೋಗ್ರಾಂ ಮಾಡಬಹುದು. ಮತ್ತು ಖಾತೆ A ಅಗತ್ಯವಾದ ಹಣವನ್ನು ಹೊಂದಿರುವವರೆಗೆ ಮಾತ್ರ ಅದು ಅದನ್ನು ಮಾಡುತ್ತದೆ. ಹಣವನ್ನು ಕದಿಯಲು ಯಾರೂ ಒಪ್ಪಂದವನ್ನು ಬದಲಾಯಿಸಲು ಮತ್ತು ಖಾತೆ C ಅನ್ನು ಸ್ವೀಕರಿಸುವವರಾಗಿ ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. + +ಯಾರಾದರೂ ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಲೆಕ್ಕಪರಿಶೋಧನೆ ಮಾಡಲು ಒಪ್ಪಂದಗಳು ಸಾರ್ವಜನಿಕವಾಗಿವೆ. ಇದರರ್ಥ ಕೆಟ್ಟ ಒಪ್ಪಂದಗಳು ಆಗಾಗ್ಗೆ ಸಮುದಾಯದ ಪರಿಶೀಲನೆಗೆ ಬರುತ್ತವೆ. + +ಇದರರ್ಥ ಪ್ರಸ್ತುತ ಕೋಡ್ ಓದಬಲ್ಲ ಇಥಿರಿಯಮ್ ಸಮುದಾಯದ ಹೆಚ್ಚು ತಾಂತ್ರಿಕ ಸದಸ್ಯರನ್ನು ನಂಬುವ ಅವಶ್ಯಕತೆಯಿದೆ. ಓಪನ್-ಸೋರ್ಸ್ ಆಧಾರಿತ ಸಮುದಾಯವು ಡೆವಲಪರ್ ಗಳನ್ನು ನಿಯಂತ್ರಣದಲ್ಲಿಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಆದರೆ ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು ಓದಲು ಸುಲಭವಾಗುವುದರಿಂದ ಮತ್ತು ಕೋಡ್‍ನ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಸಾಬೀತುಪಡಿಸಲು ಇತರ ಮಾರ್ಗಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವುದರಿಂದ ಈ ಅಗತ್ಯವು ಕಾಲಾನಂತರದಲ್ಲಿ ಕಡಿಮೆಯಾಗುತ್ತದೆ. + +## ಇಥಿರಿಯಮ್ ಮತ್ತು DeFi {#ethereum-and-defi} + +ಇಥಿರಿಯಮ್ ಹಲವಾರು ಕಾರಣಗಳಿಗಾಗಿ DeFi ಗೆ ಪರಿಪೂರ್ಣ ಅಡಿಪಾಯವಾಗಿದೆ: + +- ಇಥಿರಿಯಮ್ ಅಥವಾ ಅದರ ಮೇಲೆ ವಾಸಿಸುವ ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳನ್ನು ಯಾರೂ ಹೊಂದಿಲ್ಲ - ಇದು ಎಲ್ಲರಿಗೂ DeFi ಬಳಸಲು ಅವಕಾಶವನ್ನು ನೀಡುತ್ತದೆ. ಇದರರ್ಥ ನಿಮ್ಮ ಮೇಲಿನ ನಿಯಮಗಳನ್ನು ಯಾರೂ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. +- DeFi ಉತ್ಪನ್ನಗಳು ತೆರೆಮರೆಯಲ್ಲಿ ಒಂದೇ ಭಾಷೆಯನ್ನು ಮಾತನಾಡುತ್ತವೆ: ಇಥಿರಿಯಮ್. ಇದರರ್ಥ ಅನೇಕ ಉತ್ಪನ್ನಗಳು ತಡೆರಹಿತವಾಗಿ ಒಟ್ಟಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ. ನೀವು ಒಂದು ಪ್ಲಾಟ್‍ಫಾರ್ಮ್‍ನಲ್ಲಿ ಟೋಕನ್‍ಗಳನ್ನು ಸಾಲವಾಗಿ ನೀಡಬಹುದು ಮತ್ತು ಬಡ್ಡಿ ನೀಡುವ ಟೋಕನ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನ ಅಪ್ಲಿಕೇಶನ್‍ನಲ್ಲಿ ಬೇರೆ ಮಾರುಕಟ್ಟೆಯಲ್ಲಿ ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಬಹುದು. ಇದು ನಿಮ್ಮ ಬ್ಯಾಂಕಿನಲ್ಲಿ ಲಾಯಲ್ಟಿ ಪಾಯಿಂಟ್‍ಗಳನ್ನು ನಗದು ಮಾಡಲು ಸಾಧ್ಯವಾಗುವಂತೆ. +- ಟೋಕನ್‍ಗಳು ಮತ್ತು ಕ್ರಿಪ್ಟೋಕರೆನ್ಸಿಯನ್ನು ಹಂಚಿಕೆಯ ಲೆಡ್ಜರ್ ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ - ವಹಿವಾಟುಗಳು ಮತ್ತು ಮಾಲೀಕತ್ವದ ಮೇಲೆ ನಿಗಾ ಇಡುವುದು ಇಥಿರಿಯಮ್‍ನ ವಿಷಯವಾಗಿದೆ. +- ಇಥಿರಿಯಮ್ ಸಂಪೂರ್ಣ ಆರ್ಥಿಕ ಸ್ವಾತಂತ್ರ್ಯವನ್ನು ಅನುಮತಿಸುತ್ತದೆ - ಹೆಚ್ಚಿನ ಉತ್ಪನ್ನಗಳು ಎಂದಿಗೂ ನಿಮ್ಮ ಹಣವನ್ನು ವಶಕ್ಕೆ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ, ನಿಮ್ಮನ್ನು ನಿಯಂತ್ರಣದಲ್ಲಿ ಬಿಡುತ್ತವೆ. + +ನೀವು ಪದರಗಳಲ್ಲಿ DeFi ಬಗ್ಗೆ ಯೋಚಿಸಬಹುದು: + +1. ಬ್ಲಾಕ್‍ಚೈನ್ - ಇಥಿರಿಯಮ್ ವಹಿವಾಟು ಇತಿಹಾಸ ಮತ್ತು ಖಾತೆಗಳ ಸ್ಥಿತಿಯನ್ನು ಒಳಗೊಂಡಿದೆ. +2. ಸ್ವತ್ತುಗಳು - [ETH](/eth/) ಮತ್ತು ಇತರ ಟೋಕನ್‍ಗಳು (ಕರೆನ್ಸಿಗಳು). +3. ಪ್ರೋಟೋಕಾಲ್‍ಗಳು - ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಒದಗಿಸುವ [ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು](/glossary/#smart-contract), ಉದಾಹರಣೆಗೆ, ಸ್ವತ್ತುಗಳ ವಿಕೇಂದ್ರೀಕೃತ ಸಾಲಕ್ಕೆ ಅನುಮತಿಸುವ ಸೇವೆ. +4. [ಅಪ್ಲಿಕೇಶನ್ ಗಳು](/dapps/) - ಪ್ರೋಟೋಕಾಲ್ ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಪ್ರವೇಶಿಸಲು ನಾವು ಬಳಸುವ ಉತ್ಪನ್ನಗಳು. + +## DeFi ನಿರ್ಮಿಸಿ {#build-defi} + +DeFi ಒಂದು ಓಪನ್ ಸೋರ್ಸ್ ಚಳವಳಿಯಾಗಿದೆ. DeFi ಪ್ರೋಟೋಕಾಲ್ ಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‍ಗಳು ನಿಮಗೆ ಪರಿಶೀಲಿಸಲು, ಫೋರ್ಕ್ ಮಾಡಲು ಮತ್ತು ಆವಿಷ್ಕಾರ ಮಾಡಲು ಮುಕ್ತವಾಗಿವೆ. ಈ ಲೇಯರ್ಡ್ ಸ್ಟ್ಯಾಕ್ ಕಾರಣದಿಂದಾಗಿ (ಅವೆಲ್ಲವೂ ಒಂದೇ ಮೂಲ ಬ್ಲಾಕ್‍ಚೈನ್ ಮತ್ತು ಸ್ವತ್ತುಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ), ಪ್ರೋಟೋಕಾಲ್‍ಗಳನ್ನು ಮಿಶ್ರಣ ಮಾಡಬಹುದು ಮತ್ತು ಅನನ್ಯ ಕಾಂಬೋ ಅವಕಾಶಗಳನ್ನು ಅನ್‍ಲಾಕ್ ಮಾಡಲು ಹೊಂದಿಸಬಹುದು. + + + dapps ಗಳನ್ನು ನಿರ್ಮಿಸುವ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು + + +## Further reading {#futher-reading} + +### DeFi ಡೇಟಾ {#defi-data} + +- [DeFi ಪ್ರೈಮ್](https://defiprime.com/) +- [DeFi Llama](https://defillama.com/) +- [DeFi ದರ](https://defirate.com/) + +### DeFi ಲೇಖನಗಳು {#defi-articles} + +- [DeFi ಗೆ ಆರಂಭಿಕ ಮಾರ್ಗದರ್ಶಿ](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) - _ಸಿಡ್ ಕೊಯೆಲ್ಹೋ-ಪ್ರಭು, ಜನವರಿ 6, 2020_ + +### Videos {#videos} + +- [ಫೈನ್ಮ್ಯಾಟಿಕ್ಸ್ - ವಿಕೇಂದ್ರೀಕೃತ ಹಣಕಾಸು ಶಿಕ್ಷಣ](https://finematics.com/) - _DeFi ಕುರಿತ ವೀಡಿಯೊಗಳು_ +- [ದಿ ಡಿಫೆಂಟ್](https://www.youtube.com/playlist?list=PLaDcID4s1KronHMKojfjwiHL0DdQEPDcq) - _DeFi ಬೇಸಿಕ್ಸ್: ಸಾಂದರ್ಭಿಕವಾಗಿ ಗೊಂದಲಮಯವಾಗಿರುವ ಈ ಜಾಗದಲ್ಲಿ ಪ್ರಾರಂಭಿಸಲು ನೀವು ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದ ಎಲ್ಲವೂ._ +- [ವೈಟ್ಬೋರ್ಡ್ ಕ್ರಿಪ್ಟೋ](https://youtu.be/17QRFlml4pA)_DeFi ಎಂದರೇನು?_ + +### ಸಮುದಾಯಗಳು {#communities} + +- [DeFi Llama ಡಿಸ್ಕಾರ್ಡ್ ಸರ್ವರ್](https://discord.gg/buPFYXzDDd) +- [DeFi Pulse ಡಿಸ್ಕಾರ್ಡ್ ಸರ್ವರ್](https://discord.gg/Gx4TCTk) diff --git a/src/content/translations/kn/desci/index.md b/src/content/translations/kn/desci/index.md new file mode 100644 index 00000000000..226773fc7c2 --- /dev/null +++ b/src/content/translations/kn/desci/index.md @@ -0,0 +1,139 @@ +--- +title: ವಿಕೇಂದ್ರೀಕರಿತ ವಿಜ್ಞಾನ (ಡಿಸೈ) +description: ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನದ ಒಂದು ಅವಲೋಕನ +lang: kn +template: use-cases +emoji: ":microscope:" +sidebarDepth: 2 +image: ../../../../assets/future_transparent.png +alt: "" +summaryPoint1: ಪ್ರಸ್ತುತ ವೈಜ್ಞಾನಿಕ ವ್ಯವಸ್ಥೆಗೆ ಜಾಗತಿಕ, ಮುಕ್ತ ಪರ್ಯಾಯ. +summaryPoint2: ವಿಜ್ಞಾನಿಗಳಿಗೆ ಅನ್ವಯಿಸಿಕೊಳ್ಳುವ ಹಣ ಸಂಗ್ರಹಣೆ, ಪ್ರಯೋಗಾಲೋಚನೆ ನಡೆಸುವುದು, ಡೇಟಾ ಹಂಚಿಕೆ ಮಾಡುವುದು, ಅರಿವುಗಳನ್ನು ಹರಡುವುದು, ಮತ್ತು ಇತರ ಕ್ರಿಯೆಗಳನ್ನು ಮುಗಿಸಿಕೊಳ್ಳುವ ತಂತ್ರಜ್ಞಾನ ಮತ್ತಷ್ಟು ಆಗಿದೆ. +summaryPoint3: ಮುಕ್ತ ವಿಜ್ಞಾನ ಚಳುವಳಿಗೆ ಆಧಾರವಾಗಿ ನಿರ್ಮಿಸಲಾಗುತ್ತದೆ. +--- + +## ಸ್ವತಂತ್ರ ವಿಜ್ಞಾನ (DeSci) ಎಂದರೇನು? {#what-is-desci} + +ಡಿಸೆಂಟ್ರಲೈಸ್ಡ್‌ ಸೈನ್ಸ್ (DeSci) Web3 ಸ್ಟ್ಯಾಕ್‌ನ ಬಳಕೆಯನ್ನು ಬಳಸಿ, ತರಬೇತಿಗೊಳಿಸುವ ಜನರ ಅನುಭವ ಸರಣಿ, ಸೃಷ್ಟಿಸುವ ಹಾಗೂ ಸಮೀಕ್ಷೆಯನ್ನು ಮಾಡುವುದು, ಪ್ರಶಸ್ತಿ ಪಡೆಯುವುದು, ಇಳಿಯುವುದು ಮತ್ತು ವಿಜ್ಞಾನಿಕ ಜ್ಞಾನವನ್ನು ನ್ಯಾಯವಾಗಿ ಮತ್ತು ಸಮಾನವಾಗಿ ಜನರಿಗೆ ಹಂಚಿಕೊಡುವುದು ಗುರಿಯಾಗಿದೆ. + +DeSci ವಿಜ್ಞಾನಿಗಳು ತಮ್ಮ ಸಂಶೋಧನೆಯನ್ನು ನಿಸ್ವಾರ್ಥವಾಗಿ ಪ್ರಖರವಾಗಿ ಹಂಚಿ ಅದರ ಕೃತಿಯನ್ನು ಗೌರವಿಸಲು ಪ್ರೇರಿಸುವ ಪರಿಸರವನ್ನು ಸೃಷ್ಟಿಸಲು ಉದ್ದೇಶಿಸುತ್ತಿದೆ. ಹೀಗೆಯೇ ಯಾವುದೇ ವ್ಯಕ್ತಿಗೂ ಸಂಶೋಧನೆಗೆ ಸುಲಭವಾದ ಪ್ರವೇಶವನ್ನೂ ಕೊಡುತ್ತದೆ ಮತ್ತು ಅದರಲ್ಲಿ ಭಾಗವಹಿಸುವುದೂ ಸಾಧ್ಯವಾಗುವ ಒಂದು ಪರಿಸರವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ವಿಜ್ಞಾನದ ಜ್ಞಾನವು ಪ್ರತಿಯೊಬ್ಬರಿಗೂ ಸುಲಭವಾಗಿ ಹೊಂದಿಕೊಳ್ಳಬೇಕೆಂದು ಮತ್ತು ವಿಜ್ಞಾನ ಸಂಶೋಧನೆಯ ಪ್ರಕ್ರಿಯೆಯು ಪ್ರಾದೇಶಿಕವಾಗಿರಬೇಕೆಂದು ನಿರೀಕ್ಷೆಯನ್ನು ಅನುಸರಿಸುವ ವಿಚಾರದ ಆಧಾರದ ಮೇಲೆ DeSci ಕೆ ಕಾರ್ಯ ನಡೆಸುತ್ತದೆ. DeSci ಸಾಮಾಜಿಕ ಅಧ್ಯಯನ ಆಧಾರಿತ ಮತ್ತು ಪರಿಶೀಲಿಸುವ ಏಕೀಕೃತ ಮತ್ತು ವಿಸ್ತರಿಸಿದ ವಿಜ್ಞಾನಿಗೆ ಅನುಕೂಲವಾಗಿ ಹೊಸ ವಿಜ್ಞಾನ ಹಂತವನ್ನು ರೂಪಿಸುತ್ತಿದೆ, ಅದನ್ನು ಸೆಂಟ್ರಲ್ ಆಡಳಿತದ ಮೇಲೆ ನಿಗದಿಪಡಿಸುವ ಹಂತಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಹೋರಾಟ ಮಾಡಲು ಹೊಂದಿಕೊಳ್ಳುತ್ತಿದೆ. DeSci ಹೂಡಾಡುತ್ತಿರುವ ಆಶಿಸುವುದು, ಅನ್ವಯವಾದ ಹಣ ಸುಲಭವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುವುದು, ವೈಜ್ಞಾನಿಕ ಉಪಕರಣಗಳನ್ನು ಮತ್ತು ಸಂಪರ್ಕ ಕೇಂದ್ರಗಳಿಗೆ ಅಪವಾದಕರ ಕಲ್ಪನೆಗಳ ಬೆಳವಣಿಗೆಗೆ ಒಂದು ಪರಿಸರ ರಚಿಸುವುದನ್ನುಕ್ಕೊಳ್ಳುವುದು. + +ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನವು ಹೆಚ್ಚು ವೈವಿಧ್ಯಮಯ ಧನಸಹಾಯ ಮೂಲಗಳನ್ನು ([DAOs](/dao/), [ಕ್ವಾಡ್ರಾಟಿಕ್ ದೇಣಿಗೆಗಳಿಂದ](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531) ಕ್ರೌಡ್ ಫಂಡಿಂಗ್ ಮತ್ತು ಹೆಚ್ಚಿನವು), ಹೆಚ್ಚು ಪ್ರವೇಶಿಸಬಹುದಾದ ಪ್ರವೇಶ ಡೇಟಾ ಮತ್ತು ವಿಧಾನಗಳು ಮತ್ತು ಪುನರುತ್ಪಾದನೆಗೆ ಪ್ರೋತ್ಸಾಹಕಗಳನ್ನು ಒದಗಿಸುವ ಮೂಲಕ ಅನುಮತಿಸುತ್ತದೆ. + +### ಜುವಾನ್ ಬೆನೆಟ್ - ಡಿಸ್ಯೆ ಚಲನೆ + + + +## DeSci ವಿಜ್ಞಾನವನ್ನು ಹೇಗೆ ಸುಧಾರಿಸುತ್ತದೆ {#desci-improves-science} + +ವಿಜ್ಞಾನದಲ್ಲಿ ಮುಖ್ಯ ಸಮಸ್ಯೆಗಳ ಒಂದು ಅಪೂರ್ಣ ಪಟ್ಟಿ ಮತ್ತು ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಸಮಾಧಾನ ಹೇಗೆ ಪಡೆಯಬೇಕೆಂದು ಸೂಕ್ತಿಸುವ ವಿಜ್ಞಾನ ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನ ಹೇಗೆ ಸಹಾಯ ಮಾಡಬಹುದು + +| **ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನ** | **ಸಾಂಪ್ರದಾಯಿಕ ವಿಜ್ಞಾನ** | +| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| ಹಣದ ವಿತರಣೆಯು ಬೇರೆಯವರು ಬಳಸುವ ಕ್ವಾಡ್ರಾಟಿಕ್ ದಾನಗಳು ಅಥವಾ DAO ಗಳು ಮುಂತಾದ ಯಂತ್ರಗಳ ಮೂಲಕ ಪ್ರಜೆಗೆ ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ. | ಸಣ್ಣ, ಮುಚ್ಚಿದ, ಕೇಂದ್ರೀಕೃತ ಗುಂಪುಗಳು ನಿಧಿಯ ವಿತರಣೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತವೆ. | +| ನೀವು ವಿಶ್ವದ ವಿವಿಧ ದೇಶಗಳಿಂದ ಬಂದ ಸಹೋದ್ಯೋಗಿಗಳೊಂದಿಗೆ ಚಟುವಟಿಕೆಗಾಗಿ ಸೇರುತ್ತೀರಿ. | ಧನಸಹಾಯ ಸಂಸ್ಥೆಗಳು ಮತ್ತು ಗೃಹ ಸಂಸ್ಥೆಗಳು ನಿಮ್ಮ ಸಹಯೋಗವನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತವೆ. | +| ನಿಧಿ ನಿರ್ಧಾರಣೆಗಳು ಆನ್‌ಲೈನ್ ಮತ್ತು ಪಾರದರ್ಶಕವಾಗಿ ಮಾಡಲ್ಪಡುತ್ತವೆ. ಹೊಸ ಹಣಕಾಸಿನ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಅನ್ವೇಷಿಸಲಾಗಿದೆ. | ನಿಧಿ ನಿರ್ಧಾರಣೆಗಳು ದೀರ್ಘ ವಿಮರ್ಶಾಕಾಲದಲ್ಲಿ ಮತ್ತು ಸೀಮಿತ ಪಾರದರ್ಶಕತೆಯಿಂದ ನಡೆದುಕೊಳ್ಳುತ್ತವೆ. ಕೆಲವು ಹಣಕಾಸಿನ ಕಾರ್ಯವಿಧಾನಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ. | +| ವೆಬ್ 3 ಮೂಲಕ ಶಾಲೆ ಸೇವೆಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದು ಹೆಚ್ಚು ಸುಲಭ ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿದೆ. | ಪ್ರಯೋಗಾಲಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹಂಚುವುದು ಸುಮಾರು ನೆಟ್ಟಗಣ್ಣಿನಿಂದ ಮತ್ತು ಮಂದಬುದ್ಧಿಯಿಂದಾಗಿದೆ. | +| ಟ್ರಸ್ಟ್, ಪ್ರಕಾಶನೆಗೆ ಟ್ರಾನ್ಸ್‌ಪ್ಯಾರೆನ್ಸಿ ಮತ್ತು ವಿಶ್ವವ್ಯಾಪಿ ಪ್ರವೇಶಕ್ಕಾಗಿ ವೆಬ್ 3 ಮೂಲಭೂತ ಆಧಾರಗಳನ್ನು ಬಳಸುವ ಹೊಸ ಮಾದರಿಗಳನ್ನು ತಯಾರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. | ಅಸಮರ್ಥ, ಪಕ್ಷಪಾತ ಮತ್ತು ಶೋಷಣೆ ಎಂದು ಆಗಾಗ್ಗೆ ಒಪ್ಪಿಕೊಂಡಿರುವ ಸ್ಥಾಪಿತ ಮಾರ್ಗಗಳ ಮೂಲಕ ನೀವು ಪ್ರಕಟಿಸುತ್ತೀರಿ. | +| ಪೀರ್-ರಿವ್ಯೂ ಮಾಡುವ ಕೆಲಸಕ್ಕಾಗಿ ನೀವು ಟೋಕನ್‌ಗಳು ಮತ್ತು ಖ್ಯಾತಿಯನ್ನು ಗಳಿಸಬಹುದು. | ನಿಮ್ಮ ಪೀರ್-ರಿವ್ಯೂ ಕೆಲಸವು ಪಾವತಿಸದೆ, ಲಾಭದಾಯಕ ಪ್ರಕಾಶಕರಿಗೆ ಪ್ರಯೋಜನವನ್ನು ನೀಡುತ್ತದೆ. | +| ನೀವು ಬೌದ್ಧಿಕ ಆಸ್ತಿಯನ್ನು (IP) ಹೊಂದಿದ್ದೀರಿ ಮತ್ತು ಅದನ್ನು ಪಾರದರ್ಶಕ ನಿಯಮಗಳ ಪ್ರಕಾರ ವಿತರಿಸುತ್ತೀರಿ. | ನಿಮ್ಮ ಮನೆಯ ಸಂಸ್ಥೆಯು ನೀವು ಉತ್ಪಾದಿಸುವ IP ಅನ್ನು ಹೊಂದಿದೆ. IP ಗೆ ಪ್ರವೇಶವು ಪಾರದರ್ಶಕವಾಗಿಲ್ಲ. | +| ಎಲ್ಲ ಸಂಶೋಧನೆಯನ್ನು ಹಾಗೂ ಯಶಸ್ವೀಯಾಗಿರಲಿಲ್ಲದ ಪ್ರಯತ್ನಗಳ ಡೇಟಾವನ್ನು ಹೊಂದಿರುವ, ಅನ್ನುವ ಮೂಲಕವಾಗಿ ಎಲ್ಲ ಹೆಜ್ಜೆಗಳನ್ನು ಒಂದು-ಚೈನ್ ಮೇಲೆ ಹಂಚಿಕೊಳ್ಳುವುದು. | ಪಬ್ಲಿಕೇಷನ್ ಪಕ್ಷಪಾತ ಎಂದರೆ ಸಂಶೋಧಕರು ಯಶಸ್ವಿ ಫಲಿತಾಂಶಗಳನ್ನು ಹೊಂದಿರುವ ಪ್ರಯೋಗಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುವ ಸಾಧ್ಯತೆ ಹೆಚ್ಚು. | + +## ಇಥಿರಿಯಮ್ ಮತ್ತು DeSci {#ethereum-and-desci} + +ಒಂದು ಅಕಂಪುನಿಯಂತೆಯೇ ವಿಜ್ಞಾನ ವ್ಯವಸ್ಥೆಗೆ ದೃಢವಾದ ಸುರಕ್ಷೆ, ಕನಿಷ್ಠ ಹಣ ಮತ್ತು ಲಂಚದ ಖರ್ಚುಗಳು ಮತ್ತು ಅರ್ಜನೆ ಅಭಿವೃದ್ಧಿಗಾಗಿ ಒಂದು ಸ್ಥಳೀಯವಾದ ಸರಪಡಿಯು ಅಗತ್ಯವಾಗುತ್ತದೆ. ಇಥಿರಿಯಮ್ ಒಂದು ಆಧಾರವಾದ ವಿಜ್ಞಾನ ಉಸಿರಾಟಕ್ಕೆ ಅನ್ಯತ್ರ ಬೇಕಾದ ಎಲ್ಲವನ್ನು ಒದಗಿಸುತ್ತದೆ. + +## DeSci ಬಳಕೆಯ ಪ್ರಕರಣಗಳು {#use-cases} + +DeSci Web2 ಅಕ್ಯಾಡೆಮಿಯನ್ನು ಡಿಜಿಟಲ್ ಪ್ರಪಂಚಕ್ಕೆ ಸೇರಿಸಲು ವಿಜ್ಞಾನಿಗಳ ಟೂಲ್‍ಸೆಟ್ ನಿರ್ಮಿಸುತ್ತಿದೆ. ಜ್ಞಾನಶಾಸ್ತ್ರ ಸಮುದಾಯಕ್ಕೆ Web3 ಅನ್ನು ಒದಗಿಸಬಹುದಾದ ಬಳಕೆಗಳ ಒಂದು ನಮೂದಾವಳಿ ಕೆಳಗೆ ಇದೆ. + +### ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ {#publishing} + +ವಿಜ್ಞಾನ ಪ್ರಕಟಣೆ ಯಜಮಾನಿಗಳ ಮೂಲಕ ನಿರ್ವಹಿಸಲ್ಪಟ್ಟ ಹಳೆಯದಾಗಿದೆ, ಯಾಕೆಂದರೆ ಅದು ವಿಜ್ಞಾನಿಗಳ, ವಿಮರ್ಶಕರ ಮತ್ತು ಸಂಪಾದಕರ ಮೂಲಕ ಉತ್ಪನ್ನಗೊಳ್ಳುವ ಪ್ರಬಂಧಗಳ ಮೇಲೆ ಮುಕ್ತಾಯವಿಲ್ಲದ ಕೆಲಸಕ್ಕೆ ನಿರರ್ಥಕಗಳನ್ನು ಆಧಾರಿಸಿರುವ ಪ್ರಕಟಣೆ ಶಿಸ್ತು ಆಯ್ಕೆಗೆ ಗೊತ್ತಾಗಿದೆ. ಪ್ರಕಟಣೆ ಹಂಚುವ ವ್ಯಯದ ಮೂಲಕ ಹಣ ಪಡೆದ ಜನರು ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರಕಟಣೆಗೆ ಮತ್ತು ಪ್ರಕಟಣೆ ಖರ್ಚುಗಳಿಗೆ ನೇರವಾಗಿ ಪ್ರಮುಖವಾಗಿ ತೆರವಲ್ಲಿರುವ ಸಾರ್ವಜನಿಕರು, ಪ್ರಕಟಣೆಯನ್ನು ಮತ್ತೆ ಪ್ರಕಟಿಸುವುದಕ್ಕಾಗಿ ಪುನಃ ಪ್ರಕಟಕರಿಗೆ ಹಣ ಪಡೆದು ಪ್ರವೇಶಿಸುವುದಿಲ್ಲ. ವೈಯಕ್ತಿಕ ವಿಜ್ಞಾನ ಪತ್ರಿಕೆಗಳನ್ನು ಪ್ರಕಟಿಸುವ ಒಟ್ಟು ಶುಲ್ಕವು ಸಾಮಾನ್ಯವಾಗಿ ಐದು ಅಂಕಿಗಳು ($USD), ಇದು ವೈಜ್ಞಾನಿಕ ಜ್ಞಾನವನ್ನು [ಸಾರ್ವಜನಿಕ ಒಳಿತಾಗಿ](https://www.econlib.org/library/Enc/PublicGoods.html) ಇಡೀ ಪರಿಕಲ್ಪನೆಯನ್ನು ದುರ್ಬಲಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರಕಾಶಕರ ಸಣ್ಣ ಗುಂಪಿಗೆ ಅಪಾರ ಲಾಭವನ್ನು ಗಳಿಸುತ್ತದೆ. + +ಉಚಿತ ಮತ್ತು ಮುಕ್ತ-ಪ್ರವೇಶ ವೇದಿಕೆಗಳು [ArXiv ನಂತಹ](https://arxiv.org/) ಪೂರ್ವ-ಮುದ್ರಣ ಸರ್ವರ್ ಗಳ ರೂಪದಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ. ಆದಾಗ್ಯೂ, ಈ ಪ್ಲಾಟ್‍ಫಾರ್ಮ್‍ಗಳ ಗುಣಮಟ್ಟದ ನಿಯಂತ್ರಣ, [ಸಿಬಿಲ್ ವಿರೋಧಿ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು](https://csrc.nist.gov/glossary/term/sybil_attack) ಹೊಂದಿಲ್ಲ, ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಲೇಖನ-ಮಟ್ಟದ ಮೆಟ್ರಿಕ್‍ಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದಿಲ್ಲ, ಅಂದರೆ ಅವುಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಸಾಂಪ್ರದಾಯಿಕ ಪ್ರಕಾಶಕರಿಗೆ ಸಲ್ಲಿಸುವ ಮೊದಲು ಕೆಲಸವನ್ನು ಪ್ರಚಾರ ಮಾಡಲು ಮಾತ್ರ ಬಳಸಲಾಗುತ್ತದೆ. SciHub ಸಹ ಪ್ರಕಟಿತ ಪೇಪರ್ಸ್ ಉಚಿತ ಆಕ್ಸೆಸ್ ಮಾಡಿಸುತ್ತದೆ, ಆದರೆ ನೀತಿಗೆ ತಕ್ಕಂತೆ ಅಲ್ಲ, ಮತ್ತು ಪ್ರಕಟಕರು ತಮಗೆ ಪಾವತಿಸಲು ಮುಂದುವರೆದ ನಂತರ ಮಾತ್ರ ಮುಕ್ತವಾಗುತ್ತದೆ, ಮತ್ತು ಕಾಪಿರೈಟ್ ನಿಯಮಗಳ ತಡೆಹಿಡಿದ ಕೆಲಸವನ್ನು ಆವರಣ ಮಾಡಿರುತ್ತದೆ. ಇದು ಪ್ರಾಧಾನ್ಯದ ಕುಂಟಕ ಅನುಭವಿಸಬಹುದಾದ ವಿಜ್ಞಾನ ಪ್ರಬಂಧಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಹೊಂದಿರುವ ತಿಳಿವಳಿಕೆ ಯಂತ್ರದ ಮತ್ತು ಪ್ರೋತ್ಸಾಹ ಮಾದರಿಯ ಒಳಗೊಂಡ ಒಂದು ಕ್ರಿಟಿಕಲ್ ಖಾಲಿಯನ್‌ನು ಬಿಡುವುದು. ಇಂತಹ ಒಂದು ವ್ಯವಸ್ಥೆ ನಿರ್ಮಿಸುವ ಸಾಧನಗಳು Web3 ಯಲ್ಲಿ ಇವೆ. + +### ಪುನರುತ್ಪಾದನೆ ಮತ್ತು ಪುನರಾವರ್ತನೆ {#reproducibility-and-replicability} + +ಪುನರುತ್ಪಾದನೆ ಮತ್ತು ಪುನರಾವರ್ತನೆಯು ಗುಣಮಟ್ಟದ ವೈಜ್ಞಾನಿಕ ಆವಿಷ್ಕಾರದ ಅಡಿಪಾಯವಾಗಿದೆ. + +- ಒಂದೇ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಒಂದೇ ತಂಡವು ಸತತವಾಗಿ ಪುನರುತ್ಪಾದಿಸಬಹುದಾದ ಫಲಿತಾಂಶಗಳನ್ನು ಹಲವಾರು ಬಾರಿ ಸಾಧಿಸಬಹುದು. +- ಒಂದೇ ರೀತಿಯ ಪ್ರಾಯೋಗಿಕ ಸೆಟಪ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ವಿಭಿನ್ನ ಗುಂಪಿನಿಂದ ಪುನರಾವರ್ತಿಸಬಹುದಾದ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಧಿಸಬಹುದು. + +ಹೊಸ Web3-ಸ್ಥಳೀಯ ಉಪಕರಣಗಳು ಪುನರುತ್ಪಾದನೆ ಮತ್ತು ಪುನರಾವರ್ತನೆಯು ಆವಿಷ್ಕಾರದ ಆಧಾರವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು. ನಾವು ಶೈಲಿಯನ್ನು ಅಕಡಮಿಯಾದ ವೈಜ್ಞಾನಿಕ ಸಚರಾಚರ ಕಪಡಿಗೆ ನೆಡಬಹುದು. ವೆಬ್3 ಪ್ರತಿ ವಿಶ್ಲೇಷಣಾ ಘಟಕಕ್ಕೆ ಪ್ರಮಾಣಿಕತೆಯನ್ನು ರಚಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ: ಅವೊಂದಕ್ಕೆ ಕ್ರಿಯಾಶೀಲಕವಾಗಿರುವ ನಿಗದಿತ ಮಾಹಿತಿ, ಗಣಕ ಇಂಜಿನ್, ಮತ್ತು ಅರ್ಜಿ ಫಲಿತಾಂಶ. ಒಪ್ಪಂದದ ವ್ಯವಸ್ಥೆಗಳ ಸೌಂದರ್ಯವೆಂದರೆ, ಈ ಘಟ್ಟಗಳನ್ನು ನಿರ್ವಹಿಸುವ ನಂತರ ನಂತರ ಯಾವುದೇ ವಿಶ್ವಸನೀಯ ನೆಟ್‍ವರ್ಕ್ ರಚನೆಗೆ ಒಂದು ನಿರ್ವಹಕರು ಪ್ರತಿಪುಷ್ಟಿಯನ್ನು ಮತ್ತು ಪ್ರತಿ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸಲು ಜವಾಬ್ದಾರರಾಗಬಹುದು. + +### ಧನಸಹಾಯ {#funding} + +ಧನಸಹಾಯ ವಿಜ್ಞಾನಕ್ಕೆ ಪ್ರಸ್ತುತ ಪ್ರಮಾಣಿತ ಮಾದರಿಯೆಂದರೆ ವ್ಯಕ್ತಿಗಳು ಅಥವಾ ವಿಜ್ಞಾನಿಗಳ ಗುಂಪುಗಳು ನಿಧಿಸಂಸ್ಥೆಗೆ ಲಿಖಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಮಾಡುತ್ತವೆ. ವಿಶ್ವಾಸಾರ್ಹ ವ್ಯಕ್ತಿಗಳ ಸಣ್ಣ ಸಮಿತಿಯು ಅರ್ಜಿಗಳನ್ನು ಸ್ಕೋರ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಂತರ ಅಭ್ಯರ್ಥಿಗಳ ಸಣ್ಣ ಭಾಗಕ್ಕೆ ಹಣವನ್ನು ನೀಡುವ ಮೊದಲು ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಸಂದರ್ಶಿಸುತ್ತದೆ. ಅರ್ಜಿ ಸಲ್ಲಿಸುವುದರಲ್ಲಿ ಮತ್ತು ಅನುದಾನ ಪಡೆಯುವುದರಲ್ಲಿ ವರ್ಷಗಳವರೆಗೆ ಕಾಯುವ ವೇಳೆಗೆ ಹೇಳಿದ್ದರಿಂದ, ಈ ಮಾದರಿಯು ಪರೀಕ್ಷಾ ಪಟ್ಟಿಯ ಅಭಿರುಚಿಗಳು, ಆತ್ಮಹಿತಗಳು ಮತ್ತು ರಾಜಕೀಯಗಳಿಂದ ಉಂಟಾಗುವ ಭದ್ರತೆಗೆ ತುಂಬಾ ಕಾರಣಗಳಾಗಿವೆ ಎಂದು ತಿಳಿಯಲಾಗಿದೆ. + +ವಿವಿಧ ಪ್ಯಾನೆಲ್‌ಗಳಿಗೆ ನೀಡಿದ ಅದೇ ಪ್ರಸ್ತಾವನೆಗಳು ವಿಭಿನ್ನ ಫಲಿತಾಂಶಗಳನ್ನು ಹೊಂದಿರುವುದರಿಂದ ಅನುದಾನ ಪರಿಶೀಲನಾ ಫಲಕಗಳು ಉತ್ತಮ-ಗುಣಮಟ್ಟದ ಪ್ರಸ್ತಾವನೆಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಕಳಪೆ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತವೆ ಎಂದು ಅಧ್ಯಯನಗಳು ತೋರಿಸಿವೆ. ಧನಸಹಾಯವು ಹೆಚ್ಚು ವಿರಳವಾಗಿರುವುದರಿಂದ, ಇದು ಹೆಚ್ಚು ಬೌದ್ಧಿಕವಾಗಿ ಸಂಪ್ರದಾಯವಾದಿ ಯೋಜನೆಗಳೊಂದಿಗೆ ಹೆಚ್ಚು ಹಿರಿಯ ಸಂಶೋಧಕರ ಒಂದು ಸಣ್ಣ ಪೂಲ್ ಆಗಿ ಕೇಂದ್ರೀಕೃತವಾಗಿದೆ. ಪರಿಣಾಮವು ಹೈಪರ್-ಸ್ಪರ್ಧಾತ್ಮಕ ನಿಧಿಯ ಭೂದೃಶ್ಯವನ್ನು ಸೃಷ್ಟಿಸಿದೆ, ವಿಕೃತ ಪ್ರೋತ್ಸಾಹಗಳನ್ನು ಮತ್ತು ಹೊಸತನವನ್ನು ನಿಗ್ರಹಿಸುತ್ತದೆ. + +ವೆಬ್3 ಬ್ರಾಡ್ಲಿ ದೀರ್ಘಪ್ರಯಾಸಗಳು ಮತ್ತು DAOs ದ್ವಾರಾ ಅಭಿವೃದ್ಧಿಯ ವಿಭಿನ್ನ ಪ್ರೇರಣೆ ಮಾದರಿಗಳನ್ನು ಪರೀಕ್ಷಿಸುವುದರ ಮೂಲಕ, Web3 ಈ ಕೆಟ್ಟ ಅನುಭವಣೆ ಮುರಿಗೆ ಮುಡಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ. [ಪೂರ್ವಾನ್ವಯ ಸಾರ್ವಜನಿಕ ಸರಕುಗಳ ಧನಸಹಾಯ](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c), [ಕ್ವಾಡ್ರಾಟಿಕ್ ಧನಸಹಾಯ](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531), [DAO ಆಡಳಿತ](https://www.antler.co/blog/daos-and-web3-governance) ಮತ್ತು [ಸಾಂಕೇತಿಕ ಪ್ರೋತ್ಸಾಹಕ ರಚನೆಗಳು](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design) ವಿಜ್ಞಾನ ಧನಸಹಾಯದಲ್ಲಿ ಕ್ರಾಂತಿಯನ್ನುಂಟು ಮಾಡುವ Web3 ಸಾಧನಗಳಾಗಿವೆ. + +### IP ಮಾಲೀಕತ್ವ ಮತ್ತು ಅಭಿವೃದ್ಧಿ {#ip-ownership} + +ಬೌದ್ಧಿಕ ಆಸ್ತಿ (IP) ಸಾಂಪ್ರದಾಯಿಕ ವಿಜ್ಞಾನದಲ್ಲಿ ಒಂದು ದೊಡ್ಡ ಸಮಸ್ಯೆಯಾಗಿದೆ: ವಿಶ್ವವಿದ್ಯಾನಿಲಯಗಳಲ್ಲಿ ಸಿಲುಕಿಕೊಳ್ಳುವುದರಿಂದ ಅಥವಾ ಬಯೋಟೆಕ್‌ಗಳಲ್ಲಿ ಬಳಕೆಯಾಗದಿರುವುದು, ಕುಖ್ಯಾತವಾಗಿ ಮೌಲ್ಯಯುತವಾಗಿ ಕಷ್ಟಕರವಾಗಿದೆ. ಆದಾಗ್ಯೂ, ಡಿಜಿಟಲ್ ಸ್ವತ್ತುಗಳ ಮಾಲೀಕತ್ವವು (ವೈಜ್ಞಾನಿಕ ಡೇಟಾ ಅಥವಾ ಲೇಖನಗಳಂತಹ) Web3 [ನಾನ್-ಫಂಜಿಬಲ್ ಟೋಕನ್‍ಗಳನ್ನು (NFTs)](/nft/) ಬಳಸಿಕೊಂಡು ಅಸಾಧಾರಣವಾಗಿ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. + +NFT ಗಳು ಭವಿಷ್ಯದ ವಹಿವಾಟುಗಳಿಗೆ ಆದಾಯವನ್ನು ಮೂಲ ರಚನೆಕಾರರಿಗೆ ಹಿಂದಿರುಗಿಸುವ ರೀತಿಯಲ್ಲಿಯೇ, ಸಂಶೋಧಕರು, ಆಡಳಿತ ಮಂಡಳಿಗಳು (DAO ಗಳಂತಹವು) ಅಥವಾ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಿದ ವಿಷಯಗಳಿಗೆ ಬಹುಮಾನ ನೀಡಲು ನೀವು ಪಾರದರ್ಶಕ ಮೌಲ್ಯ ಗುಣಲಕ್ಷಣ ಸರಪಳಿಗಳನ್ನು ಸ್ಥಾಪಿಸಬಹುದು. + +[IP-NFTs](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6) ಕೈಗೊಳ್ಳಲಾಗುತ್ತಿರುವ ಸಂಶೋಧನಾ ಪ್ರಯೋಗಗಳ ವಿಕೇಂದ್ರೀಕೃತ ದತ್ತಾಂಶ ಭಂಡಾರಕ್ಕೆ ಕೀಲಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದು ಮತ್ತು NFT ಮತ್ತು [DeFi](/defi/) ವಾಣಿಜ್ಯೀಕರಣಕ್ಕೆ (ಫ್ರಾಕ್ಷನಲೈಸೇಶನ್‍ನಿಂದ ಸಾಲದ ಕೊಳಗಳು ಮತ್ತು ಮೌಲ್ಯ ಮೌಲ್ಯಮಾಪನದವರೆಗೆ) ಪ್ಲಗ್ ಮಾಡಬಹುದು. ಇದು [VitaDAO](https://www.vitadao.com/)ದಂತಹ DAOsಗಳಂತಹ ಸ್ಥಳೀಯವಾಗಿ ಆನ್-ಚೈನ್ ಘಟಕಗಳಿಗೆ ನೇರವಾಗಿ ಸರಪಳಿಯಲ್ಲಿ ಸಂಶೋಧನೆ ನಡೆಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ವರ್ಗಾವಣೆ ಮಾಡಲಾಗದ [ಸೋಲ್‌ಬೌಂಡ್" ಟೋಕನ್‌ಗಳ](https://vitalik.ca/general/2022/01/26/soulbound.html) ಆಗಮನವು ವ್ಯಕ್ತಿಗಳು ತಮ್ಮ ಅನುಭವ ಮತ್ತು ಅವರ Ethereum ವಿಳಾಸಕ್ಕೆ ಲಿಂಕ್ ಮಾಡಲಾದ ರುಜುವಾತುಗಳನ್ನು ಸಾಬೀತುಪಡಿಸಲು ಅನುಮತಿಸುವ ಮೂಲಕ DeSci ನಲ್ಲಿ ಪ್ರಮುಖ ಪಾತ್ರವನ್ನು ವಹಿಸಬಹುದು. + +### ಡೇಟಾ ಸಂಗ್ರಹಣೆ, ಪ್ರವೇಶ ಮತ್ತು ವಾಸ್ತುಶಿಲ್ಪ {#data-storage} + +ವೆಬ್3 ಮಾದರಿಗಳನ್ನು ಬಳಸಿಕೊಂಡು ವೈಜ್ಞಾನಿಕ ಡೇಟಾವನ್ನು ಹೆಚ್ಚು ಸುಲಭವಾಗಿ ಪ್ರವೇಶಿಸಬಹುದು ಮತ್ತು ವಿತರಣಾ ಸಂಗ್ರಹಣೆಯು ದುರಂತ ಘಟನೆಗಳನ್ನು ಬದುಕಲು ಸಂಶೋಧನೆಯನ್ನು ಶಕ್ತಗೊಳಿಸುತ್ತದೆ. + +ಆರಂಭಿಕ ಹಂತವು ಸರಿಯಾದ ಪರಿಶೀಲಿಸಬಹುದಾದ ರುಜುವಾತುಗಳನ್ನು ಹೊಂದಿರುವ ಯಾವುದೇ ವಿಕೇಂದ್ರೀಕೃತ ಗುರುತಿನ ಮೂಲಕ ಪ್ರವೇಶಿಸಬಹುದಾದ ಸಿಸ್ಟಮ್ ಆಗಿರಬೇಕು. ಇದು ಸೂಕ್ಷ್ಮ ಡೇಟಾವನ್ನು ವಿಶ್ವಾಸಾರ್ಹ ಪಕ್ಷಗಳಿಂದ ಸುರಕ್ಷಿತವಾಗಿ ಪುನರಾವರ್ತಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಪುನರುಕ್ತಿ ಮತ್ತು ಸೆನ್ಸಾರ್ಶಿಪ್ ಪ್ರತಿರೋಧವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ, ಫಲಿತಾಂಶಗಳ ಪುನರುತ್ಪಾದನೆ ಮತ್ತು ಡೇಟಾಸೆಟ್‌ಗೆ ಹೊಸ ಡೇಟಾವನ್ನು ಸಹಯೋಗಿಸಲು ಮತ್ತು ಸೇರಿಸಲು ಬಹು ಪಕ್ಷಗಳ ಸಾಮರ್ಥ್ಯವನ್ನು ಸಹ ಅನುಮತಿಸುತ್ತದೆ. [ಕಂಪ್ಯೂಟ್-ಟು-ಡೇಟಾದಂತಹ](https://7wdata.be/predictive-analytics/compute-to-data-using-blockchain-to-decentralize-data-science-and-ai-with-the-ocean-protocol) ಗೌಪ್ಯ ಕಂಪ್ಯೂಟಿಂಗ್ ವಿಧಾನಗಳು Raw ಡೇಟಾ ಪುನರಾವರ್ತನೆಗೆ ಪರ್ಯಾಯ ಪ್ರವೇಶ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ, ಅತ್ಯಂತ ಸೂಕ್ಷ್ಮ ಡೇಟಾಕ್ಕಾಗಿ ವಿಶ್ವಾಸಾರ್ಹ ಸಂಶೋಧನಾ ಪರಿಸರವನ್ನು ರಚಿಸುತ್ತವೆ. ಕೋಡ್ ಮತ್ತು ಅಭ್ಯಾಸಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಪ್ರಮಾಣೀಕೃತ ಪರಿಸರವನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಶೋಧಕರು ಸೈಟ್ನಲ್ಲಿ ಡೇಟಾದೊಂದಿಗೆ ಸುರಕ್ಷಿತವಾಗಿ ಕೆಲಸ ಮಾಡುವ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸುವ ಮೂಲಕ ಡೇಟಾ ಗೌಪ್ಯತೆ ಮತ್ತು ಸಹಯೋಗಕ್ಕೆ ಭವಿಷ್ಯದ ಪರಿಹಾರವಾಗಿ ವಿಶ್ವಾಸಾರ್ಹ ಸಂಶೋಧನಾ ಪರಿಸರಗಳನ್ನು [NHS ಉಲ್ಲೇಖಿಸಿದೆ](https://medium.com/weavechain/whats-in-store-for-the-future-of-healthcare-data-b6398745fbbb). + +ಫ್ಲೆಕ್ಸಿಬಲ್ Web3 ಡೇಟಾ ಪರಿಹಾರಗಳು ಮೇಲಿನ ಸನ್ನಿವೇಶಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ ಮತ್ತು ನಿಜವಾದ ಓಪನ್ ಸೈನ್ಸ್‌ಗೆ ಅಡಿಪಾಯವನ್ನು ಒದಗಿಸುತ್ತವೆ, ಅಲ್ಲಿ ಸಂಶೋಧಕರು ಪ್ರವೇಶ ಅನುಮತಿಗಳು ಅಥವಾ ಶುಲ್ಕಗಳಿಲ್ಲದೆ ಸಾರ್ವಜನಿಕ ಸರಕುಗಳನ್ನು ರಚಿಸಬಹುದು. IPFS, Arweave ಮತ್ತು Filecoin ನಂತಹ Web3 ಸಾರ್ವಜನಿಕ ಡೇಟಾ ಪರಿಹಾರಗಳನ್ನು ವಿಕೇಂದ್ರೀಕರಣಕ್ಕಾಗಿ ಹೊಂದುವಂತೆ ಮಾಡಲಾಗಿದೆ. dClimate, ಉದಾಹರಣೆಗೆ, ಹವಾಮಾನ ಕೇಂದ್ರಗಳು ಮತ್ತು ಮುನ್ಸೂಚನೆಯ ಹವಾಮಾನ ಮಾದರಿಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಹವಾಮಾನ ಮತ್ತು ಹವಾಮಾನ ಡೇಟಾಗೆ ಸಾರ್ವತ್ರಿಕ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ. + +## ತೊಡಗಿಸಿಕೊಳ್ಳಿ {#get-involved} + +ಯೋಜನೆಗಳನ್ನು ಅನ್ವೇಷಿಸಿ ಮತ್ತು DeSci ಸಮುದಾಯಕ್ಕೆ ಸೇರಿ. + +- [DeSci.Global: ಜಾಗತಿಕ ಘಟನೆಗಳು ಮತ್ತು ಮೀಟಪ್ ಕ್ಯಾಲೆಂಡರ್](https://desci.global) +- [ವಿಜ್ಞಾನ ಗಾಗಿ ಬ್ಲಾಕ್‍ಚೈನ್ ಟೆಲಿಗ್ರಾಮ್](https://t.me/BlockchainForScience) +- [Molecule: ನಿಮ್ಮ ಸಂಶೋಧನಾ ಯೋಜನೆಗಳಿಗೆ ಧನಸಹಾಯ ಮಾಡಿ ಮತ್ತು ಧನಸಹಾಯ ಪಡೆಯಿರಿ](https://discover.molecule.to/) +- [VitaDAO: ದೀರ್ಘಾಯುಷ್ಯದ ಸಂಶೋಧನೆಗಾಗಿ ಪ್ರಾಯೋಜಿತ ಸಂಶೋಧನಾ ಒಪ್ಪಂದಗಳ ಮೂಲಕ ಧನಸಹಾಯವನ್ನು ಪಡೆಯುವುದು](https://www.vitadao.com/) +- [ResearchHub: ವೈಜ್ಞಾನಿಕ ಫಲಿತಾಂಶವನ್ನು ಪೋಸ್ಟ್ ಮಾಡಿ ಮತ್ತು ಗೆಳೆಯರೊಂದಿಗೆ ಸಂಭಾಷಣೆಯಲ್ಲಿ ತೊಡಗಿಕೊಳ್ಳಿ](https://www.researchhub.com/) +- [LabDAO: ಸಿಲಿಕೊದಲ್ಲಿ ಪ್ರೋಟೀನ್ ಅನ್ನು ಮಡಚಿ](https://alphafodl.vercel.app/) +- [dClimate API: ವಿಕೇಂದ್ರೀಕೃತ ಸಮುದಾಯದಿಂದ ಸಂಗ್ರಹಿಸಿದ ಹವಾಮಾನ ದತ್ತಾಂಶವನ್ನು ಪಡೆಯಿರಿ](https://api.dclimate.net/) +- [DeSci Foundation: DeSci ಪಬ್ಲಿಷಿಂಗ್ ಟೂಲ್ ಬಿಲ್ಡರ್](https://descifoundation.org/) +- [DeSci.World: ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನವನ್ನು ವೀಕ್ಷಿಸಲು, ತೊಡಗಿಸಿಕೊಳ್ಳಲು ಬಳಕೆದಾರರಿಗೆ ಒನ್-ಸ್ಟಾಪ್ ಶಾಪ್](https://desci.world) +- [Fleming Protocol: ಸಹಕಾರಿ ಬಯೋಮೆಡಿಕಲ್ ಆವಿಷ್ಕಾರಕ್ಕೆ ಇಂಧನ ನೀಡುವ ಓಪನ್-ಸೋರ್ಸ್ ಡೇಟಾ ಆರ್ಥಿಕತೆ](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd) +- [OceanDAO: DAO ದತ್ತಾಂಶ-ಸಂಬಂಧಿತ ವಿಜ್ಞಾನಕ್ಕೆ ಧನಸಹಾಯವನ್ನು ನಿಯಂತ್ರಿಸಿತು](https://oceanprotocol.com/dao) +- [Opscientia: ಮುಕ್ತ ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನ ಕಾರ್ಯಪ್ರವಾಹಗಳು](https://opsci.io/research/) +- [LabDAO: ಸಿಲಿಕೊದಲ್ಲಿ ಪ್ರೋಟೀನ್ ಅನ್ನು ಮಡಚಿ](https://alphafodl.vercel.app/) +- [Bio.xyz: ನಿಮ್ಮ ಬಯೋಟೆಕ್ DAO ಅಥವಾ DeSci ಯೋಜನೆಗೆ ಧನಸಹಾಯ ಪಡೆಯಿರಿ](https://www.molecule.to/) +- [ResearchHub: ವೈಜ್ಞಾನಿಕ ಫಲಿತಾಂಶವನ್ನು ಪೋಸ್ಟ್ ಮಾಡಿ ಮತ್ತು ಗೆಳೆಯರೊಂದಿಗೆ ಸಂಭಾಷಣೆಯಲ್ಲಿ ತೊಡಗಿಕೊಳ್ಳಿ](https://www.researchhub.com/) +- [VitaDAO: ದೀರ್ಘಾಯುಷ್ಯದ ಸಂಶೋಧನೆಗಾಗಿ ಪ್ರಾಯೋಜಿತ ಸಂಶೋಧನಾ ಒಪ್ಪಂದಗಳ ಮೂಲಕ ಧನಸಹಾಯವನ್ನು ಪಡೆಯುವುದು](https://www.vitadao.com/) +- [Fleming Protocol: ಸಹಕಾರಿ ಬಯೋಮೆಡಿಕಲ್ ಆವಿಷ್ಕಾರಕ್ಕೆ ಇಂಧನ ನೀಡುವ ಓಪನ್-ಸೋರ್ಸ್ ಡೇಟಾ ಆರ್ಥಿಕತೆ](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd) +- [ಸಕ್ರಿಯ ಊಹೆ ಪ್ರಯೋಗಾಲಯ](https://www.activeinference.org/) +- [CureDAO: ಸಮುದಾಯ ಒಡೆತನದ ನಿಖರ ಆರೋಗ್ಯ ವೇದಿಕೆ](https://docs.curedao.org/) +- [IdeaMarkets: ವಿಕೇಂದ್ರೀಕೃತ ವೈಜ್ಞಾನಿಕ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ](https://ideamarket.io/) +- [DeSci ಲ್ಯಾಬ್ಸ್](https://www.desci.com/) + +ಪಟ್ಟಿ ಮಾಡಲು ಹೊಸ ಯೋಜನೆಗಳಿಗೆ ಸಲಹೆಗಳನ್ನು ನಾವು ಸ್ವಾಗತಿಸುತ್ತೇವೆ - ಪ್ರಾರಂಭಿಸಲು ದಯವಿಟ್ಟು ನಮ್ಮ [ಪಟ್ಟಿ ನೀತಿಯನ್ನು](/contributing/adding-desci-projects/) ನೋಡಿ! + +## Further reading {#further-reading} + +- [DeSci Wiki ಜೋಸೆಲಿನ್ ಪರ್ಲ್ ಮತ್ತು ಅಲ್ಟ್ರಾರೇರ್ ಬರೆದ](https://docs.google.com/document/d/1aQC6zn-eXflSmpts0XGE7CawbUEHwnL6o-OFXO52PTc/edit#) +- [A 16 ಝಡ್ ಭವಿಷ್ಯಕ್ಕಾಗಿ ಜೋಸೆಲಿನ್ ಪರ್ಲ್ ಅವರಿಂದ ವಿಕೇಂದ್ರೀಕೃತ ಬಯೋಟೆಕ್ ಗೆ ಮಾರ್ಗದರ್ಶಿ](https://future.a16z.com/a-guide-to-decentralized-biotech/) +- [DeSci ಪ್ರಕರಣ](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/) +- [DeSci ಗೆ ಮಾರ್ಗದರ್ಶಿ](https://future.com/what-is-decentralized-science-aka-desci/) +- [ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನ ಸಂಪನ್ಮೂಲಗಳು](https://www.vincentweisser.com/decentralized-science) +- [ಅಣುವಿನ ಬಯೋಫಾರ್ಮಾ IP-NFTs - ತಾಂತ್ರಿಕ ವಿವರಣೆ](https://molecule.to/blog/molecules-biopharma-ip-nfts-a-technical-description) +- [ಜಾನ್ ಸ್ಟಾರ್ ಅವರ ವಿಶ್ವಾಸಾರ್ಹ ವಿಜ್ಞಾನ ವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿರ್ಮಿಸುವುದು](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673) +- [ಬಯೋಟೆಕ್ DAO ಗಳ ಹೊರಹೊಮ್ಮುವಿಕೆ](https://molecule.to/blog/the-emergence-of-biotech-daos) +- [ಪಾಲ್ ಕೊಹ್ಲ್ಹಾಸ್ - DeSci: ದಿ ಫ್ಯೂಚರ್ ಆಫ್ - ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನ (ಪಾಡ್ಕಾಸ್ಟ್)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a) +- [ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನಕ್ಕಾಗಿ ಒಂದು ಸಕ್ರಿಯ ಊಹೆ ಆಂಟಾಲಜಿ: ಸ್ಥಾಪಿತ ಸಂವೇದನೆಯಿಂದ ಎಪಿಸ್ಟೆಮಿಕ್ ಕಾಮನ್ಸ್ ವರೆಗೆ](https://zenodo.org/record/6320575) +- [DeSci: ಸ್ಯಾಮ್ಯುಯೆಲ್ ಅಕಿನೋಶೊ ಅವರ ಸಂಶೋಧನೆಯ ಭವಿಷ್ಯ](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec) +- [ನಾಡಿಯಾ ಅವರಿಂದ ಸೈನ್ಸ್ ಫಂಡಿಂಗ್ (ಎಪಿಲಾಗ್: DeSci ಮತ್ತು ನ್ಯೂ ಕ್ರಿಪ್ಟೋ ಪ್ರಿಮಿಟೀವ್ಸ್)](https://nadia.xyz/science-funding) +- [ವಿಕೇಂದ್ರೀಕರಣವು ಔಷಧ ಅಭಿವೃದ್ಧಿಗೆ ಅಡ್ಡಿಪಡಿಸಿ](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f) + +### Videos {#videos} + +- [ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನ ಎಂದರೇನು?](https://www.youtube.com/watch?v=-DeMklVWNdA) +- [ದೀರ್ಘಾಯುಷ್ಯದ ಸಂಶೋಧನೆ ಮತ್ತು ಕ್ರಿಪ್ಟೋದ ಸಂಕ್ಷೇಪದ ಬಗ್ಗೆ ವಿಟಾಲಿಕ್ ಬುಟೆರಿನ್ ಮತ್ತು ವಿಜ್ಞಾನಿ ಆಬ್ರೆ ಡಿ ಗ್ರೇ ನಡುವಿನ ಸಂಭಾಷಣೆ](https://www.youtube.com/watch?v=x9TSJK1widA) +- [ವೈಜ್ಞಾನಿಕ ಪ್ರಕಾಶನವು ಮುರಿದುಹೋಗಿದೆ. Web3 ಇದನ್ನು ಸರಿಪಡಿಸಬಹುದೇ?](https://www.youtube.com/watch?v=WkvzYgCvWj8) +- [ಜುವಾನ್ ಬೆನೆಟ್ - DeSci, ಇಂಡಿಪೆಂಡೆಂಟ್ ಲ್ಯಾಬ್ಸ್, & ಲಾರ್ಜ್ ಸ್ಕೇಲ್ ಡೇಟಾ ಸೈನ್ಸ್](https://www.youtube.com/watch?v=zkXM9H90g_E) +- [ಸೆಬಾಸ್ಟಿಯನ್ ಬ್ರೂನೆಮಿಯರ್ - DeSci ಬಯೋಮೆಡಿಕಲ್ ಸಂಶೋಧನೆ ಮತ್ತು & ಸಾಹಸೋದ್ಯಮ ಬಂಡವಾಳವನ್ನು ಹೇಗೆ ಪರಿವರ್ತಿಸಬಹುದು](https://www.youtube.com/watch?v=qB4Tc3FcVbM) diff --git a/src/content/translations/kn/refi/index.md b/src/content/translations/kn/refi/index.md new file mode 100644 index 00000000000..8214ba38cea --- /dev/null +++ b/src/content/translations/kn/refi/index.md @@ -0,0 +1,79 @@ +--- +title: ಪುನರುತ್ಪಾದಕ ಹಣಕಾಸು (ReFi) +description: ReFi ಮತ್ತು ಅದರ ಪ್ರಸ್ತುತ ಬಳಕೆಯ ಪ್ರಕರಣಗಳ ಅವಲೋಕನ. +lang: kn +template: use-cases +emoji: ":ಮರುಬಳಕೆ:" +sidebarDepth: 2 +image: ../../../../assets/future_transparent.png +alt: "" +summaryPoint1: ಪುನರುತ್ಪಾದಕ ತತ್ವಗಳ ಮೇಲೆ ನಿರ್ಮಿಸಲಾದ ಪರ್ಯಾಯ ಆರ್ಥಿಕ ವ್ಯವಸ್ಥೆ +summaryPoint2: ಹವಾಮಾನ ಬದಲಾವಣೆಯಂತಹ ಜಾಗತಿಕ ಮಟ್ಟದ ಸಮನ್ವಯ ಬಿಕ್ಕಟ್ಟುಗಳನ್ನು ಪರಿಹರಿಸಲು ಇಥಿರಿಯಮ್ಅನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ಪ್ರಯತ್ನ +summaryPoint3: ಪರಿಶೀಲಿಸಿದ ಕಾರ್ಬನ್ ಕ್ರೆಡಿಟ್‌ಗಳಂತಹ ಪರಿಸರ ಲಾಭದ ಸ್ವತ್ತುಗಳನ್ನು ತೀವ್ರವಾಗಿ ಅಳೆಯುವ ಸಾಧನ +--- + +## ReFi ಎಂದರೇನು? {#what-is-refi} + +**ಪುನರುತ್ಪಾದಕ ಹಣಕಾಸು (ReFi)** ಎಂಬುದು ಬ್ಲಾಕ್ಚೈನ್ಗಳ ಮೇಲೆ ನಿರ್ಮಿಸಲಾದ ಸಾಧನಗಳು ಮತ್ತು ಆಲೋಚನೆಗಳ ಒಂದು ಗುಂಪಾಗಿದೆ, ಇದು ಹೊರತೆಗೆಯುವ ಅಥವಾ ಶೋಷಕ ಮಾಡುವ ಬದಲು ಪುನರುತ್ಪಾದಕ ಆರ್ಥಿಕತೆಗಳನ್ನು ರಚಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಅಂತಿಮವಾಗಿ, ಹೊರತೆಗೆಯುವ ವ್ಯವಸ್ಥೆಗಳು ಲಭ್ಯವಿರುವ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಖಾಲಿ ಮಾಡುತ್ತವೆ ಮತ್ತು ಕುಸಿಯುತ್ತವೆ; ಪುನರುತ್ಪಾದಕ ಕಾರ್ಯವಿಧಾನಗಳಿಲ್ಲದೆ, ಅವು ಸ್ಥಿತಿಸ್ಥಾಪಕತ್ವವನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ. ನಮ್ಮ ಗ್ರಹ ಮತ್ತು ಸಮುದಾಯಗಳಿಂದ ಸಂಪನ್ಮೂಲಗಳ ಸಮರ್ಥನೀಯವಲ್ಲದ ಹೊರತೆಗೆಯುವಿಕೆಯಿಂದ ವಿತ್ತೀಯ ಮೌಲ್ಯದ ಸೃಷ್ಟಿಯನ್ನು ಬೇರ್ಪಡಿಸಬೇಕು ಎಂಬ ಊಹೆಯ ಮೇಲೆ ReFi ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. + +ಬದಲಿಗೆ, ReFi ಪುನರುತ್ಪಾದಕ ಚಕ್ರಗಳನ್ನು ರಚಿಸುವ ಮೂಲಕ ಪರಿಸರ, ಸಾಮುದಾಯಿಕ ಅಥವಾ ಸಾಮಾಜಿಕ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಈ ವ್ಯವಸ್ಥೆಗಳು ಭಾಗವಹಿಸುವವರಿಗೆ ಮೌಲ್ಯವನ್ನು ಸೃಷ್ಟಿಸುತ್ತವೆ ಮತ್ತು ಜೀವವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಸಮುದಾಯಗಳಿಗೆ ಪ್ರಯೋಜನವನ್ನುಂಟುಮಾಡುತ್ತವೆ. + +[ಕ್ಯಾಪಿಟಲ್ ಇನ್‍ಸ್ಟಿಟ್ಯೂಟ್‍ನ](https://capitalinstitute.org) ಜಾನ್ ಫುಲ್ಲರ್ಟನ್ ಅವರು ಪ್ರವರ್ತಕರಾದ ಪುನರುತ್ಪಾದಕ ಅರ್ಥಶಾಸ್ತ್ರದ ಪರಿಕಲ್ಪನೆಯು ReFi ನ ಅಡಿಪಾಯಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಅವರು ವ್ಯವಸ್ಥಿತ ಆರೋಗ್ಯಕ್ಕೆ ಆಧಾರವಾಗಿರುವ ಎಂಟು ಅಂತರ್ಸಂಪರ್ಕಿತ ತತ್ವಗಳನ್ನು ಪ್ರಸ್ತಾಪಿಸಿದರು: + +![ಎಂಟು ಪರಸ್ಪರ ಸಂಬಂಧಿತ ತತ್ವಗಳು](../../assets/use-cases/refi-regenerative-economy-diagram.png) + +ಪುನರುತ್ಪಾದಕ ನಡವಳಿಕೆಗಳನ್ನು ಉತ್ತೇಜಿಸಲು [ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದಗಳು](/developers/docs/smart-contracts/) ಮತ್ತು [ವಿಕೇಂದ್ರೀಕೃತ ಹಣಕಾಸು (ಡಿಫೈ)](/defi/) ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ReFi ರೀಫೈ ಯೋಜನೆಗಳು ಈ ತತ್ವಗಳನ್ನು ಅರಿತುಕೊಳ್ಳುತ್ತವೆ, ಉದಾಹರಣೆಗೆ ಅವನತಿ ಹೊಂದಿದ ಪರಿಸರ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಪುನಃಸ್ಥಾಪಿಸುವುದು ಮತ್ತು ಹವಾಮಾನ ಬದಲಾವಣೆ ಮತ್ತು ಜೀವವೈವಿಧ್ಯತೆಯ ನಷ್ಟದಂತಹ ಜಾಗತಿಕ ವಿಷಯಗಳ ಮೇಲೆ ದೊಡ್ಡ ಪ್ರಮಾಣದ ಸಹಯೋಗವನ್ನು ಸುಗಮಗೊಳಿಸುವುದು. + +ವೈಜ್ಞಾನಿಕ ಜ್ಞಾನವನ್ನು ಹಣಕಾಸು, ರಚಿಸಲು, ಪರಿಶೀಲಿಸಲು, ಕ್ರೆಡಿಟ್ ಮಾಡಲು, ಸಂಗ್ರಹಿಸಲು ಮತ್ತು ಪ್ರಸಾರ ಮಾಡಲು ಇಥಿರಿಯಮ್ ಅನ್ನು ವೇದಿಕೆಯಾಗಿ ಬಳಸುವ [ವಿಕೇಂದ್ರೀಕೃತ ವಿಜ್ಞಾನ (DeSci)](/desci/) ಚಳವಳಿಯೊಂದಿಗೆ ರೀಫೈ ಅತಿಕ್ರಮಿಸುತ್ತದೆ. ಡಿಸ್ಯೆ ಉಪಕರಣಗಳು ಮರಗಳನ್ನು ನೆಡುವುದು, ಸಾಗರದಿಂದ ಪ್ಲಾಸ್ಟಿಕ್ ತೆಗೆಯುವುದು ಅಥವಾ ಹಾನಿಗೊಳಗಾದ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯನ್ನು ಪುನಃಸ್ಥಾಪಿಸುವಂತಹ ಪುನರುತ್ಪಾದಕ ಚಟುವಟಿಕೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಮತ್ತು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಸಾಕ್ಷೀಕರಿಸಬಹುದಾದ ಮಾನದಂಡಗಳು ಮತ್ತು ಅಭ್ಯಾಸಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಉಪಯುಕ್ತವಾಗಬಹುದು. + +## ಕಾರ್ಬನ್ ಕ್ರೆಡಿಟ್‌ಗಳ ಟೋಕನೈಸೇಶನ್ {#tokenization-of-carbon-credits} + +**[ಸ್ವಯಂಪ್ರೇರಿತ ಇಂಗಾಲದ ಮಾರುಕಟ್ಟೆ (VCM)](https://climatefocus.com/so-what-voluntary-carbon-market-exactly/)** ಇಂಗಾಲದ ಹೊರಸೂಸುವಿಕೆಯ ಮೇಲೆ ಸಕಾರಾತ್ಮಕ ಪರಿಣಾಮ ಬೀರುವ ಯೋಜನೆಗಳಿಗೆ ಧನಸಹಾಯ ನೀಡುವ ಕಾರ್ಯವಿಧಾನವಾಗಿದೆ, ನಡೆಯುತ್ತಿರುವ ಹೊರಸೂಸುವಿಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಅಥವಾ ವಾತಾವರಣದಿಂದ ಈಗಾಗಲೇ ಹೊರಸೂಸುವ ಹಸಿರುಮನೆ ಅನಿಲಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಈ ಯೋಜನೆಗಳು ಪರಿಶೀಲಿಸಿದ ನಂತರ "ಕಾರ್ಬನ್ ಕ್ರೆಡಿಟ್‌ಗಳು" ಎಂಬ ಸ್ವತ್ತನ್ನು ಸ್ವೀಕರಿಸುತ್ತವೆ, ಅವರು ಹವಾಮಾನ ಕ್ರಿಯೆಯನ್ನು ಬೆಂಬಲಿಸಲು ಬಯಸುವ ವ್ಯಕ್ತಿಗಳು ಮತ್ತು ಸಂಸ್ಥೆಗಳಿಗೆ ಮಾರಾಟ ಮಾಡಬಹುದು. + +VCM ಜೊತೆಗೆ, ಹಲವಾರು ಸರ್ಕಾರಿ-ನಿರ್ದೇಶಿತ ಕಾರ್ಬನ್ ಮಾರುಕಟ್ಟೆಗಳು ('ಅನುಸರಣೆ ಮಾರುಕಟ್ಟೆಗಳು') ಸಹ ಇವೆ, ಇದು ಒಂದು ನಿರ್ದಿಷ್ಟ ನ್ಯಾಯವ್ಯಾಪ್ತಿಯೊಳಗೆ (ಉದಾ. ದೇಶ ಅಥವಾ ಪ್ರದೇಶ) ಕಾನೂನುಗಳು ಅಥವಾ ನಿಯಮಗಳ ಮೂಲಕ ಇಂಗಾಲದ ಬೆಲೆಯನ್ನು ಸ್ಥಾಪಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ, ಇದು ಪರವಾನಗಿಗಳ ಪೂರೈಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. ವಿತರಣೆ. ಕಾನೂನುಬದ್ಧ ಮಾರುಕಟ್ಟೆಗಳು ತಮ್ಮ ಅಧಿಕಾರ ವ್ಯಾಪ್ತಿಯಲ್ಲಿರುವ ಮಾಲಿನ್ಯಕಾರಕರಿಗೆ ಹೊರಸೂಸುವಿಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಪ್ರೋತ್ಸಾಹ ನೀಡುತ್ತವೆ, ಆದರೆ ಈಗಾಗಲೇ ಹೊರಸೂಸಲ್ಪಟ್ಟ ಹಸಿರುಮನೆ ಅನಿಲಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಅವು ಸಮರ್ಥವಾಗಿರುವುದಿಲ್ಲ. + +ಇತ್ತೀಚಿನ ದಶಕಗಳಲ್ಲಿ ಅದರ ಅಭಿವೃದ್ಧಿಯ ಹೊರತಾಗಿಯೂ, VCM ವಿವಿಧ ಸಮಸ್ಯೆಗಳಿಂದ ಬಳಲುತ್ತಿದೆ: + +1. ಹೆಚ್ಚು ವಿಭಜಿತ ದ್ರವ್ಯತೆ +2. ಅಪಾರದರ್ಶಕ ವಹಿವಾಟು ಕಾರ್ಯವಿಧಾನಗಳು +3. ಹೆಚ್ಚಿನ ಶುಲ್ಕ +4. ಬಹಳ ನಿಧಾನಗತಿಯ ವ್ಯಾಪಾರ ವೇಗ +5. ಸ್ಕೇಲಬಿಲಿಟಿಯ ಕೊರತೆ + +VCM ಅನ್ನು ಹೊಸ ಬ್ಲಾಕ್ಚೈನ್ ಆಧಾರಿತ **ಡಿಜಿಟಲ್ ಕಾರ್ಬನ್ ಮಾರುಕಟ್ಟೆಗೆ (DCM)** ಪರಿವರ್ತಿಸುವುದು ಇಂಗಾಲದ ಕ್ರೆಡಿಟ್ಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು, ವಹಿವಾಟು ನಡೆಸಲು ಮತ್ತು ಬಳಸಲು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ತಂತ್ರಜ್ಞಾನವನ್ನು ನವೀಕರಿಸಲು ಒಂದು ಅವಕಾಶವಾಗಿದೆ. ಬ್ಲಾಕ್‌ಚೈನ್‌ಗಳು ಸಾರ್ವಜನಿಕವಾಗಿ ಪರಿಶೀಲಿಸಬಹುದಾದ ಡೇಟಾ, ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಬಳಕೆದಾರರಿಗೆ ಪ್ರವೇಶ ಮತ್ತು ಹೆಚ್ಚಿನ ದ್ರವ್ಯತೆಗಾಗಿ ಅನುಮತಿಸುತ್ತದೆ. + +ಸಾಂಪ್ರದಾಯಿಕ ಮಾರುಕಟ್ಟೆಯ ಅನೇಕ ಸಮಸ್ಯೆಗಳನ್ನು ನಿವಾರಿಸಲು ReFi ರೀಫೈ ಯೋಜನೆಗಳು ಬ್ಲಾಕ್ ಚೈನ್ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸುತ್ತವೆ: + +- **ಲಿಕ್ವಿಡಿಟಿ ಕಡಿಮೆ ಸಂಖ್ಯೆಯ liquidity pools -ದ್ರವ್ಯತೆ ಕೊಳಗಳಲ್ಲಿ ಕೇಂದ್ರೀಕೃತವಾಗಿದೆ**, ಅದನ್ನು ಯಾರು ಬೇಕಾದರೂ ಮುಕ್ತವಾಗಿ ವ್ಯಾಪಾರ ಮಾಡಬಹುದು. ದೊಡ್ಡ ಸಂಸ್ಥೆಗಳು ಹಾಗೂ ವೈಯಕ್ತಿಕ ಬಳಕೆದಾರರು ಈ ಗುಂಪುಗಳನ್ನು ಮಾರಾಟಗಾರರು/ಖರೀದಿದಾರರ ಕೈಗಾರಿಕ ಶೋಧಗಳಿಲ್ಲದೆ, ಭಾಗವಹಿಸುವಿಕೆ ಶುಲ್ಕಗಳು ಅಥವಾ ಮೊದಲಿನ ನೋಂದಣಿ ಇಲ್ಲದೆ ಬಳಸಬಹುದು. +- **ಎಲ್ಲಾ ವಹಿವಾಟುಗಳನ್ನು ಸಾರ್ವಜನಿಕ ಬ್ಲಾಕ್ ಚೈನ್ ಗಳಲ್ಲಿ ದಾಖಲಿಸಲಾಗುತ್ತದೆ**. ವ್ಯಾಪಾರ ಚಟುವಟಿಕೆಯಿಂದಾಗಿ ಪ್ರತಿ ಇಂಗಾಲದ ಕ್ರೆಡಿಟ್ ತೆಗೆದುಕೊಳ್ಳುವ ಮಾರ್ಗವನ್ನು DCMನಲ್ಲಿ ಲಭ್ಯವಾದ ಕೂಡಲೇ ಶಾಶ್ವತವಾಗಿ ಪತ್ತೆಹಚ್ಚಬಹುದು. +- **ವಹಿವಾಟಿನ ವೇಗವು ಬಹುತೇಕ ತ್ವರಿತವಾಗಿರುತ್ತದೆ**. ಪಾರಂಪರಿಕ ಮಾರುಕಟ್ಟೆಗಳ ಮೂಲಕ ದೊಡ್ಡ ಪ್ರಮಾಣದ ಇಂಗಾಲದ ಕ್ರೆಡಿಟ್ ಗಳನ್ನು ಪಡೆಯಲು ದಿನಗಳು ಅಥವಾ ವಾರಗಳು ತೆಗೆದುಕೊಳ್ಳಬಹುದು, ಆದರೆ ಇದನ್ನು DCMನಲ್ಲಿ ಕೆಲವೇ ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಸಾಧಿಸಬಹುದು. +- ಹೆಚ್ಚಿನ ಶುಲ್ಕವನ್ನು ವಿಧಿಸುವ **ಮಧ್ಯವರ್ತಿಗಳಿಲ್ಲದೆ ವ್ಯಾಪಾರ** ಚಟುವಟಿಕೆ ನಡೆಯುತ್ತದೆ. ಡಿಜಿಟಲ್ ಕಾರ್ಬನ್ ಕ್ರೆಡಿಟ್ಗಳು ಸಮಾನ ಸಾಂಪ್ರದಾಯಿಕ ಕ್ರೆಡಿಟ್ಗಳಿಗೆ ಹೋಲಿಸಿದರೆ [62% ವೆಚ್ಚ ಸುಧಾರಣೆಯನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ](https://www.klimadao.finance/blog/klimadao-analysis-of-the-base-carbon-tonne) ಎಂದು ಒಂದು ವಿಶ್ಲೇಷಣಾತ್ಮಕ ಸಂಸ್ಥೆಯ ಡೇಟಾ ತಿಳಿಸಿದೆ. +- **DCM ಸ್ಕೇಲೆಬಲ್** ಮತ್ತು ವ್ಯಕ್ತಿಗಳು ಮತ್ತು ಬಹುರಾಷ್ಟ್ರೀಯ ನಿಗಮಗಳ ಬೇಡಿಕೆಗಳನ್ನು ಸಮಾನವಾಗಿ ಪೂರೈಸಬಹುದು. + +### DCMನ ಪ್ರಮುಖ ಅಂಶಗಳು {#key-components-dcm} + +DCMನ ಪ್ರಸ್ತುತ ಭೂದೃಶ್ಯವನ್ನು ನಾಲ್ಕು ಪ್ರಮುಖ ಅಂಶಗಳು ರೂಪಿಸುತ್ತವೆ: + +1. [Verra](https://verra.org/project/vcs-program/registry-system/) ಮತ್ತು [ಗೋಲ್ಡ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್](https://www.goldstandard.org/) ನಂತಹ ರಿಜಿಸ್ಟ್ರಿಗಳು ಇಂಗಾಲದ ಕ್ರೆಡಿಟ್ ಗಳನ್ನು ರಚಿಸುವ ಯೋಜನೆಗಳು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿವೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತವೆ. ಡಿಜಿಟಲ್ ಕಾರ್ಬನ್ ಕ್ರೆಡಿಟ್ ಗಳು ಹುಟ್ಟುವ ಡೇಟಾಬೇಸ್ ಗಳನ್ನು ಸಹ ಅವರು ನಿರ್ವಹಿಸುತ್ತಾರೆ ಮತ್ತು ವರ್ಗಾಯಿಸಬಹುದು ಅಥವಾ ಬಳಸಬಹುದು (ನಿವೃತ್ತ). + +ಬ್ಲಾಕ್ ಚೈನ್ ಗಳಲ್ಲಿ ನವೀನ ಯೋಜನೆಗಳ ಹೊಸ ಅಲೆಯನ್ನು ನಿರ್ಮಿಸಲಾಗುತ್ತಿದೆ, ಅದು ಈ ವಲಯದಲ್ಲಿ ಅಧಿಕಾರದಲ್ಲಿರುವವರನ್ನು ಅಡ್ಡಿಪಡಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ. + +2. Carbon bridges ಕಾರ್ಬನ್ ಸೇತುವೆಗಳು, a.k.a. ಟೋಕನೈಜರ್‌ಗಳು, ಸಾಂಪ್ರದಾಯಿಕ ದಾಖಲಾತಿಗಳಿಂದ DCM ಗೆ ಕಾರ್ಬನ್ ಕ್ರೆಡಿಟ್‌ಗಳನ್ನು ಪ್ರತಿನಿಧಿಸಲು ಅಥವಾ ವರ್ಗಾಯಿಸಲು ತಂತ್ರಜ್ಞಾನವನ್ನು ಒದಗಿಸುತ್ತವೆ. ಗಮನಾರ್ಹ ಉದಾಹರಣೆಗಳಲ್ಲಿ [Toucan - ಟೌಕನ್ ಪ್ರೋಟೋಕಾಲ್](https://toucan.earth/), [C3](https://c3.app/), ಮತ್ತು [Moss.Earth](https://moss.earth/) ಸೇರಿವೆ. +3. ಸಂಯೋಜಿತ ಸೇವೆಗಳು ಅಂತ್ಯ-ಬಳಕೆದಾರರಿಗೆ ಕಾರ್ಬನ್ ತಪ್ಪಿಸುವಿಕೆ ಮತ್ತು/ಅಥವಾ ತೆಗೆಯುವಿಕೆ ಕ್ರೆಡಿಟ್‌ಗಳನ್ನು ನೀಡುತ್ತವೆ, ಅವರು ಕ್ರೆಡಿಟ್‌ನ ಪರಿಸರೀಯ ಲಾಭವನ್ನು ಹಕ್ಕು ಸ್ಥಾಪಿಸಬಹುದು ಮತ್ತು ವಿಶ್ವದೊಂದಿಗೆ ಹವಾಮಾನ ಕ್ರಮಗಳ ಬಗ್ಗೆ ತಮ್ಮ ಬೆಂಬಲವನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದು. + +[ಕ್ಲಿಮಾ ಇನ್ಫಿನಿಟಿ](https://www.klimadao.finance/infinity) ಮತ್ತು [ಸೆಂಕೆನ್](https://senken.io/) ನಂತಹ ಕೆಲವು ಮೂರನೇ ಪಕ್ಷಗಳು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಮತ್ತು ವೆರಾದಂತಹ ಸ್ಥಾಪಿತ ಮಾನದಂಡಗಳ ಅಡಿಯಲ್ಲಿ ನೀಡಲಾದ ವಿವಿಧ ರೀತಿಯ ಯೋಜನೆಗಳನ್ನು ನೀಡುತ್ತವೆ; [Nori](https://nori.com/) ನೋರಿಯಂತಹ ಇತರರು ತಮ್ಮದೇ ಆದ ಕಾರ್ಬನ್ ಕ್ರೆಡಿಟ್ ಮಾನದಂಡದ ಅಡಿಯಲ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ನಿರ್ದಿಷ್ಟ ಯೋಜನೆಗಳನ್ನು ಮಾತ್ರ ನೀಡುತ್ತಾರೆ, ಅದಕ್ಕಾಗಿ ಅವರು ತಮ್ಮದೇ ಆದ ಮೀಸಲಾದ ಮಾರುಕಟ್ಟೆಯನ್ನು ಹೊಂದಿದ್ದಾರೆ. + +4. ಇಂಗಾಲದ ಮಾರುಕಟ್ಟೆಯ ಸಂಪೂರ್ಣ ಪೂರೈಕೆ ಸರಪಳಿಯ ಪ್ರಭಾವ ಮತ್ತು ದಕ್ಷತೆಯ ಸ್ಕೇಲಿಂಗ್ ಅನ್ನು ಸುಗಮಗೊಳಿಸುವ ಆಧಾರವಾಗಿರುವ ಹಳಿಗಳು ಮತ್ತು ಮೂಲಸೌಕರ್ಯಗಳು. [KlimaDAO - ಕ್ಲಿಮಾಡಾವೊ](http://klimadao.finance/) ದ್ರವ್ಯತೆಯನ್ನು ಸಾರ್ವಜನಿಕ ಸರಕಾಗಿ ಪೂರೈಸುತ್ತದೆ (ಪಾರದರ್ಶಕ ಬೆಲೆಯಲ್ಲಿ ಇಂಗಾಲದ ಕ್ರೆಡಿಟ್ ಗಳನ್ನು ಖರೀದಿಸಲು ಅಥವಾ ಮಾರಾಟ ಮಾಡಲು ಯಾರಿಗಾದರೂ ಅವಕಾಶ ನೀಡುತ್ತದೆ), ಇಂಗಾಲದ ಮಾರುಕಟ್ಟೆಗಳ ಹೆಚ್ಚಳವನ್ನು ಉತ್ತೇಜಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಫಲಗಳೊಂದಿಗೆ ನಿವೃತ್ತಿಗಳನ್ನು ಉತ್ತೇಜಿಸುತ್ತದೆ ಮತ್ತು ವಿವಿಧ ರೀತಿಯ ಟೋಕನೈಸ್ಡ್ ಕಾರ್ಬನ್ ಕ್ರೆಡಿಟ್ ಗಳ ಬಗ್ಗೆ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲು ಮತ್ತು ಸ್ವಾಧೀನಪಡಿಸಿಕೊಳ್ಳಲು ಮತ್ತು ನಿವೃತ್ತರಾಗಲು ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಇಂಟರ್ ಆಪರೇಬಲ್ ಟೂಲಿಂಗ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. + +## ಇಂಗಾಲದ ಮಾರುಕಟ್ಟೆಗಳನ್ನು ಮೀರಿ ReFi {#refi-beyond} + +ಕಾರ್ಬನ್ ಮಾರುಕಟ್ಟೆಗಳ ಮೇಲೆ ಒತ್ತು ನೀಡುವ ಪ್ರವೃತ್ತಿ ಇದ್ದರೂ ಮತ್ತು ವಿಶೇಷವಾಗಿ ವಿಶ್ವ ಕಾರ್ಬನ್ ಮಾರುಕಟ್ಟೆಯನ್ನು VCM ಡೆವಲಪಿಂಗ್ ಕೌಂಟ್ರಿ ಮಾರುಕಟ್ಟೆಗೆ DCM ಪರಿವರ್ತಿಸುತ್ತಿರುವಾಗಲೂ, “ReFi” ಪದವು ಕೇವಲ ಕಾರ್ಬನ್‌ಗೆ ಸೀಮಿತವಾಗಿಲ್ಲ. ಇತರ ಪರಿಸರೀಯ ಆಸ್ತಿಗಳನ್ನು ಕಾರ್ಬನ್ ಕ್ರೆಡಿಟ್‌ಗಳ ಜೊತೆಗೆ ಅಭಿವೃದ್ಧಿಪಡಿಸಬಹುದು ಮತ್ತು ಟೋಕೆನೈಸ್ಡ್ ಮಾಡಬಹುದು, ಇದರಿಂದಾಗಿ ಭವಿಷ್ಯದ ಆರ್ಥಿಕ ವ್ಯವಸ್ಥೆಗಳ ಮೂಲ ಸ್ತರಗಳಲ್ಲಿ ಇತರ ನಕಾರಾತ್ಮಕ ಹೊರಗಿನ ವೆಚ್ಚಗಳನ್ನು ಕೂಡ ಬೆಲೆಗೆ ಇಡಬಹುದು. ಇದಲ್ಲದೆ, ಈ ಆರ್ಥಿಕ ಮಾದರಿಯ ಪುನರುತ್ಪಾದಕ ಅಂಶವನ್ನು ಇತರ ಕ್ಷೇತ್ರಗಳಿಗೆ ಅನ್ವಯಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ [Gitcoin](https://gitcoin.co/) ಗಿಟ್‍ಕಾಯಿನ್‍ನಂತಹ ಕ್ವಾಡ್ರಾಟಿಕ್ ಫಂಡಿಂಗ್ ಪ್ಲಾಟ್‍ಫಾರ್ಮ್‍ಗಳ ಮೂಲಕ ಸಾರ್ವಜನಿಕ ಸರಕುಗಳಿಗೆ ಧನಸಹಾಯ. ಮುಕ್ತ ಭಾಗವಹಿಸುವಿಕೆ ಮತ್ತು ಸಂಪನ್ಮೂಲಗಳ ಸಮಾನ ವಿತರಣೆಯ ಕಲ್ಪನೆಯ ಮೇಲೆ ನಿರ್ಮಿಸಲಾದ ಸಂಸ್ಥೆಗಳು ಮುಕ್ತ-ಮೂಲ ಸಾಫ್ಟ್‌ವೇರ್ ಯೋಜನೆಗಳಿಗೆ, ಹಾಗೆಯೇ ಶೈಕ್ಷಣಿಕ, ಪರಿಸರ ಮತ್ತು ಸಮುದಾಯ-ಚಾಲಿತ ಯೋಜನೆಗಳಿಗೆ ಹಣವನ್ನು ತುಂಬಲು ಎಲ್ಲರಿಗೂ ಅಧಿಕಾರ ನೀಡುತ್ತವೆ. + +ಬಂಡವಾಳದ ದಿಕ್ಕನ್ನು ಹೊರತೆಗೆಯುವ ಅಭ್ಯಾಸಗಳಿಂದ ಪುನರುತ್ಪಾದಕ ಹರಿವಿನ ಕಡೆಗೆ ಬದಲಾಯಿಸುವ ಮೂಲಕ, ಸಾಮಾಜಿಕ, ಪರಿಸರ ಅಥವಾ ಸಾಮುದಾಯಿಕ ಪ್ರಯೋಜನಗಳನ್ನು ಒದಗಿಸುವ ಯೋಜನೆಗಳು ಮತ್ತು ಕಂಪನಿಗಳು-ಮತ್ತು ಸಾಂಪ್ರದಾಯಿಕ ಹಣಕಾಸುದಲ್ಲಿ ಹಣವನ್ನು ಸಾಧಿಸಲು ವಿಫಲವಾಗಬಹುದು-ನೆಲದಿಂದ ಹೊರಬರಬಹುದು ಮತ್ತು ಸಮಾಜಕ್ಕೆ ಧನಾತ್ಮಕ ಬಾಹ್ಯತೆಯನ್ನು ಉಂಟುಮಾಡಬಹುದು. ಹೆಚ್ಚು ವೇಗವಾಗಿ ಮತ್ತು ಸುಲಭವಾಗಿ. ನಿಧಿಯ ಈ ಮಾದರಿಗೆ ಪರಿವರ್ತನೆಯು ಹೆಚ್ಚು ಅಂತರ್ಗತ ಆರ್ಥಿಕ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಬಾಗಿಲು ತೆರೆಯುತ್ತದೆ, ಅಲ್ಲಿ ಎಲ್ಲಾ ಜನಸಂಖ್ಯಾಶಾಸ್ತ್ರದ ಜನರು ಕೇವಲ ನಿಷ್ಕ್ರಿಯ ವೀಕ್ಷಕರ ಬದಲಿಗೆ ಸಕ್ರಿಯ ಪಾಲ್ಗೊಳ್ಳುವವರಾಗಬಹುದು. ನಮ್ಮ ಜಾತಿಗಳು ಮತ್ತು ನಮ್ಮ ಗ್ರಹದಲ್ಲಿನ ಎಲ್ಲಾ ಜೀವಗಳು ಎದುರಿಸುತ್ತಿರುವ ಅಸ್ತಿತ್ವವಾದದ ಸವಾಲುಗಳ ಮೇಲೆ ಕ್ರಿಯೆಯನ್ನು ಸಂಘಟಿಸುವ ಕಾರ್ಯವಿಧಾನವಾಗಿ ReFi ಇಥಿರಿಯಮ್‍ನ ದೃಷ್ಟಿಯನ್ನು ನೀಡುತ್ತದೆ-ಹೊಸ ಆರ್ಥಿಕ ಮಾದರಿಯ ಮೂಲ ಪದರವಾಗಿ, ಮುಂಬರುವ ಶತಮಾನಗಳವರೆಗೆ ಹೆಚ್ಚು ಅಂತರ್ಗತ ಮತ್ತು ಸಮರ್ಥನೀಯ ಭವಿಷ್ಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. + +## ReFi ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಓದುವಿಕೆ + +- [ಇಂಗಾಲದ ಕರೆನ್ಸಿಗಳ ಉನ್ನತ ಮಟ್ಟದ ಅವಲೋಕನ ಮತ್ತು ಆರ್ಥಿಕತೆಯಲ್ಲಿ ಅವುಗಳ ಸ್ಥಾನ](https://www.klimadao.finance/blog/the-vision-of-a-carbon-currency) +- [ದಿ ಮಿನಿಸ್ಟ್ರಿ ಫಾರ್ ದಿ ಫ್ಯೂಚರ್, ಹವಾಮಾನ ಬದಲಾವಣೆಯ ವಿರುದ್ಧ ಹೋರಾಡುವಲ್ಲಿ ಇಂಗಾಲ-ಬೆಂಬಲಿತ ಕರೆನ್ಸಿಯ ಪಾತ್ರವನ್ನು ಚಿತ್ರಿಸುವ ಕಾದಂಬರಿ](https://en.wikipedia.org/wiki/The_Ministry_for_the_Future) +- [ಸ್ವಯಂಪ್ರೇರಿತ ಇಂಗಾಲದ ಮಾರುಕಟ್ಟೆಗಳನ್ನು ಸ್ಕೇಲಿಂಗ್ ಮಾಡುವ ಕಾರ್ಯಪಡೆಯ ವಿವರವಾದ ವರದಿ](https://www.iif.com/Portals/1/Files/TSVCM_Report.pdf) +- [ಕೆವಿನ್ ಒವೊಕಿ ಮತ್ತು ಇವಾನ್ ಮಿಯಾಜೋನೊ ಅವರ ReFi ನಲ್ಲಿ ಕಾಯಿನ್‍ಮಾರ್ಕೆಟ್‍ಕ್ಯಾಪ್ ಪದಕೋಶ ನಮೂದು](https://coinmarketcap.com/alexandria/glossary/regenerative-finance-refi) diff --git a/src/content/translations/kn/smart-contracts/index.md b/src/content/translations/kn/smart-contracts/index.md new file mode 100644 index 00000000000..89f3ea0b5b0 --- /dev/null +++ b/src/content/translations/kn/smart-contracts/index.md @@ -0,0 +1,84 @@ +--- +title: ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು +description: ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳಿಗೆ ತಾಂತ್ರಿಕವಲ್ಲದ ಪರಿಚಯ +lang: kn +--- + +# Introduction to smart contracts {#introduction-to-smart-contracts} + +ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು ಇಥಿರಿಯಮ್ ಅಪ್ಲಿಕೇಶನ್ ಪದರದ ಮೂಲಭೂತ ನಿರ್ಮಾಣ ಘಟಕಗಳಾಗಿವೆ. ಅವುಗಳು ಬ್ಲಾಕ್‌ಚೈನ್‌ನಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಕಂಪ್ಯೂಟರ್ ಕಾರ್ಯಕ್ರಮಗಳಾಗಿವೆ, ಅವು "ಈಗಾಗಲೇ ಇದ್ದರೆ ಆಗ ಅದು" ಎಂಬ ತರ್ಕವನ್ನು ಅನುಸರಿಸುತ್ತವೆ ಮತ್ತು ಅದರ ಕೋಡ್‌ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ನಿಯಮಗಳ ಪ್ರಕಾರ ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಖಾತರಿ ನೀಡುತ್ತವೆ, ಅದು ರಚಿಸಿದ ನಂತರ ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ. + +ನಿಕ್ ಸ್ಜಾಬೊ "ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್" ಎಂಬ ಪದವನ್ನು ರಚಿಸಿದರು. 1994 ರಲ್ಲಿ, ಅವರು [ಪರಿಕಲ್ಪನೆಗೆ ಮುನ್ನುಡಿ ಬರೆದರು](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html) ಮತ್ತು 1996 ರಲ್ಲಿ ಅವರು [ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು ಏನು ಮಾಡಬಹುದು ಎಂಬುದರ ಪರಿಶೋಧನೆಯನ್ನು ಬರೆದರು](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html). + +ಸ್ಝಾಬೊ ಅವರು ನಂಬಲಾಗದ ಮಧ್ಯವರ್ತಿಗಳಿಲ್ಲದೆ ಒಟಪೋಟವಾಗಿ, ಗುಪ್ತ ಸಂಖ್ಯಾತ್ಮಕವಾಗಿ ಸುರಕ್ಷಿತ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಿ ವಹಿವಾಟುಗಳು ಮತ್ತು ವ್ಯವಹಾರ ಕಾರ್ಯಗಳನ್ನು ನಡೆಯುವ ಒಂದು ಡಿಜಿಟಲ್ ಮಾರುಕಟ್ಟೆಯನ್ನು ಕಲ್ಪಿಸಿಕೊಂಡರು. ಎಥೆರಿಯಮ್ನಲ್ಲಿನ ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು ಈ ದೃಷ್ಟಿಯನ್ನು ಕಾರ್ಯರೂಪಕ್ಕೆ ತಂದವು. + +### ಸಾಂಪ್ರದಾಯಿಕ ಒಪ್ಪಂದಗಳಲ್ಲಿ ನಂಬಿಕೆ {#trust-and-contracts} + +ಸಾಂಪ್ರದಾಯಿಕ ಒಪ್ಪಂದದ ಅತಿದೊಡ್ಡ ಸಮಸ್ಯೆಯೆಂದರೆ ವಿಶ್ವಾಸಾರ್ಹ ವ್ಯಕ್ತಿಗಳು ಒಪ್ಪಂದದ ಫಲಿತಾಂಶಗಳನ್ನು ಅನುಸರಿಸುವ ಅಗತ್ಯ. + +ಒಂದು ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ: + +ಆಲಿಸ್ ಮತ್ತು ಬಾಬ್ ಬೈಸಿಕಲ್ ರೇಸ್ ನಡೆಸುತ್ತಿದ್ದಾರೆ. ಆಲಿಸ್ ತಾನು ಓಟವನ್ನು ಗೆಲ್ಲುತ್ತೇನೆ ಎಂದು ಬಾಬ್‍ಗೆ $10 ಬೆಟ್ಟಿಂಗ್ ಮಾಡುತ್ತಾಳೆ ಎಂದು ಹೇಳೋಣ. ಬಾಬ್ ಅವರು ವಿಜೇತರಾಗುತ್ತಾರೆ ಎಂಬ ವಿಶ್ವಾಸವಿದೆ ಮತ್ತು ಬೆಟ್ಟಿಂಗ್ ಗೆ ಒಪ್ಪುತ್ತಾರೆ. ಕೊನೆಯಲ್ಲಿ, ಆಲಿಸ್ ಬಾಬ್‍ಗಿಂತ ಮುಂಚಿತವಾಗಿ ರೇಸ್ ಅನ್ನು ಮುಗಿಸುತ್ತಾಳೆ ಮತ್ತು ಸ್ಪಷ್ಟ ವಿಜೇತಳಾಗಿದ್ದಾಳೆ. ಆದರೆ ಆಲಿಸ್ ಮೋಸ ಮಾಡಿರಬೇಕು ಎಂದು ಹೇಳಿ ಬಾಬ್ ಬೆಟ್ಟಿಂಗ್ ಪಾವತಿಸಲು ನಿರಾಕರಿಸುತ್ತಾನೆ. + +ಈ ಸರಳ ಉದಾಹರಣೆಯು ಯಾವುದೇ ಸ್ಮಾರ್ಟ್ ಅಲ್ಲದ ಒಪ್ಪಂದದ ಸಮಸ್ಯೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ. ಒಪ್ಪಂದದ ಷರತ್ತುಗಳು ಪೂರೈತಾದರೂ (ಉದಾಹರಣೆಗೆ, ನೀವು ಓಟದ ಗೆದ್ದಿದ್ದರೆ), ನೀವು ಇನ್ನೊಬ್ಬ ವ್ಯಕ್ತಿಯನ್ನು ಒಪ್ಪಂದವನ್ನು ಪೂರೈಸಲು (ಉದಾಹರಣೆಗೆ, ಜೂಜಿನ ಮೇಲಿನ ಪಾವತಿ) ನಂಬಬೇಕು. + +### A digital vending machine {#vending-machine} + +ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದಕ್ಕೆ ಒಂದು ಸರಳ ರೂಪಕವು ವಿತರಣಾ ಯಂತ್ರವಾಗಿದೆ, ಇದು ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗೆ ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಹೋಲುತ್ತದೆ - ನಿರ್ದಿಷ್ಟ ಒಳಹರಿವು ಪೂರ್ವನಿರ್ಧರಿತ ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ಖಾತರಿಪಡಿಸುತ್ತದೆ. + +- ನೀವು ಉತ್ಪನ್ನವನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ್ದೀರಿ +- ಮಾರಾಟ ಯಂತ್ರವು ಬೆಲೆಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ +- ನೀವು ಬೆಲೆಯನ್ನು ಪಾವತಿಸುತ್ತೀರಿ +- ನೀವು ಸರಿಯಾದ ಮೊತ್ತವನ್ನು ಪಾವತಿಸಿದ್ದೀರಿ ಎಂದು ಮಾರಾಟ ಯಂತ್ರವು ಪರಿಶೀಲಿಸುತ್ತದೆ +- ಮಾರಾಟ ಯಂತ್ರವು ನಿಮ್ಮ ಐಟಂ ಅನ್ನು ನಿಮಗೆ ನೀಡುತ್ತದೆ + +ಎಲ್ಲಾ ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸಿದ ನಂತರವೇ ಮಾರಾಟ ಯಂತ್ರವು ನಿಮ್ಮ ಅಪೇಕ್ಷಿತ ಉತ್ಪನ್ನವನ್ನು ವಿತರಿಸುತ್ತದೆ. ನೀವು ಉತ್ಪನ್ನವನ್ನು ಆಯ್ಕೆ ಮಾಡದಿದ್ದರೆ ಅಥವಾ ಸಾಕಷ್ಟು ಹಣವನ್ನು ಸೇರಿಸದಿದ್ದರೆ, ಮಾರಾಟ ಯಂತ್ರವು ನಿಮ್ಮ ಉತ್ಪನ್ನವನ್ನು ನೀಡುವುದಿಲ್ಲ. + +### ಸ್ವಯಂಚಾಲಿತ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ {#automation} + +ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟಿನ ಮುಖ್ಯ ಲಾಭವೆಂದರೆ, ಕೆಲವು ಷರತ್ತುಗಳು ಪೂರೈತಾದಾಗ ಅದು ನಿರ್ದಿಷ್ಟವಾದ ಕೋಡ್ ಅನ್ನು ನಿರ್ಣಾಯಕವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಮನುಷ್ಯನು ಫಲಿತಾಂಶವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಅಥವಾ ಮಾತುಕತೆ ನಡೆಸಲು ಕಾಯುವ ಅಗತ್ಯವಿಲ್ಲ. ಇದು ವಿಶ್ವಾಸಾರ್ಹ ಮಧ್ಯವರ್ತಿಗಳ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. + +ಉದಾಹರಣೆಗೆ, ನೀವು ಒಂದು ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟನ್ನು ಬರೆಯಬಹುದು, ಅದು ಒಬ್ಬ ಮಗುವಿನ ಹೆಸರಿನಲ್ಲಿ ಹಣವನ್ನು ಠೇವಣಿ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟ ದಿನಾಂಕದ ನಂತರ ಅವರು ಹಣವನ್ನು ಹಿಂಪಡೆಯಲು ಅನುಮತಿಸುತ್ತದೆ. ಅವರು ಆ ದಿನಾಂಕದ ಮೊದಲು ಹಿಂದೆ ಸರಿಯಲು ಪ್ರಯತ್ನಿಸಿದರೆ, ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದವು ಕಾರ್ಯಗತಗೊಳಿಸುವುದಿಲ್ಲ. ಅಥವಾ ನೀವು ಡೀಲರ್ ಗೆ ಪಾವತಿಸಿದಾಗ ಕಾರಿನ ಶೀರ್ಷಿಕೆಯ ಡಿಜಿಟಲ್ ಆವೃತ್ತಿಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನೀಡುವ ಒಪ್ಪಂದವನ್ನು ನೀವು ಬರೆಯಬಹುದು. + +### ಊಹಿಸಬಹುದಾದ ಫಲಿತಾಂಶಗಳು {#predictability} + +ಸಾಂಪ್ರದಾಯಿಕ ಒಪ್ಪಂದಗಳು ಅಸ್ಪಷ್ಟವಾಗಿರುತ್ತವೆ ಏಕೆಂದರೆ ಅವುಗಳು ಅವುಗಳನ್ನು ಅರ್ಥೈಸಲು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಮನುಷ್ಯರನ್ನು ಅವಲಂಬಿಸಿವೆ. ಉದಾಹರಣೆಗೆ, ಇಬ್ಬರು ನ್ಯಾಯಾಧೀಶರು ಒಪ್ಪಂದವನ್ನು ವಿಭಿನ್ನವಾಗಿ ಅರ್ಥೈಸಬಹುದು, ಇದು ಅಸಮಂಜಸ ನಿರ್ಧಾರಗಳು ಮತ್ತು ಅಸಮಾನ ಫಲಿತಾಂಶಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು. ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದಗಳು ಈ ಸಾಧ್ಯತೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತವೆ. ಬದಲಾಗಿ, ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು ಒಪ್ಪಂದದ ಕೋಡ್‌ನಲ್ಲಿ ಬರೆಯಲಾದ ಷರತ್ತುಗಳ ಆಧಾರದ ಮೇಲೆ ನಿಖರವಾಗಿ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತವೆ. ಈ ನಿಖರತೆ ಎಂದರೆ ಅದೇ ಸಂದರ್ಭಗಳನ್ನು ನೀಡಿದರೆ, ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದವು ಅದೇ ಫಲಿತಾಂಶವನ್ನು ನೀಡುತ್ತದೆ. + +### ಸಾರ್ವಜನಿಕ ದಾಖಲೆ {#public-record} + +ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದಗಳು ಲೆಕ್ಕಪರಿಶೋಧನೆ ಮತ್ತು ಟ್ರ್ಯಾಕಿಂಗ್ ಗೆ ಉಪಯುಕ್ತವಾಗಿವೆ. ಇಥಿರಿಯಮ್ ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು ಸಾರ್ವಜನಿಕ ಬ್ಲಾಕ್‍ಚೈನ್‍ನಲ್ಲಿರುವುದರಿಂದ, ಯಾರಾದರೂ ಆಸ್ತಿ ವರ್ಗಾವಣೆ ಮತ್ತು ಇತರ ಸಂಬಂಧಿತ ಮಾಹಿತಿಯನ್ನು ತಕ್ಷಣ ಟ್ರ್ಯಾಕ್ ಮಾಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ ವಿಳಾಸಕ್ಕೆ ಯಾರಾದರೂ ಹಣವನ್ನು ಕಳುಹಿಸಿದ್ದಾರೆಯೇ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸಬಹುದು. + +### ಗೌಪ್ಯತೆ ರಕ್ಷಣೆ {#privacy-protection} + +ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು ನಿಮ್ಮ ಗೌಪ್ಯತೆಯನ್ನು ಸಹ ರಕ್ಷಿಸುತ್ತವೆ. ಇಥಿರಿಯಮ್ ಒಂದು ಗುಪ್ತನಾಮದ ನೆಟ್‌ವರ್ಕ್ ಆಗಿರುವುದರಿಂದ (ನಿಮ್ಮ ವಹಿವಾಟುಗಳು ಅನನ್ಯ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ವಿಳಾಸಕ್ಕೆ ಸಾರ್ವಜನಿಕವಾಗಿ ಸಂಬಂಧಿಸಿವೆ, ನಿಮ್ಮ ಗುರುತನ್ನು ಅಲ್ಲ), ನೀವು ವೀಕ್ಷಕರಿಂದ ನಿಮ್ಮ ಗೌಪ್ಯತೆಯನ್ನು ರಕ್ಷಿಸಬಹುದು. + +### ಗೋಚರಿಸುವ ಪದಗಳು {#visible-terms} + +ಅಂತಿಮವಾಗಿ, ಸಾಂಪ್ರದಾಯಿಕ ಒಪ್ಪಂದಗಳಂತೆ, ನೀವು ಸಹಿ ಮಾಡುವ ಮೊದಲು ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ನಲ್ಲಿ ಏನಿದೆ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸಬಹುದು (ಅಥವಾ ಅದರೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಬಹುದು). ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ನ ಪಾರದರ್ಶಕತೆಯು ಯಾರಾದರೂ ಅದನ್ನು ಪರಿಶೀಲಿಸಬಹುದು ಎಂದು ಖಾತರಿಪಡಿಸುತ್ತದೆ. + +## ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ನ ಬಳಕೆ ಪ್ರಕರಣಗಳು {#use-cases} + +ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು ಮೂಲಭೂತವಾಗಿ ಕಂಪ್ಯೂಟರ್ ಪ್ರೋಗ್ರಾಂಗಳು ಮಾಡಬಹುದಾದ ಯಾವುದೇ ಕೆಲಸವನ್ನು ಮಾಡಬಹುದು. + +ಅವರು ಗಣನೆಗಳನ್ನು ಮಾಡಬಹುದು, ಕರೆನ್ಸಿಯನ್ನು ರಚಿಸಬಹುದು, ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು, NFT ಎನ್ಎಫ್ಟಿಗಳನ್ನು ಮಿಂಟ್ ಮಾಡಬಹುದು, ಸಂವಹನಗಳನ್ನು ಕಳುಹಿಸಬಹುದು ಮತ್ತು ಗ್ರಾಫಿಕ್ಸ್ ಅನ್ನು ಸಹ ರಚಿಸಬಹುದು. ಕೆಲವು ಜನಪ್ರಿಯ, ನೈಜ-ಪ್ರಪಂಚದ ಉದಾಹರಣೆಗಳು ಇಲ್ಲಿವೆ: + +- [ಸ್ಟೇಬಲ್‍ಕಾಯಿನ್‍‍ಗಳು](/stablecoins/) +- [ಅನನ್ಯ ಡಿಜಿಟಲ್ ಸ್ವತ್ತುಗಳನ್ನು ರಚಿಸುವುದು ಮತ್ತು ವಿತರಿಸುವುದು](/nft/) +- [ಸ್ವಯಂಚಾಲಿತ, ಮುಕ್ತ ಕರೆನ್ಸಿ ವಿನಿಮಯ](/get-eth/#dex) +- [ವಿಕೇಂದ್ರೀಕೃತ ಗೇಮಿಂಗ್](/dapps/?category=gaming) +- [ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪಾವತಿಸುವ ವಿಮಾ ಪಾಲಿಸಿ](https://etherisc.com/) +- [ಕಸ್ಟಮೈಸ್ ಮಾಡಿದ, ಪರಸ್ಪರ ಕಾರ್ಯಸಾಧ್ಯವಾದ ಕರೆನ್ಸಿಗಳನ್ನು ರಚಿಸಲು ಜನರಿಗೆ ಅನುಮತಿಸುವ ಮಾನದಂಡ](/developers/docs/standards/tokens/) + +## More of a visual learner? {#visual-learner} + +ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳನ್ನು ಫೈನ್ಮ್ಯಾಟಿಕ್ಸ್ ವಿವರಿಸುವುದನ್ನು ವೀಕ್ಷಿಸಿ: + + + +## Further reading {#further-reading} + +- [ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು ಜಗತ್ತನ್ನು ಹೇಗೆ ಬದಲಾಯಿಸುತ್ತವೆ](https://www.youtube.com/watch?v=pA6CGuXEKtQ) +- [ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು: ವಕೀಲರನ್ನು ಬದಲಿಸುವ ಬ್ಲಾಕ್‍ಚೈನ್ ತಂತ್ರಜ್ಞಾನ](https://blockgeeks.com/guides/smart-contracts/) +- [ಡೆವಲಪರ್ ಗಳಿಗೆ ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳು](/developers/docs/smart-contracts/) +- [ಸ್ಮಾರ್ಟ್-ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳನ್ನು ಬರೆಯಲು ಕಲಿಯಿರಿ](/developers/learning-tools/) +- [ಇಥಿರಿಯಮ್ ಅನ್ನು ಕರಗತ ಮಾಡಿಕೊಳ್ಳುವುದು - ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಎಂದರೇನು?](https://github.com/ethereumbook/ethereumbook/blob/develop/07smart-contracts-solidity.asciidoc#what-is-a-smart-contract) diff --git a/src/content/translations/kn/social-networks/index.md b/src/content/translations/kn/social-networks/index.md new file mode 100644 index 00000000000..7f3216fc012 --- /dev/null +++ b/src/content/translations/kn/social-networks/index.md @@ -0,0 +1,121 @@ +--- +title: ವಿಕೇಂದ್ರೀಕರಿತ ಸಾಮಾಜಿಕ ಜಾಲಗಳು +description: ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳ ಅವಲೋಕನ +lang: kn +template: use-cases +emoji: ":mega:" +sidebarDepth: 2 +image: ../../../../assets/ethereum-learn.png +summaryPoint1: ಸಾಮಾಜಿಕ ಸಂವಹನ ಮತ್ತು ವಿಷಯ ರಚನೆ ಮತ್ತು ವಿತರಣೆಗಾಗಿ ಬ್ಲಾಕ್‍ಚೈನ್ ಆಧಾರಿತ ವೇದಿಕೆಗಳು. +summaryPoint2: ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ನೆಟ್‍ವರ್ಕ್‍ಗಳು ಬಳಕೆದಾರರ ಗೌಪ್ಯತೆಯನ್ನು ರಕ್ಷಿಸುತ್ತವೆ ಮತ್ತು ಡೇಟಾ ಭದ್ರತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ. +summaryPoint3: ಟೋಕನ್‍ಗಳು ಮತ್ತು NFTಗಳು ವಿಷಯವನ್ನು ಹಣಗಳಿಸಲು ಹೊಸ ಮಾರ್ಗಗಳನ್ನು ರಚಿಸುತ್ತವೆ. +--- + +ನಮ್ಮ ದೈನಂದಿನ ಸಂವಹನ ಮತ್ತು ಸಂವಹನಗಳಲ್ಲಿ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳು ಭಾರಿ ಪಾತ್ರ ವಹಿಸುತ್ತವೆ. ಆದರೆ, ಈ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳ ಕೇಂದ್ರೀಕೃತ ನಿಯಂತ್ರಣವು ಅನೇಕ ಸಮಸ್ಯೆಗಳನ್ನು ಉಂಟುಮಾಡಿದೆ: ಡೇಟಾ ಸೋರಿಕೆ, ಸರ್ವರ್ ಔಟ್‌ಏಜ್‌ಗಳು, ಡಿ-ಪ್ಲಾಟ್‌ಫಾರ್ಮಿಂಗ್, ಸೆನ್ಸಾರ್‌ಶಿಪ್ ಮತ್ತು ಗೌಪ್ಯತೆ ಉಲ್ಲಂಘನೆಗಳು ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮವು ಹಲವುವೇಳೆ ಮಾಡುವ ಕೆಲವು ಒಪ್ಪಂದಗಳಾಗಿವೆ. ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸಲು, ಡೆವಲಪರ್ ಗಳು ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತಿದ್ದಾರೆ. ಡೆಸೆಂಟ್ರಲೈಸ್ಡ್ ಸಾಮಾಜಿಕ ಜಾಲಗಳು ಸಾಂಪ್ರದಾಯಿಕ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳ ಸಮಸ್ಯೆಗಳಲ್ಲಿ ಹಲವನ್ನು ಸರಿಪಡಿಸಬಹುದು ಮತ್ತು ಬಳಕೆದಾರರ ಒಟ್ಟಾರೆ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಬಹುದು. + +## ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳು ಎಂದರೇನು? {#what-are-decentralized-social-networks} + +ಡೆಸೆಂಟ್ರಲೈಸ್ಡ್ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳು ಬ್ಲಾಕ್‌ಚೈನ್ ಆಧಾರಿತ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಾಗಿವೆ, ಅದು ಬಳಕೆದಾರರಿಗೆ ಮಾಹಿತಿ ವಿನಿಮಯ ಮಾಡಲು ಮತ್ತು ಪ್ರೇಕ್ಷಕರಿಗೆ ವಿಷಯವನ್ನು ಪ್ರಕಟಿಸಲು ಮತ್ತು ವಿತರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಬ್ಲಾಕ್‌ಚೈನ್‌ನಲ್ಲಿ ಚಲಿಸುವ ಕಾರಣ, ಅವು ಕೇಂದ್ರೀಕೃತಗೊಳಿಸದ ಮತ್ತು ಸೆನ್ಸಾರ್‌ಶಿಪ್ ಮತ್ತು ಅನಗತ್ಯ ನಿಯಂತ್ರಣಕ್ಕೆ ಪ್ರತಿರೋಧಕವಾಗಿರಬಲ್ಲವು. + +ಹಲವು ಡೆಸೆಂಟ್ರಲೈಸ್ಡ್ ಸಾಮಾಜಿಕ ಜಾಲಗಳು ಫೇಸ್‌ಬುಕ್, ಲಿಂಕೆಡಿನ್, ಟ್ವಿಟರ್ ಮತ್ತು ಮೀಡಿಯಂ ಮುಂತಾದ ಸ್ಥಾಪಿತ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಸೇವೆಗಳಿಗೆ ಪರ್ಯಾಯವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ. ಆದರೆ ಬ್ಲಾಕ್‌ಚೈನ್-ಆಧಾರಿತ ಸಾಮಾಜಿಕ ಜಾಲಗಳು ಹಲವಾರು ಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿವೆ, ಅದು ಅವುಗಳನ್ನು ಸಾಂಪ್ರದಾಯಿಕ ಸಾಮಾಜಿಕ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳ ಮುಂದಿಡುತ್ತದೆ. + +### ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ? {#decentralized-social-networks-overview} + +ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳು [ವಿಕೇಂದ್ರೀಕೃತ ಅಪ್ಲಿಕೇಶನ್‍ಗಳ (Dapps)](/dapps/) ಒಂದು ವರ್ಗವಾಗಿದೆ - ಬ್ಲಾಕ್‍ಚೈನ್‍ನಲ್ಲಿ ನಿಯೋಜಿಸಲಾದ [ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಗಳಿಂದ](/developers/docs/smart-contracts/) ಚಾಲಿತ ಅಪ್ಲಿಕೇಶನ್‍ಗಳು. ಕಾಂಟ್ರಾಕ್ಟ್ ಕೋಡ್ ಈ ಅಪ್ಲಿಕೇಶನ್‍ಗಳಿಗೆ ಬ್ಯಾಕ್ ಎಂಡ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳ ವ್ಯವಹಾರ ತರ್ಕವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. + +ಸಾಂಪ್ರದಾಯಿಕ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಪ್ಲಾಟ್‍ಫಾರ್ಮ್‍ಗಳ ಬಳಕೆದಾರರ ಮಾಹಿತಿ, ಪ್ರೋಗ್ರಾಂ ಕೋಡ್ ಮತ್ತು ಇತರ ರೀತಿಯ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಡೇಟಾಬೇಸ್‍ಗಳನ್ನು ಅವಲಂಬಿಸಿವೆ. ಆದರೆ ಇದು ವೈಫಲ್ಯದ ಏಕ ಬಿಂದುಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ ಮತ್ತು ಗಮನಾರ್ಹ ಅಪಾಯವನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಫೇಸ್ಬುಕ್ನ ಸರ್ವರ್ಗಳು ಕಳೆದ ವರ್ಷ [ಗಂಟೆಗಳ ಕಾಲ ಆಫ್‍ಲೈನ್‍ಗೆ ಹೋದವು](https://www.npr.org/2021/10/05/1043211171/facebook-instagram-whatsapp-outage-business-impact), ಬಳಕೆದಾರರನ್ನು ಪ್ಲಾಟ್‍ಫಾರ್ಮ್‍ನಿಂದ ಕಡಿತಗೊಳಿಸಿದವು. + +ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‌ವರ್ಕ್‌ಗಳು ಜಗತ್ತಿನಾದ್ಯಂತ ಸಾವಿರಾರು ನೋಡ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಪೀರ್-ಟು-ಪೀರ್ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ. ಕೆಲವು ನೋಡ್‌ಗಳು ವಿಫಲವಾದರೂ, ನೆಟ್‌ವರ್ಕ್ ಅಡೆತಡೆಯಿಲ್ಲದೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಇದು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ವೈಫಲ್ಯಗಳು ಮತ್ತು ಸ್ಥಗಿತಗಳಿಗೆ ನಿರೋಧಕವಾಗಿಸುತ್ತದೆ. + +[ಇಂಟರ್ಪ್ಲಾನೆಟರಿ ಫೈಲ್ ಸಿಸ್ಟಮ್ (IPFS)](https://ipfs.io/) ನಂತಹ ವಿಕೇಂದ್ರೀಕೃತ ಶೇಖರಣಾ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು, ಎಥೆರಿಯಮ್ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ ಸಾಮಾಜಿಕ ನೆಟ್ವರ್ಕ್ಗಳು ಬಳಕೆದಾರರ ಮಾಹಿತಿಯನ್ನು ಶೋಷಣೆ ಮತ್ತು ದುರುದ್ದೇಶಪೂರಿತ ಬಳಕೆಯಿಂದ ರಕ್ಷಿಸಬಹುದು. ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯನ್ನು ಯಾರೂ ಜಾಹೀರಾತುದಾರರಿಗೆ ಮಾರಾಟ ಮಾಡುವುದಿಲ್ಲ, ಹ್ಯಾಕರ್‌ಗಳು ನಿಮ್ಮ ಗೌಪ್ಯ ವಿವರಗಳನ್ನು ಕದಿಯಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. + +ಹಲವು ಬ್ಲಾಕ್‌ಚೈನ್-ಆಧಾರಿತ ಸಾಮಾಜಿಕ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳು ಜಾಹೀರಾತು ಆದಾಯದ ಅನುಪಸ್ಥಿತಿಯಲ್ಲಿ ಗಳಿಕೆಯನ್ನು ಸಾಧಿಸಲು ಸ್ಥಳೀಯ ಟೋಕನ್‌ಗಳನ್ನು ಹೊಂದಿವೆ. ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪ್ರವೇಶಿಸಲು, ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿನ ಖರೀದಿಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಅಥವಾ ಅವರ ನೆಚ್ಚಿನ ವಿಷಯ ರಚನೆಕಾರರಿಗೆ ಸಲಹೆ ನೀಡಲು ಬಳಕೆದಾರರು ಈ ಟೋಕನ್‌ಗಳನ್ನು ಖರೀದಿಸಬಹುದು. + +## ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳ ಪ್ರಯೋಜನಗಳು {#benefits} + +1. ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳು ಸೆನ್ಸಾರ್ಶಿಪ್-ನಿರೋಧಕ ಮತ್ತು ಎಲ್ಲರಿಗೂ ಮುಕ್ತವಾಗಿವೆ. ಇದರರ್ಥ ಬಳಕೆದಾರರನ್ನು ನಿಷೇಧಿಸಲು, ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಅಥವಾ ಅನಿಯಂತ್ರಿತವಾಗಿ ನಿರ್ಬಂಧಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. + +2. ಡೆಸೆಂಟ್ರಲೈಸ್ಡ್ ಸಾಮಾಜಿಕ ಜಾಲಗಳು ತೆರೆದ ಮೂಲದ ಆದರ್ಶಗಳ ಮೇಲೆ ನಿರ್ಮಿಸಲ್ಪಟ್ಟಿವೆ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೂಲ ಕೋಡ್ ಅನ್ನು ಸಾರ್ವಜನಿಕ ಪರಿಶೀಲನೆಗಾಗಿ ಲಭ್ಯಗೊಳಿಸುತ್ತವೆ. ಸಾಂಪ್ರದಾಯಿಕ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮದಲ್ಲಿ ಸಾಮಾನ್ಯವಾದ ಅಪಾರದರ್ಶಕ ಅಲ್ಗಾರಿದಮ್‌ಗಳ ಅನುಷ್ಠಾನವನ್ನು ತೆಗೆದುಹಾಕುವ ಮೂಲಕ, ಬ್ಲಾಕ್‌ಚೇನ್ ಆಧಾರಿತ ಸಾಮಾಜಿಕ ನೆಟ್‌ವರ್ಕ್‌ಗಳು ಬಳಕೆದಾರರು ಮತ್ತು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ರಚನೆಕಾರರ ಹಿತಾಸಕ್ತಿಗಳನ್ನು ಜೋಡಿಸಬಹುದು. + +3. ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳು "ಮಧ್ಯವರ್ತಿ"ಯನ್ನು ತೊಡೆದುಹಾಕುತ್ತವೆ. ವಿಷಯದ ಸೃಷ್ಟಿಕರ್ತರು ತಮ್ಮ ವಿಷಯದ ಮೇಲೆ ನೇರ ಒಡೆತನ ಹೊಂದಿದ್ದಾರೆ ಮತ್ತು ಅವರು ಫಾಲೋವರ್‌ಗಳು, ಅಭಿಮಾನಿಗಳು, ಖರೀದಿದಾರರು ಮತ್ತು ಇತರ ಪಕ್ಷಗಳೊಂದಿಗೆ ನೇರವಾಗಿ ಸಂವಹನ ನಡೆಸುತ್ತಾರೆ, ಅವುಗಳ ನಡುವೆ ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಒಂದೇ ಇರುತ್ತದೆ. + +4. ಇಥಿರಿಯಮ್ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಚಲಿಸುವ ಡ್ಯಾಪ್‌ಗಳಂತೆ, ಇದು ಜಾಗತಿಕ, ಪೀರ್-ಟು-ಪೀರ್ ನೋಡ್‌ಗಳ ಜಾಲದಿಂದ ನಡೆಸಲ್ಪಡುತ್ತದೆ, ಡೆಸೆಂಟ್ರಲೈಸ್ಡ್ ಸಾಮಾಜಿಕ ಜಾಲಗಳು ಸರ್ವರ್ ಡೌನ್‌ಟೈಮ್ ಮತ್ತು ಔಟ್‌ಏಜ್‌ಗಳಿಗೆ ಕಡಿಮೆ ಒಳಗಾಗುತ್ತವೆ. + +5. ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳು ವಿಷಯ ರಚನೆಕಾರರಿಗೆ ನಾನ್-ಫಂಜಿಬಲ್ ಟೋಕನ್‌ಗಳು (NFT ಗಳು), ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿನ ಕ್ರಿಪ್ಟೋ ಪಾವತಿಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳ ಮೂಲಕ ಸುಧಾರಿತ ಹಣಗಳಿಕೆಯ ಚೌಕಟ್ಟನ್ನು ನೀಡುತ್ತವೆ. + +6. ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳು ಬಳಕೆದಾರರಿಗೆ ಹೆಚ್ಚಿನ ಮಟ್ಟದ ಗೌಪ್ಯತೆ ಮತ್ತು ಅನಾಮಧೇಯತೆಯನ್ನು ನೀಡುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, ಒಬ್ಬ ವ್ಯಕ್ತಿಯು ENS ಪ್ರೊಫೈಲ್ ಅಥವಾ ವ್ಯಾಲೆಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಇಥಿರಿಯಮ್-ಆಧಾರಿತ ಸಾಮಾಜಿಕ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಬಹುದು-ಹೆಸರುಗಳು, ಇಮೇಲ್ ವಿಳಾಸಗಳು ಇತ್ಯಾದಿಗಳಂತಹ ವೈಯಕ್ತಿಕವಾಗಿ ಗುರುತಿಸಬಹುದಾದ ಮಾಹಿತಿಯನ್ನು (PII) ಹಂಚಿಕೊಳ್ಳದೆಯೇ. + +7. ಡೆಸೆಂಟ್ರಲೈಸ್ಡ್ ಸಾಮಾಜಿಕ ಜಾಲಗಳು ಕೇಂದ್ರೀಕೃತ ಡೇಟಾಬೇಸ್‌ಗಳಲ್ಲದೆ, ಕೇಂದ್ರೀಕೃತವಾಗಿರದ ಶೇಖರಣೆಯ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿವೆ, ಅದು ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ರಕ್ಷಿಸಲು ಗಣನೀಯವಾಗಿ ಉತ್ತಮವಾಗಿದೆ. + +## ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್ವರ್ಕ್ಗಳು {#ethereum-social-networks} + +ಇಥಿರಿಯಮ್ ನೆಟ್‍ವರ್ಕ್ ತನ್ನ ಟೋಕನ್‍ಗಳ ಜನಪ್ರಿಯತೆ (ERC -20 / ERC -721) ಜನಪ್ರಿಯತೆ ಮತ್ತು ಅದರ ಬೃಹತ್ ಬಳಕೆದಾರರ ನೆಲೆಯಿಂದಾಗಿ ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮವನ್ನು ರಚಿಸುವ ಡೆವಲಪರ್ಗಳಿಗೆ ಆದ್ಯತೆಯ ಸಾಧನವಾಗಿದೆ. ಇಥಿರಿಯಮ್ ಆಧಾರಿತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳ ಕೆಲವು ಉದಾಹರಣೆಗಳು ಇಲ್ಲಿವೆ: + +### Peepeth {#peepeth} + +[Peepeth](https://peepeth.com/) ಟ್ವಿಟರ್ಗೆ ಹೋಲುವ ಮೈಕ್ರೋಬ್ಲಾಗಿಂಗ್ ಪ್ಲಾಟ್‍ಫಾರ್ಮ್ ಆಗಿದೆ. ಇದು ಇಥಿರಿಯಮ್ ಬ್ಲಾಕ್‍ಚೈನ್‍ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ ಮತ್ತು ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು IPFS ಅನ್ನು ಬಳಸುತ್ತದೆ. + +ಬಳಕೆದಾರರು "ಪೀಪ್ಸ್" ಎಂದು ಕರೆಯಲ್ಪಡುವ ಸಣ್ಣ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಬಹುದು, ಅದನ್ನು ಅಳಿಸಲು ಅಥವಾ ಮಾರ್ಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ತೊರೆಯದೆ ನೀವು Ether (ETH) ನಲ್ಲಿ ಪ್ಲಾಟ್‍ಫಾರ್ಮ್‍ನಲ್ಲಿ ಯಾರಿಗಾದರೂ ಸಲಹೆಯನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು ಅಥವಾ ಸಲಹೆಯನ್ನು ನೀಡಬಹುದು. + +### Mirror {#mirror} + +[ Mirror](https://mirror.xyz/) ಮಿರರ್ ಎಂಬುದು Web3-ಸಕ್ರಿಯಗೊಳಿಸಿದ ಬರವಣಿಗೆ ವೇದಿಕೆಯಾಗಿದ್ದು, ಇದು ವಿಕೇಂದ್ರೀಕೃತ ಮತ್ತು ಬಳಕೆದಾರ ಮಾಲೀಕತ್ವದ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಬಳಕೆದಾರರು ತಮ್ಮ ವ್ಯಾಲೆಟ್‍ಗಳನ್ನು ಸಂಪರ್ಕಿಸುವ ಮೂಲಕ ಮಿರರ್ ನಲ್ಲಿ ಉಚಿತವಾಗಿ ಓದಬಹುದು ಮತ್ತು ಬರೆಯಬಹುದು. ಬಳಕೆದಾರರು ಬರವಣಿಗೆಯನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು ಮತ್ತು ತಮ್ಮ ನೆಚ್ಚಿನ ಬರಹಗಾರರಿಗೆ ಚಂದಾದಾರರಾಗಬಹುದು. + +ಮಿರರ್ ನಲ್ಲಿ ಪ್ರಕಟವಾದ ಪೋಸ್ಟ್ ಗಳನ್ನು ವಿಕೇಂದ್ರೀಕೃತ ಶೇಖರಣಾ ವೇದಿಕೆಯಾದ Arweave ನಲ್ಲಿ ಶಾಶ್ವತವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ರೈಟಿಂಗ್ NFTಗಳು ಎಂದು ಕರೆಯಲ್ಪಡುವ ಸಂಗ್ರಹಿಸಬಹುದಾದ [ನಾನಂಜಿಬಲ್ ಟೋಕನ್‍ಗಳಾಗಿ (NFTsಗಳು)](/nft/) ತಯಾರಿಸಬಹುದು. NFTಗಳನ್ನು ಬರೆಯುವುದು ಬರಹಗಾರರಿಗೆ ರಚಿಸಲು ಸಂಪೂರ್ಣವಾಗಿ ಉಚಿತವಾಗಿದೆ, ಮತ್ತು ಸಂಗ್ರಹವು ಇಥಿರಿಯಮ್ L2 ನಲ್ಲಿ ನಡೆಯುತ್ತದೆ - ವಹಿವಾಟುಗಳನ್ನು ಅಗ್ಗದ, ವೇಗದ ಮತ್ತು ಪರಿಸರ ಸ್ನೇಹಿಯನ್ನಾಗಿ ಮಾಡುತ್ತದೆ. + +### MINDS {#minds} + +[MINDS ](https://www.minds.com/)ಮೈಂಡ್ಸ್ ಹೆಚ್ಚು ಬಳಸಲಾಗುವ ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಇದು ಫೇಸ್‍ಬುಕ್‍ನಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಈಗಾಗಲೇ ಲಕ್ಷಾಂತರ ಬಳಕೆದಾರರನ್ನು ಸೆಳೆದಿದೆ. + +ಬಳಕೆದಾರರು ಐಟಂಗಳಿಗೆ ಪಾವತಿಸಲು ಪ್ಲಾಟ್‍ಫಾರ್ಮ್‍ನ ಸ್ಥಳೀಯ ERC -20 ಟೋಕನ್ $MIND ಅನ್ನು ಬಳಸುತ್ತಾರೆ. ಜನಪ್ರಿಯ ವಿಷಯವನ್ನು ಪ್ರಕಟಿಸುವ ಮೂಲಕ, ಪರಿಸರ ವ್ಯವಸ್ಥೆಗೆ ಕೊಡುಗೆ ನೀಡುವ ಮೂಲಕ ಮತ್ತು ಇತರರನ್ನು ವೇದಿಕೆಗೆ ಉಲ್ಲೇಖಿಸುವ ಮೂಲಕ ಬಳಕೆದಾರರು $MIND ಟೋಕನ್‍ಗಳನ್ನು ಗಳಿಸಬಹುದು. + +## ಇಥಿರಿಯಮ್‍ನಲ್ಲಿ Web2 ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್‍ಗಳು {#web2-social-networks-and-ethereum} + +[Web3](/web3/) ಸ್ಥಳೀಯ ಸಾಮಾಜಿಕ ಪ್ಲಾಟ್‍ಫಾರ್ಮ್‍ಗಳು ಮಾತ್ರ ಬ್ಲಾಕ್‍ಚೈನ್ ತಂತ್ರಜ್ಞಾನವನ್ನು ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮದಲ್ಲಿ ಸಂಯೋಜಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿಲ್ಲ. ಅನೇಕ ಕೇಂದ್ರೀಕೃತ ವೇದಿಕೆಗಳು ಇಥಿರಿಯಮ್ ಅನ್ನು ತಮ್ಮ ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ ಸಂಯೋಜಿಸಲು ಯೋಜಿಸುತ್ತಿವೆ: + +### ರೆಡ್ಡಿಟ್ {#reddit} + +ರೆಡ್ಡಿಟ್ [ಕಮ್ಯುನಿಟಿ ಪಾಯಿಂಟ್ಸ್](https://cointelegraph.com/news/reddit-to-reportedly-tokenize-karma-points-and-onboard-500m-new-users) ಅನ್ನು ಹೊಂದಿದೆ, ಇದು [ERC -20 ಟೋಕನ್‍ಗಳಾಗಿವೆ](/developers/docs/standards/tokens/erc-20/), ಇದು ಗುಣಮಟ್ಟದ ವಿಷಯವನ್ನು ಪೋಸ್ಟ್ ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಆನ್‍ಲೈನ್ ಸಮುದಾಯಗಳಿಗೆ (ಸಬ್ರೆಡಿಟ್ಸ್) ಕೊಡುಗೆ ನೀಡುವ ಮೂಲಕ ಬಳಕೆದಾರರು ಗಳಿಸಬಹುದು. [ವಿಶೇಷ ಸವಲತ್ತುಗಳು](https://www.reddit.com/community-points/) ಮತ್ತು ಸವಲತ್ತುಗಳನ್ನು ಪಡೆಯಲು ನೀವು ಈ ಟೋಕನ್‍ಗಳನ್ನು ಸಬ್ರೆಡಿಟ್ ಒಳಗೆ ರಿಡೀಮ್ ಮಾಡಬಹುದು. ಈ ಯೋಜನೆಗಾಗಿ, ರೆಡ್ಡಿಟ್ ಇಥಿರಿಯಮ್ ವಹಿವಾಟುಗಳನ್ನು ಅಳೆಯಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ [ಲೇಯರ್ 2](/layer-2/) L2 ರೋಲಪ್ ಅರ್ಬಿಟ್ರಮ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ. + +ಪ್ರೋಗ್ರಾಂ ಈಗಾಗಲೇ ಲೈವ್ ಆಗಿದೆ, r/CryptoCurrency ಸಬ್ರೆಡಿಟ್ ತನ್ನ [ಸಮುದಾಯ ಬಿಂದುಗಳ ಆವೃತ್ತಿಯನ್ನು "ಮೂನ್ಸ್"](https://www.reddit.com/r/CryptoCurrency/wiki/moons_wiki) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಅಧಿಕೃತ ವಿವರಣೆಯಲ್ಲಿ, ಮೂನ್ಸ್ "ಸಬ್ರೆಡಿಟ್‍ಗೆ ನೀಡಿದ ಕೊಡುಗೆಗಳಿಗಾಗಿ ಪೋಸ್ಟರ್ ಗಳು, ಕಾಮೆಂಟ್ ಮಾಡುವವರು ಮತ್ತು ಮಾಡರೇಟರ್ ಗಳಿಗೆ ಬಹುಮಾನ ನೀಡುತ್ತಾರೆ." ಈ ಟೋಕನ್‍ಗಳು ಬ್ಲಾಕ್‍ಚೈನ್‍ನಲ್ಲಿರುವುದರಿಂದ (ಬಳಕೆದಾರರು ಅವುಗಳನ್ನು ವ್ಯಾಲೆಟ್‍ಗಳಲ್ಲಿ ಸ್ವೀಕರಿಸುತ್ತಾರೆ), ಅವು ರೆಡ್ಡಿಟ್ ನಿಂದ ಸ್ವತಂತ್ರವಾಗಿವೆ ಮತ್ತು ಅವುಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುವುದಿಲ್ಲ. + +ರಿಂಕೆಬಿ ಟೆಸ್ಟ್‌ನೆಟ್‌ನಲ್ಲಿ ಬೀಟಾ ಹಂತವನ್ನು ಮುಗಿಸಿದ ನಂತರ, ರೆಡ್ಡಿಟ್ ಸಮುದಾಯದ ಅಂಕಗಳು ಈಗ [ಆರ್ಬಿಟ್ರಮ್ ನೋವಾ](https://nova.arbitrum.io/) ನಲ್ಲಿದೆ, ಇದು [ಸೈಡ್‌ಚೈನ್](/developers/docs/scaling/sidechains/) ಮತ್ತು [ಆಪ್‌ಟಿಮಿಸ್ಟಿಕ್ ರೋಲ್‌ಅಪ್](/developers/docs/scaling/optimistic-rollups/) ಗುಣಲಕ್ಷಣಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಬ್ಲಾಕ್‌ಚೈನ್ ಆಗಿದೆ. ವಿಶೇಷ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅನ್‍ಲಾಕ್ ಮಾಡಲು ಸಮುದಾಯ ಪಾಯಿಂಟ್‍ಗಳನ್ನು ಬಳಸುವುದರ ಜೊತೆಗೆ, ಬಳಕೆದಾರರು ಅವುಗಳನ್ನು ಎಕ್ಸ್ ಚೇಂಜ್‍ಗಳಲ್ಲಿ ಫಿಯೆಟ್‍ಗಾಗಿ ವ್ಯಾಪಾರ ಮಾಡಬಹುದು. ಅಲ್ಲದೆ, ಬಳಕೆದಾರರು ಹೊಂದಿರುವ ಸಮುದಾಯ ಪಾಯಿಂಟ್ ಗಳ ಪ್ರಮಾಣವು ಸಮುದಾಯದೊಳಗಿನ ನಿರ್ಧಾರ ತೆಗೆದುಕೊಳ್ಳುವ ಪ್ರಕ್ರಿಯೆಯ ಮೇಲೆ ಅವರ ಪ್ರಭಾವವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ. + +### ಟ್ವಿಟರ್ ಈಗ X {#twitter} + +ಜನವರಿ 2021 ರಲ್ಲಿ, ಟ್ವಿಟರ್ ಬ್ಲೂ [NFT ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಹೊರತಂದಿತು](https://mashable.com/article/twitter-blue-nft-profile-picture), ಬಳಕೆದಾರರಿಗೆ ತಮ್ಮ ವ್ಯಾಲೆಟ್‍ಗಳನ್ನು ಸಂಪರ್ಕಿಸಲು ಮತ್ತು NFT ಗಳನ್ನು ಪ್ರೊಫೈಲ್ ಚಿತ್ರಗಳಾಗಿ ಪ್ರದರ್ಶಿಸಲು ಅನುವು ಮಾಡಿಕೊಟ್ಟಿತು. ಬರೆಯುವ ಸಮಯದಲ್ಲಿ, ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಕಂಪನಿ ಭವಿಷ್ಯದಲ್ಲಿ ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್‍ವರ್ಕ್ ರಚಿಸುವ [ಯೋಜನೆಗಳನ್ನು ಘೋಷಿಸಿದೆ.](https://www.theverge.com/2021/8/16/22627435/twitter-bluesky-lead-jay-graber-decentralized-social-web). + +### ಇನ್ ಸ್ಟಾ ಗ್ರಾಮ್ {#instagram} + +ಮೇ 2022 ರಲ್ಲಿ, [ಇನ್ಸ್ಟಾಗ್ರಾಮ್ ಇಥಿರಿಯಮ್ ಮತ್ತು ಪಾಲಿಗಾನ್ನಲ್ಲಿ NFTಗಳಿಗೆ](https://about.instagram.com/blog/announcements/instagram-digital-collectibles) ಬೆಂಬಲವನ್ನು ಘೋಷಿಸಿತು. ಬಳಕೆದಾರರು ತಮ್ಮ ಇಥಿರಿಯಮ್ ವ್ಯಾಲೆಟ್ ಅನ್ನು ಸಂಪರ್ಕಿಸುವ ಮೂಲಕ NFTಗಳನ್ನು ನೇರವಾಗಿ ಇನ್ಸ್ಟಾಗ್ರಾಮ್ಗೆ ಪೋಸ್ಟ್ ಮಾಡಬಹುದು. + +## ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್ ವರ್ಕ್ ಗಳನ್ನು ಬಳಸಿ {#use-decentralized-social-networks} + +- **[ಸ್ಟೇಟಸ್.ಐಎಂ](https://status.im/)** - _ಸ್ಟೇಟಸ್ ಒಂದು ಸುರಕ್ಷಿತ ಸಂದೇಶ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದ್ದು, ಇದು ಮುಕ್ತ-ಮೂಲ, ಪೀರ್-ಟು-ಪೀರ್ ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು ಎಂಡ್-ಟು-ಎಂಡ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಿಮ್ಮ ಸಂದೇಶಗಳನ್ನು ಮೂರನೇ ಪಕ್ಷಗಳಿಂದ ರಕ್ಷಿಸುತ್ತದೆ._ +- **[Mirror.xyz](https://mirror.xyz/)** - _ - ಮಿರರ್ ಎಂಬುದು ವಿಕೇಂದ್ರೀಕೃತ, ಬಳಕೆದಾರ-ಮಾಲೀಕತ್ವದ ಪ್ರಕಾಶನ ವೇದಿಕೆಯಾಗಿದ್ದು, ಬಳಕೆದಾರರಿಗೆ ಕ್ರೌಡ್ ಫಂಡ್ ಕಲ್ಪನೆಗಳನ್ನು ಕ್ರೌಡ್ ಫಂಡ್ ಮಾಡಲು, ವಿಷಯವನ್ನು ಹಣಗಳಿಸಲು ಮತ್ತು ಹೆಚ್ಚಿನ ಮೌಲ್ಯದ ಸಮುದಾಯಗಳನ್ನು ನಿರ್ಮಿಸಲು ಇಥಿರಿಯಮ್ ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ._ +- **[Lens Protocol](https://lens.xyz/)** - _ಲೆನ್ಸ್ ಪ್ರೋಟೋಕಾಲ್ ಎಂಬುದು ಸಂಯೋಜಿಸಬಹುದಾದ ಮತ್ತು ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ಗ್ರಾಫ್ ಆಗಿದ್ದು, ವಿಕೇಂದ್ರೀಕೃತ ಇಂಟರ್ನೆಟ್ನ ಡಿಜಿಟಲ್ ಉದ್ಯಾನದಲ್ಲಿ ಎಲ್ಲಿ ಹೋದರೂ ಸೃಷ್ಟಿಕರ್ತರು ತಮ್ಮ ವಿಷಯದ ಮಾಲೀಕತ್ವವನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ._ +- **[ Farcaster](https://farcaster.xyz/)** - _ಫಾರ್ಕಾಸ್ಟರ್ ಸಾಕಷ್ಟು ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ನೆಟ್ವರ್ಕ್ ಆಗಿದೆ. ಇದು ಇಮೇಲ್ನಂತೆಯೇ ಅನೇಕ ಗ್ರಾಹಕರನ್ನು ಬೆಂಬಲಿಸುವ ಮುಕ್ತ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ._ + +## Further reading {#further-reading} + +### ಲೇಖನಗಳು {#articles} + +- [ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮದ ವಿಕೇಂದ್ರೀಕರಣ: Web 3 ಸಾಮಾಜಿಕ ಸ್ಟ್ಯಾಕ್ ಗೆ ಮಾರ್ಗದರ್ಶಿ](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) - _ಕಾಯಿನ್ಬೇಸ್ ವೆಂಚರ್ಸ್_ +- [ಸಾಮಾಜಿಕ ನೆಟ್ ವರ್ಕ್ ಗಳು ಮುಂದಿನ ದೊಡ್ಡ ವಿಕೇಂದ್ರೀಕರಣ ಅವಕಾಶವಾಗಿದೆ](https://www.coindesk.com/tech/2021/01/22/social-networks-are-the-next-big-decentralization-opportunity/) - _ Ben Goertzel_ +- [ವೆಬ್ 3 ವಿಕೇಂದ್ರೀಕೃತ, ಸಮುದಾಯ-ಚಾಲಿತ ಸಾಮಾಜಿಕ ನೆಟ್ ವರ್ಕ್ ಗಳ ಭರವಸೆಯನ್ನು ಹೊಂದಿದೆ](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) - _ಸುಮಿತ್ ಘೋಷ್_ +- [ಬ್ಲಾಕ್ ಚೈನ್ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಭೂದೃಶ್ಯದ ಅವಲೋಕನ](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) - _ಜೆಮಿನಿ ಕ್ರಿಪ್ಟೋಪೀಡಿಯಾ_ +- [ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಗೌಪ್ಯತೆಯನ್ನು ಬ್ಲಾಕ್ ಚೈನ್ ಹೇಗೆ ಪರಿಹರಿಸಬಹುದು](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) - _ಪ್ರಬ್ಲೀನ್ ಬಾಜಪೇಯಿ_ +- [ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ನೆಟ್ ವರ್ಕ್ ಗಳು ಬ್ಲಾಕ್ ಚೈನ್ ಗೆ ಬರುತ್ತಿವೆ](https://businesstechguides.co/what-are-decentralized-social-networks) - _Emmanuel Awosika_ +- [ಸಾಮಾಜಿಕ ನೆಟ್ ವರ್ಕ್ ಗಳಿಗೆ ಸಾಕಷ್ಟು ವಿಕೇಂದ್ರೀಕರಣ](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) - _ ವರುಣ್ ಶ್ರೀನಿವಾಸನ್_ + +### Videos {#videos} + +- [ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ವಿವರಿಸಲಾಗಿದೆ](https://www.youtube.com/watch?v=UdT2lpcGvcQ) - _Coinmarketcap_ +- [DeSo ಬ್ಲಾಕ್ಚೈನ್ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮವನ್ನು ವಿಕೇಂದ್ರೀಕರಿಸಲು ಬಯಸುತ್ತದೆ](https://www.youtube.com/watch?v=SG2HUiVp0rE) - _ಬ್ಲೂಮ್ಬರ್ಗ್ ಟೆಕ್ನಾಲಜಿ_ +- [ವಿಕೇಂದ್ರೀಕೃತ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮದ ಭವಿಷ್ಯ ಬಾಲಾಜಿ ಶ್ರೀನಿವಾಸನ್, ವಿಟಾಲಿಕ್ ಬುಟೆರಿನ್, ಜುವಾನ್ ಬೆನೆಟ್](https://www.youtube.com/watch?v=DTxE9KV3YrE) - _ETHGlobal_ + +### ಸಮುದಾಯಗಳು {#communities} + +- [Status ಡಿಸ್ಕಾರ್ಡ್ ಸರ್ವರ್](https://discord.com/invite/3Exux7Y) +- [Mirror ಡಿಸ್ಕಾರ್ಡ್ ಸರ್ವರ್](https://discord.com/invite/txuCHcE8wV) +- [r/CryptoCurrency subreddit](https://www.reddit.com/r/CryptoCurrency/) diff --git a/src/content/translations/nl/decentralized-identity/index.md b/src/content/translations/nl/decentralized-identity/index.md index 7ca2f616b6e..2334651c686 100644 --- a/src/content/translations/nl/decentralized-identity/index.md +++ b/src/content/translations/nl/decentralized-identity/index.md @@ -17,7 +17,7 @@ Traditionele identiteitsbeheersystemen hebben echter lang vertrouwd op gecentral Om deze problemen op te lossen, hebben we gedecentraliseerde identiteitssystemen gebouwd op openbare blockchains zoals Ethereum. Gedecentraliseerde identiteit stelt individuen in staat hun identiteitsgerelateerde informatie te beheren. Met gedecentraliseerde identiteitsoplossingen kunt _u_ zelf uw identificatiekenmerken creëren en houdt u zelf uw certificaten bij, zonder te vertrouwen op centrale autoriteiten, zoals dienstverleners of overheden. -## Wat is identiteit {#what-is-identity} +## Wat is identiteit? {#what-is-identity} Identiteit betekent iemands gevoel voor zichzelf, gedefinieerd door zijn unieke kenmerken. Identiteit verwijst naar het zijn van een _individu_, d.w.z. een afzonderlijke menselijke entiteit. Identiteit zou ook kunnen verwijzen naar andere niet-menselijke entiteiten, zoals een organisatie of autoriteit. @@ -157,6 +157,7 @@ Er zijn veel ambitieuze projecten die Ethereum als basis voor gedecentraliseerde - **[Ethereum Name Service (ENS)](https://ens.domains/)** - _Een gedecentraliseerd benamingssysteem voor on-chain, machine-leesbare identificatiekenmerken, zoals Ethereum-portemonnee-adressen, content hashes en metadata._ - **[SpruceID](https://www.spruceid.com/)** - _Een gedecentraliseerd identiteitsproject dat gebruikers in staat stelt om hun digitale identiteit te beheren met Ethereum-accounts en ENS-profielen, in plaats van te vertrouwen op diensten van derden._ +- **[Ethereum Attestation Service (EAS)](https://attest.sh/)** - _Een gedecentraliseerd grootboek/protocol voor het maken van on-chain of off-chain attestaties over wat dan ook._ - **[Bewijs van Menselijkheid (PoH)](https://www.proofofhumanity.id)** - _Bewijs van Menselijkheid (of Proof of Humanity, PoH) is een sociaal identiteitsverificatiesysteem gebouwd op Ethereum._ - **[BrightID](https://www.brightid.org/)** - _Een gedecentraliseerd, open-source sociaal identiteitsnetwerk dat probeert de identiteitsverificatie te hervormen door het creëren en analyseren van een sociale grafiek._ - **[Proof-of-personhood-paspoort](https://proofofpersonhood.com/)** - _Een gedecentraliseerde digitale identiteitsaggregator._ diff --git a/src/content/translations/nl/defi/index.md b/src/content/translations/nl/defi/index.md index cdc04e35ace..ed2ce98188f 100644 --- a/src/content/translations/nl/defi/index.md +++ b/src/content/translations/nl/defi/index.md @@ -40,7 +40,7 @@ Een van de beste manieren om het potentieel van DeFi in te zien is het begrijpen | DeFi | Traditionele financiën | | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | U heeft uw geld in bezit. | Uw geld wordt beheerd door bedrijven. | -| U controleert waar uw geld naartoe gaat en hoe het wordt uitgegeven. | U moet bedrijven vertrouwen om uw geld niet verkeerd te beheren, zoals lenen aan riskante leners. | +| U controleert waar uw geld naartoe gaat en hoe het wordt uitgegeven. | Je moet erop vertrouwen dat bedrijven je geld niet verkeerd beheren, zoals het uitlenen aan risicovolle leners. | | Geldoverboekingen vinden in enkele minuten plaats. | Betalingen kunnen dagen duren vanwege handmatige processen. | | Transactieactiviteit is pseudoniem. | Financiële activiteit is nauw verbonden met uw identiteit. | | Defi staat voor iedereen open. | U moet een aanvraag indienen om gebruik te maken van financiële diensten. | @@ -53,7 +53,7 @@ Een van de beste manieren om het potentieel van DeFi in te zien is het begrijpen ## Het begon allemaal met Bitcoin... {#bitcoin} -Bitcoin was in vele opzichten de eerste DeFi-applicatie. Bitcoin laat u echt waarde bezitten en beheren en u kunt het overal ter wereld heen sturen. Het doet dit door een manier te bieden voor een groot aantal mensen die elkaar niet vertrouwen, om akkoord te gaan met een grootboekrekening zonder dat een vertrouwde tussenpersoon nodig is. Bitcoin is toegankelijk voor iedereen en niemand heeft de bevoegdheid om de regels te wijzigen. De regels van Bitcoin, zoals de schaarste en de openheid ervan, zijn in de technologie verwerkt. Het is niet zoals traditionele financiën waar regeringen geld kunnen bijprinten zodat uw spaargeld devalueert, en waar bedrijven de markten zomaar kunnen sluiten. +Bitcoin was in vele opzichten de eerste DeFi-applicatie. Bitcoin laat u echt waarde bezitten en beheren en u kunt het overal ter wereld heen sturen. Het doet dit door een manier te bieden voor een groot aantal mensen die elkaar niet vertrouwen, om akkoord te gaan met een grootboekrekening zonder dat een vertrouwde tussenpersoon nodig is. Bitcoin is toegankelijk voor iedereen en niemand heeft de bevoegdheid om de regels te wijzigen. De regels van Bitcoin, zoals de schaarste en de openheid ervan, zijn in de technologie verwerkt. Het is niet zoals traditionele financiën waar regeringen geld kunnen bijprinten zodat jouw spaargeld devalueert, en waar bedrijven de markten zomaar kunnen sluiten. Ethereum bouwt hierop voort. Net als Bitcoin, kunnen de regels niet veranderen en heeft iedereen toegang. Maar het maakt dit digitale geld ook programmeerbaar met behulp van [slimme contracten](/glossary#smart-contract), zodat u veel meer kunt doen dan enkel het opslaan en verzenden van waarde. @@ -133,7 +133,7 @@ Er zijn vele voordelen voor het gebruik van een gedecentraliseerd grootboek... Vandaag gaat het bij het lenen en krediet verstrekken van geld allemaal om de personen die betrokken zijn. Banken moeten weten of u een lening kunt terugbetalen voordat u de lening krijgt. -Gedecentraliseerde leningen werken zonder dat een van beide partijen zich hoeft te identificeren. In plaats daarvan moet de lener een onderpand stellen dat de kredietverstrekker automatisch krijgt als de lening niet wordt terugbetaald. Sommige kredietverstrekkers accepteren zelfs NFT's als onderpand. NFT's zijn een akte voor een uniek goed, zoals een schilderij. [Meer over NFT's](/nft/) +Gedecentraliseerde leningen werken zonder dat een van beide partijen zich hoeft te identificeren. In plaats daarvan moet de lener een onderpand stellen die de kredietverstrekker automatisch krijgt als de lening niet wordt terugbetaald. Sommige kredietverstrekkers accepteren zelfs NFT's als onderpand. NFT's zijn een akte voor een uniek goed, zoals een schilderij. [Meer over NFT's](/nft/) Dit stelt u in staat om geld te lenen zonder kredietcontroles of het geven van privé-gegevens. @@ -143,7 +143,7 @@ Wanneer u een gedecentraliseerde kredietgever gebruikt, heeft u toegang tot fond #### Belastingefficiëntie {#tax-efficiencies} -Lenen kan u toegang geven tot de fondsen die u nodig heeft zonder dat u ETH hoeft te verkopen (een belastbare gebeurtenis). In plaats daarvan kunt u ETH gebruiken als onderpand voor een lening in stabelcoins. Dit geeft u de cash-flow die u nodig heeft en laat u uw ETH behouden. Stablecoins zijn tokens die veel beter zijn voor wanneer u geld nodig heeft omdat ze niet fluctueren in waarde zoals ETH. [Meer over stablecoins](#stablecoins) +Lenen kan u toegang geven tot de fondsen die u nodig heeft zonder dat u ETH hoeft te verkopen (een belastbare gebeurtenis). In plaats daarvan kun je ETH gebruiken als onderpand voor een lening in stablecoins. Dit geeft u de cash-flow die u nodig heeft en laat u uw ETH behouden. Stablecoins zijn tokens die veel beter zijn voor wanneer u geld nodig heeft omdat ze niet fluctueren in waarde zoals ETH. [Meer over stablecoins](#stablecoins) #### Flash-leningen {#flash-loans} @@ -157,7 +157,7 @@ De fondsen die vaak worden gebruikt, worden gehouden in liquiditeitspools (grote Dit betekent dat er veel logica in een op maat gemaakt transactie moet worden opgenomen. Een eenvoudig voorbeeld is iemand die een flash-lening gebruikt om veel van een activum te lenen tegen één prijs, zodat hij/zij dit kan verkopen op een andere exchange waar de prijs hoger is. -Dus in een enkele transactie gebeurt het volgende: +Dus in één enkele transactie gebeurt het volgende: - U leent een X bedrag van $activum tegen $ 1,00 van exchange A - U verkoopt X $activum op exchange B voor $ 1,10 @@ -233,7 +233,7 @@ Wanneer u een gecentraliseerde exchange gebruikt, moet u uw geld storten vóór Er zijn producten voor fondsbeheer op Ethereum die zullen proberen uw portefeuille te laten groeien op basis van een strategie naar eigen keuze. Dit is automatisch, open voor iedereen, en heeft geen menselijke manager nodig die een deel van uw winst afneemt. -Een goed voorbeeld is het [DeFi Pulse Index-fonds (DPI)](https://defipulse.com/blog/defi-pulse-index/). Dit is een fonds dat automatisch in evenwicht blijft om ervoor te zorgen dat uw portfolio altijd [de beste DeFi-tokens bevat door marktkapitalisatie](https://www.coingecko.com/en/defi). U hoeft nooit enige gegevens te beheren en u kunt zich uit het fonds terugtrekken wanneer u dat maar wilt. +Een goed voorbeeld is het [DeFi Pulse Index-fonds (DPI)](https://defipulse.com/blog/defi-pulse-index/). Dit is een fonds dat automatisch in evenwicht blijft om ervoor te zorgen dat je portfolio altijd [de beste DeFi-tokens volgens marktkapitalisatie bevat](https://www.coingecko.com/en/defi). U hoeft nooit enige gegevens te beheren en u kunt zich uit het fonds terugtrekken wanneer u dat maar wilt. Bekijk investering-dapps @@ -338,7 +338,7 @@ DeFi is een open-source beweging. De DeFi-protocollen en -applicaties staan alle ### DeFi-artikelen {#defi-articles} -- [A beginner's guide to DeFi](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) – _Sid Coelho-Prabhu, 6 januari 2020_ +- [A beginner's guide to DeFi](https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4) – _Sid Coelho-Prabhu, January 6, 2020_ ### Video's {#videos} diff --git a/src/content/translations/nl/desci/index.md b/src/content/translations/nl/desci/index.md new file mode 100644 index 00000000000..1190d171329 --- /dev/null +++ b/src/content/translations/nl/desci/index.md @@ -0,0 +1,139 @@ +--- +title: Gedecentraliseerde wetenschap (DeSci) +description: Een overzicht van gedecentraliseerde wetenschap op Ethereum +lang: nl +template: use-cases +emoji: ":microscope:" +sidebarDepth: 2 +image: ../../../../assets/future_transparent.png +alt: "" +summaryPoint1: Een wereldwijd, open alternatief voor het huidige wetenschappelijke systeem. +summaryPoint2: Technologie die wetenschappers in staat stelt om financiering te verwerven, experimenten uit te voeren, gegevens te delen, inzichten te verdelen en meer. +summaryPoint3: Bouwt op de open wetenschap-beweging. +--- + +## Wat is gedecentraliseerde wetenschap (DeSci)? {#what-is-desci} + +Gedecentraliseerde wetenschap (DeSci) is een beweging die als doel heeft om op eerlijke en rechtvaardige manier publieke infrastructuur op te bouwen voor financiering, creatie, beoordeling, erkenning, opslag en verspreiding van wetenschappelijke kennis door gebruik te maken van de Web3-stack. + +DeSci is gericht op het creëren van een ecosysteem waar wetenschappers worden aangemoedigd om openlijk hun onderzoek te delen en erkenning te ontvangen voor hun werk, terwijl iedereen makkelijk toegang kan krijgen tot en bijdragen aan het onderzoek. DeSci is bedoeld om ervoor te zorgen dat wetenschappelijke kennis voor iedereen toegankelijk moet zijn en dat het proces van wetenschappelijk onderzoek transparant moet zijn. DeSci creëert een meer gedecentraliseerd en verspreid wetenschappelijk onderzoeksmodel, waardoor het beter bestand is tegen censuur en controle door centrale autoriteiten. DeSci hoopt een omgeving te creëren waarin nieuwe en onconventionele ideeën tot bloei kunnen komen door de toegang tot financiering, wetenschappelijke hulpmiddelen en communicatiekanalen te decentraliseren. + +Gedecentraliseerde wetenschap voorziet in nieuwe soorten financieringsbronnen (van [DAOs](/dao/), [kwadratische donaties](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531) tot crowdfunding en meer), toegankelijkere toegangsgegevens en methoden, en biedt stimulansen voor herproduceerbaarheid. + +### Juan Benet - De DeSci-beweging + + + +## Hoe DeSci de wetenschap verbetert {#desci-improves-science} + +Een onvolledige lijst van belangrijke problemen in de wetenschap en hoe gedecentraliseerde wetenschap kan helpen bij het aanpakken van deze kwesties + +| **Gedecentraliseerde wetenschap** | **Traditionele wetenschap** | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | +| De verdeling van fondsen wordt bepaald door het publiek via het gebruik van mechanismen zoals kwadratische donaties of DAO's. | Kleine, gesloten, gecentraliseerde groepen controleren de verdeling van fondsen. | +| Je werkt samen met collega's van over de hele wereld in dynamische teams. | Financieringsorganisaties en instituten beperken je samenwerkingen. | +| Financieringsbesluiten worden online en op transparante manier genomen. Nieuwe financieringsmechanismen worden onderzocht. | Financieringsbesluiten gaan gepaard met een lange wachttijd en beperkte transparantie. Er bestaan maar weinig financieringsmechanismen. | +| Het delen van laboratoriumdiensten wordt gemakkelijker en transparanter gemaakt met behulp van Web3-primitieven. | Het delen van laboratoriumbronnen is vaak traag en ondoorzichtig. | +| Nieuwe publicatiemodellen kunnen ontwikkeld worden die gebruik maken van Web3-primitieven voor vertrouwen, transparantie en universele toegang. | Je publiceert via gevestigde routes die vaak erkend worden als inefficiënt, bevooroordeeld en uitbuitend. | +| Je kunt tokens en reputatie verdienen voor controle van het werk van collega's. | Je collegiale toetsingswerk is onbetaald, in het voordeel van winstmakende uitgevers. | +| Je bezit het intellectuele eigendom (IP) dat je genereert en verspreidt het volgens transparante voorwaarden. | Je thuisinstituut is eigenaar van het IP-adres dat je genereert. Toegang tot het IP is niet transparant. | +| Deling van al het onderzoek, met inbegrip van de gegevens uit mislukte inspanningen, door alle stappen in de keten te zetten. | Publicatiebias betekent dat onderzoekers meer de neiging hebben om experimenten te delen die succesvolle resultaten hebben opgeleverd. | + +## Ethereum en DeSci {#ethereum-and-desci} + +Een gedecentraliseerd wetenschappelijk systeem vereist robuuste beveiliging, minimale monetaire en transactiekosten en een breed ecosysteem voor aanvraagontwikkeling. Ethereum biedt alles aan wat nodig is om een gedecentraliseerde wetenschappelijke stack te bouwen. + +## DeSci-toepassingsscenario's {#use-cases} + +DeSci bouwt de wetenschappelijke toolset voor het onboarden van Web2-academica naar de digitale wereld. Hieronder staat een lijst van toepassingen die Web3 kan bieden aan de wetenschappelijke gemeenschap. + +### Publicatie {#publishing} + +Publicatie van wetenschap is befaamd problematisch omdat het wordt beheerd door uitgeverijen die afhankelijk zijn van onbetaald werk van wetenschappers, beoordelaars en redacteuren om de documenten te genereren, maar daarvoor vervolgens buitensporige publicatiekosten berekenen. Het publiek, dat meestal indirect voor het werk en de publicatiekosten heeft betaald door middel van belastingen, heeft vaak geen toegang tot datzelfde werk zonder de uitgever opnieuw te betalen. De totale kosten voor het publiceren van individuele wetenschappelijke documenten zijn vaak vijfcijferig ($ USD), wat het hele concept van wetenschappelijke kennis als [publiek goed](https://www.econlib.org/library/Enc/PublicGoods.html) ondermijnt, terwijl er door een kleine groep uitgevers enorme winsten gemaakt worden. + +Gratis en vrij toegankelijke platformen bestaan in de vorm van proefdrukservers, [zoals ArXiv](https://arxiv.org/). Deze platformen hebben echter geen kwaliteitscontrole, [anti-sybil mechanismen](https://csrc.nist.gov/glossary/term/sybil_attack), en volgen in het algemeen geen maatstaven op artikelniveau, wat betekent dat ze meestal alleen worden gebruikt om werk te publiceren voordat ze worden ingediend bij een traditionele uitgever. SciHub maakt gepubliceerde documenten ook gratis toegankelijk, maar niet legaal, en alleen nadat de uitgevers hun betaling al hebben gekregen en het werk hebben beschermd via strenge auteursrechtenwetgeving. Hierdoor resteert een belangrijke kloof voor toegankelijke wetenschappelijke documenten en gegevens met een geïntegreerd legitimatiemechanisme en stimulansenmodel. De hulpmiddelen voor het bouwen van een dergelijk systeem bestaan in Web3. + +### Reproduceerbaarheid en herhaalbaarheid {#reproducibility-and-replicability} + +Reproduceerbaarheid en herhaalbaarheid vormen de basis voor kwalitatieve wetenschappelijke ontdekkingen. + +- Reproduceerbare resultaten kunnen meerdere keren achter elkaar herhaald worden door hetzelfde team met gebruik van dezelfde methodiek. +- Herhaalbare resultaten kunnen behaald worden door verschillende groepen met gebruik van dezelfde experimentele opstelling. + +Nieuwe op Web3 gebaseerde tools kunnen ervoor zorgen dat reproduceerbaarheid en herhaalbaarheid de basis vormen van ontdekkingen. We kunnen hoogwaardige wetenschap verweven in de technologische structuur van de academische wereld. Web3 biedt de mogelijkheid om attesten af te geven voor elke analysecomponent: de onverwerkte gegevens, de berekeningskracht en het toepassingsresultaat. Het mooie van consensussystemen is, dat wanneer er een vertrouwd netwerk gemaakt wordt voor het onderhouden van deze componenten, elke deelnemer van dit netwerk verantwoordelijk gehouden kan worden voor het reproduceren van de berekening en het valideren van elk resultaat. + +### Financiering {#funding} + +Het huidige standaard model voor het financieren van wetenschap is dat personen of groepen van wetenschappers schriftelijke aanvragen indienen bij een financieringsinstantie. Een kleine groep van vertrouwde personen rangschikken de aanvragen en interviewen de kandidaten voordat er financiering toegewezen word aan een klein deel van de aanvragers. Afgezien nog van de creatie van knelpunten die leiden tot wel jaren van wachttijd tussen het moment van aanvraag en ontvangst van een subsidie, staat dit model bekend om de hoge kwetsbaarheid in termen van bevooroordeling, zelfinteresse en de politieke inslag van het evaluatiepanel. + +Onderzoek heeft uitgewezen dat evaluatiepanels voor subsidies hun taak van selectie van kwaliteitsvoorstellen slecht uitvoeren, omdat diezelfde voorstellen, voorgelegd aan verschillende panels, erg uiteenlopende uitkomsten hebben. Aangezien financiering steeds minder vaak voorkomt, wordt dit geconcentreerd in een kleinere groep van meer ervaren onderzoekers met in intellectueel opzicht conservatievere projecten. Het effect hiervan is het ontstaan van een extreem competitief financieringslandschap, met als gevolg het verankeren van perverse stimulansen en het verstikken van innovatie. + +Web3 heeft het potentieel dit gebroken financieringsmodel te doorbreken via experimentatie met verschillende stimulansenmodellen, grotendeels ontwikkeld door DAO's en Web3. [Retroactieve financiering van publieke goederen](https://medium.com/ethereum-optimism/retroactive-public-goods-funding-33c9b7d00f0c), [kwadratische financiering](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531), [DAO bestuur](https://www.antler.co/blog/daos-and-web3-governance) en [getokeniseerde stimulansstructuren](https://cdixon.org/2017/05/27/crypto-tokens-a-breakthrough-in-open-network-design) zijn enkele van de Web3-tools die de wetenschappelijke financiering zouden kunnen revolutioniseren. + +### IP-eigendom en -ontwikkeling {#ip-ownership} + +Intellectueel eigendom (IP) is een groot probleem in traditionele wetenschap: van vastzitten in universiteiten of ongebruikt blijven in biotechs, tot het feit dat het heel moeilijk is om het de juiste waarde te geven. Eigendom van digitale activa (zoals wetenschappelijke gegevens of artikelen) is echter iets wat Web3 bijzonder goed doet met het gebruik van [niet-fungibele tokens (NFT)](/nft/). + +Net zoals NFT's de inkomsten van toekomstige transacties terug kunnen doorgeven aan de originele maker, kun je een transparante waardetoekenningsketen vaststellen voor het belonen van onderzoekers, bestuursorganen (zoals DAOs) of zelfs de personen wiens data verzameld worden. + +[IP-NFT's](https://medium.com/molecule-blog/ip-nfts-for-researchers-a-new-biomedical-funding-paradigm-91312d8d92e6) kunnen ook dienst doen als de sleutel voor een gedecentraliseerde databank van de onderzoeksexperimenten die worden ondernomen, en aansluiten bij NFT en [DeFi](/defi/) financialisering (van fractionalisatie tot kredietpools en waardebepaling). Het maakt het ook mogelijk voor on-chain entiteiten zoals DAO's, bijvoorbeeld [VitaDAO](https://www.vitadao.com/), om onderzoek direct on-chain uit te voeren. De komst van niet-overdraagbare ["soulbound" tokens](https://vitalik.ca/general/2022/01/26/soulbound.html) speelt mogelijk ook een belangrijke rol in DeSci door personen de kans te geven hun ervaringen en de aan hun Ethereum-adres gekoppelde toegangsgegevens te bewijzen. + +### Gegevensopslag, toegang en architectuur {#data-storage} + +Wetenschappelijke gegevens kunnen veel toegankelijker worden gemaakt met het gebruik van Web3-patronen, en gedistribueerde gegevensopslag zorgt ervoor dat onderzoek catastrofale gebeurtenissen kan overleven. + +Het uitgangspunt moet een systeem zijn dat toegankelijk is voor eender welke gedecentraliseerde identiteit die de correcte verifieerbare toegangsgegevens heeft. Hiermee kunnen gevoelige gegevens op veilige manier gerepliceerd worden door betrouwbare partijen, wat redundantie en censuurbestendigheid, reproductie van resultaten, en zelfs de capaciteit voor meerdere partijen om samen te werken en nieuwe data toe te voegen aan de dataset mogelijk maakt. Vertrouwelijke berekeningsmethoden zoals [compute-to-data](https://7wdata.be/predictive-analytics/compute-to-data-using-blockchain-to-decentralize-data-science-and-ai-with-the-ocean-protocol) bieden alternatieve toegangsmechismen voor het repliceren van onbewerkte data, en creëren zo Trusted Research Environments voor de meest gevoelige data. Trusted Research Environments zijn [geciteerd door de NHS](https://medium.com/weavechain/whats-in-store-for-the-future-of-healthcare-data-b6398745fbbb) als een toekomstgerichte oplossing voor gegevensprivacy en samenwerking door de creatie van een ecosysteem waarbij onderzoekers veilig met data kunnen werken op locatie met behulp van gestandaardiseerde omgevingen voor het delen van code en praktijken. + +Flexibele Web3-dataoplossingen ondersteunen de hierboven vermelde scenario's en vormen de basis voor daadwerkelijk Open Wetenschap, waarbij wetenschappers publieke goederen kunnen creëren zonder toegangsrechten of -kosten. Openbare Web3-dataoplossingen zoals IPFS, Arweave en Filecoin zijn geoptimaliseerd voor decentralisatie. dClimate biedt bijvoorbeeld universele toegang tot klimaat- en weergegevens, inclusief van weerstations en voorspellende klimaatmodellen. + +## Doe mee {#get-involved} + +Verken projecten en word lid van de DeSci-gemeenschap. + +- [DeSci.Global: kalender met wereldwijde evenementen en ontmoetingen](https://desci.global) +- [Blockchain voor Science Telegram](https://t.me/BlockchainForScience) +- [Molecule: financier en krijg financiering voor je onderzoeksprojecten](https://discover.molecule.to/) +- [VitaDAO: krijg financiering via gesponsorde onderzoeksovereenkomsten voor onderzoek naar lange levensduur](https://www.vitadao.com/) +- [ResearchHub: publiceer een wetenschappelijk resultaat en neem deel aan een gesprek met collega's](https://www.researchhub.com/) +- [LabDAO: vouw een eiwit in-silico](https://alphafodl.vercel.app/) +- [dClimate API: vraag klimaatgegevens op verzameld door een gedecentraliseerde gemeenschap](https://api.dclimate.net/) +- [DeSci Foundation: bouwer van tools voor het publiceren van DeSci](https://descifoundation.org/) +- [DeSci.World: one-stop shop voor gebruikers om te kijken naar en deel te nemen aan gedecentraliseerde wetenschap](https://desci.world) +- [Fleming Protocol: open-source data-economie die collaboratieve biomedische ontdekking stimuleert](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd) +- [OceanDAO: door DAO beheerde financiering voor datagerelateerde wetenschap](https://oceanprotocol.com/dao) +- [Opscientia: open gedecentraliseerde wetenschappelijke workflows](https://opsci.io/research/) +- [LabDAO: vouw een eiwit in-silico](https://alphafodl.vercel.app/) +- [Bio.xyz: krijg financiering voor jouw biotech-DAO of desci-project](https://www.molecule.to/) +- [ResearchHub: publiceer een wetenschappelijk resultaat en neem deel aan een gesprek met collega's](https://www.researchhub.com/) +- [VitaDAO: krijg financiering via gesponsorde onderzoeksovereenkomsten voor onderzoek naar lange levensduur](https://www.vitadao.com/) +- [Fleming Protocol: open-source data-economie die collaboratieve biomedische ontdekking stimuleert](https://medium.com/@FlemingProtocol/a-data-economy-for-patient-driven-biomedical-innovation-9d56bf63d3dd) +- [Active Inference Lab](https://www.activeinference.org/) +- [CureDAO: precisiegezondheidsplatform in handen van de gemeenschap](https://docs.curedao.org/) +- [IdeaMarkets: maakt gedecentraliseerde wetenschappelijke geloofwaardigheid mogelijk](https://ideamarket.io/) +- [DeSci Labs](https://www.desci.com/) + +We verwelkomen suggesties voor nieuwe projecten om op de lijst te zetten - bekijk ons [lijstopnamebeleid](/contributing/adding-desci-projects/) om te beginnen! + +## Lees verder {#further-reading} + +- [DeSci Wiki van Jocelynn Pearl en Ultrarare](https://docs.google.com/document/d/1aQC6zn-eXflSmpts0XGE7CawbUEHwnL6o-OFXO52PTc/edit#) +- ['A guide to decentralized biotech' van Jocelynn Pearl voor a16z Future](https://future.a16z.com/a-guide-to-decentralized-biotech/) +- [Het belang van DeSci](https://gitcoin.co/blog/desci-the-case-for-decentralised-science/) +- [Handleiding voor DeSci](https://future.com/what-is-decentralized-science-aka-desci/) +- [Gedecentraliseerde wetenschapsbronnen](https://www.vincentweisser.com/decentralized-science) +- [Molecule’s Biopharma IP-NFTs - A Technical Description](https://molecule.to/blog/molecules-biopharma-ip-nfts-a-technical-description) +- ['Building Trustless Systems of Science' van Jon Starr](https://medium.com/@jringo/building-systems-of-trustless-science-1cd2d072f673) +- [The Emergence of Biotech DAOs](https://molecule.to/blog/the-emergence-of-biotech-daos) +- [Paul Kohlhaas - DeSci: The Future of Decentralized Science (podcast)](https://anchor.fm/andrew-steinwold/episodes/Paul-Kohlhaas---DeSci-The-Future-of-Decentralized-Science---Zima-Red-ep-117-e1h683a) +- [An Active Inference Ontology for Decentralized Science: from Situated Sensemaking to the Epistemic Commons](https://zenodo.org/record/6320575) +- ['DeSci: The Future of Research' van Samuel Akinosho](https://lucidsamuel.medium.com/desci-the-future-of-research-b76cfc88c8ec) +- ['Science Funding (Epilogue: DeSci and new crypto primitives)' van Nadia](https://nadia.xyz/science-funding) +- [Decentralisation is Disrupting Drug Development](https://medium.com/id-theory/decentralisation-is-disrupting-drug-development-28b5ba5d447f) + +### Video's {#videos} + +- [Wat is gedecentraliseerde wetenschap?](https://www.youtube.com/watch?v=-DeMklVWNdA) +- [Gesprek tussen Vitalik Buterin en wetenschapper Aubrey de Gray over het snijvlak van langlevenonderzoek en crypto](https://www.youtube.com/watch?v=x9TSJK1widA) +- [Wetenschappelijke publicaties zijn stukgelopen. Kan Web3 dit herstellen?](https://www.youtube.com/watch?v=WkvzYgCvWj8) +- [Juan Benet - DeSci, Independent Labs, & Large Scale Data Science](https://www.youtube.com/watch?v=zkXM9H90g_E) +- [Sebastian Brunemeier - How DeSci Can Transform Biomedical Research & Venture Capital](https://www.youtube.com/watch?v=qB4Tc3FcVbM) diff --git a/src/content/translations/nl/nft/index.md b/src/content/translations/nl/nft/index.md index fa4cc4573c7..ee153f39c67 100644 --- a/src/content/translations/nl/nft/index.md +++ b/src/content/translations/nl/nft/index.md @@ -12,344 +12,83 @@ summaryPoint2: NFT's geven meer macht aan contentmakers dan ooit tevoren. summaryPoint3: Mogelijk gemaakt door slimme contracten op de Ethereum-blockchain. --- -NFT's veroveren momenteel de wereld van digitale kunst en verzamelobjecten. Digitale kunstenaars zien hun leven veranderen dankzij de enorme verkoop aan nieuw crypto-publiek. Beroemdheden doen ook mee omdat ze een nieuwe kans zien om in contact te komen met fans. Maar digitale kunst is slechts één manier om NFT's te gebruiken. Eigenlijk kunnen ze worden gebruikt om eigendom van unieke activa te vertegenwoordigen, zoals een eigendomsbewijs voor een item in het digitale of fysieke domein. +## What are NFTs? {#what-are-nfts} -Als Andy Warhol eind jaren negentig zou zijn geboren, zou hij waarschijnlijk Campbell's Soup een NFT genoemd hebben. Het is slechts een kwestie van tijd voordat Nike een assortiment Jordans op Ethereum zet. En op een dag kan het bezit van uw auto bewezen worden met een NFT. +NFT's zijn tokens die elk uniek zijn. Elke NFT heeft verschillende eigenschappen (niet-fungibel) en is bewijsbaar schaars. Dit is anders dan tokens zoals bij ERC-20's, waarbij elk token in een set identiek is en dezelfde eigenschappen heeft ('fungibel'). Het maakt je niet uit welk specifiek dollarbiljet je in je portemonnee hebt, want ze zijn allemaal identiek en evenveel waard. Het maakt je echter _wel_ uit welke specifieke NFT je bezit, omdat ze allemaal individuele eigenschappen hebben die ze onderscheiden van andere ('niet-fungibel'). -## Wat is een NFT? {#what-are-nfts} - -NFT's zijn tokens die we kunnen gebruiken om eigendom van unieke items te vertegenwoordigen. Ze laten ons zaken als kunst, verzamelobjecten en zelfs onroerend goed tokeniseren. Het eigendom van een asset wordt beveiligd door de Ethereum-blockchain – niemand kan het eigendomsverleden aanpassen of een nieuw NFT kopiëren/plakken. - -NFT staat voor 'non-fungible token'. Niet-fungibel is een economische term die u kunt gebruiken om dingen zoals uw meubels, een songbestand of uw computer te beschrijven. Deze dingen kunnen niet door andere voorwerpen worden gewisseld, omdat ze unieke eigenschappen hebben. - -Fungible items kunnen daarentegen wel worden uitgewisseld omdat hun waarde ze definieert in plaats van hun unieke eigenschappen. ETH of dollars zijn bijvoorbeeld fungibel omdat 1 ETH / $ 1 USD verwisselbaar is voor een andere 1 ETH / $ 1 USD. +De uniciteit van elke NFT maakt tokenisering van zaken zoals kunst, verzamelobjecten, of zelfs vastgoed mogelijk, waarbij één unieke NFT een specifiek uniek item in de echte wereld of een specifiek uniek digitaal item vertegenwoordigt. Het eigendom van een asset wordt beveiligd door de Ethereum-blockchain – niemand kan het eigendomsverleden ervan aanpassen of een nieuw NFT in het leven roepen via kopiëren/plakken. ## Het internet van activa {#internet-of-assets} -NFT's en Ethereum lossen een aantal van de problemen op die op dit moment op het internet voorkomen. Naarmate alles digitaler wordt, is er een noodzaak om de eigenschappen van fysieke voorwerpen zoals schaarste, uniekheid en bewijs van eigenaarschap te herhalen. En dan hebben we het nog niet eens over het feit dat digitale items vaak alleen werken in de context van hun product. U kunt bijvoorbeeld geen mp3 van iTunes opnieuw verkopen, of u kunt loyaliteitspunten van een bedrijf niet inwisselen voor krediet van een ander platform, zelfs als er een markt voor is. +NFT's en Ethereum lossen een aantal van de problemen op die op dit moment op het internet voorkomen. Naarmate alles digitaler wordt, is er een noodzaak om de eigenschappen van fysieke voorwerpen zoals schaarste, uniekheid en bewijs van eigendom te herhalen. op een manier die niet wordt gecontroleerd door een centrale organisatie. Bijvoorbeeld, met NFT's kun je een mp3-muzieknummer bezitten die niet eigen is aan de specifieke muziek-app van een bepaald bedrijf, of je kunt in het bezit zijn van een social media handle die je kunt verkopen of inwisselen, maar die niet willekeurig van je kan worden afgenomen door de provider van het platform. -Dit is hoe het internet van NFT's in vergelijking met het internet dat de meesten van ons tegenwoordig gebruiken, eruitziet... +Dit is hoe het internet van NFT's eruitziet in vergelijking met het internet dat de meesten van ons tegenwoordig gebruiken... ### Een vergelijking {#nft-comparison} -| Het NFT-internet | Het internet vandaag | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| NFT's zijn digitaal uniek, geen twee NFT's zijn hetzelfde. | Een kopie van een bestand, zoals een .mp3 of .jpg, is hetzelfde als het origineel. | -| Elke NFT moet een eigenaar hebben; dit is open voor het publiek en gemakkelijk te verifiëren door iedereen. | Eigendomsgegevens van digitale items worden opgeslagen op servers die worden beheerd door instellingen – meestal gesloten voor het publiek. | -| NFT's zijn compatibel met alles wat is gebouwd met Ethereum. Een NFT-ticket voor een evenement kan worden verhandeld op elke Ethereum-marktplaats, voor een totaal andere NFT. U zou een kunstwerk kunnen verhandelen voor een ticket! | Bedrijven met digitale voorwerpen moeten hun eigen infrastructuur opbouwen. Bijvoorbeeld een app die digitale tickets afgeeft voor evenementen zou zijn eigen ticket-exchange moeten bouwen. | -| Content-makers kunnen hun werk overal verkopen en hebben toegang tot een wereldwijde markt. | Makers zijn afhankelijk van de infrastructuur en distributie van de platforms die ze gebruiken. Hiervoor zijn vaak voorwaarden en geografische beperkingen van kracht. | -| Creators kunnen eigendomsrechten op hun eigen werk behouden en direct volgrecht claimen. | Platforms, zoals muziekstreamingservices, behouden het grootste deel van de winst uit de verkoop. | -| Voorwerpen kunnen op verrassende manieren worden gebruikt. U kunt bijvoorbeeld digitaal kunstwerk gebruiken als onderpand in een gedecentraliseerde lening. | | - -### Voorbeelden van NFT's {#nft-examples} - -De NFT-wereld is relatief nieuw. In theorie is het toepassingsgebied van de NFT's zaken die uniek zijn en waarneembaar eigendom vereisen. Hier zijn enkele voorbeelden van NFT's die vandaag de dag bestaan, zodat u een idee krijgt: - -- [Een uniek digitaal kunstwerk](https://foundation.app/artworks) -- [Een unieke sneaker in een limited edition modelijn](https://www.metagrail.co/auctions/91cf83fb-3477-4155-aae8-6dcb9b853397) -- [Een in-game item](https://market.decentraland.org/) -- [Een essay](https://zora.co/0x517bab7661C315C63C6465EEd1b4248e6f7FE183/145) -- [Een digitaal verzamelobject](https://www.larvalabs.com/cryptopunks/details/1) -- [Een domeinnaam](https://app.ens.domains/name/ethereum.eth) -- [Een ticket dat u toegang geeft tot een evenement](https://www.yellowheart.io/) -- [Koop goederen uit de echte wereld](https://www.tangible.store/) -- [Gefractioneerd onroerend goed](https://realt.co/) -- [Graadcertificaten](https://www.degreecert.com/) -- [Muziekroyalty's via NFT's](https://opulous.org/) -- [Move-2-earn](https://yeticoineth.com/about.html) -- [Digitale identiteit](https://photochromic.io/) - -### ethereum.org-voorbeelden {#ethereum-org-examples} - -We gebruiken NFT's om terug te geven aan onze bijdragers en we hebben zelfs onze eigen NFT-domeinnaam. - -#### POAP's (aanwezigheidsbewijsprotocol) {#poaps} - -Als u een bijdrage levert aan ethereum.org, kunt u een POAP-NFT claimen. Dit zijn verzamelobjecten die bewijzen dat u heeft deelgenomen aan een evenement. Sommige crypto-meetups hebben POAP's gebruikt als een vorm van ticket voor hun evenementen. [Meer over bijdragen](/contributing/#poap). - -![ethereum.org POAP](./poap.png) - -#### ethereum.eth {#ethereum-dot-eth} - -Deze website heeft een alternatieve domeinnaam, mogelijk gemaakt door NFT's, **ethereum.eth**. Ons `.org`-adres wordt centraal beheerd door een aanbieder van domeinnaamsystemen (DNS), terwijl ethereum`.eth` is geregistreerd op Ethereum via de Ethereum Name Service (ENS). Het is ons eigendom en wordt ook beheerd door ons. [Bekijk ons ENS-record](https://app.ens.domains/name/ethereum.eth) - -[Meer over ENS](https://app.ens.domains) +| Het NFT-internet | Het internet vandaag | +| ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Je bezit je eigen assets! Enkel jij kunt ze verkopen of inwisselen. | Je huurt een asset van een bepaalde organisatie. | +| NFT's zijn digitaal uniek, geen twee NFT's zijn hetzelfde. | Een kopie van een entiteit kan doorgaans niet onderscheiden worden van het origineel. | +| Eigendom van een NFT is geregistreerd op de blockchain en kan door iedereen geverifieerd worden. | Eigendomsgegevens van digitale items worden opgeslagen op servers die worden beheerd door instellingen – die meestal gesloten zijn voor het publiek en die je dus maar moet vertrouwen. | +| NFT's zijn slimme contracten op Ethereum. Dit betekent dat ze eenvoudig gebruikt kunnen worden in andere slimme contracten en apps op Ethereum! | Bedrijven met digitale items hebben doorgaans hun eigen "walled garden"-infrastructuur nodig. | +| Content-makers kunnen hun werk overal verkopen en hebben toegang tot een wereldwijde markt. | Makers zijn afhankelijk van de infrastructuur en distributie van de platforms die ze gebruiken. Hiervoor zijn vaak voorwaarden en geografische beperkingen van kracht. | +| Makers van NFT's kunnen eigendomsrechten over hun eigen werk behouden, en royalties rechtstreeks in het NFT-contract programmeren. | Platforms, zoals muziekstreamingservices, behouden het grootste deel van de winst uit de verkoop. | ## Hoe werken NFT's? {#how-nfts-work} -NFT's zijn anders dan ERC-20-tokens, zoals DAI of LINK, omdat elke individuele token volledig uniek en niet deelbaar is. NFT's geven de mogelijkheid om eigendom van een uniek stuk digitale data toe te wijzen of op te eisen, te traceren door de blockchain van Ethereum te gebruiken als openbaar grootboek. Een NFT wordt uit digitale objecten gemaakt als een weergave van digitale of niet-digitale activa. Een NFT zou bijvoorbeeld kunnen zijn: - -- Digitale kunst: - - GIF's - - Verzamelobjecten - - Muziek - - Video's -- Objecten uit de echte wereld: - - Documenten van een auto - - Tickets voor een evenement in de echte wereld - - Getokeniseerde facturen - - Juridische documenten - - Handtekeningen -- En nog veel meer opties om creatief mee te worden! - -Eigendom van NFT's wordt beheerd door middel van het unieke ID en de metadata die door geen ander token gerepliceerd kunnen worden. NFT's worden aangemaakt door middel van slimme contracten die eigendom toewijzen en de overdraagbaarheid van de NFT's beheren. Wanneer iemand een NFT creëert of mint, voert hij code uit die is opgeslagen in slimme contracten die voldoen aan verschillende normen, zoals [ERC-721](/developers/docs/standards/tokens/erc-721/). Deze informatie wordt toegevoegd aan de blockchain waar de NFT wordt beheerd. Het mintproces, vanaf een hoog niveau, heeft de volgende stappen die doorlopen worden: - -- Creëren van een nieuw blok -- Informatie valideren -- Opname van informatie in de blockchain - -NFT's hebben enkele speciale eigenschappen: - -- Elke geslagen token heeft een uniek id dat direct is gekoppeld aan één Ethereum-adres. -- Ze zijn niet direct verwisselbaar met andere tokens 1:1. Bijvoorbeeld 1 ETH is precies hetzelfde als een andere ETH. Dit is niet het geval bij NFTs. -- Elke token heeft een eigenaar en deze informatie is gemakkelijk te verifiëren. -- Ze zijn te vinden op Ethereum en kunnen op elke NFT-markt van Ethereum worden gekocht en verkocht. - -Met andere woorden, als u een NFT*bezit*: - -- U kunt gemakkelijk bewijzen dat u hem bezit. - - Bewijzen dat u een NFT bezit, lijkt erg op het bewijzen dat u ETH in uw account heeft. - - Laten we bijvoorbeeld zeggen dat u een NFT koopt, en de eigendom van het unieke token wordt overgedragen aan uw portemonnee via uw openbare adres. - - Het token bewijst dat uw kopie van het digitale bestand het origineel is. - - Uw privé-sleutel is bewijs van eigendom van het origineel. - - De publieke sleutel van de maker van de content dient als een certificaat van authenticiteit voor dat specifieke digitale artefact. - - De publieke sleutel van de makers is in wezen een permanent onderdeel van de geschiedenis van het token. De publieke sleutel van de maker kan aantonen dat het token dat u houdt is gemaakt door een bepaald individu, op deze manier draagt dit bij aan de marktwaarde ervan (vs een vervalst examplaar). - - Een andere manier om te denken over het bewijzen dat u de eigenaar van het NFT bent, is door berichten te ondertekenen om te bewijzen dat u de eigenaar bent van de privé-sleutel achter het adres. - - Zoals hierboven vermeld, is uw privé-sleutel het bewijs van eigendom van het origineel. Dit laat ons zien dat de privé-sleutels achter dat adres het NFT controleren. - - Een ondertekend bericht kan worden gebruikt als bewijs dat u uw eigen privé-sleutels bezit zonder ze aan iemand te onthullen en daarmee wordt bewezen dat u ook de eigenaar van het NFT bent! -- Niemand kan het op enigerlei wijze manipuleren. -- U kunt het verkopen, en in sommige gevallen zal de oorspronkelijke maker hierdoor doorverkooproyalty's verdienen. -- Of u kunt het voor altijd houden, terwijl u ervan verzekerd bent dat uw activa beveiligd zijn door uw portemonnee op Ethereum. - -En als u een NFT _maakt_: - -- U kunt gemakkelijk bewijzen dat u de maker bent. -- U bepaalt de schaarste. -- U kunt royalty's verdienen telkens wanneer het verkocht wordt. -- U kunt het verkopen op elke NFT-markt of peer-to-peer. U bent niet gebonden aan een enkel platform en ook niet genoodzaakt om een tussenpersoon te regelen. - -### Schaarsheid {#scarcity} - -De maker van een NFT beslist over de schaarste van zijn bezit. - -Neem bijvoorbeeld een kaartje voor een sportevenement. Net zoals een organisator van een evenement kan kiezen hoeveel tickets hij wil verkopen, kan de maker van een NFT beslissen hoeveel replica's er bestaan. Soms gaat het om exacte replica's, zoals 5000 algemene toelatingskaartjes. Soms worden er replica's gemaakt die zeer vergelijkbaar zijn, maar elk lichtjes verschillend van elkaar, zoals een ticket met een toegewezen zitplaats. In een ander geval wil de maker misschien een NFT maken waarbij slechts één wordt gemaakt als een speciaal zeldzaam verzamelobject. +Zoals alle tokens op Ethereum, worden NFT's verstrekt via een slim contract. Het slimme contract voldoet aan één of meerdere NFT-standaarden (doorgaans ERC-721 of ERC-1155) die bepalen welke functionaliteiten het contract heeft. Het contract kan NFT's creëren ('minten') en ze toewijzen aan een specifieke eigenaar. Eigendom is vastgelegd in het contract via het koppelen van een NFT aan een specifiek adres. De NFT heeft een ID en is doorgaans geassocieerd met metadata die dit specifieke token uniek maken. -In deze gevallen zou elk NFT nog steeds een unieke identificatie hebben (zoals een streepjescode op een traditioneel "ticket"), met slechts één eigenaar. De beoogde schaarste van de NFT is van belang en is de beslissing van de maker. De maker kan van plan zijn elke NFT volledig uniek te maken om schaarste te creëren, of heeft redenen om enkele duizenden replica's te produceren. Onthoud dat deze informatie openbaar is voor het publiek. - -### Royalty's {#royalties} - -Sommige NFT's betalen automatisch royalty's uit aan hun makers wanneer ze verkocht worden. Dit is nog steeds een zich ontwikkelend concept, maar het is een van de krachtigste. De oorspronkelijke eigenaren van [EulerBeats Originals](https://eulerbeats.com/) verdienen een royalty van 8 procent elke keer dat het NFT wordt doorverkocht. En sommige platforms, zoals [Foundation](https://foundation.app) en [Zora](https://zora.co/), ondersteunen royalty's voor hun artiesten. - -Dit is volledig automatisch zodat makers gewoon achterover kunnen leunen en royalty's kunnen verdienen, terwijl hun werk van persoon tot persoon wordt verkocht. Op dit moment is het uitzoeken van royalty's zeer handmatig en onnauwkeurig. Veel makers krijgen niet betaald wat ze zouden moeten krijgen. Als uw NFT een royalty ingeprogrammeerd heeft, zult u nooit iets mislopen. +Wanneer iemand een NFT creëert of 'mint', voert hij/zij in werkelijkheid een functie uit in het slimme contract dat een specifiek NFT toewijst aan zijn/haar adres. Deze informatie is opgeslagen in het geheugen van het contract, dat deel uitmaakt van de blockchain. De maker van het contract kan extra logica in het contract schrijven, zoals bijvoorbeeld het limiteren van het totale aanbod of het definiëren van een royalty dat wordt betaald aan de maker elke keer dat het token wordt overgedragen. ## Waar worden NFT's voor gebruikt? {#nft-use-cases} -Hier is meer informatie over de beter ontwikkelde use-cases en visies voor NFT's op Ethereum. - -- [Digitale content](#nfts-for-creators) -- [Game-items](#nft-gaming) -- [Domeinnamen](#nft-domains) -- [Fysieke items](#nft-physical-items) -- [Investeringen en als onderpand](#nfts-and-defi) -- [Tokengating](#tokengating) - - - -### Inkomsten maximaliseren voor makers {#nfts-for-creators} - -Het grootste gebruik van NFT's op dit moment is op het gebied van van digitale content. Dat komt omdat die industrie momenteel niet goed werkt. Content-makers zien hun winsten en inkomstenpotentieel opgeslokt worden door platforms. - -Een kunstenaar die werkt op een sociaal netwerk verdient geld voor het platform dat advertenties verkoopt aan de volgers van de artiesten. Ze krijgen in ruil daarvoor aandacht, maar aandacht betaalt de rekeningen niet. - -NFT's ondersteunen een nieuwe auteurseconomie, waar de makers het eigendom van hun content niet overdragen aan de platforms die ze gebruiken om deze te publiceren. Eigendom zit in de content zelf. - -Wanneer ze hun content verkopen, gaat het geld direct naar hen. Als de nieuwe eigenaar vervolgens het NFT verkoopt, kan de oorspronkelijke maker zelfs automatisch royalty's ontvangen. Dit is gegarandeerd elke keer dat het verkocht wordt, omdat het adres van de maker deel uitmaakt van de metadata van het token - metadata die niet aangepast kunnen an worden. - - -
Verken, koop of maak uw eigen NFT-kunst/-verzamelobjecten...
- - Verken NFT-kunst - -
- -#### Het kopieer/plak-probleem {#nfts-copy-paste} - -Brompotten noemen vaak het feit dat NFT's "dom zijn", meestal door een foto te tonen van iemand die een screenshot maakt van een NFT-kunstwerk. "Kijk, nu heb ik die afbeelding gewoon gratis!" zeggen ze zelfgenoegzaam. +NFT's worden voor veel dingen gebruikt, waaronder: -Dat klopt, ja. Maar maakt het googlen van een afbeelding van Picasso's Guernica u de nieuwe eigenaar van een miljoenen waard zijnd kunstwerk? - -Uiteindelijk is het bezit van het echte schilderij net zo waardevol als de markt het maakt. Hoe meer een stuk content via het scherm wordt gegrepen, gedeeld en in het algemeen gebruikt, des te meer waarde het zal krijgen. - -De eigenaar zijn van een verifieerbaar ding zal altijd meer waarde hebben dan wanneer dit niet het geval is. - - - -### Boosten van gaming-potentieel {#nft-gaming} - -NFT's hebben veel interesse gekregen van game-ontwikkelaars. NFT's kunnen registers van eigendom verstrekken voor in-game items, zorgen voor in-game besparingen en de spelers veel voordelen bieden. - -In veel reguliere games kunt u items kopen die u in uw game kunt gebruiken. Maar als dat item een NFT was, zou u uw geld kunnen terugverdienen door het door te verkopen wanneer u klaar bent met de game. U kunt zelfs winst maken als dat item populairder wordt. - -Voor game-ontwikkelaars – als emittenten van het NFT – kunnen ze een royalty verdienen telkens wanneer een item opnieuw verkocht wordt op de open markt. Dit creëert een wederzijds voordeliger bedrijfsmodel waarin zowel spelers als ontwikkelaars verdienen via de secundaire NFT-markt. - -Dit betekent ook dat als een game niet meer wordt onderhouden door de ontwikkelaars, de items die u heeft verzameld van u blijven. - -Uiteindelijk kunnen de items waar u voor strijdt in de game, langer bestaan dan de games zelf. Zelfs als een game niet langer wordt onderhouden, zullen uw items altijd onder uw controle blijven. Dit betekent dat in-game items digitaal memorabilia worden en een waarde buiten de game krijgen. - -Decentraland, een virtual reality game, laat u zelfs NFT's kopen die virtuele stukken land vertegenwoordigen die u kunt gebruiken zoals u maar wilt. - - -
Bekijk Ethereum-games, mogelijk gemaakt door NFT's...
- - Verken NFT-games - -
- - +- aantonen dat je een evenement hebt bijgewoond +- certificeren dat je een cursus hebt afgerond +- bezitten van items voor games +- digitale kunst +- het tokeniseren van echte activa +- bewijzen van je online identiteit +- blokkeren van toegang tot inhoud +- ticketverkoop +- gedecentraliseerde (internet)domeinnamen +- onderpand in DeFi -### Ethereum-adressen gedenkwaardiger maken {#nft-domains} +Misschien ben je een artiest die zijn werk wil delen via NFT's, zonder de controle te verliezen en inkomsten op te offeren aan tussenpersonen. Je kunt een nieuw contract aanmaken en het aantal NFT's, hun eigenschappen en een koppeling naar een uniek kunstwerk specifiëren. Als artiest kun je de royalty's waar je recht op hebt programmeren in het slimme contract (bijv. 5% van de verkoopprijs naar het contract van de eigenaar overmaken elke keer dat een NFT wordt overgedragen). Je kunt ook altijd bewijzen dat je de NFT's hebt gemaakt, want je bent in het bezit van de portemonnee via welke het contract is geïmplementeerd. Je kopers kunnen eenvoudig bewijzen dat ze een authentieke NFT uit jouw collectie bezitten, omdat het adres van hun portemonnee geassocieerd is met een token in jouw slimme contract. Ze kunnen het gebruiken in het hele Ethereum-ecosysteem en vertrouwen hebben in de authenticiteit ervan. -De Ethereum Name Service gebruikt NFT's om uw Ethereum-adres een makkelijker te onthouden naam te geven zoals `mywallet.eth`. Dit betekent dat u iemand kunt vragen om u ETH te sturen via `mywallet.eth` in plaats van `0x123456789.....`. +Of neem bijvoorbeeld een kaartje voor een sportevenement. Net zoals een organisator van een evenement kan kiezen hoeveel tickets hij wil verkopen, kan de maker van een NFT beslissen hoeveel replica's er bestaan. Soms gaat het om exacte replica's, zoals 5000 algemene toelatingskaartjes. Soms worden er replica's gemaakt die zeer vergelijkbaar zijn, maar elk lichtjes verschillend van elkaar, zoals een ticket met een toegewezen zitplaats. Deze kunnen peer-to-peer worden gekocht en verkocht zonder ticketbeheerders te betalen, en de koper kan altijd de authenticiteit van het ticket garanderen door het controleren van het contractadres. -Dit werkt op een soortgelijke manier als een websitedomeinnaam die een IP-adres memorabeler maakt. En net als domeinen hebben ENS-namen een waarde, meestal gebaseerd op lengte en relevantie. Met ENS heeft u geen domeinregistratie nodig om de overdracht van eigenaarschap te vergemakkelijken. In plaats daarvan kunt u uw ENS-namen verhandelen op een NFT-marktplaats. +Op ethereum.org worden NFT's gebruikt om te laten zien dat mensen hebben bijgedragen aan ons Github-archief of hebben deelgenomen aan gesprekken, en we hebben zelfs onze eigen NFT-domeinnaam. Als je een bijdrage levert aan ethereum.org, kun je een POAP-NFT claimen. Sommige crypto-bijeenkomsten hebben POAP's gebruikt als tickets. [Meer over bijdragen](/contributing/#poap). -Uw ENS-naam kan: - -- Cryptocurrency en andere NFT's ontvangen. -- Verwijzen naar een gedecentraliseerde website, zoals [ethereum.eth](https://ethereum.eth.link). [Meer over het decentraliseren van uw website](https://docs.ipfs.io/how-to/websites-on-ipfs/link-a-domain/#domain-name-service-dns) -- Sla willekeurige informatie op, inclusief profielinformatie zoals e-mailadressen en Twitter-handles. - - - -### Fysieke items {#nft-physical-items} - -De tokenisatie van fysieke items is nog niet zo ontwikkeld als hun digitale tegenhangers. Maar er zijn tal van projecten die de tokenisatie van onroerend goed, éénsoortige modeartikelen en meer verkennen. - -Aangezien NFT's in wezen aktes zijn, kunt u op een dag een auto of woning kopen met behulp van ETH en de akte als een NFT terugontvangen (in dezelfde transactie). Naarmate de dingen in toenemende mate high-tech worden, is het niet moeilijk om u een wereld voor te stellen waar uw Ethereum-portemonnee de sleutel tot uw auto of huis wordt – waarbij uw deur wordt ontgrendeld door het cryptografische bewijs van eigendom. - -Met waardevolle activa zoals auto's en eigendommen die te vertegenwoordigen zijn in Ethereum, kunt u NFT's gebruiken als onderpand in gedecentraliseerde leningen. Dit is vooral handig als u niet contant of crypto-rijk bent, maar fysieke items in uw bezit heeft. [Meer over DeFi](/defi/) - - - -### NFT's en DeFi {#nfts-and-defi} - -De NFT-wereld en de wereld van [gedecentraliseerde financiën (DeFi)](/defi/) beginnen op een aantal interessante manieren samen te werken. - -#### Door NFT ondersteunde leningen {#nft-backed-loans} - -Er zijn DeFi-applicaties waarmee u geld kunt lenen door onderpand te gebruiken. U kunt bijvoorbeeld 10 ETH als onderpand gebruiken zodat u 5000 DAI ([een stablecoin](/stablecoins/)) kunt lenen. Dit garandeert dat de kredietgever wordt terugbetaald - als de lener de DAI niet terugbetaalt, wordt het onderpand naar de kredietgever gestuurd. Niet iedereen heeft echter genoeg crypto om het als onderpand te gebruiken. - -Projecten beginnen in plaats daarvan NFT's als onderpand te onderzoeken. Stelt u zich voor dat vroeger een zeldzame CryptoPunk NFT had gekocht – deze kunnen duizenden in waarde zijn gestegen tegen de huidige prijzen. Door dit als onderpand te stellen, heeft u toegang tot een lening met dezelfde regelset. Als u de DAI niet terugbetaalt, wordt uw CryptoPunk als onderpand naar de kredietgever gestuurd. Dit zou uiteindelijk kunnen werken met alles waarvan u een token maakt net als een NFT. - -En dit is niet moeilijk op Ethereum, omdat beide werelden (NFT en DeFi) dezelfde infrastructuur delen. - -#### Fractioneel eigendom {#fractional-ownership} - -NFT-makers kunnen ook "aandelen" maken voor hun NFT. Dit geeft investeerders en fans de mogelijkheid om een deel van een NFT te bezitten zonder dat ze de hele token hoeven te kopen. Dit brengt nog meer mogelijkheden met zich mee voor zowel makers als verzamelaars van NFT's. - -- Gefractioneerde NFT's kunnen worden verhandeld op [DEX's](/defi/#dex) zoals Uniswap, niet alleen [NFT-markten](/dapps?category=collectibles). Dat betekent meer kopers en verkopers. -- De totale prijs van een NFT kan worden bepaald door de prijs van de fracties ervan. -- U heeft meer kans om een deel van een NFT te bezitten en te profiteren van items waar u om geeft. Het is dus moeilijker om geen NFT's te bezitten als gevolg van de prijzen. - -Dit is nog steeds experimenteel, maar u kunt meer leren over fractioneel NFT-eigendom op de volgende exchanges: - -- [NIFTEX](https://landing.niftex.com/) -- [NFTX](https://gallery.nftx.org/) - -In theorie wordt hiermee de mogelijkheid ontgrendeld om een deel van een Picasso te bezitten. U zou een aandeelhouder worden in een Picasso NFT, wat betekent dat u inspraak zou hebben in zaken zoals het delen van inkomsten. Het is zeer waarschijnlijk dat u binnenkort, door het bezitten van een fractie van een NFT, in een gedecentraliseerde autonome organisatie (DAO) wordt opgenomen voor het beheer van die asset. - -Dit zijn door Ethereum mogelijk gemaakte organisaties die vreemdelingen, zoals mondiale aandeelhouders van een asset, in staat stellen veilig te coördineren, zonder noodzakelijkerwijs de andere mensen te hoeven vertrouwen. Dat is omdat er geen cent kan worden uitgegeven zonder groepsgoedkeuring. - -Zoals we al zeiden, is dit een opkomende ruimte. NFT's, DAO's, gefragmenteerde tokens ontwikkelen zich allemaal in verschillend tempo. Maar al hun infrastructuur bestaat en kan gemakkelijk samenwerken omdat ze allemaal dezelfde taal spreken: Ethereum. Dus houd deze ruimte in de gaten. - -[Meer over DAO's](/dao/) - -### Certificaten van authenticiteit {#certificates} - -Bedrijven die vervalste certificaten voor universitaire diploma's aanbieden zijn naar verluidt een miljardenindustrie die door NFT's kan worden bestreden. NFT's kunnen een veilige en snelle manier zijn om iemands diplomagegevens te verifiëren. - -[In Zuid-Korea geeft één universiteit al graadcertificaten af als een NFT](https://forkast.news/headlines/south-korea-nfts-graduates-hoseo/), met de hoop dat de NFT's de toegang tot administratieve diensten zullen verbeteren en vervalsing of wijziging van de graad zullen voorkomen. [Trinity Business School (TBS) in Ierland is ook van plan om NFT's aan te bieden vanaf 2023](https://trinitynews.ie/2022/04/business-school-to-offer-degree-nfts/). - - - -### Tokengating {#tokengating} - -Tokengating is een manier om toegang tot iets te beperken waarbij NFT's gebruikt worden als toegangspas. Deze dingen kunnen sterk variëren op basis van het platform, maar populaire voorbeelden zijn beschermde content, privé-chatservers en, in de wereld van ecommerce, exclusieve producten. - -Een platform dat aan tokengating doet zal u meestal vragen om verbinding te maken met uw portemonnee om te bewijzen dat u eigenaar bent van de NFT. Als u de nodige NFT bezit, krijgt u toegang. Zo niet, dan blijft de gate gesloten. NFT's zijn een geweldige manier om dit te doen vanwege hun uniciteit - je kan het eigendom ervan niet vervalsen. - -Omdat NFT's op Ethereum staan, kunnen ze worden gebruikt om Ethereum-tokengates op elk platform dat ze implementeert te ontgrendelen. Een enkele NFT die u bezit zou gegatede inhoud, privé-chatservers en exclusieve producten kunnen ontgrendelen op volledig verschillende websites en toepassingen. - -Als minten en distribueren van NFT's gaat over de generatie of digitalisering van communities, dan gaat tokengating over het ondersteunen van communities. Het ziet NFT's meer gebruikt als een instrument voor lidmaatschap of loyaliteit – en een geweldige manier om de bijbehorende beloningen op betrouwbare wijze te leveren. +![ethereum.org POAP](./poap.png) -#### Voorbeelden +Deze website heeft een alternatieve domeinnaam, mogelijk gemaakt door NFT's, **ethereum.eth**. Ons `.org`-adres wordt centraal beheerd door een aanbieder van domeinnaamsystemen (DNS), terwijl ethereum`.eth` is geregistreerd op Ethereum via de Ethereum Name Service (ENS). En het is eigendom van en wordt beheerd door ons. [Bekijk ons ENS-record](https://app.ens.domains/name/ethereum.eth) -- [Collab.land](https://collab.land/)-tokengates Discord-chatservers of Telegram-groepen -- [Unlock Protocol](https://unlock-protocol.com/) is een protocol voor tokengating -- [Shopify](https://help.shopify.com/en/manual/products/digital-service-product/nfts) heeft een groeiende lijst met apps waarmee handelaren de toegang tot producten en kortingen kunnen tokengaten +[Meer over ENS](https://app.ens.domains) -## Ethereum en NFTs {#ethereum-and-nfts} - -Ethereum maakt het mogelijk dat NFT's werken om een aantal redenen: - -- De transactiegeschiedenis en tokenmetadata zijn publiekelijk verifieerbaar – het is eenvoudig om de geschiedenis van het eigenaarschap te bewijzen. -- Zodra een transactie is bevestigd, is het bijna onmogelijk om die gegevens te manipuleren om het eigenaarschap te "stelen". -- NFT-handel kan peer-to-peer plaatsvinden zonder dat er platforms nodig zijn die grote percentages in rekening kunnen brengen als compensatie. -- Alle Ethereum-producten delen dezelfde "backend". Met andere woorden, alle Ethereum-producten kunnen elkaar gemakkelijk begrijpen - dit maakt NFT's draagbaar, verspreid over alle producten. U kunt een NFT kopen gekoppeld aan een product en deze gemakkelijk verkopen gekoppeld aan een ander product. Als maker kunt u uw NFT's op meerdere producten tegelijk laten noteren - elk product heeft de meest recente eigendomsinformatie. -- Ethereum is nooit uitgeschakeld, wat betekent dat uw tokens altijd beschikbaar zijn om te verkopen. - -## De milieueffecten van NFT's {#environmental-impact-nfts} - -Het maken en overdragen van NFT's zijn gewoon Ethereum-transacties - het minten, kopen, ruilen van of ruilen met NFT's verbruikt niet direct energie. Sinds [de merge](/roadmap/merge) is Ethereum een energiezuinige blockchain, wat betekent dat de milieueffecten van het gebruik van NFT's verwaarloosbaar zijn. - -[Meer over Ethereums energieverbruik](/energy-consumption/). - -### Geef de NFT's niet de schuld {#nft-qualities} +### NFT-beveiliging {#nft-security} -Het hele NFT-ecosysteem werkt omdat Ethereum gedecentraliseerd en veilig is. +De veiligheid van Ethereum komt van proof-of-stake. Het systeem is ontworpen om kwaadaardige acties economisch te ontmoedigen, waardoor Ethereum manipulatiebestendig is. Dit is wat NFT's mogelijk maakt. Zodra het blok met jouw NFT-transactie wordt afgerond, zou het een aanvaller miljoenen ETH kosten om het te veranderen. Iedereen die Ethereum-software gebruikt, zou onmiddellijk in staat zijn om oneerlijke manipulatie met een NFT te detecteren, en de slechte speler wordt dan economisch gestraft en verwijderd. -Gedecentraliseerd betekent dat u en iedereen kan verifiëren dat u iets bezit. Dit alles zonder de bewaring toe te vertrouwen of toe te kennen aan een derde partij die naar eigen goeddunken zijn regels kan opleggen. Het betekent ook dat uw NFT draagbaar is verspreid over veel verschillende producten en markten. - -Veilig betekent dat niemand uw NFT kan kopiëren/plakken of stelen. - -Deze kwaliteiten van Ethereum maken het digitaal bezit van unieke items en het krijgen van een eerlijke prijs voor uw content mogelijk. Ethereum beschermt de activa met een gedecentraliseerd consensusmechanisme dat ['proof-of-stake'](/developers/docs/consensus-mechanisms/pos) omvat. Dit is een koolstofarme methode om te bepalen wie een transactieblok aan de chain kan toevoegen, en wordt beschouwd als veiliger dan het energie-intensieve alternatief, ['proof-of-work'](/developers/docs/consensus-mechanisms/pow). NFT's zijn in verband gebracht met hoge energiekosten, omdat Ethereum werd beveiligd met proof-of-work. Dit is niet langer de waarheid. - -#### Minten van NFT's {#minting-nfts} - -Wanneer u een NFT mint, moeten er een paar dingen gebeuren: - -- Het moet worden bevestigd als een asset op de blockchain. -- Het accountsaldo van de eigenaar moet worden bijgewerkt om die asset op te nemen. Vervolgens is het mogelijk om de asset te verhandelen of verifieerbaar te "bezitten". -- De transacties die het bovenstaande bevestigen moeten worden toegevoegd aan een blok en "geïmmortaliseerd" worden in de keten. -- Het blok moet door iedereen in het netwerk worden bevestigd als "juist". Deze consensus neemt de noodzaak voor tussenpersonen weg omdat het netwerk akkoord gaat met het bestaan van uw NFT en met het feit dat het van u is. En het is in de blockchain zodat iedereen het kan controleren. Dit is een van de manieren waarop Ethereum de NFT-makers helpt om hun inkomsten te maximaliseren. - -Al deze taken worden uitgevoerd door blokproducenten en -validators. Blokvoorstellers voegen uw NFT-transactie toe aan een blok en zenden deze uit naar de rest van het netwerk. Validators controleren of de transactie geldig is en voegen deze toe aan hun databases. Er zijn veel crypto-economische stimulansen die ervoor zorgen dat validators eerlijk handelen. Anders zou iedereen kunnen beweren dat hij eigenaar is van de NFT die u zojuist heeft gemint en deze op frauduleuze wijze kunnen overgedragen. - -#### NFT-beveiliging {#nft-security} - -De veiligheid van Ethereum komt van proof-of-stake. Het systeem is ontworpen om kwaadaardige acties economisch te ontmoedigen, waardoor Ethereum manipulatiebestendig is. Dit is wat NFT's mogelijk maakt. Zodra het blok met uw NFT-transactie wordt afgerond, zou het een aanvaller miljoenen ETH kosten om het te veranderen. Iedereen die Ethereum-software gebruikt, zou onmiddellijk in staat zijn om oneerlijke manipulatie met een NFT te detecteren, en de slechte speler wordt dan economisch gestraft en verwijderd. - -Beveiligingskwesties met betrekking tot NFT's hebben meestal te maken met phishing-scams, kwetsbaarheden van slimme contracten of gebruikersfouten (zoals het per ongeluk blootstellen van privésleutels), waardoor goede portemonneebeveiliging van cruciaal belang is voor NFT-eigenaren. +Beveiligingskwesties met betrekking tot NFT's hebben meestal te maken met phishing-scams, kwetsbaarheden van slimme contracten of gebruikersfouten (zoals het per ongeluk blootgeven van privésleutels), waardoor goede portemonneebeveiliging van cruciaal belang is voor NFT-eigenaren. Meer over beveiliging -## Bouwen met NFT's {#build-with-nfts} - -De meeste NFT's zijn gebouwd met een consistente standaard bekend als [ERC-721](/developers/docs/standards/tokens/erc-721/). Er zijn echter andere standaarden die u wellicht wilt bekijken. De standaard [ERC-1155](https://blog.enjincoin.io/erc-1155-the-crypto-item-standard-ac9cf1c5a226) staat semi-vervangbare tokens toe, wat vooral handig is in de gaming-wereld. En recenter is [EIP-2309](https://eips.ethereum.org/EIPS/eip-2309) voorgesteld om het minten van NFT's veel efficiënter te maken. Deze standaard staat u toe om er zoveel te minten als u wilt in een enkele transactie! +## Verder lezen {#further-reading} -## Lees verder {#further-reading} - -- [Crypto art data](https://cryptoart.io/data) - Richard Chen, automatisch bijgewerkt -- [OpenSea: the NFT Bible](https://opensea.io/blog/guides/non-fungible-tokens/) – _Devin Fizner, 10 januari 2020_ - [A beginner's guide to NFTs](https://linda.mirror.xyz/df649d61efb92c910464a4e74ae213c4cab150b9cbcc4b7fb6090fc77881a95d) – _Linda Xie, januari 2020_ -- [Everything you need to know about the metaverse](https://foundation.app/blog/enter-the-metaverse) – _Foundation-team, foundation.app_ -- [Nee, cryptokunstenaars schaden de planeet niet](https://medium.com/superrare/no-cryptoartists-arent-harming-the-planet-43182f72fc61) -- [Energieverbruik van Ethereum](/energy-consumption/) +- [EtherscanNFT tracker](https://etherscan.io/nft-top-contracts) +- [ERC-721-tokenstandaard](/developers/docs/standards/tokens/erc-721/) +- [ERC-1155-tokenstandaard](/developers/docs/standards/tokens/erc-1155/) + + diff --git a/src/content/translations/nl/refi/index.md b/src/content/translations/nl/refi/index.md new file mode 100644 index 00000000000..58cda2ecd70 --- /dev/null +++ b/src/content/translations/nl/refi/index.md @@ -0,0 +1,79 @@ +--- +title: Regeneratieve Financiën (ReFi) +description: Een overzicht van ReFi en zijn huidige toepassingen. +lang: nl +template: use-cases +emoji: ":recycle:" +sidebarDepth: 2 +image: ../../../../assets/future_transparent.png +alt: "" +summaryPoint1: Een alternatief economisch systeem gebouwd op regeneratieve principes +summaryPoint2: Een poging om Ethereum te benutten voor het oplossen van wereldwijde coördinatiecrisissen zoals de klimaatverandering +summaryPoint3: Een middel om activa met ecologisch voordeel, zoals geverifieerde koolstofkredieten, drastisch op te schalen +--- + +## Wat is ReFi? {#what-is-refi} + +**Regeneratieve financiën (ReFi)** is een set hulpmiddelen en ideeën gebouwd bovenop blockchains, met als doel het creëren van economieën die regeneratief zijn in plaats van extractief of exploitatief. Op termijn putten extractieve systemen de beschikbare bronnen uit en storten ze in elkaar; zonder regeneratieve mechanismen ontbreekt het hen aan veerkracht. ReFi steunt op het principe dat de creatie van geldwaarde losgekoppeld moet worden van de onduurzame extractie van grondstoffen van onze planeet en samenleving. + +In plaats daarvan tracht ReFi milieu-, samenlevings- en sociale problemen op te lossen door het creëren van regeneratieve cycli. Deze systemen creëren waarde voor deelnemers en bieden tegelijkertijd voordelen voor ecosystemen en gemeenschappen. + +Een van de grondbeginselen van ReFi is het concept van de regeneratieve economie gepionierd door John Fullerton van het [Capital Institute](https://capitalinstitute.org). Hij stelde acht onderling verbonden principes voor die aan de basis liggen van systemische gezondheid: + +![Acht onderling verbonden principes](../../assets/use-cases/refi-regenerative-economy-diagram.png) + +ReFi-projecten realiseren deze principes door gebruik te maken van [slimme contracten](/developers/docs/smart-contracts/) en [gedecentraliseerde financiën (DeFi)](/defi/)-applicaties om regeneratieve gedragingen te stimuleren, bijv. herstellen van gedegradeerde ecosystemen, en om grootschalige samenwerking te faciliteren voor wereldwijde problemen zoals klimaatverandering en biodiversiteitsverlies. + +ReFi overlapt ook met de [gedecentraliseerde wetenschap (DeSci)](/desci/)-beweging, die Ethereum gebruikt als platform om wetenschappelijke kennis te financieren, creëren, evalueren, erkennen, bewaren en verspreiden. DeSci-tools kunnen nuttig worden voor de ontwikkeling van verifieerbare standaarden en werkwijzen voor het implementeren en monitoren van regeneratieve activiteiten, zoals bomen planten, verwijderen van plastic uit de oceaan of herstellen van een gedegradeerd ecosysteem. + +## Tokenisatie van koolstofkredieten {#tokenization-of-carbon-credits} + +De **[vrijwillige koolstofmarkt (VCM)](https://climatefocus.com/so-what-voluntary-carbon-market-exactly/)** is een mechanisme voor het financieren van projecten die een verifieerbare, positieve impact hebben op koolstofuitstoot, hetzij door huidige emissies te reduceren, of door broeikasgassen die al werden uitgestoten uit de atmosfeer te verwijderen. Deze projecten krijgen een activum genaamd "koolstofkrediet" nadat ze geverifieerd zijn, dat ze kunnen verkopen aan personen en organisaties die klimaatactie willen steunen. + +In aanvulling op de VCM zijn er ook verschillende door de overheid opgelegde koolstofmarkten ('nalevingsmarkten') die als doel hebben om een prijs voor koolstof vast te leggen via wetten of reglementen in een bepaalde jurisdictie (bijv. een land of regio), om zo het aanbod van te verstrekken vergunningen te controleren. Nalevingsmarkten stimuleren vervuilers binnen hun jurisdictie om de uitstoot te verminderen, maar zijn niet in staat om broeikasgassen die al werden uitgestoten te verwijderen. + +Ondanks hun ontwikkeling in afgelopen decennia blijft de VCM onderhevig aan verschillende problemen: + +1. Zeer gefragmenteerde liquiditeit +2. Ondoorzichtige transactiemechanismen +3. Hoge tarieven +4. Zeer trage handelssnelheid +5. Gebrek aan schaalbaarheid + +Een transitie van de VCM naar de nieuwe op blockchain gebaseerde **digitale koolstofmarkt (DCM)** biedt een mogelijkheid om de bestaande technologie voor het controleren, verhandelen en opgebruiken van koolstofkredieten te verbeteren. Blockchains maken openbaar verifieerbare data, toegang voor een groot aantal gebruikers en meer liquiditeit mogelijk. + +ReFi-projecten gebruiken blockchaintechnologie om veel van de problemen in de traditionele markt te verlichten: + +- **Liquiditeit is geconcentreerd in een klein aantal liquiditeitspools** die door iedereen vrij verhandeld kunnen worden. Zowel grote organisaties als individuele gebruikers kunnen deze pools gebruiken zonder zelf te zoeken naar verkopers/kopers, deelnamekosten of registratie vooraf. +- **Alle transacties worden geregistreerd op openbare blockchains**. Het traject dat elk koolstofkrediet aflegt vanwege handelsactiviteiten blijft voor altijd traceerbaar zodra het beschikbaar wordt gemaakt in de DCM. +- **Transactiesnelheid is bijna ogenblikkelijk**. Het verzamelen van grote hoeveelheden koolstofkredieten via gevestigde markten kan dagen of zelfs weken duren, maar in de DCM kan dit in enkele seconden. +- **Handelsactiviteit vindt plaats zonder tussenpersonen**, die hoge kosten aanrekenen. Digitale koolstofkredieten vertegenwoordigen een [kostenreductie van 62% in vergelijking met traditionele kredieten](https://www.klimadao.finance/blog/klimadao-analysis-of-the-base-carbon-tonne), volgens de gegevens van een analysebureau. +- **De DCM is schaalbaar** en kan tegemoetkomen aan de vraag van zowel personen als multinationals. + +### Belangrijkste onderdelen van de DCM {#key-components-dcm} + +Vier hoofdcomponenten vormen het huidige landschap van de DCM: + +1. Registers zoals [Verra](https://verra.org/project/vcs-program/registry-system/) en [Gold Standard](https://www.goldstandard.org/) verzekeren dat projecten die koolstofkredieten creëren betrouwbaar zijn. Ze beheren ook de databases waar digitale koolstofkredieten ontstaan en kunnen worden verhandeld of opgebruikt (afgeboekt). + +Er is een nieuwe golf van innovatieve projecten die worden gebouwd op blockchains en die proberen om de bestaande bedrijven in deze sector te ontwrichten. + +2. Koolstofbruggen, ook bekend als tokenisers, bieden technologie aan om koolstofkredieten te vertegenwoordgen of te verhandelen van traditionele registers naar de DCM. Noemenswaardige voorbeelden zijn [Toucan Protocol](https://toucan.earth/), [C3](https://c3.app/) en [Moss.Earth](https://moss.earth/). +3. Geïntegreerde diensten bieden eindgebruikers koolstofvermijdings- en/of -verwijderingskredieten aan zodat ze het milieuvoordeel van een krediet kunnen opeisen en hun steun aan klimaatactie kunnen delen met de wereld. + +Sommige, zoals [Klima Infinity](https://www.klimadao.finance/infinity) en [Senken](https://senken.io/), bieden een breed scala aan projecten aan die ontwikkeld zijn door externe partijen en uitgegeven worden door erkende standaarden zoals Verra; andere zoals [Nori](https://nori.com/) bieden enkel specifieke projecten aan die ontwikkeld zijn volgens hun eigen koolstofkredietstandaard, die ze uitgeven en waarvoor ze hun eigen specifieke marktplaats hebben. + +4. De onderliggende rails en infrastructuur die het opschalen van de impact en de efficiëntie van de hele aanvoerketen van de koolstofmarkt mogelijk maken. [KlimaDAO](http://klimadao.finance/) levert liquiditeit als een publiek goed (door iedereen toe te laten om koolstofkredieten te kopen of te verkopen tegen een transparante prijs), stimuleert een verhoogde capaciteit van koolstofmarkten en afboekingen via beloningen, en levert klantvriendelijke, interoperationele tools om toegang te krijgen tot gegevens over, en voor het verwerven en afboeken van, een breed scala aan getokeniseerde koolstofkredieten. + +## ReFi voorbij koolstofmarkten {#refi-beyond} + +Hoewel er momenteel een grote nadruk ligt op koolstofmarkten in het algemeen, en met name op de transitie van de VCM naar de DCM in dit veld, is de term "ReFi" niet strikt beperkt tot koolstof. Naast koolstofkredieten kunnen andere milieuactiva worden ontwikkeld en getokeniseerd, wat betekent dat andere negatieve externaliteiten ook in de basislagen van toekomstige economische systemen ingeprijst kunnen worden. Bovendien kan het regeneratieve aspect van dit economische model worden toegepast op andere domeinen, zoals het financieren van publieke goederen via kwadratische financieringsplatformen zoals [Gitcoin](https://gitcoin.co/). Organisaties die gebouwd zijn op het principe van open participatie en eerlijke verdeling van hulpbronnen, geven iedereen de macht om geld door te sluizen naar zowel open-source softwareprojecten, als educatieve, milieu-, en gemeenschapsgedreven projecten. + +Door de richting van kapitaal te verschuiven weg van extractieve praktijken naar een regeneratieve stroom, kunnen projecten en bedrijven die sociale, milieu- en gemeenschapsvoordelen leveren - en die er mogelijk niet in slagen om fondsen te verkrijgen via traditionele financiering - een realiteit worden en sneller en op eenvoudigere wijze positieve externaliteiten voor de samenleving verwezelijken. Overgaan op dit model van financiering opent ook de deur naar meer inclusieve economische systemen, waarin mensen uit alle demografische lagen actieve deelnemers kunnen worden en niet enkel passieve waarnemers hoeven te blijven. ReFi biedt een visie van Ethereum als een mechanisme voor het coördineren van actie op existentiële uitdagingen waarmee onze soort en al het leven op aarde mee geconfronteerd worden - als het grondbeginsel van een nieuw economisch paradigme dat een meer inclusieve en duurzame toekomst voor de komende eeuwen mogelijk maakt. + +## Aanvullende informatie over ReFi + +- [Een hoogwaardig overzicht van koolstofvaluta en hun plaats in de economie](https://www.klimadao.finance/blog/the-vision-of-a-carbon-currency) +- [The Ministry for the Future, een roman die de rol van een koolstofgebaseerde valuta in de strijd tegen klimaatverandering beschrijft](https://en.wikipedia.org/wiki/The_Ministry_for_the_Future) +- [Een gedetailleerd rapport opgesteld door de Taskforce on Scaling Voluntary Carbon Markets](https://www.iif.com/Portals/1/Files/TSVCM_Report.pdf) +- [CoinMarketCap-woordenlijstvermelding over ReFi van Kevin Owocki en Evan Miyazono](https://coinmarketcap.com/alexandria/glossary/regenerative-finance-refi) diff --git a/src/content/translations/nl/smart-contracts/index.md b/src/content/translations/nl/smart-contracts/index.md index bbddc18aa9b..9183e8c9dc5 100644 --- a/src/content/translations/nl/smart-contracts/index.md +++ b/src/content/translations/nl/smart-contracts/index.md @@ -6,69 +6,59 @@ lang: nl # Inleiding tot smart contracts {#introduction-to-smart-contracts} -Smart contracts zijn de fundamentele bouwstenen van [Ethereum-toepassingen](/dapps/). Het zijn computerprogramma's die zijn opgeslagen op de blockchain waarmee traditionele contracten kunnen worden omgezet in digitale parallellen. Smart contracts zijn heel logisch - ze volgen een "als dit dan dat"-structuur. Dit betekent dat ze zich precies gedragen zoals ze geprogrammeerd zijn en ze niet gewijzigd kunnen worden. +Slimme contracten zijn de fundamentele bouwstenen van de applicatielaag van Ethereum. Het zijn computerprogramma's die zijn opgeslagen op de blockchain en die "als dit dan dat"-logica volgen en gegarandeerd worden uitgevoerd volgens de regels die zijn gedefinieerd in de code, die niet kan worden gewijzigd zodra deze is aangemaakt. -Nick Szabo heeft de term "smart contract" bedacht. In 1994 schreef hij [een inleiding op het concept](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html) en in 1996, [een verkenning van wat smart contracts kunnen doen](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html). +Nick Szabo heeft de term "smart contract" bedacht. In 1994 schreef hij [een inleiding tot het concept](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts.html), en in 1996 schreef hij [een onderzoek van wat slimme contracten zouden kunnen doen](https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html). -Nick Szabo heeft een digitale markt ontworpen die is gebouwd op deze automatische, cryptografisch veilige processen. Een plek waar transacties en zakelijke functies betrouwbaar kunnen plaatsvinden – zonder tussenpersonen. Smart contracts op Ethereum brengen deze visie in de praktijk. +Szabo had een digitale marktplaats voor ogen waar automatische, cryptografisch beveiligde processen transacties en bedrijfsfuncties mogelijk maken zonder vertrouwde tussenpersonen. Slimme contracten op Ethereum brengen deze visie in de praktijk. -## Wat zijn contracten? {#what-are-contracts} +### Vertrouwen in traditionele contracten {#trust-and-contracts} -U denkt waarschijnlijk: _"Ik ben geen advocaat! Waarom zou ik me om contracten bekommeren?"_. Voor de meeste mensen gaan contracten gepaard met onnodig lange algemene voorwaarden of met saaie juridische documenten. - -Contracten zijn niet meer dan overeenkomsten. Dat wil zeggen dat elke vorm van overeenkomst kan worden vervat in de voorwaarden van een contract. Verbale overeenkomsten of contracten op papier zijn voor veel dingen aanvaardbaar, maar ze zijn niet zonder gebreken. - -### Vertrouwen en contracten {#trust-and-contracts} - -Een van de grootste problemen met een traditioneel contract is de noodzaak dat vertrouwde personen het resultaat van het contract volgen. +Een van de grootste problemen met een traditioneel contract is de noodzaak dat vertrouwde personen zich houden aan de resultaten van het contract. Hier is een voorbeeld: -Alice en Bob hebben een fietsrace. Laten we zeggen dat Alice $ 10 wed dat ze de race zal winnen. Bob heeft er alle vertrouwen in dat hij de winnaar zal zijn en gaat akkoord met de weddenschap. Uiteindelijk beëindigt Alice de race eerder dan Bob en is zij de duidelijke winnaar. Maar Bob weigert de weddenschap uit te betalen en beweert dat Alice heeft gesjoemeld. +Alice en Bob houden een fietsrace. Laten we zeggen dat Alice $ 10 wed dat ze de race zal winnen. Bob heeft er alle vertrouwen in dat hij de winnaar zal zijn en gaat akkoord met de weddenschap. Uiteindelijk beëindigt Alice de race eerder dan Bob en is zij de duidelijke winnaar. Maar Bob weigert de weddenschap uit te betalen en beweert dat Alice heeft gesjoemeld. Dit dwaze voorbeeld illustreert het probleem van een niet-slimme overeenkomst. Zelfs als aan de voorwaarden van de overeenkomst wordt voldaan (d.w.z. je bent de winnaar van de race), moet je nog steeds een ander persoon vertrouwen om de overeenkomst uit te voeren (d.w.z. de uitbetaling van de weddenschap). -## Smart contracts {#smart-contracts} - -Smart contracts digitaliseren overeenkomsten door de voorwaarden van een overeenkomst om te zetten in computercode die automatisch wordt uitgevoerd wanneer er aan de contractvoorwaarden wordt voldaan. - ### Een digitale verkoopautomaat {#vending-machine} -Een eenvoudige metafoor voor een smart contract is een verkoopautomaat die op ongeveer dezelfdemanier werkt als een smart contract: specifieke inputs garanderen een vooraf bepaalde output. +Een eenvoudige metafoor voor een slim contract is een verkoopautomaat die op ongeveer dezelfde manier werkt als een slim contract: specifieke inputs garanderen een vooraf bepaalde output. - Je selecteert een product -- De verkoopautomaat retourneert de hoeveelheid die nodig is om het product te kopen -- Je voert het juiste bedrag in -- De verkoopautomaat controleert of je het juiste bedrag hebt ingevoerd -- De verkoopautomaat geeft je het gekozen product +- De verkoopautomaat toont de prijs +- Je betaalt de prijs +- De verkoopautomaat controleert of je het juiste bedrag hebt betaald +- De verkoopautomaat geeft je je item -De verkoopautomaat zal het gewenste product pas losmaken als aan alle vereisten is voldaan. Als je geen product selecteert of niet genoeg geld invoert, zal de automaat het product niet afgeven. +De verkoopautomaat zal het gewenste product pas afgeven als aan alle vereisten is voldaan. Als je geen product selecteert of niet genoeg geld invoert, zal de automaat het product niet afgeven. ### Automatische uitvoering {#automation} -Een van de belangrijkste voordelen die smart contracts bieden ten opzichte van reguliere contracten is dat het resultaat automatisch wordt uitgevoerd wanneer de contractvoorwaarden worden bereikt. We hoeven niet te wachten op de uitvoering van het resultaat door een mens. Met andere woorden: smart contracts verwijderen de noodzaak van vertrouwen. +Het belangrijkste voordeel van een slim contract is dat het deterministisch duidelijke code uitvoert wanneer aan bepaalde voorwaarden is voldaan. Het is niet nodig om te wachten tot een mens het resultaat interpreteert. Hierdoor zijn er geen vertrouwde tussenpersonen meer nodig. -U kunt bijvoorbeeld een smart contract opstellen dat fondsen in escrow houdt voor een kind, waarna het kind het geld kan opnemen na een bepaalde datum. Als het kind probeert het geld op te nemen vóór de opgegeven datum, wordt het smart contract simpelweg niet uitgevoerd. Of u kunt een contract schrijven dat u automatisch een digitale versie geeft van een autobewijs wanneer u de dealer betaalt. +Je kunt bijvoorbeeld een slim contract opstellen dat fondsen in escrow houdt voor een kind, waarna het kind het geld kan opnemen na een bepaalde datum. Als het kind probeert om het geld op te nemen vóór de opgegeven datum, wordt het slimme contract simpelweg niet uitgevoerd. Of je kunt een contract opstellen waarbij je automatisch een digitale versie van het eigendomsbewijs van een auto krijgt wanneer je de dealer betaalt. ### Voorspelbare resultaten {#predictability} -De menselijke factor is een van de grootste mislukkingen bij traditionele contracten. Zo kunnen bijvoorbeeld twee individuele rechters een traditioneel contract op twee verschillende manieren interpreteren. Hun interpretaties kunnen ertoe leiden dat er verschillende beslissingen worden genomen en de resultaten uiteenlopen. Smart contracts elimineren de mogelijkheid van verschillende interpretaties. Smart contracts voeren in plaats daarvan precies uit op basis van de voorwaarden die zijn geschreven in de code van het contract. Deze precisie betekent dat het smart contract onder dezelfde omstandigheden, altijd hetzelfde resultaat zal opleveren. +Traditionele contracten zijn meerduidig omdat ze afhankelijk zijn van mensen om ze te interpreteren en uit te voeren. Twee rechters kunnen een contract bijvoorbeeld anders interpreteren, wat kan leiden tot inconsistente beslissingen en ongelijke uitkomsten. Slimme contracten nemen deze mogelijkheid weg. Slimme contracten worden in plaats daarvan precies uitgevoerd op basis van de voorwaarden die zijn geschreven in de code van het contract. Deze precisie betekent dat het slimme contract onder dezelfde omstandigheden, altijd hetzelfde resultaat zal opleveren. ### Openbaar register {#public-record} -Smart contracts zijn ook nuttig voor audits en tracking. Omdat Ethereum smart contracts op een openbare blockchain staan, kan iedereen informatie over asset transfers en andere gerelateerde informatie direct bijhouden. U kunt bijvoorbeeld controleren of iemand geld naar uw adres heeft gestuurd. +Slimme contracten zijn ook nuttig voor audits en tracking. Omdat de slimme contracten van Ethereum op een openbare blockchain staan, kan iedereen informatie over activaoverdrachten en andere gerelateerde informatie direct bijhouden. Zo kun je bijvoorbeeld controleren of iemand geld naar jouw adres heeft gestuurd. ### Privacybescherming {#privacy-protection} -Smart contracts kunnen ook uw privacy beschermen. Omdat Ethereum een pseudonymeus netwerk is (een netwerk waar uw transacties publiekelijk verbonden zijn aan een uniek cryptografische adres, en niet aan uw identiteit), kunt u uw privacy beschermen tegen observeerders. +Slimme contracten beschermen ook je privacy. Omdat Ethereum een pseudonymeus netwerk is (een netwerk waar je transacties publiekelijk verbonden zijn aan een uniek cryptografisch adres, en niet aan je identiteit), kun je je privacy beschermen tegen observeerders. ### Zichtbare voorwaarden {#visible-terms} -Ten slotte kunt u net als bij contracten controleren wat er in een smart contract staat voordat u het ondertekent (of er op andere wijze mee communiceert). Beter nog, publieke transparantie van de voorwaarden in het contract betekent dat iedereen het onder de loep kan nemen. +Tot slot kun je, net als bij traditionele contracten, controleren wat er in een slim contract staat voordat je het ondertekent (of er anderszins mee interageert). De transparantie van een slim contract garandeert dat iedereen het kan onderzoeken. -## Smart contract use-cases {#use-cases} +## Toepassingsscenario's voor slimme contracten {#use-cases} -Smart contracts zijn dus computerprogramma's die op de blockchain leven. Ze kunnen automatisch worden uitgevoerd. U kunt hun transacties bijhouden, voorspellen hoe ze handelen en ze zelfs pseudoniem gebruiken. Dat is geweldig. Maar waar zijn ze goed voor? Nou, smart contracts kunnen in feite alles doen wat andere computerprogramma's doen. +Slimme contracten kunnen in wezen alles doen wat computerprogramma's kunnen doen. Ze kunnen berekeningen uitvoeren, valuta creëren, gegevens opslaan, NFT's minten, communicatie uitzenden en zelfs afbeeldingen genereren. Hier zijn enkele populaire praktijkvoorbeelden: @@ -81,7 +71,7 @@ Ze kunnen berekeningen uitvoeren, valuta creëren, gegevens opslaan, NFT's minte ## Leer je liever visueel? {#visual-learner} -Bekijk smart contracts uitgelegd door Finematics: +Bekijk slimme contracten uitgelegd door Finematics: diff --git a/src/content/translations/nl/social-networks/index.md b/src/content/translations/nl/social-networks/index.md index 2f34fc77c23..98cfed241a9 100644 --- a/src/content/translations/nl/social-networks/index.md +++ b/src/content/translations/nl/social-networks/index.md @@ -79,7 +79,7 @@ Reddit heeft [Community Points](https://cointelegraph.com/news/reddit-to-reporte Het programma is al live, met de r/CryptoCurrency subreddit [die zijn versie van gemeenschapspunten genaamd "Moons" draait](https://www.reddit.com/r/CryptoCurrency/wiki/moons_wiki). Volgens de officiële beschrijving beloont Moons "posters, commentators en moderators voor hun bijdragen aan de subreddit." Omdat deze tokens op de blockchain staan (gebruikers ontvangen ze in hun portemonnee), zijn ze onafhankelijk van Reddit en kunnen ze niet worden weggenomen. -Na het afsluiten van een beta-fase op het Rinkeby-testnet staan de Reddit-gemeenschapspunten nu op [Arbitrum Nova](https://nova.arbitrum.io/), een blockchain die de eigenschappen van een [validium](/developers/docs/scaling/validium/) en een [optimistic rollup](/developers/docs/scaling/optimistic-rollups/) combineert. Naast het gebruik van gemeenschapspunten om speciale functies te ontgrendelen, kunnen gebruikers ze ook verhandelen op exchanges in ruil voor fiat. Ook bepaalt de hoeveelheid gemeenschapspunten die een gebruiker bezit diens invloed op het besluitvormingsproces binnen de gemeenschap. +Na het afsluiten van een bètafase op het Rinkeby-testnet, staan Reddit Community Points nu op [Arbitrum Nova](https://nova.arbitrum.io/), een blockchain die eigenschappen combineert van een [sidechain](/developers/docs/scaling/sidechains/) en een [optimistic rollup](/developers/docs/scaling/optimistic-rollups/). Naast het gebruik van gemeenschapspunten om speciale functies te ontgrendelen, kunnen gebruikers ze ook verhandelen op exchanges in ruil voor fiat. Ook bepaalt de hoeveelheid gemeenschapspunten die een gebruiker bezit diens invloed op het besluitvormingsproces binnen de gemeenschap. ### Twitter {#twitter} @@ -94,16 +94,19 @@ In mei 2022 [kondigde Instagram ondersteuning aan voor NFT's](https://about.inst - **[Status.im](https://status.im/)** - _Status is een beveiligde communicatie-app die gebruik maakt van een open-source, peer-to-peer protocol en end-to-end versleuteling om uw berichten te beschermen tegen derden._ - **[Mirror.xyz](https://mirror.xyz/)** - _Mirror is een gedecentraliseerd publicatieplatform in handen van gebruikers dat gebouwd is op Ethereum. Het is bedoeld voor gebruikers om ideeën te crowdfunden, content te verkopen en hoogwaardige gemeenschappen op te bouwen._ - **[Lens Protocol](https://lens.xyz/)** - _Lens Protocol is een samen te stellen gedecentraliseerde sociale grafiek die creators helpt met hun eigendomsrecht op hun content, waar ze ook maar heen gaan in het digitale landschap van het gedecentraliseerde internet._ +- **[Farcaster](https://farcaster.xyz/)** - _Farcaster is een gedecentraliseerd sociaal netwerk. Het is een open protocol dat veel clients kan ondersteunen, net als e-mail._ ## Lees verder {#further-reading} ### Artikelen {#articles} +- [Decentralizing social media: a guide to the web3 social stack](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) - _Coinbase Ventures_ - [Social Networks Are the Next Big Decentralization Opportunity](https://www.coindesk.com/tech/2021/01/22/social-networks-are-the-next-big-decentralization-opportunity/) — _Ben Goertzel_ - [Web3 holds the promise of decentralized, community-powered social networks](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_ - [An Overview of the Blockchain Social Media Landscape](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — _Gemini Cryptopedia_ - [How Blockchain Can Solve Social Media Privacy](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_ - [Social Media Networks Are Coming To The Blockchain](https://businesstechguides.co/what-are-decentralized-social-networks) — _Emmanuel Awosika_ +- [Sufficient Decentralization for Social Networks](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) — _Varun Srinivasan_ ### Video's {#videos} diff --git a/src/content/translations/pl/developers/docs/scaling/layer-2-rollups/index.md b/src/content/translations/pl/developers/docs/scaling/layer-2-rollups/index.md index 5c424d0f8e8..32ac3b95d60 100644 --- a/src/content/translations/pl/developers/docs/scaling/layer-2-rollups/index.md +++ b/src/content/translations/pl/developers/docs/scaling/layer-2-rollups/index.md @@ -126,7 +126,7 @@ Istnieją rozwiązania hybrydowe, które łączą w sobie najlepsze elementy wie - [Wszystko, co musisz wiedzieć o optymistycznym pakiecie zbiorczym](https://research.paradigm.xyz/rollups) - [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) -- [Jak faktycznie działa pakiet zbiorczy Optimism?](https://research.paradigm.xyz/optimism) +- [Jak faktycznie działa pakiet zbiorczy Optimism?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) **Rozwiązania hybrydowe** diff --git a/src/content/translations/pt-br/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/pt-br/developers/docs/scaling/optimistic-rollups/index.md index 9fe497d3a2c..7e03809f057 100644 --- a/src/content/translations/pt-br/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/pt-br/developers/docs/scaling/optimistic-rollups/index.md @@ -260,6 +260,6 @@ Há múltiplas implementações de optimistic rollups que você pode integrar ao - [Como funcionam os optimistic rollups (o guia completo)](https://www.alchemy.com/overviews/optimistic-rollups) - [Tudo o que você precisa saber sobre otimistic rollup](https://research.paradigm.xyz/rollups) - [O guia essencial do Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Como o optimistic rollup realmente funciona?](https://research.paradigm.xyz/optimism) +- [Como o optimistic rollup realmente funciona?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [OVM: aprofundamento](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) - [O que é a máquina virtual otimista?](https://www.alchemy.com/overviews/optimistic-virtual-machine) diff --git a/src/content/translations/ro/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/ro/developers/docs/scaling/optimistic-rollups/index.md index 9a54b5c0a3d..53d5456d86e 100644 --- a/src/content/translations/ro/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/ro/developers/docs/scaling/optimistic-rollups/index.md @@ -51,5 +51,5 @@ Există mai multe implementări ale rollup-urilor Optimistic pe care le puteți - [Tot ce trebuie să știți despre Rollup-ul Optimistic](https://research.paradigm.xyz/rollups) - [Ghidul esențial pentru Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Cum funcționează cu adevărat Rollup-ul Optimistic?](https://research.paradigm.xyz/optimism) +- [Cum funcționează cu adevărat Rollup-ul Optimistic?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) diff --git a/src/content/translations/ro/developers/tutorials/nft-minter/index.md b/src/content/translations/ro/developers/tutorials/nft-minter/index.md index 8a43eb4d865..feb774ada97 100644 --- a/src/content/translations/ro/developers/tutorials/nft-minter/index.md +++ b/src/content/translations/ro/developers/tutorials/nft-minter/index.md @@ -198,7 +198,7 @@ If you go to the `App.js` file, which is the main component in React that acts a Now that we understand what we're working with, let's set up our Ethereum wallet! -## : Set up your Ethereum wallet {#set-up-your-ethereum-wallet} +## Set up your Ethereum wallet {#set-up-your-ethereum-wallet} For users to be able to interact with your smart contract they will need to connect their Ethereum wallet to your dApp. diff --git a/src/content/translations/sl/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/sl/developers/docs/scaling/optimistic-rollups/index.md index 5889d345c4e..5eff8b3021e 100644 --- a/src/content/translations/sl/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/sl/developers/docs/scaling/optimistic-rollups/index.md @@ -53,5 +53,5 @@ Obstaja več implementacij optimističnih zvitkov, ki jih lahko integrirate v sv - [Vse kar morate vedeti o Optimističnih zvitkih](https://research.paradigm.xyz/rollups) - [Ključni vodnik za Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Kako zares deluje zvitek Optimizma?](https://research.paradigm.xyz/optimism) +- [Kako zares deluje zvitek Optimizma?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [Globoki vpogled v OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) diff --git a/src/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md index 94d6c857e18..2dc5f93299a 100644 --- a/src/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/tr/developers/docs/scaling/optimistic-rollups/index.md @@ -53,5 +53,5 @@ Dapp'lerinize entegre edebileceğiniz birden çok İyimser toplama uygulaması m - [Optimistik Toplama hakkında bilmeniz gereken her şey](https://research.paradigm.xyz/rollups) - [Temel Arbitrum Rehberi](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [Optimism'in Toplaması aslında nasıl çalışıyor?](https://research.paradigm.xyz/optimism) +- [Optimism'in Toplaması aslında nasıl çalışıyor?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [OVM Deep Dive](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) diff --git a/src/content/translations/zh-tw/developers/docs/accounts/accounts.png b/src/content/translations/zh-tw/developers/docs/accounts/accounts.png new file mode 100644 index 00000000000..d34d9fc0d5e Binary files /dev/null and b/src/content/translations/zh-tw/developers/docs/accounts/accounts.png differ diff --git a/src/content/translations/zh-tw/developers/docs/blocks/tx-block.png b/src/content/translations/zh-tw/developers/docs/blocks/tx-block.png new file mode 100644 index 00000000000..c3a3049b287 Binary files /dev/null and b/src/content/translations/zh-tw/developers/docs/blocks/tx-block.png differ diff --git a/src/content/translations/zh-tw/developers/docs/evm/evm.png b/src/content/translations/zh-tw/developers/docs/evm/evm.png new file mode 100644 index 00000000000..f219bd393c6 Binary files /dev/null and b/src/content/translations/zh-tw/developers/docs/evm/evm.png differ diff --git a/src/content/translations/zh-tw/developers/docs/gas/gas.png b/src/content/translations/zh-tw/developers/docs/gas/gas.png new file mode 100644 index 00000000000..3fb52626335 Binary files /dev/null and b/src/content/translations/zh-tw/developers/docs/gas/gas.png differ diff --git a/src/content/translations/zh-tw/developers/docs/transactions/gas-tx.png b/src/content/translations/zh-tw/developers/docs/transactions/gas-tx.png new file mode 100644 index 00000000000..5142e225041 Binary files /dev/null and b/src/content/translations/zh-tw/developers/docs/transactions/gas-tx.png differ diff --git a/src/content/translations/zh-tw/developers/docs/transactions/tx.png b/src/content/translations/zh-tw/developers/docs/transactions/tx.png new file mode 100644 index 00000000000..5bcc326ac44 Binary files /dev/null and b/src/content/translations/zh-tw/developers/docs/transactions/tx.png differ diff --git a/src/content/translations/zh-tw/energy-consumption/energy_consumption_pre_post_merge.png b/src/content/translations/zh-tw/energy-consumption/energy_consumption_pre_post_merge.png new file mode 100644 index 00000000000..87d03943010 Binary files /dev/null and b/src/content/translations/zh-tw/energy-consumption/energy_consumption_pre_post_merge.png differ diff --git a/src/content/translations/zh-tw/web3/web2.png b/src/content/translations/zh-tw/web3/web2.png new file mode 100644 index 00000000000..74c124b3c0e Binary files /dev/null and b/src/content/translations/zh-tw/web3/web2.png differ diff --git a/src/content/translations/zh-tw/web3/web3.png b/src/content/translations/zh-tw/web3/web3.png new file mode 100644 index 00000000000..3c37211d03b Binary files /dev/null and b/src/content/translations/zh-tw/web3/web3.png differ diff --git a/src/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md b/src/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md index 2ee58a4b577..35c8e4fae69 100644 --- a/src/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md +++ b/src/content/translations/zh/developers/docs/scaling/optimistic-rollups/index.md @@ -260,6 +260,6 @@ ii. 使用乐观卷叠的开发者和项目团队可以利用以太坊的基础 - [乐观卷叠如何工作(完整指南)](https://www.alchemy.com/overviews/optimistic-rollups) - [乐观卷叠知识大全](https://research.paradigm.xyz/rollups) - [Arbitrum 基本指南](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) -- [乐观卷叠究竟如何工作?](https://research.paradigm.xyz/optimism) +- [乐观卷叠究竟如何工作?](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) - [深入研究乐观虚拟机](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) - [什么是乐观虚拟机?](https://www.alchemy.com/overviews/optimistic-virtual-machine) diff --git a/src/content/translations/zh/developers/tutorials/nft-minter/index.md b/src/content/translations/zh/developers/tutorials/nft-minter/index.md index 8538b8ee527..ccba1ffd2ba 100644 --- a/src/content/translations/zh/developers/tutorials/nft-minter/index.md +++ b/src/content/translations/zh/developers/tutorials/nft-minter/index.md @@ -198,7 +198,7 @@ return ( 我们已经了解了我们正在进行的操作,现在我们来设置我们的以太坊钱包! -## : 设置您的以太坊钱包 {#set-up-your-ethereum-wallet} +## 设置您的以太坊钱包 {#set-up-your-ethereum-wallet} 为了让用户能够与你的智能合约交互,他们需要将其以太坊钱包连接到你的去中心化应用程序。 diff --git a/src/data/WalletSimulatorData.tsx b/src/data/WalletSimulatorData.tsx index 155d8be337d..f66495d39a8 100644 --- a/src/data/WalletSimulatorData.tsx +++ b/src/data/WalletSimulatorData.tsx @@ -175,7 +175,7 @@ export const walletOnboardingSimData: SimulatorData = { ), }, { - header: "Thats it! Welcome to Ethereum 🎉", + header: "That's it! Welcome to Ethereum 🎉", description: ( In the next lesson we'll learn how to use your new account to diff --git a/src/data/community-events.json b/src/data/community-events.json index a63e61a8c6d..51c7e13f47f 100644 --- a/src/data/community-events.json +++ b/src/data/community-events.json @@ -23,8 +23,8 @@ "sponsor": null, "location": "Rio de Janeiro, Brazil", "description": "3rd Edition of LATAM's most loved ETH event. Bootcamp, Buildathon & Conference", - "startDate": "2024-04-09", - "endDate": "2024-04-14" + "startDate": "2024-03-19", + "endDate": "2024-03-24" }, { "title": "ETHKL 2023", diff --git a/src/data/crowdin/combined-translators.json b/src/data/crowdin/combined-translators.json index 859101c90ee..68b814001bf 100644 --- a/src/data/crowdin/combined-translators.json +++ b/src/data/crowdin/combined-translators.json @@ -171,13 +171,13 @@ { "id": 15966777, "username": "tareqgh", - "totalCosts": 593.88, + "totalCosts": 537.32, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966777/medium/c434fa240e13cc295e9947bd14d0394f_default.png" }, { "id": 15930651, "username": "0xOZ", - "totalCosts": 237.35, + "totalCosts": 190.89, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15930651/medium/b4738a8e10109842b168d657d53eeaec.jpeg" }, { @@ -379,9 +379,15 @@ { "id": 14787370, "username": "agulani", - "totalCosts": 798.91, + "totalCosts": 742.35, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14787370/medium/9bb8a2d0d244e04f14b523e895b08100.jpg" }, + { + "id": 15804803, + "username": "sun_dariia", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15804803/medium/e753b43a4cf480cd2a37c5795cdb83ba_default.png" + }, { "id": 15904933, "username": "Zumrud.I", @@ -509,7 +515,7 @@ { "id": 15954257, "username": "arifulone", - "totalCosts": 1124.13, + "totalCosts": 1045.35, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" } ] @@ -564,7 +570,7 @@ { "id": 15954257, "username": "arifulone", - "totalCosts": 863.55, + "totalCosts": 843.35, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" } ] @@ -597,7 +603,7 @@ { "id": 15954257, "username": "arifulone", - "totalCosts": 2029.09, + "totalCosts": 1982.63, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954257/medium/a836f4b9acb6585087ed674cb6b3b77e.jpg" } ] @@ -635,7 +641,7 @@ { "id": 14998169, "username": "xcanchal", - "totalCosts": 163.62, + "totalCosts": 144.43, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14998169/medium/6da03bbf781254776ba5a5c630ee4644.png" }, { @@ -653,7 +659,7 @@ { "id": 14643068, "username": "egelizo", - "totalCosts": 20.2, + "totalCosts": 12.12, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14643068/medium/f6f25b4f0e429a11e235ade8d866b314.jpeg" } ] @@ -783,7 +789,7 @@ { "id": 15344526, "username": "Joanmacat", - "totalCosts": 835.27, + "totalCosts": 778.71, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15344526/medium/9c82a079035424edd8b43ca59a8dcb3f.jpg" }, { @@ -858,7 +864,7 @@ { "id": 14643068, "username": "egelizo", - "totalCosts": 1375.62, + "totalCosts": 1321.08, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14643068/medium/f6f25b4f0e429a11e235ade8d866b314.jpeg" } ] @@ -878,7 +884,7 @@ { "id": 15086733, "username": "hedwika", - "totalCosts": 937.28, + "totalCosts": 890.82, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15086733/medium/e58bffb1edb2cd4a9e2bbe7046a0d1e8.jpeg" }, { @@ -938,6 +944,12 @@ "username": "FoltinV", "totalCosts": 2185.64, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15843833/medium/d9afa5c66a59b8166143dd4e1cca0630.jpeg" + }, + { + "id": 15086733, + "username": "hedwika", + "totalCosts": 56.56, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15086733/medium/e58bffb1edb2cd4a9e2bbe7046a0d1e8.jpeg" } ] }, @@ -1096,27 +1108,27 @@ { "id": 15455500, "username": "SebastianSupreme", - "totalCosts": 967.58, + "totalCosts": 960.51, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15455500/medium/529d1b028e7c3d98b67d4008773a75a9.png" }, { "id": 15371878, "username": "Tedmeier", - "totalCosts": 371.68, + "totalCosts": 364.61, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15371878/medium/162454f1968a82ecbaceb7915709fe37_default.png" }, + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 14.14, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" + }, { "id": 15505160, "username": "Niggl", "totalCosts": 14.14, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15505160/medium/2af7b18903926af188f79fc706ba7610.png" }, - { - "id": 15123193, - "username": "Coram_Deo", - "totalCosts": 7.07, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" - }, { "id": 15469846, "username": "VVS1", @@ -1154,7 +1166,7 @@ { "id": 14887772, "username": "bruderbuck.eth", - "totalCosts": 240.38, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14887772/medium/38c9634b12b554feef20f4e9f88bf8c1.png" }, { @@ -1166,26 +1178,20 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 38.38, + "totalCosts": 58.58, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { "id": 15221766, "username": "chrboesch", - "totalCosts": 32.32, + "totalCosts": 24.24, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15221766/medium/9818a6f07e95c5f3260f34774d4e26fe.jpg" }, { "id": 15455500, "username": "SebastianSupreme", - "totalCosts": 12.12, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15455500/medium/529d1b028e7c3d98b67d4008773a75a9.png" - }, - { - "id": 15947755, - "username": "RubenSilva", "totalCosts": 7.07, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15947755/medium/cf9980cfafab6b7c43f6e16e1ca48324_default.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15455500/medium/529d1b028e7c3d98b67d4008773a75a9.png" } ] }, @@ -1601,7 +1607,7 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 16.16, + "totalCosts": 72.72, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -1776,7 +1782,7 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 1443.29, + "totalCosts": 1111, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -2142,12 +2148,6 @@ "totalCosts": 108.07, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13959389/medium/8163669279ee4bd20f4b7db97f6000fa.png" }, - { - "id": 15810863, - "username": "bitblondy", - "totalCosts": 51.51, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15810863/medium/36dab07f1a377151348d57285a7955f7_default.png" - }, { "id": 15082843, "username": "StevenR73", @@ -2301,7 +2301,7 @@ { "id": 15810863, "username": "bitblondy", - "totalCosts": 647.41, + "totalCosts": 613.07, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15810863/medium/36dab07f1a377151348d57285a7955f7_default.png" }, { @@ -2310,6 +2310,12 @@ "totalCosts": 149.48, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13959389/medium/8163669279ee4bd20f4b7db97f6000fa.png" }, + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 11.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" + }, { "id": 14920111, "username": "JueK3y", @@ -2330,7 +2336,7 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 68.68, + "totalCosts": 69.69, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -2382,15 +2388,9 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 442.38, + "totalCosts": 266.64, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, - { - "id": 15185884, - "username": "carmen1912", - "totalCosts": 130.29, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15185884/medium/0d349af8ba0364fdd96b55b46c40590c.jpg" - }, { "id": 14920111, "username": "JueK3y", @@ -2703,12 +2703,6 @@ "username": "JueK3y", "totalCosts": 17.17, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14920111/medium/2a49cdd81e2cab1e2190009caa3de573.png" - }, - { - "id": 15123193, - "username": "Coram_Deo", - "totalCosts": 4.04, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" } ] }, @@ -3464,7 +3458,7 @@ { "id": 15947755, "username": "RubenSilva", - "totalCosts": 369.66, + "totalCosts": 326.23, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15947755/medium/cf9980cfafab6b7c43f6e16e1ca48324_default.png" }, { @@ -3482,7 +3476,7 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 48.48, + "totalCosts": 91.91, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -3958,13 +3952,13 @@ { "id": 15947755, "username": "RubenSilva", - "totalCosts": 206.04, + "totalCosts": 185.84, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15947755/medium/cf9980cfafab6b7c43f6e16e1ca48324_default.png" }, { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 126.25, + "totalCosts": 153.52, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -4063,7 +4057,7 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 3222.91, + "totalCosts": 3218.87, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -4089,18 +4083,18 @@ "totalCosts": 94.94, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14927031/medium/61dbd44991ed6142d8802bdb16440e1b.png" }, - { - "id": 13959389, - "username": "inlak16", - "totalCosts": 59.59, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13959389/medium/8163669279ee4bd20f4b7db97f6000fa.png" - }, { "id": 15932515, "username": "Astronaut828", "totalCosts": 54.54, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15932515/medium/c41b45c87a237615839b37bfa2118e8b.jpeg" }, + { + "id": 13959389, + "username": "inlak16", + "totalCosts": 52.52, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13959389/medium/8163669279ee4bd20f4b7db97f6000fa.png" + }, { "id": 15455500, "username": "SebastianSupreme", @@ -4657,7 +4651,7 @@ { "id": 15932515, "username": "Astronaut828", - "totalCosts": 562.57, + "totalCosts": 555.5, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15932515/medium/c41b45c87a237615839b37bfa2118e8b.jpeg" }, { @@ -4675,7 +4669,7 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 29.29, + "totalCosts": 36.36, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -4715,7 +4709,7 @@ { "id": 15741843, "username": "ausprxche", - "totalCosts": 227.25, + "totalCosts": 213.11, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15741843/medium/be13bc9815072e873b79771e877bd11e.png" }, { @@ -4761,7 +4755,7 @@ { "id": 15776027, "username": "korbisch", - "totalCosts": 442.38, + "totalCosts": 433.29, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15776027/medium/5ff7549d8af9bf4fc4bae6e891d9bce5_default.png" }, { @@ -4773,8 +4767,14 @@ { "id": 15932515, "username": "Astronaut828", - "totalCosts": 46.46, + "totalCosts": 30.3, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15932515/medium/c41b45c87a237615839b37bfa2118e8b.jpeg" + }, + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 25.25, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" } ] }, @@ -4813,9 +4813,15 @@ { "id": 15947755, "username": "RubenSilva", - "totalCosts": 702.96, + "totalCosts": 646.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15947755/medium/cf9980cfafab6b7c43f6e16e1ca48324_default.png" }, + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" + }, { "id": 14952363, "username": "ensingerphilipp", @@ -4839,12 +4845,6 @@ "username": "SebastianSupreme", "totalCosts": 3.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15455500/medium/529d1b028e7c3d98b67d4008773a75a9.png" - }, - { - "id": 15123193, - "username": "Coram_Deo", - "totalCosts": 0, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" } ] }, @@ -4854,13 +4854,13 @@ { "id": 15102795, "username": "GreatWhiteOwl", - "totalCosts": 728.21, + "totalCosts": 681.75, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15102795/medium/6a304953d1334287ce899623011e92cd_default.png" }, { "id": 15047729, "username": "EricTheTurtle", - "totalCosts": 716.09, + "totalCosts": 661.55, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15047729/medium/705657a47d8515302fce11fdaf1e1081.png" }, { @@ -4878,7 +4878,7 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 17.17, + "totalCosts": 25.25, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -4930,7 +4930,7 @@ { "id": 15123193, "username": "Coram_Deo", - "totalCosts": 1753.36, + "totalCosts": 1752.35, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" }, { @@ -5039,8 +5039,14 @@ { "id": 15932515, "username": "Astronaut828", - "totalCosts": 1131.2, + "totalCosts": 1113.02, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15932515/medium/c41b45c87a237615839b37bfa2118e8b.jpeg" + }, + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 18.18, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" } ] }, @@ -5146,8 +5152,14 @@ { "id": 15421538, "username": "johannt", - "totalCosts": 2035.15, + "totalCosts": 2021.01, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15421538/medium/7e1f5d90509951072c0de0d9684baa35.png" + }, + { + "id": 15123193, + "username": "Coram_Deo", + "totalCosts": 20.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15123193/medium/b3211607cc43c707c0034f7502299d8d.jpeg" } ] }, @@ -5190,7 +5202,7 @@ { "id": 14568334, "username": "mr_giorgos", - "totalCosts": 766.59, + "totalCosts": 742.35, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14568334/medium/245b5c69aab62ffabb575daf603b70b8.jpg" }, { @@ -5304,7 +5316,7 @@ { "id": 15194310, "username": "MGETH", - "totalCosts": 136.35, + "totalCosts": 129.28, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15194310/medium/7729d9dbda8c9420c26f689b4a2b2918.jpg" }, { @@ -5351,19 +5363,19 @@ { "id": 14958557, "username": "eme42", - "totalCosts": 240.38, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14958557/medium/9208e12202357f64e7ab036b09848cb7_default.png" }, { "id": 15080509, "username": "MariaC55", - "totalCosts": 197.96, + "totalCosts": 178.77, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15080509/medium/509c7a6f176738bd5d8483f35b663107.jpg" }, { "id": 15084601, "username": "metanube", - "totalCosts": 168.67, + "totalCosts": 149.48, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15084601/medium/7e8ee6ec15e9d0be68e2c6ff9a0b34c8_default.png" }, { @@ -5390,30 +5402,12 @@ "totalCosts": 94.94, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14614016/medium/447ae91eb97d464346003fe6532cda12.jpg" }, - { - "id": 15155844, - "username": "CryptoSpace", - "totalCosts": 24.24, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15155844/medium/6e6407e27f509308774f480afe52ff7d.png" - }, { "id": 14973491, "username": "Baby_Bubbles", "totalCosts": 20.2, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14973491/medium/13d4713b30566f03b6e275ebc80f03c6_default.png" }, - { - "id": 14564238, - "username": "FreddyAndresParra", - "totalCosts": 14.14, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14564238/medium/e6feebc5a27754079a07907fffac8389.jpg" - }, - { - "id": 15490162, - "username": "Mathewvizc7", - "totalCosts": 11.11, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15490162/medium/ee6f672ba75de903b8f7bffb3be4773d_default.png" - }, { "id": 14111187, "username": "3Dmachine", @@ -5421,10 +5415,16 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14111187/medium/fe245408c845d689664e2daace62d768_default.png" }, { - "id": 15770841, - "username": "Angelito_18", + "id": 15982199, + "username": "danielgruesso", + "totalCosts": 8.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15982199/medium/e7939afde0016707d20dddef04e6fca2.jpeg" + }, + { + "id": 15490162, + "username": "Mathewvizc7", "totalCosts": 6.06, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15770841/medium/f82644a45b17eed3facb1815dcc83d13.jpeg" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15490162/medium/ee6f672ba75de903b8f7bffb3be4773d_default.png" }, { "id": 14938941, @@ -5432,6 +5432,12 @@ "totalCosts": 6.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14938941/medium/7036319856c2379ae2b3c3cc517567cd.jpg" }, + { + "id": 14564238, + "username": "FreddyAndresParra", + "totalCosts": 6.06, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14564238/medium/e6feebc5a27754079a07907fffac8389.jpg" + }, { "id": 15522923, "username": "llucC", @@ -6299,6 +6305,12 @@ "totalCosts": 34.34, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15155844/medium/6e6407e27f509308774f480afe52ff7d.png" }, + { + "id": 15553253, + "username": "EmelyGarcia", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15553253/medium/2077ec790711bf21dd6cad91f776f003.png" + }, { "id": 15655799, "username": "Pipeguzman0000", @@ -6604,17 +6616,23 @@ "totalCosts": 97.97, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14564238/medium/e6feebc5a27754079a07907fffac8389.jpg" }, + { + "id": 16028920, + "username": "paopastorelli", + "totalCosts": 38.38, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16028920/medium/e3049f379e035388449ee79ea5b75888.jpeg" + }, { "id": 15874711, "username": "JHON38", - "totalCosts": 64.64, + "totalCosts": 19.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15874711/medium/aa1137d9b988c12e00d7510a93e05dd8_default.png" }, { - "id": 15966607, - "username": "Hackedd.eth", - "totalCosts": 25.25, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966607/medium/233013bfe6b35fd53264071d722f63f1.png" + "id": 15553253, + "username": "EmelyGarcia", + "totalCosts": 2.02, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15553253/medium/2077ec790711bf21dd6cad91f776f003.png" } ] }, @@ -6877,7 +6895,7 @@ { "id": 15968127, "username": "gonzagramaglia", - "totalCosts": 136.35, + "totalCosts": 133.32, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15968127/medium/0c91665492f81a2479639eba5271d7bc.png" }, { @@ -6927,18 +6945,18 @@ "totalCosts": 432.28, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15522923/medium/539a9115b9d375bde4eb4bc0fc37995c.png" }, + { + "id": 15553253, + "username": "EmelyGarcia", + "totalCosts": 60.6, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15553253/medium/2077ec790711bf21dd6cad91f776f003.png" + }, { "id": 15966607, "username": "Hackedd.eth", "totalCosts": 59.59, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966607/medium/233013bfe6b35fd53264071d722f63f1.png" }, - { - "id": 15553253, - "username": "EmelyGarcia", - "totalCosts": 59.59, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15553253/medium/2077ec790711bf21dd6cad91f776f003.png" - }, { "id": 15967747, "username": "fernandostds9", @@ -7066,38 +7084,44 @@ { "id": 15194310, "username": "MGETH", - "totalCosts": 2823.96, + "totalCosts": 1077.67, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15194310/medium/7729d9dbda8c9420c26f689b4a2b2918.jpg" }, { "id": 15966607, "username": "Hackedd.eth", - "totalCosts": 1113.02, + "totalCosts": 971.62, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966607/medium/233013bfe6b35fd53264071d722f63f1.png" }, + { + "id": 15874711, + "username": "JHON38", + "totalCosts": 177.76, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15874711/medium/aa1137d9b988c12e00d7510a93e05dd8_default.png" + }, { "id": 15946267, "username": "socopower", - "totalCosts": 195.94, + "totalCosts": 126.25, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15946267/medium/094f1891b25266289c4aa5df7b08cfb7.jpg" }, { - "id": 15874711, - "username": "JHON38", - "totalCosts": 192.91, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15874711/medium/aa1137d9b988c12e00d7510a93e05dd8_default.png" + "id": 15957521, + "username": "ahhsunnft", + "totalCosts": 18.18, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15957521/medium/ea787d6a453910b93b35f130d227f1d7.png" }, { "id": 15474196, "username": "Ivan_Sarapura", - "totalCosts": 61.61, + "totalCosts": 18.18, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15474196/medium/7d0c8d1b9a3745f3d1dbfaec3ab9e4a2.jpeg" }, { - "id": 15957521, - "username": "ahhsunnft", - "totalCosts": 18.18, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15957521/medium/ea787d6a453910b93b35f130d227f1d7.png" + "id": 15553253, + "username": "EmelyGarcia", + "totalCosts": 16.16, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15553253/medium/2077ec790711bf21dd6cad91f776f003.png" }, { "id": 15967747, @@ -7472,12 +7496,6 @@ "username": "k.otika", "totalCosts": 18.18, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14943545/medium/8591b0d6e4eb6d5cf6fb49acabda89d3_default.png" - }, - { - "id": 15155844, - "username": "CryptoSpace", - "totalCosts": 4.04, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15155844/medium/6e6407e27f509308774f480afe52ff7d.png" } ] }, @@ -7522,7 +7540,7 @@ { "id": 15435306, "username": "ValeriaRaizman", - "totalCosts": 452.48, + "totalCosts": 426.22, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15435306/medium/5e6284f116d89bd11b6dea3228531657.jpeg" }, { @@ -8738,7 +8756,7 @@ { "id": 15865881, "username": "elinafigueroa", - "totalCosts": 730.23, + "totalCosts": 686.8, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15865881/medium/0db823992693ad472fdaa77063fd8801_default.png" }, { @@ -9134,7 +9152,7 @@ { "id": 15966545, "username": "askr", - "totalCosts": 674.68, + "totalCosts": 595.9, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966545/medium/350ebd9c64c3a9a5244827c6f34d05e7_default.png" }, { @@ -9146,15 +9164,27 @@ { "id": 15989457, "username": "narurololiloops", - "totalCosts": 313.1, + "totalCosts": 234.32, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15989457/medium/538d4b5dd55c92e2e8e0759fc6870270_default.png" }, { "id": 15287132, "username": "0xAntonio", - "totalCosts": 279.77, + "totalCosts": 223.21, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15287132/medium/67c5a079a19f5b0cd46f8d628cff446d.png" }, + { + "id": 16040604, + "username": "CeciSakura", + "totalCosts": 157.56, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16040604/medium/46704125c8bb6dee2677db6eeaf8e80f.jpg" + }, + { + "id": 15714091, + "username": "Karym_GG", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15714091/medium/69afa2fb791e1be17640c54018cb4e2e_default.png" + }, { "id": 14958973, "username": "cryptobull", @@ -9324,7 +9354,7 @@ { "id": 15085311, "username": "bunturx", - "totalCosts": 679.73, + "totalCosts": 625.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15085311/medium/ead5dd5aa5070be2f8d446c286f27d7a.jpeg" }, { @@ -9448,7 +9478,7 @@ { "id": 15287132, "username": "0xAntonio", - "totalCosts": 198.97, + "totalCosts": 178.77, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15287132/medium/67c5a079a19f5b0cd46f8d628cff446d.png" }, { @@ -9554,7 +9584,7 @@ { "id": 15770841, "username": "Angelito_18", - "totalCosts": 1559.44, + "totalCosts": 1512.98, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15770841/medium/f82644a45b17eed3facb1815dcc83d13.jpeg" }, { @@ -9616,6 +9646,12 @@ "totalCosts": 440.36, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15409986/medium/1ea8bc37b02dd0d04bc593368f8247c5_default.png" }, + { + "id": 15452582, + "username": "fabiancripto", + "totalCosts": 383.8, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15452582/medium/7e9b4cc6037bd59c87fc101074e94c52.jpeg" + }, { "id": 15194310, "username": "MGETH", @@ -9714,13 +9750,13 @@ { "id": 15421106, "username": "rogerdaltry193", - "totalCosts": 1286.74, + "totalCosts": 1279.67, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15421106/medium/42065b2af539333bb83278e6ef5e2f29.png" }, { "id": 15638587, "username": "Nidden", - "totalCosts": 195.94, + "totalCosts": 188.87, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15638587/medium/350c60a52fd8d46d2569bf95f3d8fede_default.png" }, { @@ -10247,12 +10283,6 @@ "totalCosts": 19.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14631802/medium/49b31ee9ceace460558cf61dcaaa1e2f.jpeg" }, - { - "id": 15522923, - "username": "llucC", - "totalCosts": 13.13, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15522923/medium/539a9115b9d375bde4eb4bc0fc37995c.png" - }, { "id": 14807238, "username": "rom1919", @@ -10721,7 +10751,7 @@ { "id": 15770841, "username": "Angelito_18", - "totalCosts": 2802.75, + "totalCosts": 2798.71, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15770841/medium/f82644a45b17eed3facb1815dcc83d13.jpeg" }, { @@ -10756,7 +10786,7 @@ { "id": 15966713, "username": "Blockchain_Visionary", - "totalCosts": 456.52, + "totalCosts": 443.39, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966713/medium/afcca99ffb2409b8720273392f8fecfa.png" }, { @@ -11298,7 +11328,7 @@ { "id": 15194310, "username": "MGETH", - "totalCosts": 758.51, + "totalCosts": 751.44, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15194310/medium/7729d9dbda8c9420c26f689b4a2b2918.jpg" }, { @@ -11385,7 +11415,7 @@ { "id": 15854595, "username": "badillos1998", - "totalCosts": 320.17, + "totalCosts": 306.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15854595/medium/5237fb21647f11d9482225a1295ed2d9.png" } ] @@ -11407,13 +11437,13 @@ { "id": 15832087, "username": "Lilsheep", - "totalCosts": 686.8, + "totalCosts": 677.71, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15832087/medium/4366a0e58c28aa5383cc278e95de912d_default.png" }, { "id": 15194310, "username": "MGETH", - "totalCosts": 50.5, + "totalCosts": 34.34, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15194310/medium/7729d9dbda8c9420c26f689b4a2b2918.jpg" } ] @@ -11575,7 +11605,7 @@ { "id": 15967125, "username": "erfanej", - "totalCosts": 48.48, + "totalCosts": 41.41, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967125/medium/2223e574efc34243ef6e77236d77a6ba.png" }, { @@ -12098,7 +12128,7 @@ { "id": 15967115, "username": "itsdeeters", - "totalCosts": 322.19, + "totalCosts": 309.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967115/medium/f3008c834c6c279d6567a82bee569b7c.png" }, { @@ -12116,7 +12146,7 @@ { "id": 15967119, "username": "timtey", - "totalCosts": 78.78, + "totalCosts": 68.68, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967119/medium/cdc0fbd1e4667f13ed75ac64b4e6c809.jpeg" }, { @@ -12311,6 +12341,12 @@ "username": "Alifarhani", "totalCosts": 9.09, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15233666/medium/deec4866c37352c795ed3d0000236714.jpeg" + }, + { + "id": 16069662, + "username": "Ruholla", + "totalCosts": 4.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16069662/medium/a637cb4df4ce9d016e7d76cc935b0a95_default.png" } ] }, @@ -12320,7 +12356,7 @@ { "id": 15942179, "username": "erfan1366erfan", - "totalCosts": 1141.3, + "totalCosts": 1097.87, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15942179/medium/01f700e015f539a1262e058e281a8d9f.png" }, { @@ -12384,19 +12420,19 @@ { "id": 15967119, "username": "timtey", - "totalCosts": 751.44, + "totalCosts": 672.66, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967119/medium/cdc0fbd1e4667f13ed75ac64b4e6c809.jpeg" }, { "id": 16001243, "username": "0xArkonomi", - "totalCosts": 554.49, + "totalCosts": 485.81, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16001243/medium/b75b58e1e84d60e633167eb068b1253e.jpg" }, { "id": 15971303, "username": "web3senior", - "totalCosts": 267.65, + "totalCosts": 188.87, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15971303/medium/6f6d7db906ee32c836d3daf71181b5da.png" }, { @@ -12519,7 +12555,7 @@ { "id": 15099529, "username": "Aria-Naraghi", - "totalCosts": 1006.97, + "totalCosts": 952.43, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15099529/medium/77b12f03c6675c85ad45efc6f3e23be3_default.png" }, { @@ -12589,7 +12625,7 @@ { "id": 15967353, "username": "sipbikardi", - "totalCosts": 589.84, + "totalCosts": 571.66, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967353/medium/bdbc4e456ff62160eead47d69c036137.jpg" }, { @@ -12604,18 +12640,18 @@ "totalCosts": 125.24, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15938555/medium/d36a3c8df483569d53ad9806ea410edd_default.png" }, - { - "id": 15967893, - "username": "apacala", - "totalCosts": 39.39, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967893/medium/6f427c7b8d63cf93f27c4df77f07a2b5_default.png" - }, { "id": 15942179, "username": "erfan1366erfan", "totalCosts": 39.39, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15942179/medium/01f700e015f539a1262e058e281a8d9f.png" }, + { + "id": 15967893, + "username": "apacala", + "totalCosts": 37.37, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967893/medium/6f427c7b8d63cf93f27c4df77f07a2b5_default.png" + }, { "id": 15967239, "username": "MahdiRezaeian", @@ -12705,7 +12741,7 @@ { "id": 14555882, "username": "ElAmir", - "totalCosts": 240.38, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14555882/medium/47bd8403dc0a881324cf1d5aef976a7b.jpg" }, { @@ -12714,16 +12750,10 @@ "totalCosts": 62.62, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15099529/medium/77b12f03c6675c85ad45efc6f3e23be3_default.png" }, - { - "id": 15967119, - "username": "timtey", - "totalCosts": 45.45, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967119/medium/cdc0fbd1e4667f13ed75ac64b4e6c809.jpeg" - }, { "id": 15233666, "username": "Alifarhani", - "totalCosts": 16.16, + "totalCosts": 8.08, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15233666/medium/deec4866c37352c795ed3d0000236714.jpeg" } ] @@ -12824,6 +12854,63 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15588607/medium/719d8651304e60b42af2a7db78ee9fc8_default.png" } ] + }, + { + "fileId": "8035", + "contributors": [ + { + "id": 15967119, + "username": "timtey", + "totalCosts": 525.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967119/medium/cdc0fbd1e4667f13ed75ac64b4e6c809.jpeg" + }, + { + "id": 15967125, + "username": "erfanej", + "totalCosts": 427.23, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967125/medium/2223e574efc34243ef6e77236d77a6ba.png" + }, + { + "id": 15967115, + "username": "itsdeeters", + "totalCosts": 298.96, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967115/medium/f3008c834c6c279d6567a82bee569b7c.png" + } + ] + }, + { + "fileId": "7919", + "contributors": [ + { + "id": 15967353, + "username": "sipbikardi", + "totalCosts": 1321.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967353/medium/bdbc4e456ff62160eead47d69c036137.jpg" + }, + { + "id": 15955625, + "username": "Coiniran", + "totalCosts": 1306.94, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15955625/medium/cea2317824f592725aac52fcd2eedb26_default.png" + } + ] + }, + { + "fileId": "7591", + "contributors": [ + { + "id": 15967353, + "username": "sipbikardi", + "totalCosts": 1976.57, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967353/medium/bdbc4e456ff62160eead47d69c036137.jpg" + }, + { + "id": 15967119, + "username": "timtey", + "totalCosts": 7.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967119/medium/cdc0fbd1e4667f13ed75ac64b4e6c809.jpeg" + } + ] } ] }, @@ -12845,12 +12932,6 @@ "totalCosts": 69.69, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14587094/medium/e9433666871c85df7a54d1837c3b5659_default.png" }, - { - "id": 15783329, - "username": "edgolron", - "totalCosts": 24.24, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15783329/medium/d6363ce0aafa5df6f74723d2b52945a5_default.png" - }, { "id": 14758970, "username": "JJulles", @@ -12924,7 +13005,7 @@ { "id": 17361, "username": "plamarque", - "totalCosts": 79.79, + "totalCosts": 72.72, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" }, { @@ -12933,6 +13014,12 @@ "totalCosts": 66.66, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 18.18, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15415492, "username": "sashasrs", @@ -12959,13 +13046,13 @@ { "id": 14973471, "username": "hugo_ham", - "totalCosts": 159.58, + "totalCosts": 140.39, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14973471/medium/e29e9241f0a96e4067f303459381e1d5.png" }, { "id": 15102413, "username": "NodeuS", - "totalCosts": 97.97, + "totalCosts": 78.78, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15102413/medium/1f507b1ec0a1a5e217f7d55ab800fc51_default.png" }, { @@ -12975,10 +13062,10 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14956479/medium/342153a6e0540337ea2efae82b1b98d4.png" }, { - "id": 12844463, - "username": "MATsxm", - "totalCosts": 50.5, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" + "id": 15954931, + "username": "XofEE", + "totalCosts": 20.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" }, { "id": 15095735, @@ -12986,18 +13073,18 @@ "totalCosts": 16.16, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15095735/medium/7061d769461e0a0d1f6ed83375b0c7f6.png" }, + { + "id": 12844463, + "username": "MATsxm", + "totalCosts": 13.13, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" + }, { "id": 14958779, "username": "kevin.moreau655", "totalCosts": 10.1, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14958779/medium/3f5b3d32118d59bf14db8053362e627a.png" }, - { - "id": 15961437, - "username": "harpocryptes", - "totalCosts": 7.07, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15961437/medium/d495096dfb14721b3d4848a1bc7cfdd5.jpeg" - }, { "id": 14675712, "username": "LEMIBANDDEXARI", @@ -13159,6 +13246,12 @@ "totalCosts": 314.11, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 119.18, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 17361, "username": "plamarque", @@ -13240,6 +13333,12 @@ "totalCosts": 122.21, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15171372/medium/1de0ae3712f910c91b52cf8cb802fdc2_default.png" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 94.94, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 17361, "username": "plamarque", @@ -13321,6 +13420,12 @@ "username": "J4yD3v", "totalCosts": 17.17, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15528915/medium/c334abf55946c66116d12971fd368f2d_default.png" + }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 13.13, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" } ] }, @@ -13398,6 +13503,12 @@ "totalCosts": 56.56, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15396412/medium/e3ea869880271105d1c5b63e8a4f3040.jpeg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 56.56, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 12844463, "username": "MATsxm", @@ -13723,41 +13834,47 @@ "fileId": "5529", "contributors": [ { - "id": 15136089, - "username": "demaupeoucorentin", - "totalCosts": 435.31, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15136089/medium/4ba75954f478f17b20559a3035f6adbd.png" + "id": 15954931, + "username": "XofEE", + "totalCosts": 1199.88, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" }, { "id": 14862460, "username": "vdusart", - "totalCosts": 282.8, + "totalCosts": 257.55, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14862460/medium/106cb769254652c20ddeab107317fd43_default.png" }, { "id": 12844463, "username": "MATsxm", - "totalCosts": 226.24, + "totalCosts": 203.01, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" }, + { + "id": 15136089, + "username": "demaupeoucorentin", + "totalCosts": 166.65, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15136089/medium/4ba75954f478f17b20559a3035f6adbd.png" + }, { "id": 17361, "username": "plamarque", "totalCosts": 109.08, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" }, - { - "id": 15442454, - "username": "Im-SpiETH", - "totalCosts": 85.85, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15442454/medium/860696ab89262fe98a0b888882d2b2da_default.png" - }, { "id": 14230886, "username": "moul", "totalCosts": 79.79, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14230886/medium/7848e69a7fa9dd1f94f0509d56498b07.png" }, + { + "id": 15442454, + "username": "Im-SpiETH", + "totalCosts": 46.46, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15442454/medium/860696ab89262fe98a0b888882d2b2da_default.png" + }, { "id": 15096025, "username": "Necron", @@ -13770,12 +13887,6 @@ "totalCosts": 9.09, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15688595/medium/a30340b77b708301f21bbc7888bbdbde_default.png" }, - { - "id": 15502140, - "username": "hmclt", - "totalCosts": 4.04, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15502140/medium/5c2986ff1487e75524a53e4192377557.jpeg" - }, { "id": 15084373, "username": "tarcanhursit", @@ -13940,6 +14051,12 @@ "username": "Fabs86", "totalCosts": 48.48, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14587094/medium/e9433666871c85df7a54d1837c3b5659_default.png" + }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" } ] }, @@ -14261,6 +14378,12 @@ "totalCosts": 590.85, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15624473/medium/7790c08f2ef4a5ba028091b6393900be_default.png" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 140.39, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 14823260, "username": "omahs", @@ -14287,7 +14410,7 @@ { "id": 15624473, "username": "CaverneCrypto", - "totalCosts": 552.47, + "totalCosts": 501.97, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15624473/medium/7790c08f2ef4a5ba028091b6393900be_default.png" }, { @@ -14307,6 +14430,12 @@ "username": "MATsxm", "totalCosts": 59.59, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" + }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 50.5, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" } ] }, @@ -14359,6 +14488,12 @@ "username": "MATsxm", "totalCosts": 136.35, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" + }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 38.38, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" } ] }, @@ -14501,10 +14636,10 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14711854/medium/0ae62f880c9fdec755310b2d551953ae.jpeg" }, { - "id": 14823260, - "username": "omahs", - "totalCosts": 25.25, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14823260/medium/2e90039ed53752ac5277c9cf4fce6fe7.jpeg" + "id": 15954931, + "username": "XofEE", + "totalCosts": 40.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" }, { "id": 12844463, @@ -14844,6 +14979,12 @@ "totalCosts": 1130.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 62.62, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15528915, "username": "J4yD3v", @@ -14861,6 +15002,12 @@ { "fileId": "2778", "contributors": [ + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 362.59, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15528915, "username": "J4yD3v", @@ -14885,6 +15032,12 @@ "totalCosts": 47.47, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14693434/medium/002b66c8fe4028143e660207ff6935c7_default.png" }, + { + "id": 16004187, + "username": "FalcoBlockchain", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16004187/medium/02d62ae36a32a5b72271a5f60ce1acfc.jpg" + }, { "id": 15683863, "username": "zeyadoun12", @@ -15015,6 +15168,12 @@ "totalCosts": 115.14, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15528915/medium/c334abf55946c66116d12971fd368f2d_default.png" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 69.69, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15158630, "username": "breakthewall", @@ -15041,27 +15200,21 @@ { "id": 15624473, "username": "CaverneCrypto", - "totalCosts": 3968.29, + "totalCosts": 2297.75, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15624473/medium/7790c08f2ef4a5ba028091b6393900be_default.png" }, { - "id": 15185884, - "username": "carmen1912", - "totalCosts": 130.29, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15185884/medium/0d349af8ba0364fdd96b55b46c40590c.jpg" + "id": 15954931, + "username": "XofEE", + "totalCosts": 1056.46, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" }, { "id": 15683863, "username": "zeyadoun12", - "totalCosts": 117.16, + "totalCosts": 86.86, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15683863/medium/1d6ed972d684360bf9f45bafbabe6c6f.jpeg" }, - { - "id": 15442454, - "username": "Im-SpiETH", - "totalCosts": 17.17, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15442454/medium/860696ab89262fe98a0b888882d2b2da_default.png" - }, { "id": 14587890, "username": "Elikill58", @@ -15475,12 +15628,6 @@ "username": "plamarque", "totalCosts": 15.15, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" - }, - { - "id": 14675712, - "username": "LEMIBANDDEXARI", - "totalCosts": 4.04, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14675712/medium/a304c8789bc59e3178d6f89d542de065.jpg" } ] }, @@ -15601,7 +15748,7 @@ { "id": 15426512, "username": "Recktosaurus", - "totalCosts": 686.8, + "totalCosts": 660.54, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15426512/medium/3d6568dc6e76931cee4766ecb4c3163a.jpg" }, { @@ -16329,6 +16476,12 @@ "totalCosts": 53.53, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15415492/medium/3fa311e4cb49b48849796356395333e8.jpg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 44.44, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 14996665, "username": "slowwdev", @@ -16562,6 +16715,12 @@ "username": "mcedrdiego", "totalCosts": 53.53, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15143180/medium/8979efff215c27bbdff54451baac8542.png" + }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 50.5, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" } ] }, @@ -16615,6 +16774,12 @@ "totalCosts": 39.39, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 19.19, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15528915, "username": "J4yD3v", @@ -16800,6 +16965,12 @@ "totalCosts": 811.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14862460/medium/106cb769254652c20ddeab107317fd43_default.png" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 216.14, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 12844463, "username": "MATsxm", @@ -17044,6 +17215,12 @@ "totalCosts": 354.51, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14823260/medium/2e90039ed53752ac5277c9cf4fce6fe7.jpeg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 162.61, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15171372, "username": "maje", @@ -17433,12 +17610,6 @@ "totalCosts": 517.12, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15442454/medium/860696ab89262fe98a0b888882d2b2da_default.png" }, - { - "id": 15783329, - "username": "edgolron", - "totalCosts": 221.19, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15783329/medium/d6363ce0aafa5df6f74723d2b52945a5_default.png" - }, { "id": 15185884, "username": "carmen1912", @@ -17497,18 +17668,18 @@ "totalCosts": 454.5, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14823260/medium/2e90039ed53752ac5277c9cf4fce6fe7.jpeg" }, - { - "id": 15966553, - "username": "bamcryptobam1", - "totalCosts": 114.13, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966553/medium/7fde8cf7f30af6c46453e25bbf5aa342.png" - }, { "id": 17361, "username": "plamarque", "totalCosts": 80.8, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" }, + { + "id": 15966553, + "username": "bamcryptobam1", + "totalCosts": 70.7, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966553/medium/7fde8cf7f30af6c46453e25bbf5aa342.png" + }, { "id": 15961437, "username": "harpocryptes", @@ -17527,6 +17698,12 @@ "totalCosts": 51.51, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15396412/medium/e3ea869880271105d1c5b63e8a4f3040.jpeg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 43.43, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 12844463, "username": "MATsxm", @@ -17757,12 +17934,6 @@ "totalCosts": 21.21, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14631242/medium/64d95694ae06c2d7d824bbd43bdde74e_default.png" }, - { - "id": 15783329, - "username": "edgolron", - "totalCosts": 20.2, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15783329/medium/d6363ce0aafa5df6f74723d2b52945a5_default.png" - }, { "id": 15442454, "username": "Im-SpiETH", @@ -17913,9 +18084,15 @@ { "id": 14823260, "username": "omahs", - "totalCosts": 682.76, + "totalCosts": 626.2, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14823260/medium/2e90039ed53752ac5277c9cf4fce6fe7.jpeg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 14956479, "username": "akais315", @@ -18126,7 +18303,7 @@ { "id": 13249257, "username": "SuperDelphi", - "totalCosts": 884.76, + "totalCosts": 830.22, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13249257/medium/f566e07e86e26f5911df1ddf5fae796d.png" }, { @@ -18171,6 +18348,12 @@ "totalCosts": 11.11, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15117761/medium/b4c2f709605db89308f6ce2f0bb05457.jpg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 8.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15689365, "username": "Vitanergie", @@ -18285,7 +18468,7 @@ { "id": 17361, "username": "plamarque", - "totalCosts": 232.3, + "totalCosts": 212.1, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" }, { @@ -18330,6 +18513,12 @@ "totalCosts": 28.28, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15318490/medium/673173431aeb53f29ca5516e9aa87bec_default.png" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 27.27, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15689365, "username": "Vitanergie", @@ -18450,19 +18639,19 @@ { "id": 15783067, "username": "ThomasPZK", - "totalCosts": 1192.81, + "totalCosts": 1181.7, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15783067/medium/75942427fb0393a1f3e95aa383e69b1c_default.png" }, { "id": 15961437, "username": "harpocryptes", - "totalCosts": 441.37, + "totalCosts": 417.13, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15961437/medium/d495096dfb14721b3d4848a1bc7cfdd5.jpeg" }, { "id": 17361, "username": "plamarque", - "totalCosts": 315.12, + "totalCosts": 304.01, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" }, { @@ -18477,6 +18666,12 @@ "totalCosts": 64.64, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14823260/medium/2e90039ed53752ac5277c9cf4fce6fe7.jpeg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 45.45, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15396412, "username": "Ti0x-f", @@ -18565,6 +18760,12 @@ "totalCosts": 159.58, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 99.99, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 14675712, "username": "LEMIBANDDEXARI", @@ -18621,7 +18822,7 @@ { "id": 15442454, "username": "Im-SpiETH", - "totalCosts": 937.28, + "totalCosts": 933.24, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15442454/medium/860696ab89262fe98a0b888882d2b2da_default.png" }, { @@ -18698,7 +18899,7 @@ { "id": 14862460, "username": "vdusart", - "totalCosts": 1205.94, + "totalCosts": 1198.87, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14862460/medium/106cb769254652c20ddeab107317fd43_default.png" }, { @@ -18718,6 +18919,12 @@ "username": "MATsxm", "totalCosts": 49.49, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" + }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 7.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" } ] }, @@ -18826,7 +19033,7 @@ { "id": 15624473, "username": "CaverneCrypto", - "totalCosts": 1768.51, + "totalCosts": 1756.39, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15624473/medium/7790c08f2ef4a5ba028091b6393900be_default.png" }, { @@ -18838,7 +19045,7 @@ { "id": 12844463, "username": "MATsxm", - "totalCosts": 47.47, + "totalCosts": 28.28, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" } ] @@ -18911,6 +19118,12 @@ "totalCosts": 16.16, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14197086/medium/f9f0b4ccf0c1a374ba2f208be1f7e061.JPG" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 11.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 14720694, "username": "Loic_Eloge_Foka", @@ -19131,6 +19344,12 @@ "username": "MATsxm", "totalCosts": 137.36, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12844463/medium/6fae27edb4b41f363587f737ea2f96de.jpg" + }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 12.12, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" } ] }, @@ -19196,6 +19415,12 @@ "totalCosts": 74.74, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14675712/medium/a304c8789bc59e3178d6f89d542de065.jpg" }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 28.28, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, { "id": 15158630, "username": "breakthewall", @@ -19209,6 +19434,260 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15949345/medium/2eb9da6ad8eb6399c9aff2b21957916d.png" } ] + }, + { + "fileId": "7597", + "contributors": [ + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 123.22, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + } + ] + }, + { + "fileId": "7525", + "contributors": [ + { + "id": 14823260, + "username": "omahs", + "totalCosts": 296.94, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14823260/medium/2e90039ed53752ac5277c9cf4fce6fe7.jpeg" + }, + { + "id": 15914449, + "username": "CoinHoodie", + "totalCosts": 286.84, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15914449/medium/8d2590e4c534ca5125f1d70b6d9c71cc.jpeg" + }, + { + "id": 14499538, + "username": "nodhaiby", + "totalCosts": 125.24, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14499538/medium/b4afe4954488f1cbb0ff50dfdb2d97ae_default.png" + }, + { + "id": 15795465, + "username": "Alex-fr", + "totalCosts": 123.22, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15795465/medium/10a5ef3ef5a492fd883eb55c239db5b3.jpeg" + }, + { + "id": 15838213, + "username": "marjorie83", + "totalCosts": 78.78, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15838213/medium/06f6e246d0a81d73663b644838d0cde9.jpeg" + }, + { + "id": 15816391, + "username": "Irvin_", + "totalCosts": 20.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15816391/medium/81fbadbb674cd22d4c0824d77586d1b1.png" + }, + { + "id": 15730243, + "username": "louisfelixg", + "totalCosts": 14.14, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15730243/medium/9056c95317b5bc74f571e423f7251e0a_default.png" + }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 7.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, + { + "id": 15318490, + "username": "arthursw", + "totalCosts": 6.06, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15318490/medium/673173431aeb53f29ca5516e9aa87bec_default.png" + } + ] + }, + { + "fileId": "8027", + "contributors": [ + { + "id": 14823260, + "username": "omahs", + "totalCosts": 926.17, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14823260/medium/2e90039ed53752ac5277c9cf4fce6fe7.jpeg" + }, + { + "id": 15973859, + "username": "vblackwhale", + "totalCosts": 144.43, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15973859/medium/e81a181b32492c70a65c85400d6f2e35.jpg" + } + ] + }, + { + "fileId": "7529", + "contributors": [ + { + "id": 15795465, + "username": "Alex-fr", + "totalCosts": 623.17, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15795465/medium/10a5ef3ef5a492fd883eb55c239db5b3.jpeg" + }, + { + "id": 15838213, + "username": "marjorie83", + "totalCosts": 58.58, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15838213/medium/06f6e246d0a81d73663b644838d0cde9.jpeg" + } + ] + }, + { + "fileId": "7533", + "contributors": [ + { + "id": 15795465, + "username": "Alex-fr", + "totalCosts": 267.65, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15795465/medium/10a5ef3ef5a492fd883eb55c239db5b3.jpeg" + }, + { + "id": 15949345, + "username": "mehdibouzit", + "totalCosts": 38.38, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15949345/medium/2eb9da6ad8eb6399c9aff2b21957916d.png" + } + ] + }, + { + "fileId": "7537", + "contributors": [ + { + "id": 15966553, + "username": "bamcryptobam1", + "totalCosts": 211.09, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966553/medium/7fde8cf7f30af6c46453e25bbf5aa342.png" + }, + { + "id": 15859719, + "username": "ilies-bel", + "totalCosts": 109.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15859719/medium/8a49812209a978d4e24ca6cf26777320.png" + }, + { + "id": 15961437, + "username": "harpocryptes", + "totalCosts": 36.36, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15961437/medium/d495096dfb14721b3d4848a1bc7cfdd5.jpeg" + }, + { + "id": 15752987, + "username": "eleashadock", + "totalCosts": 15.15, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15752987/medium/4e31f79c3a4f97d4b7b2f45ae5c4b5ad.png" + } + ] + }, + { + "fileId": "7541", + "contributors": [ + { + "id": 13997701, + "username": "i8008", + "totalCosts": 567.62, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13997701/medium/28a51e6f02f22b60225457043b3a8f6b.png" + }, + { + "id": 15914449, + "username": "CoinHoodie", + "totalCosts": 127.26, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15914449/medium/8d2590e4c534ca5125f1d70b6d9c71cc.jpeg" + }, + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 25.25, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, + { + "id": 15730243, + "username": "louisfelixg", + "totalCosts": 13.13, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15730243/medium/9056c95317b5bc74f571e423f7251e0a_default.png" + } + ] + }, + { + "fileId": "7521", + "contributors": [ + { + "id": 15954931, + "username": "XofEE", + "totalCosts": 168.67, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954931/medium/7254d648c451b822632980e5bfcb61fa.png" + }, + { + "id": 15961437, + "username": "harpocryptes", + "totalCosts": 18.18, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15961437/medium/d495096dfb14721b3d4848a1bc7cfdd5.jpeg" + } + ] + }, + { + "fileId": "8035", + "contributors": [ + { + "id": 14823260, + "username": "omahs", + "totalCosts": 912.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14823260/medium/2e90039ed53752ac5277c9cf4fce6fe7.jpeg" + }, + { + "id": 17361, + "username": "plamarque", + "totalCosts": 282.8, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" + } + ] + }, + { + "fileId": "7919", + "contributors": [ + { + "id": 15914449, + "username": "CoinHoodie", + "totalCosts": 1308.96, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15914449/medium/8d2590e4c534ca5125f1d70b6d9c71cc.jpeg" + }, + { + "id": 17361, + "username": "plamarque", + "totalCosts": 37.37, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/17361/medium/fecfafa7716ac9d6838b43c31f48f6b9.png" + }, + { + "id": 15949813, + "username": "massmr", + "totalCosts": 31.31, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15949813/medium/523c73497ca4fc2d5d83c8c54f0123b1_default.png" + }, + { + "id": 14823260, + "username": "omahs", + "totalCosts": 21.21, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14823260/medium/2e90039ed53752ac5277c9cf4fce6fe7.jpeg" + }, + { + "id": 15944249, + "username": "ANOKEY", + "totalCosts": 17.17, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15944249/medium/5bcfd0e2c58b676f2709481d9f4308ef_default.png" + }, + { + "id": 15430214, + "username": "didierkrux", + "totalCosts": 5.05, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15430214/medium/2b8391bf50f94b404bcd2967c0528ed7.png" + } + ] } ] }, @@ -19237,7 +19716,7 @@ { "id": 15956379, "username": "bhangbuddy", - "totalCosts": 182.81, + "totalCosts": 126.25, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956379/medium/435901b02d5b5f77c10fc06ff2c1c3e6.png" }, { @@ -19749,17 +20228,17 @@ { "fileId": "2856", "contributors": [ - { - "id": 15965461, - "username": "Satglow", - "totalCosts": 148.47, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15965461/medium/d0c82c3b7d4885069b13e4b4dc3f2963_default.png" - }, { "id": 14357794, "username": "robertdosa", "totalCosts": 103.02, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14357794/medium/a28b741096516a710523b87d9ee07223.png" + }, + { + "id": 15965461, + "username": "Satglow", + "totalCosts": 37.37, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15965461/medium/d0c82c3b7d4885069b13e4b4dc3f2963_default.png" } ] }, @@ -19837,7 +20316,7 @@ { "id": 15965461, "username": "Satglow", - "totalCosts": 750.43, + "totalCosts": 655.49, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15965461/medium/d0c82c3b7d4885069b13e4b4dc3f2963_default.png" }, { @@ -20247,7 +20726,7 @@ { "id": 15965461, "username": "Satglow", - "totalCosts": 702.96, + "totalCosts": 646.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15965461/medium/d0c82c3b7d4885069b13e4b4dc3f2963_default.png" }, { @@ -20338,6 +20817,35 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15418600/medium/ad4c648bb30e71908127d757eef8b23f.png" } ] + }, + { + "fileId": "5559", + "contributors": [ + { + "id": 15965461, + "username": "Satglow", + "totalCosts": 1058.48, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15965461/medium/d0c82c3b7d4885069b13e4b4dc3f2963_default.png" + }, + { + "id": 15627487, + "username": "mysteryalchemist", + "totalCosts": 234.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15627487/medium/b04d798863055a6f17ac25dab1d5c60b_default.png" + }, + { + "id": 15616701, + "username": "Wegonar", + "totalCosts": 62.62, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15616701/medium/107a9002aa59a9dab9854283b420a57b.jpeg" + }, + { + "id": 15776137, + "username": "sk.chrisz07", + "totalCosts": 10.1, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15776137/medium/3796fa782f4358de77ba903b72481ab3.jpeg" + } + ] } ] }, @@ -20414,7 +20922,7 @@ { "id": 14861756, "username": "RahayuRafika_12", - "totalCosts": 199.98, + "totalCosts": 192.91, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" } ] @@ -20425,20 +20933,26 @@ { "id": 14953707, "username": "dvd_okt84", - "totalCosts": 240.38, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14953707/medium/58140674d431a395e73cbc1ef9ae6d6f_default.png" }, + { + "id": 14866604, + "username": "yeremiaryangunadi", + "totalCosts": 38.38, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14866604/medium/285a89179a206f3621ba14bf04085b27.png" + }, { "id": 14861756, "username": "RahayuRafika_12", - "totalCosts": 67.67, + "totalCosts": 12.12, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" }, { - "id": 14866604, - "username": "yeremiaryangunadi", - "totalCosts": 38.38, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14866604/medium/285a89179a206f3621ba14bf04085b27.png" + "id": 14708760, + "username": "hypebeans", + "totalCosts": 11.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14708760/medium/f039dc85a8469b65d9e3e2413f9c4710.png" } ] }, @@ -20667,33 +21181,27 @@ { "id": 15927303, "username": "roifnaufal21", - "totalCosts": 2293.71, + "totalCosts": 1534.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" }, - { - "id": 14861756, - "username": "RahayuRafika_12", - "totalCosts": 198.97, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" - }, { "id": 14866604, "username": "yeremiaryangunadi", "totalCosts": 140.39, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14866604/medium/285a89179a206f3621ba14bf04085b27.png" }, + { + "id": 14861756, + "username": "RahayuRafika_12", + "totalCosts": 114.13, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + }, { "id": 15505848, "username": "hayashijanu", - "totalCosts": 26.26, + "totalCosts": 13.13, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15505848/medium/2b9d7bd5232e9e19fb5bd7d01415dc75_default.png" }, - { - "id": 16023432, - "username": "SyafaHadyan", - "totalCosts": 14.14, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16023432/medium/c69ac661dc63b793577afb96f6b8986d.jpg" - }, { "id": 15491638, "username": "radityo.dimas", @@ -20778,7 +21286,7 @@ { "id": 14861756, "username": "RahayuRafika_12", - "totalCosts": 1230.18, + "totalCosts": 1198.87, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" }, { @@ -21027,13 +21535,13 @@ { "id": 14866604, "username": "yeremiaryangunadi", - "totalCosts": 138.37, + "totalCosts": 115.14, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14866604/medium/285a89179a206f3621ba14bf04085b27.png" }, { "id": 15927303, "username": "roifnaufal21", - "totalCosts": 89.89, + "totalCosts": 19.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" } ] @@ -21158,13 +21666,13 @@ { "id": 15927303, "username": "roifnaufal21", - "totalCosts": 285.83, + "totalCosts": 269.67, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" }, { "id": 15934037, "username": "fuji.anggara10", - "totalCosts": 245.43, + "totalCosts": 217.15, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" }, { @@ -21268,19 +21776,19 @@ { "id": 15934037, "username": "fuji.anggara10", - "totalCosts": 3066.36, + "totalCosts": 1591.76, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" }, { "id": 14861756, "username": "RahayuRafika_12", - "totalCosts": 939.3, + "totalCosts": 585.8, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" }, { "id": 15927303, "username": "roifnaufal21", - "totalCosts": 383.8, + "totalCosts": 216.14, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" }, { @@ -21481,7 +21989,7 @@ { "id": 14866604, "username": "yeremiaryangunadi", - "totalCosts": 175.74, + "totalCosts": 166.65, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14866604/medium/285a89179a206f3621ba14bf04085b27.png" }, { @@ -21539,13 +22047,13 @@ { "id": 14891244, "username": "vaiahmad", - "totalCosts": 82.82, + "totalCosts": 79.79, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14891244/medium/d51812ca6f71924544bf03b9a23efb68_default.png" }, { "id": 14866604, "username": "yeremiaryangunadi", - "totalCosts": 58.58, + "totalCosts": 54.54, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14866604/medium/285a89179a206f3621ba14bf04085b27.png" } ] @@ -22866,7 +23374,7 @@ { "id": 15927303, "username": "roifnaufal21", - "totalCosts": 1230.18, + "totalCosts": 1186.75, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" }, { @@ -23069,7 +23577,7 @@ { "id": 15775647, "username": "utomo878", - "totalCosts": 943.34, + "totalCosts": 864.56, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15775647/medium/e6c4302f1613714c53e496f87b61ae01.jpg" }, { @@ -23204,7 +23712,7 @@ { "id": 14861756, "username": "RahayuRafika_12", - "totalCosts": 777.7, + "totalCosts": 723.16, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" }, { @@ -23248,6 +23756,12 @@ "totalCosts": 89.89, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15526713/medium/a65fab62bbc032697e4d12599f864085.jpeg" }, + { + "id": 14708760, + "username": "hypebeans", + "totalCosts": 35.35, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14708760/medium/f039dc85a8469b65d9e3e2413f9c4710.png" + }, { "id": 15762357, "username": "HA22", @@ -23425,7 +23939,7 @@ { "id": 15927303, "username": "roifnaufal21", - "totalCosts": 405.01, + "totalCosts": 384.81, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" }, { @@ -23478,7 +23992,7 @@ "id": 15662523, "username": "Jokowdd", "totalCosts": 864.56, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15662523/medium/4039d75a804e9c859bfb21d965e9bcb9_default.png" + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15662523/medium/a1bde18af96dc28c3fd1c1dd610e8896.JPG" }, { "id": 14861756, @@ -23494,7 +24008,7 @@ { "id": 15927303, "username": "roifnaufal21", - "totalCosts": 1785.68, + "totalCosts": 1750.33, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" }, { @@ -23506,10 +24020,326 @@ { "id": 14861756, "username": "RahayuRafika_12", - "totalCosts": 92.92, + "totalCosts": 81.81, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + }, + { + "id": 14708760, + "username": "hypebeans", + "totalCosts": 11.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14708760/medium/f039dc85a8469b65d9e3e2413f9c4710.png" + } + ] + }, + { + "fileId": "7525", + "contributors": [ + { + "id": 15662523, + "username": "Jokowdd", + "totalCosts": 645.39, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15662523/medium/a1bde18af96dc28c3fd1c1dd610e8896.JPG" + }, + { + "id": 13731191, + "username": "syahmin", + "totalCosts": 262.6, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13731191/medium/200727f4ec634eec8c5b3499cf6863db_default.png" + }, + { + "id": 14861756, + "username": "RahayuRafika_12", + "totalCosts": 12.12, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + } + ] + }, + { + "fileId": "8027", + "contributors": [ + { + "id": 15662523, + "username": "Jokowdd", + "totalCosts": 1070.6, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15662523/medium/a1bde18af96dc28c3fd1c1dd610e8896.JPG" + } + ] + }, + { + "fileId": "7529", + "contributors": [ + { + "id": 15934037, + "username": "fuji.anggara10", + "totalCosts": 671.65, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" + } + ] + }, + { + "fileId": "7533", + "contributors": [ + { + "id": 15934037, + "username": "fuji.anggara10", + "totalCosts": 306.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" + } + ] + }, + { + "fileId": "7537", + "contributors": [ + { + "id": 15934037, + "username": "fuji.anggara10", + "totalCosts": 371.68, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" + } + ] + }, + { + "fileId": "7541", + "contributors": [ + { + "id": 15934037, + "username": "fuji.anggara10", + "totalCosts": 732.25, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" + }, + { + "id": 14708760, + "username": "hypebeans", + "totalCosts": 25.25, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14708760/medium/f039dc85a8469b65d9e3e2413f9c4710.png" + } + ] + }, + { + "fileId": "7521", + "contributors": [ + { + "id": 15934037, + "username": "fuji.anggara10", + "totalCosts": 194.93, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" + } + ] + }, + { + "fileId": "7713", + "contributors": [ + { + "id": 15934037, + "username": "fuji.anggara10", + "totalCosts": 2344.21, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" + }, + { + "id": 14861756, + "username": "RahayuRafika_12", + "totalCosts": 102.01, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + }, + { + "id": 15962457, + "username": "danimeister", + "totalCosts": 50.5, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15962457/medium/97c701528b519a4a784b0d6b5f845fb8.jpg" + } + ] + }, + { + "fileId": "7717", + "contributors": [ + { + "id": 15934037, + "username": "fuji.anggara10", + "totalCosts": 1490.76, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" + }, + { + "id": 14861756, + "username": "RahayuRafika_12", + "totalCosts": 329.26, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + } + ] + }, + { + "fileId": "7721", + "contributors": [ + { + "id": 15927303, + "username": "roifnaufal21", + "totalCosts": 474.7, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" + }, + { + "id": 14861756, + "username": "RahayuRafika_12", + "totalCosts": 18.18, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + } + ] + }, + { + "fileId": "7803", + "contributors": [ + { + "id": 15934037, + "username": "fuji.anggara10", + "totalCosts": 1082.72, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" + }, + { + "id": 14861756, + "username": "RahayuRafika_12", + "totalCosts": 30.3, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" } ] + }, + { + "fileId": "7515", + "contributors": [ + { + "id": 15775647, + "username": "utomo878", + "totalCosts": 625.19, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15775647/medium/e6c4302f1613714c53e496f87b61ae01.jpg" + }, + { + "id": 15927303, + "username": "roifnaufal21", + "totalCosts": 506.01, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" + }, + { + "id": 14861756, + "username": "RahayuRafika_12", + "totalCosts": 334.31, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + }, + { + "id": 15962457, + "username": "danimeister", + "totalCosts": 85.85, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15962457/medium/97c701528b519a4a784b0d6b5f845fb8.jpg" + }, + { + "id": 15662523, + "username": "Jokowdd", + "totalCosts": 30.3, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15662523/medium/a1bde18af96dc28c3fd1c1dd610e8896.JPG" + } + ] + }, + { + "fileId": "7725", + "contributors": [ + { + "id": 15662523, + "username": "Jokowdd", + "totalCosts": 1020.1, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15662523/medium/a1bde18af96dc28c3fd1c1dd610e8896.JPG" + }, + { + "id": 14861756, + "username": "RahayuRafika_12", + "totalCosts": 31.31, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + } + ] + }, + { + "fileId": "7729", + "contributors": [ + { + "id": 15927303, + "username": "roifnaufal21", + "totalCosts": 666.6, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" + } + ] + }, + { + "fileId": "7733", + "contributors": [ + { + "id": 15934037, + "username": "fuji.anggara10", + "totalCosts": 721.14, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15934037/medium/e913f10d6d3550452e0b7c072e15aa40.jpeg" + }, + { + "id": 14861756, + "username": "RahayuRafika_12", + "totalCosts": 60.6, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14861756/medium/68ce2b760b107d1cf2a5a1508aa8ee96.jpeg" + } + ] + }, + { + "fileId": "7737", + "contributors": [ + { + "id": 14920051, + "username": "regislanderge", + "totalCosts": 850.42, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14920051/medium/9ba58eec03e143bcd1acbe5b2ecf8250.jpg" + } + ] + }, + { + "fileId": "7741", + "contributors": [ + { + "id": 14920051, + "username": "regislanderge", + "totalCosts": 1706.9, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14920051/medium/9ba58eec03e143bcd1acbe5b2ecf8250.jpg" + }, + { + "id": 13332574, + "username": "wongcie", + "totalCosts": 51.51, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13332574/medium/e5d356a816a34edc6657cb41bb54d8f0.jpg" + } + ] + }, + { + "fileId": "7745", + "contributors": [ + { + "id": 15927303, + "username": "roifnaufal21", + "totalCosts": 2021.01, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" + } + ] + }, + { + "fileId": "7749", + "contributors": [ + { + "id": 15927303, + "username": "roifnaufal21", + "totalCosts": 586.81, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" + } + ] + }, + { + "fileId": "7753", + "contributors": [ + { + "id": 15927303, + "username": "roifnaufal21", + "totalCosts": 1286.74, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15927303/medium/e39f725004e850246a765bb86dddf780_default.png" + } + ] } ] }, @@ -23575,7 +24405,7 @@ { "id": 14665128, "username": "Pierlu_be", - "totalCosts": 1022.12, + "totalCosts": 1015.05, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14665128/medium/5fdea361fcd2c73a52533056e2709694_default.png" }, { @@ -23621,7 +24451,7 @@ { "id": 13754187, "username": "Carla78", - "totalCosts": 77.77, + "totalCosts": 70.7, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13754187/medium/37de2106b564cdd5431a9c1f7e091087.png" }, { @@ -23638,19 +24468,19 @@ { "id": 14957025, "username": "denisplaku05", - "totalCosts": 240.38, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14957025/medium/155eeb9074ad5cc6f16d1c281f019944.png" }, { "id": 15058945, "username": "rickygrassi", - "totalCosts": 108.07, + "totalCosts": 90.9, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15058945/medium/f0522d6d1128923dee1be695b3095364.jpeg" }, { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 63.63, + "totalCosts": 48.48, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { @@ -23890,7 +24720,7 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 414.1, + "totalCosts": 484.8, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { @@ -24041,8 +24871,14 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 2182.61, + "totalCosts": 2214.93, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" + }, + { + "id": 16061752, + "username": "bernardistefano73", + "totalCosts": 24.24, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16061752/medium/12da54ba24880878f712772863c6f820.png" } ] }, @@ -24215,13 +25051,13 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 691.85, + "totalCosts": 1727.1, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { "id": 14665128, "username": "Pierlu_be", - "totalCosts": 494.9, + "totalCosts": 241.39, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14665128/medium/5fdea361fcd2c73a52533056e2709694_default.png" }, { @@ -24411,7 +25247,7 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 657.51, + "totalCosts": 689.83, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { @@ -24889,21 +25725,9 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 27.27, + "totalCosts": 67.67, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, - { - "id": 15266690, - "username": "Fuliggine", - "totalCosts": 25.25, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15266690/medium/beb929d96ab06718fce198051fdffaae.jpg" - }, - { - "id": 13754187, - "username": "Carla78", - "totalCosts": 7.07, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13754187/medium/37de2106b564cdd5431a9c1f7e091087.png" - }, { "id": 14647238, "username": "zamptom", @@ -25114,13 +25938,13 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 359.56, + "totalCosts": 370.67, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { "id": 13754187, "username": "Carla78", - "totalCosts": 166.65, + "totalCosts": 163.62, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13754187/medium/37de2106b564cdd5431a9c1f7e091087.png" }, { @@ -25238,6 +26062,12 @@ "username": "MARG8", "totalCosts": 6.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14672670/medium/fa06e51f67d5782307ef484c16c0bd7b_default.png" + }, + { + "id": 16061752, + "username": "bernardistefano73", + "totalCosts": 1.01, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16061752/medium/12da54ba24880878f712772863c6f820.png" } ] }, @@ -25321,25 +26151,19 @@ { "id": 15630617, "username": "andrea0x.eth", - "totalCosts": 3846.08, + "totalCosts": 2234.12, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15630617/medium/b03e6368819544b642a8371e0a875054.jpeg" }, { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 214.12, + "totalCosts": 1501.87, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, - { - "id": 15185884, - "username": "carmen1912", - "totalCosts": 130.29, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15185884/medium/0d349af8ba0364fdd96b55b46c40590c.jpg" - }, { "id": 15587175, "username": "Mattimatt", - "totalCosts": 123.22, + "totalCosts": 64.64, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15587175/medium/04048242c04ed4e297073617103ca738_default.png" }, { @@ -25533,7 +26357,7 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 44.44, + "totalCosts": 35.35, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { @@ -25542,12 +26366,6 @@ "totalCosts": 27.27, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15051821/medium/de8240cc982043ed008be3fd9dbf1cc1.png" }, - { - "id": 14970323, - "username": "ragnolimichele99", - "totalCosts": 13.13, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14970323/medium/fb22954c81db3329ada19b179d4f63f6.jpeg" - }, { "id": 15185884, "username": "carmen1912", @@ -25632,7 +26450,7 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 2373.5, + "totalCosts": 2369.46, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { @@ -25706,7 +26524,7 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 3667.31, + "totalCosts": 3641.05, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { @@ -27217,13 +28035,13 @@ { "id": 15266690, "username": "Fuliggine", - "totalCosts": 575.7, + "totalCosts": 568.63, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15266690/medium/beb929d96ab06718fce198051fdffaae.jpg" }, { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 290.88, + "totalCosts": 297.95, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { @@ -27303,20 +28121,20 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 640.34, + "totalCosts": 656.5, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, - { - "id": 15266690, - "username": "Fuliggine", - "totalCosts": 46.46, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15266690/medium/beb929d96ab06718fce198051fdffaae.jpg" - }, { "id": 15757333, "username": "AlexFalzone", "totalCosts": 46.46, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15757333/medium/1d341e767179f0d02606576d0b7dc373.jpeg" + }, + { + "id": 15266690, + "username": "Fuliggine", + "totalCosts": 30.3, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15266690/medium/beb929d96ab06718fce198051fdffaae.jpg" } ] }, @@ -27390,9 +28208,15 @@ { "id": 13754187, "username": "Carla78", - "totalCosts": 263.61, + "totalCosts": 207.05, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13754187/medium/37de2106b564cdd5431a9c1f7e091087.png" }, + { + "id": 16061752, + "username": "bernardistefano73", + "totalCosts": 78.78, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16061752/medium/12da54ba24880878f712772863c6f820.png" + }, { "id": 13461670, "username": "GiorgioHerbie", @@ -27659,7 +28483,7 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 2035.15, + "totalCosts": 2055.35, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" } ] @@ -27698,13 +28522,13 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 241.39, + "totalCosts": 249.47, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { "id": 14665128, "username": "Pierlu_be", - "totalCosts": 161.6, + "totalCosts": 107.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14665128/medium/5fdea361fcd2c73a52533056e2709694_default.png" }, { @@ -27758,18 +28582,18 @@ "totalCosts": 614.08, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, - { - "id": 15266690, - "username": "Fuliggine", - "totalCosts": 153.52, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15266690/medium/beb929d96ab06718fce198051fdffaae.jpg" - }, { "id": 14657804, "username": "jhonnyvianello", "totalCosts": 141.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14657804/medium/005d9fa70fdc5a4fcd818f63cf61e1a0.jpg" }, + { + "id": 15266690, + "username": "Fuliggine", + "totalCosts": 133.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15266690/medium/beb929d96ab06718fce198051fdffaae.jpg" + }, { "id": 13754187, "username": "Carla78", @@ -27782,6 +28606,12 @@ "totalCosts": 29.29, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13474992/medium/765c7de24d4c15c35ef878f8b729b5a2_default.png" }, + { + "id": 16061752, + "username": "bernardistefano73", + "totalCosts": 27.27, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16061752/medium/12da54ba24880878f712772863c6f820.png" + }, { "id": 15321480, "username": "AlessandroSosa", @@ -27836,7 +28666,7 @@ { "id": 13461670, "username": "GiorgioHerbie", - "totalCosts": 1965.46, + "totalCosts": 1964.45, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13461670/medium/9093f2d7047615a270b4c00bc2abd595_default.png" }, { @@ -27923,7 +28753,7 @@ { "id": 15721133, "username": "LucaPennella", - "totalCosts": 1564.49, + "totalCosts": 1560.45, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15721133/medium/57413183f5da136c6e2546edbe8ff01d.png" }, { @@ -27958,7 +28788,7 @@ { "id": 14665128, "username": "Pierlu_be", - "totalCosts": 1041.31, + "totalCosts": 1022.12, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14665128/medium/5fdea361fcd2c73a52533056e2709694_default.png" }, { @@ -27970,7 +28800,7 @@ { "id": 15416538, "username": "g.gangemi98", - "totalCosts": 434.3, + "totalCosts": 422.18, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15416538/medium/c426736cce6799595393451976d898aa.jpeg" }, { @@ -28164,7 +28994,7 @@ { "id": 15201594, "username": "akashi031", - "totalCosts": 1137.26, + "totalCosts": 1130.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201594/medium/5e27758e217a387356f7c0502130479f_default.png" }, { @@ -28239,7 +29069,7 @@ { "id": 14880458, "username": "sekisanchi", - "totalCosts": 167.66, + "totalCosts": 148.47, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14880458/medium/6b71180a926d6213e33b21e50df8e409_default.png" }, { @@ -28257,7 +29087,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 18.18, + "totalCosts": 10.1, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" } ] @@ -28779,18 +29609,18 @@ { "fileId": "2868", "contributors": [ + { + "id": 15208868, + "username": "HiroyukiNaito", + "totalCosts": 184.83, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" + }, { "id": 14701334, "username": "ozora-ogino", "totalCosts": 182.81, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14701334/medium/3b0ac84d5b08a7171e0157caba5e6ece.png" }, - { - "id": 15208868, - "username": "HiroyukiNaito", - "totalCosts": 154.53, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" - }, { "id": 14880458, "username": "sekisanchi", @@ -28858,13 +29688,13 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 1241.29, + "totalCosts": 2406.83, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { "id": 15460936, "username": "tsukky", - "totalCosts": 1079.69, + "totalCosts": 747.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15460936/medium/99ed6b4051dfcad3d1fa3e4cfaa17073.JPG" }, { @@ -28934,7 +29764,7 @@ { "id": 15649609, "username": "ta1suke", - "totalCosts": 1903.85, + "totalCosts": 1872.54, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15649609/medium/1c03845153fc375404b108070aef6a43.png" }, { @@ -29027,7 +29857,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 434.3, + "totalCosts": 466.62, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -29220,7 +30050,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 1628.12, + "totalCosts": 1646.3, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -29285,7 +30115,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 17.17, + "totalCosts": 30.3, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" } ] @@ -29368,7 +30198,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 352.49, + "totalCosts": 429.25, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -29500,18 +30330,18 @@ { "fileId": "2856", "contributors": [ + { + "id": 15208868, + "username": "HiroyukiNaito", + "totalCosts": 137.36, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" + }, { "id": 14880458, "username": "sekisanchi", "totalCosts": 93.93, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14880458/medium/6b71180a926d6213e33b21e50df8e409_default.png" }, - { - "id": 15208868, - "username": "HiroyukiNaito", - "totalCosts": 71.71, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" - }, { "id": 14708760, "username": "hypebeans", @@ -29567,7 +30397,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 123.22, + "totalCosts": 130.29, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -29719,7 +30549,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 3466.32, + "totalCosts": 3497.63, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -29794,7 +30624,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 228.26, + "totalCosts": 226.24, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -29846,7 +30676,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 1097.87, + "totalCosts": 1098.88, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -29927,7 +30757,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 4219.78, + "totalCosts": 2386.63, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -30124,7 +30954,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 77.77, + "totalCosts": 135.34, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -30205,7 +31035,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 36.36, + "totalCosts": 42.42, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -30319,18 +31149,18 @@ "totalCosts": 2719.93, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, - { - "id": 13428564, - "username": "tamaina", - "totalCosts": 44.44, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13428564/medium/2f79c6b7d361eb5893000fb450595900.png" - }, { "id": 14880458, "username": "sekisanchi", - "totalCosts": 43.43, + "totalCosts": 40.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14880458/medium/6b71180a926d6213e33b21e50df8e409_default.png" }, + { + "id": 13428564, + "username": "tamaina", + "totalCosts": 40.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13428564/medium/2f79c6b7d361eb5893000fb450595900.png" + }, { "id": 14901400, "username": "shimanto2", @@ -30408,7 +31238,7 @@ { "id": 15135089, "username": "indwm", - "totalCosts": 3654.18, + "totalCosts": 3627.92, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15135089/medium/ad0dde7b6943eb1bdc2b8c64223dd070.png" }, { @@ -30542,7 +31372,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 47.47, + "totalCosts": 86.86, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -30573,18 +31403,18 @@ { "fileId": "2810", "contributors": [ + { + "id": 15208868, + "username": "HiroyukiNaito", + "totalCosts": 311.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" + }, { "id": 14880458, "username": "sekisanchi", "totalCosts": 236.34, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14880458/medium/6b71180a926d6213e33b21e50df8e409_default.png" }, - { - "id": 15208868, - "username": "HiroyukiNaito", - "totalCosts": 205.03, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" - }, { "id": 15333126, "username": "1056shigezane", @@ -30670,7 +31500,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 428.24, + "totalCosts": 441.37, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -30687,7 +31517,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 5063.13, + "totalCosts": 5082.32, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -30701,6 +31531,12 @@ { "fileId": "2804", "contributors": [ + { + "id": 15208868, + "username": "HiroyukiNaito", + "totalCosts": 939.3, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" + }, { "id": 15680077, "username": "miyamo", @@ -30712,12 +31548,6 @@ "username": "sekisanchi", "totalCosts": 4.04, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14880458/medium/6b71180a926d6213e33b21e50df8e409_default.png" - }, - { - "id": 15208868, - "username": "HiroyukiNaito", - "totalCosts": 0, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" } ] }, @@ -31062,18 +31892,18 @@ "totalCosts": 632.26, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14984219/medium/bda27d10133f63c72881c79071f28657_default.png" }, + { + "id": 15208868, + "username": "HiroyukiNaito", + "totalCosts": 304.01, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" + }, { "id": 15070235, "username": "akibe", "totalCosts": 265.63, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15070235/medium/49c7580ba53089f63456e5b0a7046950_default.png" }, - { - "id": 15208868, - "username": "HiroyukiNaito", - "totalCosts": 244.42, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" - }, { "id": 15039393, "username": "lvengda", @@ -31199,7 +32029,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 442.38, + "totalCosts": 479.75, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" } ] @@ -31308,7 +32138,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 457.53, + "totalCosts": 508.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -31638,7 +32468,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 3041.11, + "totalCosts": 3048.18, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -31778,7 +32608,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 1117.06, + "totalCosts": 1153.42, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" } ] @@ -31818,7 +32648,7 @@ { "id": 15208868, "username": "HiroyukiNaito", - "totalCosts": 252.5, + "totalCosts": 299.97, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15208868/medium/4ed4a0a0659f1c63e52f395079aeb3c4.jpg" }, { @@ -32266,7 +33096,7 @@ { "id": 14103339, "username": "ryoji.imai", - "totalCosts": 790.83, + "totalCosts": 712.05, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14103339/medium/fc832d678cca1c9a43f019d8a819f41c.JPG" }, { @@ -32371,7 +33201,7 @@ { "id": 15135089, "username": "indwm", - "totalCosts": 143.42, + "totalCosts": 88.88, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15135089/medium/ad0dde7b6943eb1bdc2b8c64223dd070.png" }, { @@ -32458,7 +33288,7 @@ { "id": 14103339, "username": "ryoji.imai", - "totalCosts": 176.75, + "totalCosts": 156.55, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14103339/medium/fc832d678cca1c9a43f019d8a819f41c.JPG" }, { @@ -32675,7 +33505,7 @@ { "id": 15680077, "username": "miyamo", - "totalCosts": 3239.07, + "totalCosts": 3235.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15680077/medium/a9db402339c4ac996a32133a844692ef_default.png" } ] @@ -32826,7 +33656,7 @@ { "id": 15430302, "username": "kwangtaekim", - "totalCosts": 1186.75, + "totalCosts": 1179.68, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15430302/medium/705b3a29a93430236982b318c9131fcf.png" }, { @@ -32899,6 +33729,12 @@ "totalCosts": 603.98, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15105599/medium/a3e031fc91bbbf728f3bb5dd384e8400_default.png" }, + { + "id": 16054974, + "username": "swpark1004", + "totalCosts": 56.56, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16054974/medium/21f3f27ceb5330aeabde9a90ba4a5f85.jpeg" + }, { "id": 13471138, "username": "KyungwonPark", @@ -32974,6 +33810,12 @@ { "fileId": "6183", "contributors": [ + { + "id": 16054974, + "username": "swpark1004", + "totalCosts": 141.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16054974/medium/21f3f27ceb5330aeabde9a90ba4a5f85.jpeg" + }, { "id": 15328532, "username": "Seung_Gi_Kim", @@ -33052,7 +33894,7 @@ { "id": 13471138, "username": "KyungwonPark", - "totalCosts": 702.96, + "totalCosts": 678.72, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13471138/medium/3e72b4fdf306e3afb0bc101953bc0def_default.png" }, { @@ -33081,7 +33923,7 @@ { "id": 15430302, "username": "kwangtaekim", - "totalCosts": 1043.33, + "totalCosts": 988.79, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15430302/medium/705b3a29a93430236982b318c9131fcf.png" }, { @@ -33144,7 +33986,7 @@ { "id": 13471138, "username": "KyungwonPark", - "totalCosts": 268.66, + "totalCosts": 248.46, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13471138/medium/3e72b4fdf306e3afb0bc101953bc0def_default.png" }, { @@ -33171,6 +34013,12 @@ "totalCosts": 27.27, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15568977/medium/b3c017a322fc25536f89500f966d5d44.png" }, + { + "id": 16054974, + "username": "swpark1004", + "totalCosts": 27.27, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16054974/medium/21f3f27ceb5330aeabde9a90ba4a5f85.jpeg" + }, { "id": 13997401, "username": "Windfactory", @@ -33330,6 +34178,17 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14261470/medium/78d6d680bab6a88f1b8df92013bee804.jpg" } ] + }, + { + "fileId": "8035", + "contributors": [ + { + "id": 13471138, + "username": "KyungwonPark", + "totalCosts": 1194.83, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13471138/medium/3e72b4fdf306e3afb0bc101953bc0def_default.png" + } + ] } ] }, @@ -33454,7 +34313,7 @@ { "id": 15084373, "username": "tarcanhursit", - "totalCosts": 305.02, + "totalCosts": 272.7, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15084373/medium/63831adb2cf079020b094666d47417fd.jpg" }, { @@ -33548,7 +34407,7 @@ { "id": 15084373, "username": "tarcanhursit", - "totalCosts": 857.49, + "totalCosts": 814.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15084373/medium/63831adb2cf079020b094666d47417fd.jpg" } ] @@ -33570,13 +34429,13 @@ { "id": 15958911, "username": "charlaiz", - "totalCosts": 524.19, + "totalCosts": 477.73, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15958911/medium/8f11adb77af544d9fd33ec842e035832_default.png" }, { "id": 15084373, "username": "tarcanhursit", - "totalCosts": 275.73, + "totalCosts": 265.63, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15084373/medium/63831adb2cf079020b094666d47417fd.jpg" }, { @@ -33651,7 +34510,7 @@ { "id": 15084373, "username": "tarcanhursit", - "totalCosts": 1420.06, + "totalCosts": 1365.52, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15084373/medium/63831adb2cf079020b094666d47417fd.jpg" } ] @@ -33684,7 +34543,7 @@ { "id": 15084373, "username": "tarcanhursit", - "totalCosts": 554.49, + "totalCosts": 534.29, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15084373/medium/63831adb2cf079020b094666d47417fd.jpg" } ] @@ -33710,6 +34569,46 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15084373/medium/63831adb2cf079020b094666d47417fd.jpg" } ] + }, + { + "fileId": "7461", + "contributors": [ + { + "id": 15750423, + "username": "less_explorer", + "totalCosts": 1000.91, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15750423/medium/44085a2751d1f337f4e4aee5459b2ccf.jpg" + }, + { + "id": 15958911, + "username": "charlaiz", + "totalCosts": 453.49, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15958911/medium/8f11adb77af544d9fd33ec842e035832_default.png" + }, + { + "id": 15084373, + "username": "tarcanhursit", + "totalCosts": 225.23, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15084373/medium/63831adb2cf079020b094666d47417fd.jpg" + } + ] + }, + { + "fileId": "8035", + "contributors": [ + { + "id": 15958911, + "username": "charlaiz", + "totalCosts": 1190.79, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15958911/medium/8f11adb77af544d9fd33ec842e035832_default.png" + }, + { + "id": 15084373, + "username": "tarcanhursit", + "totalCosts": 4.04, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15084373/medium/63831adb2cf079020b094666d47417fd.jpg" + } + ] } ] }, @@ -33792,7 +34691,7 @@ { "id": 15894449, "username": "wosek_", - "totalCosts": 103.02, + "totalCosts": 159.58, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15894449/medium/a1d92e3a822252a09f842a8a5451c403.jpg" }, { @@ -34210,28 +35109,28 @@ { "fileId": "2856", "contributors": [ - { - "id": 15894449, - "username": "wosek_", - "totalCosts": 179.78, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15894449/medium/a1d92e3a822252a09f842a8a5451c403.jpg" - }, { "id": 14775946, "username": "Beas", - "totalCosts": 141.4, + "totalCosts": 118.17, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14775946/medium/22ad4db44fa2f657ec257775cddc899c.jpg" }, + { + "id": 15894449, + "username": "wosek_", + "totalCosts": 37.37, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15894449/medium/a1d92e3a822252a09f842a8a5451c403.jpg" + }, { "id": 15284800, "username": "msliwinski123", - "totalCosts": 130.29, + "totalCosts": 19.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15284800/medium/a5707bdd7287b30379bd9c3cb122ef9b.png" }, { "id": 14113969, "username": "mbiesiad", - "totalCosts": 9.09, + "totalCosts": 8.08, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14113969/medium/71ce960729f39fa1a2a0f23b48b8d8fe.png" } ] @@ -34298,13 +35197,13 @@ { "id": 15284800, "username": "msliwinski123", - "totalCosts": 731.24, + "totalCosts": 636.3, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15284800/medium/a5707bdd7287b30379bd9c3cb122ef9b.png" }, { "id": 15894449, "username": "wosek_", - "totalCosts": 464.6, + "totalCosts": 367.64, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15894449/medium/a1d92e3a822252a09f842a8a5451c403.jpg" }, { @@ -34509,7 +35408,7 @@ { "id": 14775946, "username": "Beas", - "totalCosts": 130.29, + "totalCosts": 121.2, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14775946/medium/22ad4db44fa2f657ec257775cddc899c.jpg" } ] @@ -35166,6 +36065,12 @@ "totalCosts": 91.91, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15071649/medium/0ae631185ea5bf1ae0215a74903d1c8d.png" }, + { + "id": 15809583, + "username": "mn895532", + "totalCosts": 61.61, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15809583/medium/e63f59ae9d5cb8307bd4d5f5d23be4a4.jpeg" + }, { "id": 15894449, "username": "wosek_", @@ -35266,7 +36171,7 @@ { "id": 15894449, "username": "wosek_", - "totalCosts": 988.79, + "totalCosts": 942.33, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15894449/medium/a1d92e3a822252a09f842a8a5451c403.jpg" }, { @@ -35307,7 +36212,7 @@ { "id": 15894449, "username": "wosek_", - "totalCosts": 335.32, + "totalCosts": 371.68, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15894449/medium/a1d92e3a822252a09f842a8a5451c403.jpg" }, { @@ -35420,18 +36325,18 @@ { "fileId": "2958", "contributors": [ + { + "id": 15894449, + "username": "wosek_", + "totalCosts": 2949.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15894449/medium/a1d92e3a822252a09f842a8a5451c403.jpg" + }, { "id": 14775946, "username": "Beas", "totalCosts": 2648.22, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14775946/medium/22ad4db44fa2f657ec257775cddc899c.jpg" }, - { - "id": 15894449, - "username": "wosek_", - "totalCosts": 2244.22, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15894449/medium/a1d92e3a822252a09f842a8a5451c403.jpg" - }, { "id": 15284800, "username": "msliwinski123", @@ -35516,7 +36421,7 @@ { "id": 15363256, "username": "keyla88", - "totalCosts": 867.59, + "totalCosts": 860.52, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15363256/medium/ec0ae3c1332b4c006ba843c9969716f5.png" }, { @@ -35562,7 +36467,7 @@ { "id": 13986387, "username": "rafarocha", - "totalCosts": 151.5, + "totalCosts": 144.43, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13986387/medium/72bb87143f2a8d013cddac84c4e2afac.jpg" }, { @@ -35579,13 +36484,13 @@ { "id": 14957477, "username": "asdcBRA", - "totalCosts": 240.38, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14957477/medium/4731034c4ad881ab8ce76389b7952162.jpeg" }, { "id": 15082587, "username": "PLimabrz", - "totalCosts": 219.17, + "totalCosts": 199.98, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082587/medium/ed074e71e299c475727935bfe53359aa_default.png" }, { @@ -35594,12 +36499,6 @@ "totalCosts": 126.25, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15072851/medium/a35aa7f19e9250a5e916b2092556235e.png" }, - { - "id": 13986387, - "username": "rafarocha", - "totalCosts": 52.52, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13986387/medium/72bb87143f2a8d013cddac84c4e2afac.jpg" - }, { "id": 15088607, "username": "Fred.rodovalho", @@ -35607,15 +36506,15 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15088607/medium/60387eb11f8184d82ef350969d7006f4_default.png" }, { - "id": 15025129, - "username": "willianpaixao", - "totalCosts": 17.17, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15025129/medium/ef1be11b8020b45c11dbd5a0bbea1aac_default.png" + "id": 13986387, + "username": "rafarocha", + "totalCosts": 7.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13986387/medium/72bb87143f2a8d013cddac84c4e2afac.jpg" }, { "id": 15240392, "username": "kaioPoentes", - "totalCosts": 14.14, + "totalCosts": 6.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15240392/medium/bb269e410561d6b5854bcd5a0a61b358.jpeg" } ] @@ -35719,7 +36618,7 @@ { "id": 13986387, "username": "rafarocha", - "totalCosts": 400.97, + "totalCosts": 375.72, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13986387/medium/72bb87143f2a8d013cddac84c4e2afac.jpg" } ] @@ -36325,7 +37224,7 @@ { "id": 13986387, "username": "rafarocha", - "totalCosts": 1012.02, + "totalCosts": 754.47, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13986387/medium/72bb87143f2a8d013cddac84c4e2afac.jpg" }, { @@ -36334,18 +37233,18 @@ "totalCosts": 160.59, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15469896/medium/ce6eed4a36d8d7724e2d1537a41f7337.jpeg" }, - { - "id": 15435992, - "username": "italosantana", - "totalCosts": 149.48, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15435992/medium/61afc2a3a2417f17a118fea970030cbf.jpeg" - }, { "id": 15317682, "username": "junowoz", - "totalCosts": 84.84, + "totalCosts": 60.6, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15317682/medium/81940bf015f6f858cb88c0363d135cfa.jpeg" }, + { + "id": 15435992, + "username": "italosantana", + "totalCosts": 49.49, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15435992/medium/61afc2a3a2417f17a118fea970030cbf.jpeg" + }, { "id": 14861994, "username": "DougPimentel", @@ -36419,7 +37318,7 @@ { "id": 15515516, "username": "MCreimer", - "totalCosts": 1887.69, + "totalCosts": 1856.38, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" }, { @@ -36973,7 +37872,7 @@ { "id": 15515516, "username": "MCreimer", - "totalCosts": 997.88, + "totalCosts": 947.38, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" }, { @@ -37143,12 +38042,6 @@ { "fileId": "2856", "contributors": [ - { - "id": 13986387, - "username": "rafarocha", - "totalCosts": 25.25, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13986387/medium/72bb87143f2a8d013cddac84c4e2afac.jpg" - }, { "id": 15317682, "username": "junowoz", @@ -37382,7 +38275,7 @@ { "id": 15515516, "username": "MCreimer", - "totalCosts": 242.4, + "totalCosts": 239.37, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" }, { @@ -37589,21 +38482,21 @@ { "id": 13986387, "username": "rafarocha", - "totalCosts": 2313.91, + "totalCosts": 1371.58, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13986387/medium/72bb87143f2a8d013cddac84c4e2afac.jpg" }, - { - "id": 15515516, - "username": "MCreimer", - "totalCosts": 1275.63, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" - }, { "id": 15317682, "username": "junowoz", - "totalCosts": 648.42, + "totalCosts": 521.16, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15317682/medium/81940bf015f6f858cb88c0363d135cfa.jpeg" }, + { + "id": 15515516, + "username": "MCreimer", + "totalCosts": 496.92, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" + }, { "id": 15584703, "username": "fcarva", @@ -37992,7 +38885,7 @@ { "id": 15657153, "username": "leomarar", - "totalCosts": 388.85, + "totalCosts": 362.59, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15657153/medium/83f088e12e6711ed615f8dd77c3f2be7_default.png" }, { @@ -38824,7 +39717,7 @@ { "id": 15849127, "username": "IagoEmanuel15", - "totalCosts": 698.92, + "totalCosts": 655.49, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15849127/medium/e9fee6b4f74f480ba50df5d15b8f9f22.jpg" }, { @@ -39051,7 +39944,7 @@ { "id": 15515516, "username": "MCreimer", - "totalCosts": 244.42, + "totalCosts": 230.28, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" }, { @@ -39068,7 +39961,7 @@ { "id": 15515516, "username": "MCreimer", - "totalCosts": 265.63, + "totalCosts": 251.49, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" }, { @@ -39091,7 +39984,7 @@ { "id": 15515516, "username": "MCreimer", - "totalCosts": 266.64, + "totalCosts": 241.39, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" }, { @@ -39190,7 +40083,7 @@ { "id": 15515516, "username": "MCreimer", - "totalCosts": 704.98, + "totalCosts": 648.42, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" }, { @@ -39384,7 +40277,7 @@ { "id": 13855929, "username": "gabriel.silva", - "totalCosts": 658.52, + "totalCosts": 603.98, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13855929/medium/51d997bd43d246da34052b5cab702f56.jpg" }, { @@ -39507,7 +40400,7 @@ { "id": 15515516, "username": "MCreimer", - "totalCosts": 202, + "totalCosts": 181.8, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15515516/medium/cad56d6fa7c03af94b18ead23e791019.png" }, { @@ -39612,13 +40505,13 @@ { "id": 13986387, "username": "rafarocha", - "totalCosts": 1753.36, + "totalCosts": 1706.9, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13986387/medium/72bb87143f2a8d013cddac84c4e2afac.jpg" }, { "id": 15813703, "username": "Brian1997", - "totalCosts": 435.31, + "totalCosts": 399.96, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15813703/medium/4fbeb047eb6a975b8edfd526c0c05bee_default.png" }, { @@ -39777,7 +40670,7 @@ { "id": 13986387, "username": "rafarocha", - "totalCosts": 994.85, + "totalCosts": 990.81, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/13986387/medium/72bb87143f2a8d013cddac84c4e2afac.jpg" } ] @@ -39826,13 +40719,13 @@ { "id": 12804952, "username": "imgelu", - "totalCosts": 240.38, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12804952/medium/59d5d165d5b422c57908e7797d3b83ee.jpg" }, { "id": 14087195, "username": "nicklcanada", - "totalCosts": 239.37, + "totalCosts": 220.18, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14087195/medium/810aea3ef8ba145e88db17a73c95a4b8_default.png" } ] @@ -40124,13 +41017,13 @@ { "id": 14087195, "username": "nicklcanada", - "totalCosts": 143.42, + "totalCosts": 120.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14087195/medium/810aea3ef8ba145e88db17a73c95a4b8_default.png" }, { "id": 12804952, "username": "imgelu", - "totalCosts": 104.03, + "totalCosts": 80.8, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/12804952/medium/59d5d165d5b422c57908e7797d3b83ee.jpg" } ] @@ -40414,7 +41307,7 @@ { "id": 14087195, "username": "nicklcanada", - "totalCosts": 94.94, + "totalCosts": 85.85, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14087195/medium/810aea3ef8ba145e88db17a73c95a4b8_default.png" }, { @@ -40446,7 +41339,7 @@ { "id": 14087195, "username": "nicklcanada", - "totalCosts": 21.21, + "totalCosts": 17.17, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14087195/medium/810aea3ef8ba145e88db17a73c95a4b8_default.png" } ] @@ -41303,6 +42196,12 @@ { "fileId": "5565", "contributors": [ + { + "id": 16043932, + "username": "Randometer888", + "totalCosts": 867.59, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16043932/medium/4d5c371be41ad26794fd7fd0b8e27caa.jpg" + }, { "id": 14087195, "username": "nicklcanada", @@ -41345,7 +42244,7 @@ { "id": 14087195, "username": "nicklcanada", - "totalCosts": 1362.49, + "totalCosts": 1307.95, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14087195/medium/810aea3ef8ba145e88db17a73c95a4b8_default.png" } ] @@ -41407,7 +42306,7 @@ { "id": 15947515, "username": "blockson", - "totalCosts": 97.97, + "totalCosts": 90.9, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15947515/medium/52b0b3490fcf6940d9027ef2f32a424b.jpeg" }, { @@ -41430,19 +42329,19 @@ { "id": 14514124, "username": "ViktorOn", - "totalCosts": 177.76, + "totalCosts": 147.46, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14514124/medium/fa0297b182b72fbcf006daba457ef1a3.png" }, { "id": 15091781, "username": "Alia_yli", - "totalCosts": 145.44, + "totalCosts": 126.25, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15091781/medium/b3434e87fa167731fa4b27df15834b76_default.png" }, { "id": 14984959, "username": "lesnov", - "totalCosts": 122.21, + "totalCosts": 103.02, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14984959/medium/b944ae94abfa6adf00f2347abfe6fb0e_default.png" }, { @@ -41451,12 +42350,6 @@ "totalCosts": 89.89, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14714186/medium/7aab6f86fdcf9703ecff6ff281835305_default.png" }, - { - "id": 15763855, - "username": "dovbyshbgd", - "totalCosts": 52.52, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" - }, { "id": 14982731, "username": "stepantsova.marina", @@ -41469,18 +42362,6 @@ "totalCosts": 38.38, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15083601/medium/81a90e82c22a6973cb849cdcf5e307ba_default.png" }, - { - "id": 15214262, - "username": "andrejklim480", - "totalCosts": 14.14, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15214262/medium/5727db09ace3c2d258ba36991ad941ea.jpg" - }, - { - "id": 15947515, - "username": "blockson", - "totalCosts": 7.07, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15947515/medium/52b0b3490fcf6940d9027ef2f32a424b.jpeg" - }, { "id": 15475592, "username": "vladimirkochenov", @@ -41492,6 +42373,18 @@ "username": "kayusha2020", "totalCosts": 6.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15362144/medium/8605888ceb1624a237d50588b1b3436e.jpg" + }, + { + "id": 15214262, + "username": "andrejklim480", + "totalCosts": 6.06, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15214262/medium/5727db09ace3c2d258ba36991ad941ea.jpg" + }, + { + "id": 15763855, + "username": "dovbyshbgd", + "totalCosts": 5.05, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" } ] }, @@ -42215,13 +43108,13 @@ { "id": 15947515, "username": "blockson", - "totalCosts": 462.58, + "totalCosts": 444.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15947515/medium/52b0b3490fcf6940d9027ef2f32a424b.jpeg" }, { "id": 15763855, "username": "dovbyshbgd", - "totalCosts": 175.74, + "totalCosts": 176.75, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" }, { @@ -42502,7 +43395,7 @@ { "id": 15967233, "username": "jasminesprout", - "totalCosts": 945.36, + "totalCosts": 901.93, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" }, { @@ -42578,7 +43471,7 @@ { "id": 15966943, "username": "yulkor", - "totalCosts": 625.19, + "totalCosts": 568.63, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966943/medium/0d340104d53d3ff4df1c7c2412e8c86e_default.png" }, { @@ -42749,7 +43642,7 @@ { "id": 14843078, "username": "Totozao", - "totalCosts": 79.79, + "totalCosts": 25.25, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14843078/medium/4fdb35b37819b2de36280beeef727d1d_default.png" } ] @@ -42930,13 +43823,13 @@ { "id": 15967233, "username": "jasminesprout", - "totalCosts": 562.57, + "totalCosts": 555.5, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" }, { "id": 15763855, "username": "dovbyshbgd", - "totalCosts": 282.8, + "totalCosts": 289.87, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" } ] @@ -42970,7 +43863,7 @@ { "id": 15763855, "username": "dovbyshbgd", - "totalCosts": 320.17, + "totalCosts": 306.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" }, { @@ -42998,19 +43891,19 @@ { "id": 15726219, "username": "DeckCadet", - "totalCosts": 442.38, + "totalCosts": 433.29, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15726219/medium/13d125d9b19bf6e523879837a7768002.jpeg" }, { "id": 15763855, "username": "dovbyshbgd", - "totalCosts": 246.44, + "totalCosts": 271.69, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" }, { "id": 15966973, "username": "omsify", - "totalCosts": 46.46, + "totalCosts": 30.3, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966973/medium/8f0d37e232177100b09297d6f095fbfa_default.png" } ] @@ -43107,7 +44000,7 @@ { "id": 15619839, "username": "mediaquest", - "totalCosts": 591.86, + "totalCosts": 584.79, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15619839/medium/99c14ce4e8161f6b077fa0849ac4c5b0.png" }, { @@ -43189,13 +44082,13 @@ { "id": 15967233, "username": "jasminesprout", - "totalCosts": 264.62, + "totalCosts": 246.44, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" }, { "id": 15763855, "username": "dovbyshbgd", - "totalCosts": 182.81, + "totalCosts": 180.79, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" }, { @@ -43318,19 +44211,19 @@ { "id": 15967233, "username": "jasminesprout", - "totalCosts": 1927.08, + "totalCosts": 1902.84, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" }, { "id": 15763855, "username": "dovbyshbgd", - "totalCosts": 69.69, + "totalCosts": 58.58, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" }, { "id": 15966973, "username": "omsify", - "totalCosts": 22.22, + "totalCosts": 11.11, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966973/medium/8f0d37e232177100b09297d6f095fbfa_default.png" } ] @@ -43341,7 +44234,7 @@ { "id": 15763855, "username": "dovbyshbgd", - "totalCosts": 3226.95, + "totalCosts": 3222.91, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15763855/medium/5b59dc54e26664f82eab09a76961eaf7.png" }, { @@ -43399,7 +44292,7 @@ { "id": 14977831, "username": "PeterKecman", - "totalCosts": 278.76, + "totalCosts": 259.57, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14977831/medium/e1e3f150ce524a6cb88fccb8b4f52422.png" } ] @@ -43503,7 +44396,7 @@ { "id": 14977831, "username": "PeterKecman", - "totalCosts": 86.86, + "totalCosts": 79.79, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14977831/medium/e1e3f150ce524a6cb88fccb8b4f52422.png" } ] @@ -43639,7 +44532,7 @@ { "id": 15967341, "username": "lukakovacica", - "totalCosts": 699.93, + "totalCosts": 621.15, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967341/medium/1f73cbf1251ef7926042a12fcf6e6827.png" }, { @@ -43698,13 +44591,13 @@ { "id": 14957177, "username": "joeurassa", - "totalCosts": 234.32, + "totalCosts": 207.05, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14957177/medium/8323f79a3f73f2e723da72db082c0c22.jpg" }, { "id": 14963607, "username": "mikemathu", - "totalCosts": 163.62, + "totalCosts": 144.43, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14963607/medium/686254f080ab885d3205f28976c9b6bd_default.png" } ] @@ -43792,7 +44685,7 @@ { "id": 15961053, "username": "MK10", - "totalCosts": 820.12, + "totalCosts": 763.56, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15961053/medium/432a1dbe56da10837b16cb865303c70b_default.png" }, { @@ -43866,7 +44759,7 @@ { "id": 15956489, "username": "0xhawki", - "totalCosts": 148.47, + "totalCosts": 141.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956489/medium/4f6011a32fc4ef0b906c52f838b299d1.png" }, { @@ -43895,7 +44788,7 @@ { "id": 15082707, "username": "selcuk45", - "totalCosts": 238.36, + "totalCosts": 142.41, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" }, { @@ -43913,7 +44806,7 @@ { "id": 15396134, "username": "FDNTL", - "totalCosts": 11.11, + "totalCosts": 6.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15396134/medium/12f9c36dce596d73529770adb87db81e.png" }, { @@ -44599,13 +45492,13 @@ { "id": 14131653, "username": "Berke37", - "totalCosts": 582.77, + "totalCosts": 319.16, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14131653/medium/ff295534ec23d3428ba06f99e0fd50bb.jpg" }, { "id": 15082707, "username": "selcuk45", - "totalCosts": 474.7, + "totalCosts": 265.63, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" }, { @@ -45058,12 +45951,6 @@ "totalCosts": 70.7, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" }, - { - "id": 15966669, - "username": "0xSahbaz", - "totalCosts": 51.51, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966669/medium/e56294c61e4c32a43c8735040ea67364_default.png" - }, { "id": 14996861, "username": "kaanmetu", @@ -45305,19 +46192,19 @@ { "id": 15966191, "username": "0xokan", - "totalCosts": 83.83, + "totalCosts": 68.68, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966191/medium/a5d1d36d7404974d591cbcf59f089df9.jpg" }, { "id": 15966289, "username": "cinaryasemin", - "totalCosts": 32.32, + "totalCosts": 22.22, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966289/medium/4db7c2566069e455f22d0027dcd3bb06_default.png" }, { "id": 15964741, "username": "0xberil", - "totalCosts": 6.06, + "totalCosts": 3.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15964741/medium/f8fb148047395cf62c924755cb300f17_default.png" }, { @@ -45448,46 +46335,46 @@ { "fileId": "2876", "contributors": [ - { - "id": 15908487, - "username": "insidetrader", - "totalCosts": 1162.51, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15908487/medium/2dad4c49ee42d9df9633332d432e708e.jpg" - }, { "id": 15082707, "username": "selcuk45", - "totalCosts": 1065.55, + "totalCosts": 985.76, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" }, + { + "id": 15908487, + "username": "insidetrader", + "totalCosts": 692.86, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15908487/medium/2dad4c49ee42d9df9633332d432e708e.jpg" + }, { "id": 15963921, "username": "bicebaris", - "totalCosts": 958.49, + "totalCosts": 220.18, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15963921/medium/5ed57dad6d6d747e47d9378a8006ede1.jpg" }, - { - "id": 15966271, - "username": "zeydrm", - "totalCosts": 512.07, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966271/medium/bbeac0fbc387f8f821f861bc79c625fd.png" - }, { "id": 15956829, "username": "isinasli", - "totalCosts": 341.38, + "totalCosts": 214.12, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956829/medium/e7a64fde9e9413a2ae5add75cba88f09_default.png" }, { "id": 15966007, "username": "0xselimc", - "totalCosts": 284.82, + "totalCosts": 151.5, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966007/medium/6008a158d741536a305a81bd295ab407.jpeg" }, + { + "id": 15966271, + "username": "zeydrm", + "totalCosts": 117.16, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966271/medium/bbeac0fbc387f8f821f861bc79c625fd.png" + }, { "id": 15966289, "username": "cinaryasemin", - "totalCosts": 77.77, + "totalCosts": 25.25, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966289/medium/4db7c2566069e455f22d0027dcd3bb06_default.png" }, { @@ -45870,7 +46757,7 @@ { "id": 14996861, "username": "kaanmetu", - "totalCosts": 132.31, + "totalCosts": 125.24, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14996861/medium/eb0c9870f3f6317e6bfdc4a838e4fd5f.jpg" }, { @@ -45974,7 +46861,7 @@ { "id": 15418650, "username": "kadirchan", - "totalCosts": 404, + "totalCosts": 377.74, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15418650/medium/08ccea1a2b5d659ff3978f98d75921b4.png" }, { @@ -47273,7 +48160,7 @@ { "id": 15082707, "username": "selcuk45", - "totalCosts": 916.07, + "totalCosts": 872.64, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" }, { @@ -47530,19 +48417,19 @@ { "id": 15966669, "username": "0xSahbaz", - "totalCosts": 979.7, + "totalCosts": 900.92, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966669/medium/e56294c61e4c32a43c8735040ea67364_default.png" }, { "id": 15956829, "username": "isinasli", - "totalCosts": 558.53, + "totalCosts": 501.97, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956829/medium/e7a64fde9e9413a2ae5add75cba88f09_default.png" }, { "id": 15966961, "username": "nurkardelens", - "totalCosts": 159.58, + "totalCosts": 113.12, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966961/medium/3ea2ecfa398148225a22a0795ab84a16.jpeg" }, { @@ -47725,13 +48612,13 @@ { "id": 14996861, "username": "kaanmetu", - "totalCosts": 1062.52, + "totalCosts": 1048.38, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14996861/medium/eb0c9870f3f6317e6bfdc4a838e4fd5f.jpg" }, { "id": 15082707, "username": "selcuk45", - "totalCosts": 400.97, + "totalCosts": 346.43, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" }, { @@ -47824,7 +48711,7 @@ { "id": 15966007, "username": "0xselimc", - "totalCosts": 198.97, + "totalCosts": 178.77, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966007/medium/6008a158d741536a305a81bd295ab407.jpeg" }, { @@ -48065,7 +48952,7 @@ { "id": 14610740, "username": "realdeep", - "totalCosts": 788.81, + "totalCosts": 781.74, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14610740/medium/970ca23cc257e03e86efefca66979df2.png" }, { @@ -48077,7 +48964,7 @@ { "id": 15467576, "username": "augur", - "totalCosts": 445.41, + "totalCosts": 438.34, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15467576/medium/471f881427c816c83c952446739e01d8_default.png" }, { @@ -48106,7 +48993,7 @@ { "id": 15964741, "username": "0xberil", - "totalCosts": 545.4, + "totalCosts": 532.27, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15964741/medium/f8fb148047395cf62c924755cb300f17_default.png" } ] @@ -48408,7 +49295,7 @@ { "id": 15082707, "username": "selcuk45", - "totalCosts": 588.83, + "totalCosts": 581.76, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" }, { @@ -48459,7 +49346,7 @@ { "id": 15082707, "username": "selcuk45", - "totalCosts": 320.17, + "totalCosts": 306.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" } ] @@ -48481,7 +49368,7 @@ { "id": 15082707, "username": "selcuk45", - "totalCosts": 733.26, + "totalCosts": 708.01, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" } ] @@ -48538,7 +49425,7 @@ { "id": 15956481, "username": "motunbeg", - "totalCosts": 1849.31, + "totalCosts": 1813.96, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956481/medium/3b62b0094dce063a96ff151b94bd5f5c_default.png" }, { @@ -48595,7 +49482,7 @@ { "id": 15908487, "username": "insidetrader", - "totalCosts": 1059.49, + "totalCosts": 1041.31, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15908487/medium/2dad4c49ee42d9df9633332d432e708e.jpg" }, { @@ -48714,7 +49601,7 @@ { "id": 15963921, "username": "bicebaris", - "totalCosts": 1353.4, + "totalCosts": 1339.26, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15963921/medium/5ed57dad6d6d747e47d9378a8006ede1.jpg" }, { @@ -48842,7 +49729,7 @@ { "id": 15082707, "username": "selcuk45", - "totalCosts": 405.01, + "totalCosts": 358.55, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15082707/medium/1422c6237f35e4d0e31e08554a233472.jpeg" }, { @@ -48871,7 +49758,7 @@ { "id": 15966289, "username": "cinaryasemin", - "totalCosts": 615.09, + "totalCosts": 611.05, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966289/medium/4db7c2566069e455f22d0027dcd3bb06_default.png" }, { @@ -48964,7 +49851,7 @@ { "id": 15300418, "username": "globart", - "totalCosts": 97.97, + "totalCosts": 90.9, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15300418/medium/28c0af8820123db5d3a0cbf7bc72e713.jpeg" }, { @@ -48993,7 +49880,7 @@ { "id": 14949373, "username": "s_yuzva", - "totalCosts": 240.38, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14949373/medium/d4c3f633842279994b178a207831025d.jpg" }, { @@ -49002,12 +49889,6 @@ "totalCosts": 38.38, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15129995/medium/91175a3cc7e81c64ccdb5b22139074e3_default.png" }, - { - "id": 15300418, - "username": "globart", - "totalCosts": 7.07, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15300418/medium/28c0af8820123db5d3a0cbf7bc72e713.jpeg" - }, { "id": 14102529, "username": "Nezila", @@ -49212,7 +50093,7 @@ { "id": 15869379, "username": "viktoriia.mykytiuk02", - "totalCosts": 771.64, + "totalCosts": 728.21, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15869379/medium/674749c0e8809c8963f1f2252ea54f75.png" }, { @@ -49353,7 +50234,7 @@ { "id": 15967233, "username": "jasminesprout", - "totalCosts": 702.96, + "totalCosts": 646.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" }, { @@ -49491,18 +50372,18 @@ { "fileId": "6187", "contributors": [ - { - "id": 15138988, - "username": "zhenya_gidicheva_2000", - "totalCosts": 637.31, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15138988/medium/4c6e8dff2e22e73eca01b7979759bc13_default.png" - }, { "id": 15143910, "username": "vkulpinova6", "totalCosts": 634.28, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15143910/medium/c51e6458948ee8d9c7deb546cbb114a6_default.png" }, + { + "id": 15138988, + "username": "zhenya_gidicheva_2000", + "totalCosts": 582.77, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15138988/medium/4c6e8dff2e22e73eca01b7979759bc13_default.png" + }, { "id": 15300418, "username": "globart", @@ -49586,7 +50467,7 @@ { "id": 15967233, "username": "jasminesprout", - "totalCosts": 562.57, + "totalCosts": 555.5, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" }, { @@ -49655,7 +50536,7 @@ { "id": 15557697, "username": "viktoriia.cherniak", - "totalCosts": 112.11, + "totalCosts": 97.97, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15557697/medium/c05126e00043ef99135d9e733874172e.jpeg" } ] @@ -49683,7 +50564,7 @@ { "id": 15824955, "username": "dmytro.zalatukhin", - "totalCosts": 584.79, + "totalCosts": 575.7, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15824955/medium/517b6400bc31546d1889eb56a4d5f6ee.jpeg" }, { @@ -49695,7 +50576,7 @@ { "id": 15967233, "username": "jasminesprout", - "totalCosts": 46.46, + "totalCosts": 30.3, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" } ] @@ -49751,7 +50632,7 @@ { "id": 15967233, "username": "jasminesprout", - "totalCosts": 186.85, + "totalCosts": 166.65, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967233/medium/b3515c2cf957fd413921b8fc9ccd6960.jpg" }, { @@ -49838,7 +50719,7 @@ { "id": 15804803, "username": "sun_dariia", - "totalCosts": 1389.76, + "totalCosts": 1343.3, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15804803/medium/e753b43a4cf480cd2a37c5795cdb83ba_default.png" }, { @@ -49913,21 +50794,21 @@ { "id": 15967193, "username": "minhkek", - "totalCosts": 702.96, + "totalCosts": 646.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967193/medium/9de1591866a92c526781acfb27509d87.png" }, + { + "id": 16004379, + "username": "tropicaldog17", + "totalCosts": 49.49, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16004379/medium/012ac515fe09fb0e6b08e4d06d299460.jpeg" + }, { "id": 14942589, "username": "Marcus_Aureliee", "totalCosts": 32.32, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14942589/medium/b4c7f32eef26b3a02fb112cd161792fd.jpg" }, - { - "id": 16004379, - "username": "tropicaldog17", - "totalCosts": 17.17, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16004379/medium/012ac515fe09fb0e6b08e4d06d299460.jpeg" - }, { "id": 14943437, "username": "trungan1511", @@ -50065,7 +50946,7 @@ { "id": 15314206, "username": "cuijia", - "totalCosts": 1335.22, + "totalCosts": 1328.15, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15314206/medium/97a1d7142aa4eba6ed8a0212ddada4a8.jpeg" }, { @@ -50073,6 +50954,12 @@ "username": "boyinlee", "totalCosts": 85.85, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201846/medium/3d9d29022427094faeb700ddbd5c078a.jpeg" + }, + { + "id": 15236832, + "username": "Andypsl8", + "totalCosts": 7.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" } ] }, @@ -50102,18 +50989,18 @@ "totalCosts": 347.44, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" }, - { - "id": 15992561, - "username": "Hongyan_Lin", - "totalCosts": 42.42, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15992561/medium/b10820bf840fc1f866510c5e1cb474ba_default.png" - }, { "id": 15386722, "username": "Fred-Porlock", "totalCosts": 38.38, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15386722/medium/d45a14868eeb521fcff121613eaeee3c.png" }, + { + "id": 15992561, + "username": "Hongyan_Lin", + "totalCosts": 35.35, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15992561/medium/b10820bf840fc1f866510c5e1cb474ba_default.png" + }, { "id": 15558917, "username": "imalittlemole", @@ -50170,7 +51057,7 @@ { "id": 14829178, "username": "EffectChen", - "totalCosts": 241.39, + "totalCosts": 222.2, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" }, { @@ -50182,19 +51069,13 @@ { "id": 15314206, "username": "cuijia", - "totalCosts": 35.35, + "totalCosts": 6.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15314206/medium/97a1d7142aa4eba6ed8a0212ddada4a8.jpeg" }, - { - "id": 14553216, - "username": "rielychen", - "totalCosts": 17.17, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14553216/medium/ff7357a18e524ec40facc964cb2d15bc.jpeg" - }, { "id": 15193608, "username": "yuping", - "totalCosts": 14.14, + "totalCosts": 6.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15193608/medium/c3b5342b0fef9f5f51eff5b0c2b93c70.jpg" } ] @@ -50798,6 +51679,12 @@ "totalCosts": 727.2, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15350862/medium/1b276f211570491d54b0578678d35c83.png" }, + { + "id": 15236832, + "username": "Andypsl8", + "totalCosts": 72.72, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" + }, { "id": 15451966, "username": "sgtpepper0000", @@ -50815,12 +51702,6 @@ "username": "iPhantasmLavender", "totalCosts": 45.45, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15373768/medium/fb5b03de96ccb41bad412ed79ca8e690_default.png" - }, - { - "id": 15236832, - "username": "Andypsl8", - "totalCosts": 16.16, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" } ] }, @@ -51167,7 +52048,7 @@ { "id": 15314206, "username": "cuijia", - "totalCosts": 727.2, + "totalCosts": 463.59, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15314206/medium/97a1d7142aa4eba6ed8a0212ddada4a8.jpeg" }, { @@ -51185,15 +52066,9 @@ { "id": 15871701, "username": "maxwellcotto", - "totalCosts": 97.97, + "totalCosts": 57.57, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15871701/medium/211aaa985795803b88e9fa89069ed517.png" }, - { - "id": 15911295, - "username": "Xin_Cheng", - "totalCosts": 51.51, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15911295/medium/8aae130b64f46cd1ea960d085950a560_default.png" - }, { "id": 15357618, "username": "finereganyue", @@ -51217,6 +52092,12 @@ "username": "C91F37", "totalCosts": 2.02, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14958819/medium/969ab87657bee77450e67bd3a62c709e.png" + }, + { + "id": 15911295, + "username": "Xin_Cheng", + "totalCosts": 2.02, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15911295/medium/8aae130b64f46cd1ea960d085950a560_default.png" } ] }, @@ -51303,13 +52184,13 @@ { "id": 15558917, "username": "imalittlemole", - "totalCosts": 1242.3, + "totalCosts": 1230.18, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15558917/medium/3140ea0253adc0e3f3c81b050f3b30b3.png" }, { "id": 15285990, "username": "lxlxw", - "totalCosts": 420.16, + "totalCosts": 400.97, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15285990/medium/4ff4140a6e7161de6f8cf6fe8fd728ca.jpeg" }, { @@ -51529,6 +52410,12 @@ "totalCosts": 34.34, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15438710/medium/453df635dde065170a853b44af4f0d31.png" }, + { + "id": 16072062, + "username": "Aaaa-2040", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16072062/medium/f98dda376a3f55bce2703d631f5be0f6_default.png" + }, { "id": 15242372, "username": "billwang", @@ -52135,7 +53022,7 @@ { "id": 15314206, "username": "cuijia", - "totalCosts": 1021.11, + "totalCosts": 970.61, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15314206/medium/97a1d7142aa4eba6ed8a0212ddada4a8.jpeg" }, { @@ -52361,10 +53248,10 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14692406/medium/cd75843e806da42ffede4f72813bcd9e.JPG" }, { - "id": 14829178, - "username": "EffectChen", - "totalCosts": 25.25, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" + "id": 15236832, + "username": "Andypsl8", + "totalCosts": 40.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" }, { "id": 15193608, @@ -52425,6 +53312,12 @@ "totalCosts": 5.05, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" }, + { + "id": 16044050, + "username": "noahazael", + "totalCosts": 3.03, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16044050/medium/0fd5bce9221527760028e5da84b6d83c.jpeg" + }, { "id": 15515392, "username": "tsjxyz", @@ -52785,7 +53678,7 @@ { "id": 15386722, "username": "Fred-Porlock", - "totalCosts": 136.35, + "totalCosts": 133.32, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15386722/medium/d45a14868eeb521fcff121613eaeee3c.png" }, { @@ -52960,6 +53853,12 @@ "totalCosts": 14.14, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15848653/medium/9506bee8d4f41073b7c7fb3523239878_default.png" }, + { + "id": 16072688, + "username": "lz895779981", + "totalCosts": 1.01, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16072688/medium/b6d67449825fad3ef2cc4b861e83e94e.png" + }, { "id": 15524545, "username": "sheepskin1", @@ -53158,37 +54057,43 @@ { "id": 15558917, "username": "imalittlemole", - "totalCosts": 3969.3, + "totalCosts": 2298.76, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15558917/medium/3140ea0253adc0e3f3c81b050f3b30b3.png" }, { "id": 15633207, "username": "Jojojo999", - "totalCosts": 282.8, + "totalCosts": 176.75, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15633207/medium/41f81fc49a2b8d609f4d860e885e9748_default.png" }, + { + "id": 15236832, + "username": "Andypsl8", + "totalCosts": 165.64, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" + }, { "id": 15657887, "username": "DreamInMorning", - "totalCosts": 130.29, + "totalCosts": 99.99, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15657887/medium/9212535a0a5fb7ec22a9f8a8329dac3b.jpg" }, + { + "id": 16072062, + "username": "Aaaa-2040", + "totalCosts": 14.14, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16072062/medium/f98dda376a3f55bce2703d631f5be0f6_default.png" + }, { "id": 15911295, "username": "Xin_Cheng", - "totalCosts": 94.94, + "totalCosts": 8.08, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15911295/medium/8aae130b64f46cd1ea960d085950a560_default.png" }, - { - "id": 15779979, - "username": "qiliuk", - "totalCosts": 60.6, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15779979/medium/fa50e9730b7826a9077a8f3b0f1fa1d9_default.png" - }, { "id": 15871701, "username": "maxwellcotto", - "totalCosts": 25.25, + "totalCosts": 8.08, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15871701/medium/211aaa985795803b88e9fa89069ed517.png" }, { @@ -53521,18 +54426,18 @@ "totalCosts": 35.35, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15871701/medium/211aaa985795803b88e9fa89069ed517.png" }, - { - "id": 14553216, - "username": "rielychen", - "totalCosts": 22.22, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14553216/medium/ff7357a18e524ec40facc964cb2d15bc.jpeg" - }, { "id": 15408904, "username": "yangbopro", "totalCosts": 22.22, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15408904/medium/58531b7abc96384ddea2de11f9719511.jpeg" }, + { + "id": 14553216, + "username": "rielychen", + "totalCosts": 18.18, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14553216/medium/ff7357a18e524ec40facc964cb2d15bc.jpeg" + }, { "id": 13600595, "username": "nikoace", @@ -53664,19 +54569,19 @@ { "id": 15314206, "username": "cuijia", - "totalCosts": 3728.92, + "totalCosts": 3702.66, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15314206/medium/97a1d7142aa4eba6ed8a0212ddada4a8.jpeg" }, { "id": 15145320, "username": "Unili", - "totalCosts": 397.94, + "totalCosts": 371.68, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15145320/medium/c0fc5adab930aa5467bcf04fcdcbf39f.jpg" }, { "id": 15488874, "username": "xinyou", - "totalCosts": 208.06, + "totalCosts": 181.8, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15488874/medium/e310f16d23162881e84556a4226d0b7a_default.png" }, { @@ -56290,7 +57195,7 @@ { "id": 15871701, "username": "maxwellcotto", - "totalCosts": 546.41, + "totalCosts": 502.98, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15871701/medium/211aaa985795803b88e9fa89069ed517.png" }, { @@ -56302,7 +57207,7 @@ { "id": 15880499, "username": "heshu", - "totalCosts": 218.16, + "totalCosts": 174.73, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15880499/medium/8a59f8d8cd32430b1d42b6844c2c58fe.png" }, { @@ -56323,6 +57228,12 @@ "totalCosts": 59.59, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14553216/medium/ff7357a18e524ec40facc964cb2d15bc.jpeg" }, + { + "id": 15236832, + "username": "Andypsl8", + "totalCosts": 43.43, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" + }, { "id": 15156816, "username": "Fengfeng0157", @@ -56685,7 +57596,7 @@ { "id": 15729281, "username": "Junel", - "totalCosts": 240.38, + "totalCosts": 226.24, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15729281/medium/0be4e0167eb236dea935c2ecf60ab99e_default.png" }, { @@ -56708,7 +57619,7 @@ { "id": 15729281, "username": "Junel", - "totalCosts": 261.59, + "totalCosts": 247.45, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15729281/medium/0be4e0167eb236dea935c2ecf60ab99e_default.png" }, { @@ -56731,7 +57642,7 @@ { "id": 15729281, "username": "Junel", - "totalCosts": 507.02, + "totalCosts": 497.93, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15729281/medium/0be4e0167eb236dea935c2ecf60ab99e_default.png" }, { @@ -56761,9 +57672,15 @@ { "id": 15156816, "username": "Fengfeng0157", - "totalCosts": 46.46, + "totalCosts": 30.3, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15156816/medium/8ce4621e9192a27e8a0ec7e37d9e316e_default.png" }, + { + "id": 15236832, + "username": "Andypsl8", + "totalCosts": 25.25, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" + }, { "id": 15851643, "username": "dar.riall", @@ -56920,9 +57837,15 @@ { "id": 14829178, "username": "EffectChen", - "totalCosts": 316.13, + "totalCosts": 259.57, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" }, + { + "id": 16051140, + "username": "MichaelQubycn", + "totalCosts": 32.32, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/16051140/medium/0edba76345410b615bac4fabf336d4ba.jpeg" + }, { "id": 14953253, "username": "biwenming7", @@ -57222,7 +58145,7 @@ { "id": 14829178, "username": "EffectChen", - "totalCosts": 1361.48, + "totalCosts": 1306.94, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" }, { @@ -57237,6 +58160,12 @@ "totalCosts": 16.16, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14553216/medium/ff7357a18e524ec40facc964cb2d15bc.jpeg" }, + { + "id": 15236832, + "username": "Andypsl8", + "totalCosts": 8.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" + }, { "id": 15680993, "username": "nzinmymind", @@ -57333,7 +58262,7 @@ { "id": 14829178, "username": "EffectChen", - "totalCosts": 335.32, + "totalCosts": 317.14, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" }, { @@ -57384,6 +58313,12 @@ "totalCosts": 27.27, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15101527/medium/d5363de72b7fd3067a430db7ac9ad8ab.jpeg" }, + { + "id": 15236832, + "username": "Andypsl8", + "totalCosts": 27.27, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" + }, { "id": 15635039, "username": "farmerlesheng", @@ -57407,12 +58342,6 @@ "username": "Fengfeng0157", "totalCosts": 7.07, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15156816/medium/8ce4621e9192a27e8a0ec7e37d9e316e_default.png" - }, - { - "id": 15965647, - "username": "Shitness", - "totalCosts": 2.02, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15965647/medium/96faf61b3b59c29adf03dca21e03582c.jpg" } ] }, @@ -57540,7 +58469,7 @@ { "id": 14829178, "username": "EffectChen", - "totalCosts": 419.15, + "totalCosts": 408.04, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" }, { @@ -57552,7 +58481,7 @@ { "id": 15236832, "username": "Andypsl8", - "totalCosts": 139.38, + "totalCosts": 149.48, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" }, { @@ -57831,7 +58760,7 @@ { "id": 15657887, "username": "DreamInMorning", - "totalCosts": 2966.37, + "totalCosts": 2962.33, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15657887/medium/9212535a0a5fb7ec22a9f8a8329dac3b.jpg" }, { @@ -57970,7 +58899,7 @@ { "id": 15156816, "username": "Fengfeng0157", - "totalCosts": 588.83, + "totalCosts": 581.76, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15156816/medium/8ce4621e9192a27e8a0ec7e37d9e316e_default.png" }, { @@ -58014,6 +58943,12 @@ "username": "Dionyse", "totalCosts": 10.1, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15751385/medium/f60b8dcda0d73383df200b62099513f2.png" + }, + { + "id": 15236832, + "username": "Andypsl8", + "totalCosts": 7.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15236832/medium/a1111d9e0a5487395f4a0534038c2df8.png" } ] }, @@ -58121,7 +59056,7 @@ { "id": 14829178, "username": "EffectChen", - "totalCosts": 754.47, + "totalCosts": 719.12, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14829178/medium/39ff70d1cbcdbad8e9056cb4aa4ee789.jpg" }, { @@ -58250,7 +59185,7 @@ { "id": 15911295, "username": "Xin_Cheng", - "totalCosts": 427.23, + "totalCosts": 409.05, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15911295/medium/8aae130b64f46cd1ea960d085950a560_default.png" }, { @@ -58424,7 +59359,7 @@ { "id": 15871701, "username": "maxwellcotto", - "totalCosts": 1062.52, + "totalCosts": 1048.38, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15871701/medium/211aaa985795803b88e9fa89069ed517.png" }, { @@ -58436,13 +59371,13 @@ { "id": 15918181, "username": "QuinnHou", - "totalCosts": 539.34, + "totalCosts": 525.2, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15918181/medium/17e80957f6d7eef4f215c6cc41951dae_default.png" }, { "id": 14467908, "username": "BarnettWong", - "totalCosts": 369.66, + "totalCosts": 355.52, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14467908/medium/d684efc33954be7ca3e82a82d8d6478e.jpeg" }, { @@ -58842,7 +59777,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 516.11, + "totalCosts": 459.55, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" }, { @@ -58953,7 +59888,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 241.39, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" }, { @@ -59277,7 +60212,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 666.6, + "totalCosts": 622.16, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" }, { @@ -59380,7 +60315,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 2030.1, + "totalCosts": 1983.64, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" }, { @@ -59397,13 +60332,13 @@ { "id": 15201846, "username": "boyinlee", - "totalCosts": 1255.43, + "totalCosts": 1248.36, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15201846/medium/3d9d29022427094faeb700ddbd5c078a.jpeg" }, { "id": 15550507, "username": "Jimbo_L", - "totalCosts": 726.19, + "totalCosts": 719.12, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15550507/medium/2aaa6dc51fbb57d36b6b8106d06c85fe.jpeg" }, { @@ -59432,7 +60367,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 545.4, + "totalCosts": 532.27, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" } ] @@ -59478,7 +60413,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 161.6, + "totalCosts": 154.53, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" }, { @@ -59525,26 +60460,26 @@ { "id": 14837806, "username": "yisosd", - "totalCosts": 240.38, + "totalCosts": 221.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14837806/medium/a024dfd35587ad67921934a9d6c6410e.png" }, { "id": 15222542, "username": "Jcys", - "totalCosts": 94.94, + "totalCosts": 86.86, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15222542/medium/c4b538278714558f9a5430c0cef783de.JPG" }, - { - "id": 15399006, - "username": "Xeift", - "totalCosts": 85.85, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" - }, { "id": 14817838, "username": "Tadashi1024", "totalCosts": 38.38, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14817838/medium/e8bbda9fb55464b5d13482f3f1bef0d4.jpg" + }, + { + "id": 15399006, + "username": "Xeift", + "totalCosts": 12.12, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" } ] }, @@ -59675,7 +60610,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 1013.03, + "totalCosts": 969.6, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" }, { @@ -59787,7 +60722,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 13.13, + "totalCosts": 6.06, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" } ] @@ -59838,7 +60773,7 @@ { "id": 15806537, "username": "Tyou", - "totalCosts": 320.17, + "totalCosts": 306.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15806537/medium/bcd829ea4cae49b3ec63925ecd75c126.jpeg" } ] @@ -59872,7 +60807,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 425.21, + "totalCosts": 399.96, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" }, { @@ -59912,21 +60847,21 @@ { "id": 15952201, "username": "Eniale", - "totalCosts": 900.92, + "totalCosts": 865.57, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15952201/medium/70ddfc80063bd4b296bc3997bd5fd808_default.png" }, - { - "id": 14661950, - "username": "kenforever", - "totalCosts": 66.66, - "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14661950/medium/d12c67f954a833d343013ee215f59335.jpg" - }, { "id": 15954241, "username": "FoodChain1028", "totalCosts": 54.54, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954241/medium/a436b3580fe56bf2b5ccab541ae29695.png" }, + { + "id": 14661950, + "username": "kenforever", + "totalCosts": 45.45, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/14661950/medium/d12c67f954a833d343013ee215f59335.jpg" + }, { "id": 15965405, "username": "LaraWeb3", @@ -60040,7 +60975,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 848.4, + "totalCosts": 830.22, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" }, { @@ -60200,7 +61135,7 @@ { "id": 15399006, "username": "Xeift", - "totalCosts": 2035.15, + "totalCosts": 2021.01, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15399006/medium/4b4638642287027a89529ecb11074e44.png" } ] @@ -60251,13 +61186,13 @@ { "id": 15242372, "username": "billwang", - "totalCosts": 643.37, + "totalCosts": 588.83, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15242372/medium/23bf740e9d096ee0b3de7b9f5528c8c9.JPG" }, { "id": 15174096, "username": "13u22", - "totalCosts": 415.11, + "totalCosts": 401.98, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15174096/medium/2c7598abbcf6dc776b41f9443584bf8f.jpeg" }, { @@ -60327,7 +61262,7 @@ { "id": 15957819, "username": "ming30650", - "totalCosts": 668.62, + "totalCosts": 664.58, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15957819/medium/2baae61ca579f0a04efd89cd210f2c6a_default.png" }, { @@ -60392,13 +61327,13 @@ { "id": 15956433, "username": "0xkal", - "totalCosts": 869.61, + "totalCosts": 813.05, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15956433/medium/b911054c60a1c43f6c2c3526df9f632c_default.png" }, { "id": 15954079, "username": "_Manax_", - "totalCosts": 213.11, + "totalCosts": 190.89, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15954079/medium/a1d18eea9ff3663836816373ecaf90e7.jpeg" } ] @@ -60437,7 +61372,7 @@ { "id": 15837955, "username": "Magdalena_", - "totalCosts": 702.96, + "totalCosts": 646.4, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" }, { @@ -60465,6 +61400,139 @@ "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15449340/medium/e06fe4f42951e0b9b09033e4ae178b4e_default.png" } ] + }, + { + "fileId": "7316", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 1653.37, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + }, + { + "id": 15468038, + "username": "JohnAcc", + "totalCosts": 531.26, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15468038/medium/bda4b214be5c98f685c5e1d4d752aa6f.png" + } + ] + }, + { + "fileId": "5561", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 3100.7, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + }, + { + "id": 15100235, + "username": "mon4short", + "totalCosts": 10.1, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15100235/medium/b9d9032c2f8ed27061c6b7a4f997946b.png" + } + ] + }, + { + "fileId": "7461", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 1670.54, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + } + ] + }, + { + "fileId": "8035", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 1194.83, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + } + ] + }, + { + "fileId": "6440", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 718.11, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + } + ] + }, + { + "fileId": "7314", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 1333.2, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + } + ] + }, + { + "fileId": "7919", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 1321.08, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + } + ] + }, + { + "fileId": "6518", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 843.35, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + } + ] + }, + { + "fileId": "6524", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 957.48, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + } + ] + }, + { + "fileId": "6526", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 2071.51, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + } + ] + }, + { + "fileId": "7591", + "contributors": [ + { + "id": 15837955, + "username": "Magdalena_", + "totalCosts": 1982.63, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15837955/medium/8c0a833a266fd86e17f6e6ce9592278d.jpg" + } + ] } ] }, @@ -60477,7 +61545,7 @@ { "id": 15952609, "username": "mk_1023", - "totalCosts": 1101.91, + "totalCosts": 1023.13, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15952609/medium/2cefc34ddb056ff1a484e60803e24088_default.png" } ] @@ -60504,7 +61572,7 @@ { "id": 15948377, "username": "Isaachavertz", - "totalCosts": 934.25, + "totalCosts": 927.18, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15948377/medium/b55b9374fd682ba0148fe93427edeb2a.jpg" } ] @@ -60537,7 +61605,7 @@ { "id": 15948377, "username": "Isaachavertz", - "totalCosts": 320.17, + "totalCosts": 306.03, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15948377/medium/b55b9374fd682ba0148fe93427edeb2a.jpg" } ] @@ -60559,7 +61627,7 @@ { "id": 15948377, "username": "Isaachavertz", - "totalCosts": 757.5, + "totalCosts": 732.25, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15948377/medium/b55b9374fd682ba0148fe93427edeb2a.jpg" } ] @@ -60581,7 +61649,7 @@ { "id": 15948377, "username": "Isaachavertz", - "totalCosts": 996.87, + "totalCosts": 918.09, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15948377/medium/b55b9374fd682ba0148fe93427edeb2a.jpg" }, { @@ -60603,7 +61671,7 @@ { "id": 15880343, "username": "hangleang", - "totalCosts": 834.26, + "totalCosts": 777.7, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15880343/medium/4b6df183916557610b51230915a5f9eb_default.png" }, { @@ -60636,13 +61704,109 @@ { "id": 15967185, "username": "waseemnaik", - "totalCosts": 736.29, + "totalCosts": 726.19, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967185/medium/8544c16b7d24e687e63334d42c70d6dd.png" }, { "id": 15967847, "username": "luniacllama", - "totalCosts": 387.84, + "totalCosts": 319.16, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967847/medium/76cc99da9c9731bac54edf64508ac14f.jpeg" + } + ] + }, + { + "fileId": "7316", + "contributors": [ + { + "id": 15967185, + "username": "waseemnaik", + "totalCosts": 2016.97, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967185/medium/8544c16b7d24e687e63334d42c70d6dd.png" + }, + { + "id": 15967847, + "username": "luniacllama", + "totalCosts": 166.65, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967847/medium/76cc99da9c9731bac54edf64508ac14f.jpeg" + } + ] + }, + { + "fileId": "5561", + "contributors": [ + { + "id": 15967185, + "username": "waseemnaik", + "totalCosts": 3109.79, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967185/medium/8544c16b7d24e687e63334d42c70d6dd.png" + } + ] + }, + { + "fileId": "7461", + "contributors": [ + { + "id": 15967847, + "username": "luniacllama", + "totalCosts": 1125.14, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967847/medium/76cc99da9c9731bac54edf64508ac14f.jpeg" + }, + { + "id": 15967185, + "username": "waseemnaik", + "totalCosts": 545.4, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967185/medium/8544c16b7d24e687e63334d42c70d6dd.png" + } + ] + }, + { + "fileId": "8035", + "contributors": [ + { + "id": 15967185, + "username": "waseemnaik", + "totalCosts": 613.07, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967185/medium/8544c16b7d24e687e63334d42c70d6dd.png" + }, + { + "id": 15967847, + "username": "luniacllama", + "totalCosts": 581.76, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967847/medium/76cc99da9c9731bac54edf64508ac14f.jpeg" + } + ] + }, + { + "fileId": "6440", + "contributors": [ + { + "id": 15967185, + "username": "waseemnaik", + "totalCosts": 469.65, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967185/medium/8544c16b7d24e687e63334d42c70d6dd.png" + }, + { + "id": 15967847, + "username": "luniacllama", + "totalCosts": 248.46, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967847/medium/76cc99da9c9731bac54edf64508ac14f.jpeg" + } + ] + }, + { + "fileId": "7314", + "contributors": [ + { + "id": 15967185, + "username": "waseemnaik", + "totalCosts": 902.94, + "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967185/medium/8544c16b7d24e687e63334d42c70d6dd.png" + }, + { + "id": 15967847, + "username": "luniacllama", + "totalCosts": 430.26, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967847/medium/76cc99da9c9731bac54edf64508ac14f.jpeg" } ] @@ -60702,7 +61866,7 @@ { "id": 15962007, "username": "omkarkamale001", - "totalCosts": 1120.09, + "totalCosts": 1041.31, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15962007/medium/9019d6a347ebffa6f6464e00132355aa.jpeg" } ] @@ -60751,7 +61915,7 @@ { "id": 15966817, "username": "afiqz", - "totalCosts": 1020.1, + "totalCosts": 963.54, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15966817/medium/c84993de3bc9bf0b9eb7882012279118_default.png" }, { @@ -60802,7 +61966,7 @@ { "id": 15949885, "username": "ikpongetimfon", - "totalCosts": 473.69, + "totalCosts": 417.13, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15949885/medium/2bd51be5552240f36b7fc65871d64446.png" } ] @@ -60835,7 +61999,7 @@ { "id": 15885247, "username": "ct1aic.eth", - "totalCosts": 741.34, + "totalCosts": 684.78, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15885247/medium/cf22113f9226047f8f9868e4774bc4c3.png" }, { @@ -60976,7 +62140,7 @@ { "id": 15967793, "username": "TanjaPale", - "totalCosts": 1112.01, + "totalCosts": 1033.23, "avatarUrl": "https://crowdin-static.downloads.crowdin.com/avatar/15967793/medium/7a23945a1b7ec0fd21d81d4820ba115f_default.png" }, { diff --git a/src/data/staking-products.json b/src/data/staking-products.json index a1b009cc854..6351bea26b2 100644 --- a/src/data/staking-products.json +++ b/src/data/staking-products.json @@ -436,6 +436,49 @@ "eventName": "Clicked stakefish go to link" } }, + { + "name": "P2P.org", + "imageName": "P2P", + "hue": 227, + "launchDate": "2023-01-10", + "url": "https://p2p.org/networks/ethereum/", + "audits": [ + { + "name": "Mixbytes (v1)", + "url": "https://github.com/mixbytes/audits_public/blob/79cd8153bfb6098227b43dfba8d061881a94a248/P2P.org/ETH2%20Depositor%20%26%20ETH%20Staking%20Fee%20Distributor%20(v.1)/P2P.org_ETH2%20Depositor%20%26%20ETH%20Staking%20Fee%20Distributor%20Smart%20Contracts%20Audit%20Report.pdf" + }, + { + "name": "Mixbytes (v2)", + "url": "https://github.com/mixbytes/audits_public/blob/79cd8153bfb6098227b43dfba8d061881a94a248/P2P.org/ETH2%20Depositor%20%26%20ETH%20Staking%20Fee%20Distributor%20(v.2)/ETH2%20Depositor%20%26%20ETH%20Staking%20Fee%20Distributor%20Security%20Audit%20Report%20(v.2).pdf" + } + ], + "minEth": 32, + "additionalStake": null, + "additionalStakeUnit": null, + "monthlyFee": 5, + "monthlyFeeUnit": "%", + "isFoss": false, + "hasBugBounty": false, + "isTrustless": true, + "isPermissionless": true, + "pctMajorityExecutionClient": 50, + "pctMajorityConsensusClient": 30, + "isSelfCustody": false, + "platforms": ["Browser"], + "ui": ["GUI"], + "socials": { + "linkedin": "https://www.linkedin.com/company/p2p-org/", + "twitter": "https://twitter.com/P2Pvalidator", + "telegram": "https://t.me/P2Pstaking", + "github": "https://github.com/p2p-org", + "youtube": "https://www.youtube.com/channel/UC9pRzyJx5YrUNfmg1vLZ-bQ/" + }, + "matomo": { + "eventCategory": "StakingProductCard", + "eventAction": "Clicked", + "eventName": "Clicked P2P (saas) go to link" + } + }, { "name": "Kiln", "imageName": "Kiln", diff --git a/src/intl/am/page-wallets-find-wallet.json b/src/intl/am/page-wallets-find-wallet.json index 4044c9c8072..f791806e528 100644 --- a/src/intl/am/page-wallets-find-wallet.json +++ b/src/intl/am/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "የባህርያት ማጣሪያዎች", "page-find-wallet-footnote-1": "በዚህ ገጽ ላይ የተዘረዘሩ ቦርሳዎች ይፋዊ ማረጋገጫዎች አይደሉም፣ እና እዚህ የቀረቡት ለመረጃ አገልግሎት ብቻ ነው።", "page-find-wallet-footnote-2": "የእነሱ መግለጫዎች በራሳቸው የቦርሳ ፕሮጀክቶች ቀርበዋል፡፡", - "page-find-wallet-footnote-3": "በእኛ ዝርዝር ፖሊሲ ውስጥ ባሉ መስፈርቶች መሰረት ምርቶችን ወደዚህ ገጽ እንጨምራለን። ቦርሳ እንድንጨምር ከፈለጉ በGitHub ላይ ችግሮን ያንሱ።", + "page-find-wallet-footnote-3": "በእኛ ዝርዝር ፖሊሲ ውስጥ ባሉ መስፈርቶች መሰረት ምርቶችን ወደዚህ ገጽ እንጨምራለን። ቦርሳ እንድንጨምር ከፈለጉ በGitHub ላይ ችግሮን ያንሱ።", "page-find-wallet-mobile": "ሞባይል", "page-find-wallet-mobile-desc": "የሞባይል መተግበሪያ ያላቸው ቦርሳዎች", "page-find-wallet-desktop": "ዴስክቶፕ", diff --git a/src/intl/ar/page-wallets-find-wallet.json b/src/intl/ar/page-wallets-find-wallet.json index 57b645d04a7..6e67f425aab 100644 --- a/src/intl/ar/page-wallets-find-wallet.json +++ b/src/intl/ar/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "عوامل تصفية الميزات", "page-find-wallet-footnote-1": "المحافظ المدرجة في هذه الصفحة ليست مصادقات رسمية، ويتم توفيرها للأغراض الإعلامية فقط.", "page-find-wallet-footnote-2": "تم توفير أوصافها من خلال مشاريع المحفظة نفسها.", - "page-find-wallet-footnote-3": "نحن نضيف منتجات إلى هذه الصفحة استنادًا إلى معايير في سياسة الإدراج لدينا. إذا كنت تريد منا إضافة محفظة، قم بطرح استفسار في GitHub.", + "page-find-wallet-footnote-3": "نحن نضيف منتجات إلى هذه الصفحة استنادًا إلى معايير في سياسة الإدراج لدينا. إذا كنت تريد منا إضافة محفظة، قم بطرح استفسار في GitHub.", "page-find-wallet-mobile": "جوال", "page-find-wallet-mobile-desc": "محافظ مع تطبيقات الجوال", "page-find-wallet-desktop": "سطح المكتب", diff --git a/src/intl/az/page-wallets-find-wallet.json b/src/intl/az/page-wallets-find-wallet.json index 74523a554e2..1c307c484ea 100644 --- a/src/intl/az/page-wallets-find-wallet.json +++ b/src/intl/az/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Xüsusiyyət filtrləri", "page-find-wallet-footnote-1": "Bu səhifədə qeyd olunan pulqabıları rəsmi olaraq təsdiqlənməyib və yalnız məlumat məqsədləri üçün verilir.", "page-find-wallet-footnote-2": "Onların təsvirləri pulqabı layihələrinin özləri tərəfindən verilmişdir.", - "page-find-wallet-footnote-3": "Məhsullarımızı bu səhifəmizdəki kriteriyalara əsasən əlavə ediriksiyahı siyasətipulqabı əlavə etməyimizi istəyirsinizsə,GitHub-da problemdən şikayət edin.", + "page-find-wallet-footnote-3": "Məhsullarımızı bu səhifəmizdəki kriteriyalara əsasən əlavə ediriksiyahı siyasətipulqabı əlavə etməyimizi istəyirsinizsə,GitHub-da problemdən şikayət edin.", "page-find-wallet-mobile": "Mobil", "page-find-wallet-mobile-desc": "Mobil tətbiqləri olan pulqabılar", "page-find-wallet-desktop": "Masaüstü kompüter", diff --git a/src/intl/be/page-wallets-find-wallet.json b/src/intl/be/page-wallets-find-wallet.json index ae5adef296d..ef4489b5420 100644 --- a/src/intl/be/page-wallets-find-wallet.json +++ b/src/intl/be/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Фільтры функцый", "page-find-wallet-footnote-1": "Гаманцы, пералічаныя на гэтай старонцы, не з'яўляюцца афіцыйнымі рэкамендацыямі і прадстаўляюцца толькі ў інфармацыйных мэтах.", "page-find-wallet-footnote-2": "Іх апісанне было прадстаўлена самімі праектамі гаманцаў.", - "page-find-wallet-footnote-3": "Мы дадаем прадукты на гэтую старонку на аснове крытэрыяў нашай палітыкі лістынга. Калі вы жадаеце, каб мы дадалі гаманец, Падніміце праблему ў GitHub.", + "page-find-wallet-footnote-3": "Мы дадаем прадукты на гэтую старонку на аснове крытэрыяў нашай палітыкі лістынга. Калі вы жадаеце, каб мы дадалі гаманец, Падніміце праблему ў GitHub.", "page-find-wallet-mobile": "Мабільны", "page-find-wallet-mobile-desc": "Гаманцы з мабільнымі дадаткамі", "page-find-wallet-desktop": "На камп'ютары", diff --git a/src/intl/bg/page-wallets-find-wallet.json b/src/intl/bg/page-wallets-find-wallet.json index 6b7295fc085..1db3097eddc 100644 --- a/src/intl/bg/page-wallets-find-wallet.json +++ b/src/intl/bg/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Филтри на функции", "page-find-wallet-footnote-1": "Портфейлите, изброени на тази страница, не са официално одобрение и са предоставени само с информационни цели.", "page-find-wallet-footnote-2": "Техните описания са предоставени от самите проекти на портфейлът.", - "page-find-wallet-footnote-3": "Ние добавяме продукти на тази страница на базата на критерия на нашата политика за списъците . Ако искате да добавим портфейл направете запитване в GitHub.", + "page-find-wallet-footnote-3": "Ние добавяме продукти на тази страница на базата на критерия на нашата политика за списъците . Ако искате да добавим портфейл направете запитване в GitHub.", "page-find-wallet-mobile": "Мобилен", "page-find-wallet-mobile-desc": "Портфейли с мобилни приложения", "page-find-wallet-desktop": "Десктоп", diff --git a/src/intl/bn/page-wallets-find-wallet.json b/src/intl/bn/page-wallets-find-wallet.json index 92afc1f4380..81dd7fdd069 100644 --- a/src/intl/bn/page-wallets-find-wallet.json +++ b/src/intl/bn/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "ফিচার ফিল্টার", "page-find-wallet-footnote-1": "এই পৃষ্ঠায় তালিকাভুক্ত ওয়ালেটগুলো অফিসিয়াল অনুমোদিত নয় এবং শুধুমাত্র তথ্যের উদ্দেশ্যে প্রদান হয়েছে।", "page-find-wallet-footnote-2": "তাদের বর্ণনা ওয়ালেট প্রকল্পগুলোর নিজেদের দ্বারা প্রদান করা হয়েছে।", - "page-find-wallet-footnote-3": "আমরা আমাদের তালিকা নীতি এর মানদন্ডের উপর ভিত্তি করে এই পৃষ্ঠায় পণ্য যোগ করি। আপনি যদি আমাদেরকে একটি ওয়ালেট যোগ করতে অনুরোধ করতে চান, তাহলে GitHub এ একটি ইস্যু উত্থাপন করুন।", + "page-find-wallet-footnote-3": "আমরা আমাদের তালিকা নীতি এর মানদন্ডের উপর ভিত্তি করে এই পৃষ্ঠায় পণ্য যোগ করি। আপনি যদি আমাদেরকে একটি ওয়ালেট যোগ করতে অনুরোধ করতে চান, তাহলে GitHub এ একটি ইস্যু উত্থাপন করুন।", "page-find-wallet-mobile": "মোবাইল", "page-find-wallet-mobile-desc": "মোবাইল অ্যাপস সহ ওয়ালেট", "page-find-wallet-desktop": "ডেস্কটপ", diff --git a/src/intl/bs/page-wallets-find-wallet.json b/src/intl/bs/page-wallets-find-wallet.json index 85e7d5db5bb..03b6751b9bf 100644 --- a/src/intl/bs/page-wallets-find-wallet.json +++ b/src/intl/bs/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filteri karakteristika", "page-find-wallet-footnote-1": "Novčanici navedeni na ovoj stranici nisu zvanične preporuke i služe samo u informativne svrhe.", "page-find-wallet-footnote-2": "Sami projekti novčanika navode opise.", - "page-find-wallet-footnote-3": "Dodajemo proizvode na ovu stranicu na osnovu kriterija naših pravila za navođenje. Ako želite da dodamo novčanik, obratite se GitHubu.", + "page-find-wallet-footnote-3": "Dodajemo proizvode na ovu stranicu na osnovu kriterija naših pravila za navođenje. Ako želite da dodamo novčanik, obratite se GitHubu.", "page-find-wallet-mobile": "Mobilni", "page-find-wallet-mobile-desc": "Novčanici s mobilnim aplikacijama", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/cs/page-wallets-find-wallet.json b/src/intl/cs/page-wallets-find-wallet.json index 5c1029278f6..15de53c4c91 100644 --- a/src/intl/cs/page-wallets-find-wallet.json +++ b/src/intl/cs/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filtry funkcí", "page-find-wallet-footnote-1": "Peněženky uvedené na této stránce nejsou oficiálním doporučením a jsou poskytovány pouze pro informační účely.", "page-find-wallet-footnote-2": "Jejich popisy byly poskytnuty samotnými tvůrci peněženek.", - "page-find-wallet-footnote-3": "Na tuto stránku přidáváme produkty na základě kritérií v našich pravidlech. Pokud byste chtěli přidat peněženku, navrhněte podnět na GitHubu.", + "page-find-wallet-footnote-3": "Na tuto stránku přidáváme produkty na základě kritérií v našich pravidlech. Pokud byste chtěli přidat peněženku, navrhněte podnět na GitHubu.", "page-find-wallet-mobile": "Mobilní", "page-find-wallet-mobile-desc": "Peněženky s mobilními aplikacemi", "page-find-wallet-desktop": "Desktopová", diff --git a/src/intl/de/page-wallets-find-wallet.json b/src/intl/de/page-wallets-find-wallet.json index 263c34c8092..0bf8f3a3838 100644 --- a/src/intl/de/page-wallets-find-wallet.json +++ b/src/intl/de/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Funktionsfilter", "page-find-wallet-footnote-1": "Die auf dieser Seite aufgeführten Wallets sind keine offiziellen Empfehlungen und dienen ausschließlich zu Informationszwecken.", "page-find-wallet-footnote-2": "Die Beschreibungen wurden von den Wallet-Projekten selbst bereitgestellt.", - "page-find-wallet-footnote-3": "Wir fügen dieser Seite Produkte basierend auf den Kriterien unserer Auflistungsrichtlinie hinzu. Wenn Sie möchten, dass wir eine Wallet hinzufügen, melden Sie ein Problem in GitHub.", + "page-find-wallet-footnote-3": "Wir fügen dieser Seite Produkte basierend auf den Kriterien unserer Auflistungsrichtlinie hinzu. Wenn Sie möchten, dass wir eine Wallet hinzufügen, melden Sie ein Problem in GitHub.", "page-find-wallet-mobile": "Mobil", "page-find-wallet-mobile-desc": "Wallets mit mobilen Apps", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/el/page-wallets-find-wallet.json b/src/intl/el/page-wallets-find-wallet.json index d3ad18e8f1a..33e4f82ea6e 100644 --- a/src/intl/el/page-wallets-find-wallet.json +++ b/src/intl/el/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Φίλτρα χαρακτηριστικών", "page-find-wallet-footnote-1": "Τα πορτοφόλια που παρατίθενται σε αυτή τη σελίδα δεν έχουν επίσημη έγκριση και παρέχονται μόνο για ενημερωτικούς σκοπούς.", "page-find-wallet-footnote-2": "Οι περιγραφές τους έχουν παρασχεθεί από τις πληροφορίες πορτοφολιού.", - "page-find-wallet-footnote-3": "Προσθέτουμε προϊόντα σε αυτή τη σελίδα με βάση κριτήρια στην πολιτική καταχώρησης. Αν θέλετε να προσθέσουμε ένα πορτοφόλι, δημιουργήστε ένα ζήτημα στο GitHub.", + "page-find-wallet-footnote-3": "Προσθέτουμε προϊόντα σε αυτή τη σελίδα με βάση κριτήρια στην πολιτική καταχώρησης. Αν θέλετε να προσθέσουμε ένα πορτοφόλι, δημιουργήστε ένα ζήτημα στο GitHub.", "page-find-wallet-mobile": "Κινητής συσκευής", "page-find-wallet-mobile-desc": "Πορτοφόλια με εφαρμογή για κινητά", "page-find-wallet-desktop": "Σταθερού υπολογιστή", diff --git a/src/intl/en/page-wallets-find-wallet.json b/src/intl/en/page-wallets-find-wallet.json index 1cb829ab018..99a6572d6ce 100644 --- a/src/intl/en/page-wallets-find-wallet.json +++ b/src/intl/en/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Feature filters", "page-find-wallet-footnote-1": "Wallets listed on this page are not official endorsements, and are provided for informational purposes only.", "page-find-wallet-footnote-2": "Their descriptions have been provided by the wallet projects themselves.", - "page-find-wallet-footnote-3": "We add products to this page based on criteria in our listing policy. If you'd like us to add a wallet, raise an issue in GitHub.", + "page-find-wallet-footnote-3": "We add products to this page based on criteria in our listing policy. If you'd like us to add a wallet, raise an issue in GitHub.", "page-find-wallet-mobile": "Mobile", "page-find-wallet-mobile-desc": "Wallets with mobile apps", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/es/page-wallets-find-wallet.json b/src/intl/es/page-wallets-find-wallet.json index e46869c3e19..f2558b76fe1 100644 --- a/src/intl/es/page-wallets-find-wallet.json +++ b/src/intl/es/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filtros de características", "page-find-wallet-footnote-1": "Las carteras enumeradas en esta página no constituyen una recomendación oficial y solo se facilitan con fines informativos.", "page-find-wallet-footnote-2": "Los propios proyectos de carteras han facilitado su descripción.", - "page-find-wallet-footnote-3": "Añadimos productos a esta página en función de los criterios de nuestra política de listado. Si quiere que añadamos una cartera, cree una incidencia en GitHub.", + "page-find-wallet-footnote-3": "Añadimos productos a esta página en función de los criterios de nuestra política de listado. Si quiere que añadamos una cartera, cree una incidencia en GitHub.", "page-find-wallet-mobile": "Versión para móvil", "page-find-wallet-mobile-desc": "Wallets con aplicaciones mobiles", "page-find-wallet-desktop": "Versión para escritorio", diff --git a/src/intl/fa/page-wallets-find-wallet.json b/src/intl/fa/page-wallets-find-wallet.json index a9546eacf30..865142d224f 100644 --- a/src/intl/fa/page-wallets-find-wallet.json +++ b/src/intl/fa/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "فیلتر های ویژگی‌ها", "page-find-wallet-footnote-1": "کیف پول‌هایی که در این صفحه لیست شده‌اند مورد تایید رسمی نیستند و صرفا به منظور اطلاعات‌دهی هستند.", "page-find-wallet-footnote-2": "توضیحات آنها توسط خود پروژه‌های این کیف پول‌ها ارائه شده‌اند.", - "page-find-wallet-footnote-3": "ما بر اساس شاخص‌هایی که در سیاست‌گذاری لیستینگ آورده شده است، محصولات را در این صفحه اضافه می‌کنیم. اگر مایل هستید تا کیف پولی را اضافه کنیم، یک موضوع در گیت‌هاب باز کنید.", + "page-find-wallet-footnote-3": "ما بر اساس شاخص‌هایی که در سیاست‌گذاری لیستینگ آورده شده است، محصولات را در این صفحه اضافه می‌کنیم. اگر مایل هستید تا کیف پولی را اضافه کنیم، یک موضوع در گیت‌هاب باز کنید.", "page-find-wallet-mobile": "تلفن همراه", "page-find-wallet-mobile-desc": "کیف پول‌هایی با برنامه‌‌ تلفن همراه", "page-find-wallet-desktop": "کامپیوتر", diff --git a/src/intl/fi/page-wallets-find-wallet.json b/src/intl/fi/page-wallets-find-wallet.json index 2c682f696c6..71273e95c3d 100644 --- a/src/intl/fi/page-wallets-find-wallet.json +++ b/src/intl/fi/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Ominaisuuden suodattimet", "page-find-wallet-footnote-1": "Tällä sivulla listatut lompakot eivät ole virallisia suosituksia vaan niistä jaetaan tietoa.", "page-find-wallet-footnote-2": " Lompakko-projektien oma hallinto on tuottanut kuvaukset itsenäisesti.", - "page-find-wallet-footnote-3": "Lisäämme tuotteita tälle sivulle oman listaus politiikkamme perusteella. Jos haluat meidän lisäävän lompakon, kirjaa pyyntö GitHubiin.", + "page-find-wallet-footnote-3": "Lisäämme tuotteita tälle sivulle oman listaus politiikkamme perusteella. Jos haluat meidän lisäävän lompakon, kirjaa pyyntö GitHubiin.", "page-find-wallet-mobile": "Mobiili", "page-find-wallet-mobile-desc": "Lompakot, joilla myös mobiilisovellus", "page-find-wallet-desktop": "Työpöytäkone", diff --git a/src/intl/fil/page-wallets-find-wallet.json b/src/intl/fil/page-wallets-find-wallet.json index 585c433e672..919b7264163 100644 --- a/src/intl/fil/page-wallets-find-wallet.json +++ b/src/intl/fil/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Mga filter ng feature", "page-find-wallet-footnote-1": "Hindi mga opisyal na endorsement ang mga wallet na nakalista sa page na ito, at ibinibigay ang mga ito para sa pagbibigay lang ng kaalaman.", "page-find-wallet-footnote-2": "Ibinigay ang mga paglalarawan ng mga ito ng mga proyekto ng wallet mismo.", - "page-find-wallet-footnote-3": "Nagdaragdag kami ng mga produkto sa page na ito base sa pamantayan sa aming patakaran sa paglilista. Kung gusto mong magdagdag kami ng wallet, maghain ng isyu sa GitHub.", + "page-find-wallet-footnote-3": "Nagdaragdag kami ng mga produkto sa page na ito base sa pamantayan sa aming patakaran sa paglilista. Kung gusto mong magdagdag kami ng wallet, maghain ng isyu sa GitHub.", "page-find-wallet-mobile": "Mobile", "page-find-wallet-mobile-desc": "Mga wallet na may mga mobile app", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/fr/learn-quizzes.json b/src/intl/fr/learn-quizzes.json index f3055c1a121..a983a06bc27 100644 --- a/src/intl/fr/learn-quizzes.json +++ b/src/intl/fr/learn-quizzes.json @@ -1,3 +1,328 @@ { - "page-assets-merge": "La Fusion" + "add-quiz": "Ajouter une question", + "average-score": "Score moyen :", + "basics": "Les bases d'Ethereum", + "basics-description": "Cette section couvre les concepts fondamentaux d'Ethereum, vous assurant d'avoir des bases solides.", + "completed": "Complété:", + "community-stats": "Statistiques de la communauté", + "contribute": "Contribuer à notre bibliothèque.", + "correct": "Correct", + "explanation": "Explication", + "next-question": "Question suivante", + "next-quiz": "Question suivante", + "page-assets-merge": "La Fusion", + "passed": "Vous avez réussi le quiz !", + "questions": "Des questions ", + "questions-answered": "Questions répondues :", + "quizzes-subtitle": "Découvrez à quel point vous comprenez Ethereum et les crypto-monnaies. Êtes-vous prêt à devenir un expert ?", + "retry": "Taux de réessai :", + "score": "Score", + "see-results": "Voir les résultats", + "share-results": "Partager les résultats", + "start": "Début", + "submit-answer": "Voir la solution", + "test-your-knowledge": "Tester vos connaissances sur Ethereum", + "try-again": "Veuillez réessayer.", + "using-ethereum": "Utiliser Ethereum", + "using-ethereum-description": "Découvrez les cas concrets d'utilisation d'Ethereum et comment cette blockchain révolutionnaire redéfinit le monde des industries. C'est un excellent moyen de vous assurer que vous avez une bonne compréhension avant de commencer à utiliser activement les cryptomonnaies.", + "want-more-quizzes": "Souhaitez-vous voir plus de quiz ici ?", + "your-results": "Votre résultat", + "your-total": "Votre total des points", + "a001-prompt": "La plus grande différence entre Ethereum et Bitcoin est :", + "a001-a-label": "Ethereum ne vous permet pas d'effectuer des paiements à d'autres personnes", + "a001-a-explanation": "Bitcoin et Ethereum vous permettent d'effectuer des paiements à d'autres personnes.", + "a001-b-label": "Vous pouvez exécuter des programmes sur Ethereum", + "a001-b-explanation": "Ethereum est programmable. Cela signifie que vous pouvez mettre n'importe quel programme sur la blockchain Ethereum.", + "a001-c-label": "Vous pouvez exécuter des programmes sur Bitcoin", + "a001-c-explanation": "Contrairement à Ethereum, Bitcoin n'est pas programmable et ne peut exécuter des programmes arbitraires.", + "a001-d-label": "Ils ont des logos différents", + "a001-d-explanation": "Ils ont des logos différents ! Mais ce n’est pas la plus grande différence entre eux.", + "a002-prompt": "La cryptomonnaie native d'Ethereum est appelée :", + "a002-a-label": "Ether", + "a002-a-explanation": "Ether est la cryptomonnaie native du réseau Ethereum.", + "a002-b-label": "Ethereum", + "a002-b-explanation": "Ethereum est la blockchain, mais sa monnaie native n'est pas appelée Ethereum. C'est une idée erronée courante.", + "a002-c-label": "Ethercoin", + "a002-c-explanation": "Contrairement à de nombreuses autres cryptomonnaies, la cryptomonnaie native d'Ethereum ne contient pas le mot « coin ».", + "a002-d-label": "Bitcoin", + "a002-d-explanation": "Bitcoin (B majuscule) a été la première blockchain créée, bitcoin (B minuscule) est sa cryptomonnaie native.", + "a003-prompt": "Qui est à la tête d'Ethereum ?", + "a003-a-label": "Développeurs", + "a003-a-explanation": "Les développeurs sont essentiels à la construction et l'amélioration d'Ethereum, mais leur rôle n'est pas de faire fonctionner Ethereum.", + "a003-b-label": "Mineurs", + "a003-b-explanation": "Le minage n'est plus possible depuis la fusion. Il n'y a plus de \"mineurs\" sur Ethereum.", + "a003-c-label": "L'Ethereum Foundation", + "a003-c-explanation": "L'Ethereum Foundation ne joue aucun rôle significatif dans le fonctionnement quotidien des nœuds Ethereum.", + "a003-d-label": "Toute personne exécutant un nœud", + "a003-d-explanation": "Toute personne exécutant un nœud est essentielle à l'infrastructure d'Ethereum. Si ce n'est pas encore le cas, vous devriez envisager d'exécuter un nœud Ethereum.", + "a004-prompt": "Depuis le lancement d'Ethereum, combien de fois le réseau a été hors ligne ?", + "a004-a-label": "Jamais", + "a004-b-label": "Une fois", + "a004-c-label": "Quatre fois", + "a004-d-label": "Plus de dix fois", + "a004-explanation": "Ethereum n'a jamais été complètement hors ligne (arrêt de la production de blocs) depuis son lancement.", + "a005-prompt": "Ethereum consomme plus d'électricité que :", + "a005-a-label": "Extraction d'or", + "a005-a-explanation": "L'extraction d'or utilise environ ~131 térawatt-heures par an. Ethereum consomme environ ~0,0026 térawatt-heures par an.", + "a005-b-label": "Netflix", + "a005-b-explanation": "Netflix utilise environ ~0,451 térawattheures par an, tandis qu'Ethereum en consomme environ ~0,0026 térawattheures par an.", + "a005-c-label": "PayPal", + "a005-c-explanation": "PayPal utilise environ ~0,26 térawatt-heures par an, tandis qu'Ethereum en consomme environ ~0,0026 térawatt-heures par an.", + "a005-d-label": "Aucune de ces réponses", + "a005-d-explanation": "Ethereum consomme environ 0,0026 térawatt-heures par an, soit moins que l'exploitation aurifère (~131 TWh/an), Netflix (~0,451 TWh/an) et PayPal (~0,26 TWh/an).", + "b001-prompt": "L'Ether est également connu sous le nom de :", + "b001-a-label": "ETC", + "b001-a-explanation": "ETC est le symbole d'Ethereum Classic.", + "b001-b-label": "ETR", + "b001-b-explanation": "ETR n'est pas un symbole pour l'ether ou pour toute autre cryptomonnaie.", + "b001-c-label": "ETH", + "b001-c-explanation": "ETH est le symbole pour ether sur Ethereum.", + "b001-d-label": "BTC", + "b001-d-explanation": "BTC est le symbole bitcoin du réseau Bitcoin.", + "b002-prompt": "Sur Ethereum, les frais de réseau sont payés en :", + "b002-a-label": "bitcoin", + "b002-a-explanation": "Le \"bitcoin\" en minuscules est la cryptomonnaie native du réseau Bitcoin.", + "b002-b-label": "ETH", + "b002-b-explanation": "L'Ether (ETH) est la cryptomonnaie native d'Ethereum. Tous les frais sur Ethereum sont payés en ETH.", + "b002-c-label": "USD", + "b002-c-explanation": "Il n'est pas possible de payer les frais de réseau sur Ethereum en USD (dollars américains), ou toute autre monnaie fiduciaire.", + "b002-d-label": "Ethereum", + "b002-d-explanation": "Ethereum est le réseau, mais les frais de réseau d'Ethereum sont payés en ETH.", + "b003-prompt": "Mettre en jeu de l'Ethereum (staking) permet de sécuriser le réseau car :", + "b003-a-label": "Les validateurs peuvent bannir des personnes s'ils n'aiment pas ce qu'ils font", + "b003-a-explanation": "Les validateurs ne sont pas habilités à censurer arbitrairement les utilisateurs.", + "b003-b-label": "Si un validateur essaie de tromper le réseau, il risque de perdre son ETH.", + "b003-b-explanation": "Les validateurs risquent de perdre une part importante de leur ETH s'ils se comportent de manière malveillante contre le réseau. C'est ce qu'on appelle le slashing.", + "b003-c-label": "Les validateurs font fonctionner des ordinateurs puissants pour la preuve de travail (proof-of-work)", + "b003-c-explanation": "Les validateurs n'ont pas besoin de matériel puissant pour mettre en jeu leur ETH. Ethereum a arrêté d'utiliser la preuve de travail depuis la fusion.", + "b003-d-label": "Les validateurs sont soumis à une procédure KYC avant d'être acceptés en tant que validateurs", + "b003-d-explanation": "La mise en jeu sur Ethereum se fait sans autorisation et ne nécessite pas le KYC.", + "b004-prompt": "L'ETH est précieux car :", + "b004-a-label": "L'ETH est indispensable pour tout sur Ethereum", + "b004-a-explanation": "Cette réponse est partiellement correcte, mais ce n'est qu'une des raisons de la valeur de l'ETH.", + "b004-b-label": "L'ETH est une monnaie par-à-pair non censurable", + "b004-b-explanation": "Cette réponse est partiellement correcte, mais ce n'est qu'une des raisons de la valeur de l'ETH.", + "b004-c-label": "L'ETH est utilisé comme collatéral pour les prêts de crypto-monnaie", + "b004-c-explanation": "Cette réponse est partiellement correcte, mais ce n'est qu'une des raisons de la valeur de l'ETH.", + "b004-d-label": "Toutes ces réponses", + "b004-d-explanation": "Les transactions Ethereum ne peuvent pas être censurées, l'ETH est requis pour effectuer toute transaction sur Ethereum et il est essentiel à la stabilité de l'écosystème DeFi.", + "c001-prompt": "Le Web3 permet aux utilisateurs de posséder des actifs numériques directement à travers :", + "c001-a-label": "DAO", + "c001-a-explanation": "Les DAO (organisations autonomes décentralisées) sont des communautés contrôlées par leurs membres et sans direction centralisée.", + "c001-b-label": "NFTs", + "c001-b-explanation": "Les NFT (jetons non fongibles) permettent de représenter tout ce qui est unique en tant qu'actif basé sur Ethereum.", + "c001-c-label": "ENS", + "c001-c-explanation": "ENS (Ethereum Name Service) est un service de nommage décentralisé pour la blockchain Ethereum.", + "c001-d-label": "GitHub", + "c001-d-explanation": "GitHub est une plateforme centralisée principalement destinée à stocker du code à l'aide d'un système de contrôle de version distribué. GitHub ne permet pas la propriété de vos données ou de vos actifs numériques.", + "c002-prompt": "Le Web1 était en lecture seule, le Web2 en lecture-écriture et le Web3 est considéré :", + "c002-a-label": "lecture-écriture-vente", + "c002-a-explanation": "Le Web3 n'a pas été décrit de cette manière.", + "c002-b-label": "lecture-écriture-stockage", + "c002-b-explanation": "Le Web3 n'a pas été décrit de cette manière.", + "c002-c-label": "lecture-écriture-propriété", + "c002-c-explanation": "Le Web3 permet aux utilisateurs de posséder leurs données, c'est pourquoi il a été décrit comme étant en « lecture-écriture-propriété », une amélioration par rapport au Web2, qui est uniquement en « lecture-écriture ».", + "c002-d-label": "lecture-écriture-achat", + "c002-d-explanation": "Le Web3 n'a pas été décrit de cette manière.", + "c003-prompt": "Quelle itération du web ne dépend pas de fournisseurs de paiement tiers ?", + "c003-a-label": "Web1", + "c003-a-explanation": "Le Web1 ne disposait pas de paiements natifs intégrés.", + "c003-b-label": "Web2", + "c003-b-explanation": "Le Web2 ne dispose pas de paiements natifs intégrés.", + "c003-c-label": "Web3", + "c003-c-explanation": "Le Web3 dispose d'un système paiement natif intégré grâce aux cryptomonnaies, telles que l'ETH.", + "c003-d-label": "Toutes ces réponses", + "c003-d-explanation": "Le Web1 et le Web2 n'ont pas de moyens paiements nativement intégrés.", + "c004-prompt": "La première utilisation du terme \"Web3\" a été attribuée à :", + "c004-a-label": "Gavin Wood", + "c004-a-explanation": "Gavin Wood, co-fondateur d'Ethereum, est crédité du terme Web3 peu après le lancement d'Ethereum en 2015.", + "c004-b-label": "Steve Jobs", + "c004-b-explanation": "Steve Jobs n'a pas inventé le terme \"Web3\".", + "c004-c-label": "Vitalik Buterin", + "c004-c-explanation": "Vitalik Buterin, bien qu'étant le fondateur original d'Ethereum, n'a pas inventé le terme \"Web3\".", + "c004-d-label": "Elon Musk", + "c004-d-explanation": "Elon Musk n'a pas inventé le terme \"Web3\".", + "c005-prompt": "Vous pouvez avoir une connexion unique et résistante à la censure sur tout le Web en utilisant :", + "c005-a-label": "Connexion via Facebook", + "c005-a-explanation": "La connexion avec Facebook n'est pas résistante à la censure.", + "c005-b-label": "Connexion via Google", + "c005-b-explanation": "La connexion avec Google n'est pas résistante à la censure.", + "c005-c-label": "Connectez-vous avec Ethereum", + "c005-c-explanation": "La connexion avec Ethereum est la seule option qui soit résistante à la censure et utilisable sur n'importe quelle application Web.", + "c005-d-label": "Se connecter avec Twitter", + "c005-d-explanation": "\"Se connecter avec Twitter\" n'est pas anti-censure.", + "d001-prompt": "Le type de portefeuille le plus sécurisé est :", + "d001-a-label": "Un portefeuille mobile", + "d001-a-explanation": "Les portefeuilles mobiles conservent les clés privées sur un appareil mobile, qui a généralement une connexion à Internet et qui pourrait donc être compromis par d'autres logiciels.", + "d001-b-label": "Un portefeuille matériel", + "d001-b-explanation": "Les clés privées d'un portefeuille matériel sont stockées sur un appareil dédié qui peut être coupé de l'Internet et sont par conséquent isolées des autres applications de vos appareils.", + "d001-c-label": "Un portefeuille web", + "d001-c-explanation": "Les portefeuilles en ligne ont une sécurité moindre que les portefeuilles matériels car les clés privées sont stockées sur un appareil connecté à Internet.", + "d001-d-label": "Un portefeuille de bureau", + "d001-d-explanation": "Les portefeuilles de bureau conservent les clés privées sur le disque dur d'un ordinateur, qui est généralement connecté à Internet et potentiellement vulnérable à d'autres logiciels.", + "d002-prompt": "Parmi les options disponibles, quelle est la méthode la plus sécurisée pour stocker votre phrase de récupération ?", + "d002-a-label": "Sur une photo de votre téléphone", + "d002-a-explanation": "Ce n'est pas l'option la plus sécurisée. Si cette photo est téléchargée sur un espace de stockage en ligne, un pirate informatique pourrait obtenir cette image et accéder à votre compte.", + "d002-b-label": "Dans un fichier sur votre ordinateur", + "d002-b-explanation": "Ceci n'est pas l'option la plus sécurisée. Les pirates informatiques recherchent de plus en plus d'informations liées aux cryptomonnaies sur les appareils ciblés. Si un pirate informatique accède au fichier contenant votre phrase de récupération, il pourra accéder à votre compte.", + "d002-c-label": "Écrite sur papier", + "d002-c-explanation": "Parmi les options disponibles, écrire votre phrase de récupération sur papier est la plus sécurisée.", + "d002-d-label": "Dans un message envoyé à un membre de confiance de votre famille", + "d002-d-explanation": "Vous ne devriez jamais envoyer votre phrase de récupération par message à qui que ce soit. Le message pourrait être intercepté par un tiers, et même si vous faites entièrement confiance à cette personne, vous ne savez pas qui pourrait avoir accès à leur téléphone.", + "d003-prompt": "À qui devriez-vous donner votre phrase de récupération / clés privées ?", + "d003-a-label": "Quelqu'un que vous payez", + "d003-a-explanation": "Vous ne devriez jamais donner votre phrase de récupération ou vos clés privées à qui que ce soit. À la place, envoyez des jetons à leur adresse de portefeuille via une transaction.", + "d003-b-label": "Pour vous connecter à une application décentralisée ou à un portefeuille", + "d003-b-explanation": "Vous ne devriez jamais fournir votre phrase de récupération ou vos clés privées pour vous connecter à votre portefeuille ou à une application décentralisée.", + "d003-c-label": "L'équipe d'assistance", + "d003-c-explanation": "Vous ne devriez jamais fournir votre phrase de récupération ou vos clés privées à quiconque prétendant être de l'équipe. Toute personne vous demandant cela est un escroc.", + "d003-d-label": "Personne", + "d003-d-explanation": "Idéalement, vous ne devriez jamais fournir votre phrase de récupération ou vos clés privées à quiconque. Si vous faites entièrement confiance à quelqu'un et que vous êtes prêt à lui donner un accès total à vos fonds (comme votre conjoint), vous pourriez décider de partager ces informations avec cette personne.", + "d004-prompt": "Un portefeuille et un compte sur Ethereum sont la même chose.", + "d004-a-label": "Vrai", + "d004-a-explanation": "Un portefeuille est une interface visuelle utilisée pour interagir avec un compte Ethereum.", + "d004-b-label": "Faux", + "d004-b-explanation": "Un portefeuille est une interface visuelle utilisée pour interagir avec un compte Ethereum.", + "e001-prompt": "Pourquoi devriez-vous utiliser des mots de passe uniques pour chacun de vos comptes ?", + "e001-a-label": "Au cas où l'une des plateformes subirait un vol de données", + "e001-a-explanation": "Cette réponse est correcte, mais il y a également d'autres réponses correctes.", + "e001-b-label": "Au cas où quelqu'un regardant par-dessus votre épaule parviendrait à deviner votre mot de passe", + "e001-b-explanation": "Cette réponse est correcte, mais il y a également d'autres réponses correctes.", + "e001-c-label": "Au cas où un logiciel malveillant, tel qu'un enregistreur de frappes, vole votre mot de passe", + "e001-c-explanation": "Cette réponse est correcte, mais il y a également d'autres réponses correctes.", + "e001-d-label": "Toutes ces réponses", + "e001-d-explanation": "Toutes les réponses sont correctes. Utiliser des mots de passe uniques est le meilleur moyen d'empêcher toute autre personne d'accéder à votre compte.", + "e002-prompt": "Suite à la fusion, l'ETH doit être mis à jour vers l'ETH2.", + "e002-a-label": "Vrai", + "e002-a-explanation": "Vous n'avez pas besoin de mettre à jour votre ETH vers l'ETH2. Il n'y a pas d'ETH2 et c'est un récit couramment utilisé par des arnaqueurs.", + "e002-b-label": "Faux", + "e002-b-explanation": "Vous n'avez pas besoin de mettre à jour votre ETH vers l'ETH2. Il n'y a pas d'ETH2 et c'est un récit couramment utilisé par des arnaqueurs.", + "e003-prompt": "Les distributions gratuites d'ETH sont :", + "e003-a-label": "Un bon moyen d'obtenir plus d'ETH", + "e003-a-explanation": "Les distributions gratuites d'ETH sont des escroqueries conçues pour voler vos ETH et autres jetons. Ce n'est jamais une bonne façon d'obtenir plus d'ETH.", + "e003-b-label": "Toujours légitimes", + "e003-b-explanation": "Les distributions gratuites d'ETH ne sont jamais vraies.", + "e003-c-label": "Souvent effectuées par des membres éminents de la communauté", + "e003-c-explanation": "Les membres éminents de la communauté ne font pas de distributions d'ETH. Les escrocs prétendent que des personnalités bien connues, telles qu'Elon Musk, organisent des distributions pour donner une impression de légitimité à l'arnaque.", + "e003-d-label": "Sont très susceptibles d'être une arnaque", + "e003-d-explanation": "Les distributions d'ETH sont toujours des arnaques. Il est préférable de signaler ou d'ignorer les escrocs.", + "e004-prompt": "Les transactions sur Ethereum sont réversibles.", + "e004-a-label": "Vrai", + "e004-a-explanation": "Les transactions Ethereum ne peuvent pas être annulées. Toute personne affirmant le contraire pourrait essayer de vous arnaquer.", + "e004-b-label": "Faux", + "e004-b-explanation": "Les transactions Ethereum ne peuvent pas être annulées. Toute personne affirmant le contraire pourrait essayer de vous arnaquer.", + "f001-prompt": "Les NFT sont le plus souvent :", + "f001-a-label": "actifs numériques uniques", + "f001-a-explanation": "Les NFT représentent un actif numérique unique.", + "f001-b-label": "œuvre digitale", + "f001-b-explanation": "Les NFT représentent un actif numérique unique, qui est généralement une œuvre d'art numérique, mais qui ne se limite pas à l'art.", + "f001-c-label": "des billets pour des événements exclusifs", + "f001-c-explanation": "Les NFT représentent un actif numérique unique, cela pourrait être un système de billetterie, mais ce n'est pas limité aux billets.", + "f001-d-label": "des contrats légaux", + "f001-d-explanation": "Bien qu'un contrat légal puisse être représenté sous forme de NFT, les NFT ne se limitent pas uniquement aux contrats légalement contraignants.", + "f002-prompt": "Deux NFT représentant la même œuvre d'art sont la même chose.", + "f002-a-label": "Vrai", + "f002-a-explanation": "Les NFT sont non fongibles. Cela signifie que même s'ils représentent la même œuvre d'art numérique, ils restent uniques et identifiables. Dans le monde de l'art traditionnel, cela pourrait être similaire aux originaux et aux reproductions.", + "f002-b-label": "Faux", + "f002-b-explanation": "Les NFT sont non fongibles. Cela signifie que même s'ils représentent la même œuvre d'art numérique, ils restent uniques et identifiables. Dans le monde de l'art traditionnel, cela pourrait être similaire aux originaux et aux reproductions.", + "f003-prompt": "Les NFT représentent le plus souvent :", + "f003-a-label": "Le mot de passe de votre portefeuille", + "f003-a-explanation": "Il s'agit d'un risque pour la sécurité et d'une mauvaise idée en général !", + "f003-b-label": "La propriété d'un objet numérique unique", + "f003-b-explanation": "Les NFT représentent généralement la propriété d'un objet numérique unique.", + "f003-c-label": "Votre montant en ETH actuel", + "f003-c-explanation": "Les NFT ne peuvent pas représenter votre montant en ETH arbitrairement.", + "f003-d-label": "Toutes ces réponses", + "f003-d-explanation": "Les NFT représentent couramment la propriété d'un objet numérique unique, mais pas les soldes d'ETH ni les mots de passe de portefeuille.", + "f004-prompt": "Les NFT ont aidé à créer une nouvelle :", + "f004-a-label": "économie de collection", + "f004-a-explanation": "Les NFT ont contribué à créer une nouvelle économie pour les créateurs, pas pour les collectionneurs.", + "f004-b-label": "économie \"carbone\"", + "f004-b-explanation": "Les NFT ont contribué à créer une nouvelle économie pour les créateurs, pas pour le carbone.", + "f004-c-label": "économie de création", + "f004-c-explanation": "Les NFT ont contribué à créer une nouvelle économie pour les créateurs.", + "f004-d-label": "économie \"doge\"", + "f004-d-explanation": "Les NFT ont contribué à créer une nouvelle économie pour les créateurs, pas pour les chiens🐶.", + "f005-prompt": "Les NFT sur Ethereum sont néfastes pour l'environnement", + "f005-a-label": "Vrai", + "f005-a-explanation": "Depuis la transition vers la preuve d'enjeu (The Merge), toute transaction a eu un impact négligeable sur l'environnement.", + "f005-b-label": "Faux", + "f005-b-explanation": "Depuis la transition vers la preuve d'enjeu (The Merge), toute transaction a eu un impact négligeable sur l'environnement.", + "g001-prompt": "Les blockchains de seconde couche sont conçus pour :", + "g001-a-label": "Permettre l'évolutivité d'Ethereum", + "g001-a-explanation": "Le but principal des rollups et autres solutions de seconde couche est d'augmenter la capacité d'Ethereum.", + "g001-b-label": "Effectuer des paiements", + "g001-b-explanation": "Le but principal des rollups et autres solutions de seconde couche est d'augmenter la capacité d'Ethereum.", + "g001-c-label": "Acheter des NFT", + "g001-c-explanation": "Le but principal des rollups et autres solutions de seconde couche est d'augmenter la capacité d'Ethereum.", + "g001-d-label": "Décentraliser Ethereum", + "g001-d-explanation": "Le but principal des rollups et autres solutions de seconde couche est d'augmenter la capacité d'Ethereum.", + "g002-prompt": "Pour grandir, la plupart des réseaux alternatifs de première couche ont principalement sacrifié sur :", + "g002-a-label": "Sécurité", + "g002-a-explanation": "La plupart des réseaux alternatifs de première couche sacrifient la sécurité et quelque chose d'autre pour grandir.", + "g002-b-label": "Décentralisation", + "g002-b-explanation": "La plupart des réseaux alternatifs de première couche sacrifient la décentralisation et quelque chose d'autre pour grandir.", + "g002-c-label": "Le prix du jeton", + "g002-c-explanation": "Le prix des jetons n'a aucun impact sur le nombre de transactions possibles.", + "g002-d-label": "La sécurité et la décentralisation", + "g002-d-explanation": "La plupart des réseaux alternatifs de couche 1 sacrifient à la fois la sécurité et la décentralisation pour pouvoir grandir.", + "g003-prompt": "Lesquels des éléments suivants ne sont pas considérés comme étant des solutions de seconde couche ?", + "g003-a-label": "Validiums", + "g003-a-explanation": "Les Validiums ne sont pas considérés comme des solutions de seconde couche car ils ne tirent pas leur sécurité ou leur disponibilité d'Ethereum", + "g003-b-label": "Chaînes latérales", + "g003-b-explanation": "Les sidechains ne sont pas considérées comme des solutions de seconde couche car elles ne tirent pas leur sécurité ou leur disponibilité d'Ethereum.", + "g003-c-label": "Les blockchains alternatives de première couche", + "g003-c-explanation": "Les blockchains alternatives de première couche ne sont pas considérées comme des solutions de seconde couche.", + "g003-d-label": "Toutes ces réponses", + "g003-d-explanation": "Les Validiums, les sidechains et les blockchains alternatives de première couche ne sont pas considérés comme des solutions de seconde couche car ils ne tirent pas leur sécurité ni leur disponibilité d'Ethereum.", + "g004-prompt": "Pourquoi Ethereum ne possède-t-il pas de couche 2 \"officielle\" ?", + "g004-a-label": "Les développeurs sont trop occupés à travailler sur Ethereum", + "g004-a-explanation": "Il n'y a pas de plans pour une « seconde couche officielle » sur Ethereum car nous bénéficierons plus d'une grande variété d'approches pour concevoir des solutions de seconde couche.", + "g004-b-label": "En tant que blockchain de première couche, Ethereum atteindra éventuellement proposer suffisamment de place pour les transactions par lui-même", + "g004-b-explanation": "Il n'y a pas de plans pour une « seconde couche officielle » sur Ethereum car nous bénéficierons plus d'une grande variété d'approches pour concevoir des solutions de seconde couche.", + "g004-c-label": "Les développeurs sont toujours en train de débattre entre les rollups optimistes et les zk-rollups", + "g004-c-explanation": "Il n'y a pas de plans pour une « seconde couche officielle » sur Ethereum car nous bénéficierons plus d'une grande variété d'approches pour concevoir des solutions de seconde couche.", + "g004-d-label": "Ethereum bénéficiera d'une grande variété d'approches pour concevoir une solution de seconde couche", + "g004-d-explanation": "Il n'y a pas de plans pour une « seconde couche officielle » sur Ethereum car nous bénéficierons plus d'une grande variété d'approches pour concevoir des solutions de seconde couche.", + "h001-prompt": "La Fusion a changé Ethereum avec quel mécanisme de consensus ?", + "h001-a-label": "Preuve de travail", + "h001-a-explanation": "La preuve de travail était le mécanisme de consensus utilisé avant la Fusion.", + "h001-b-label": "Preuve d'enjeu", + "h001-b-explanation": "Correct ! La Fusion a transféré Ethereum vers la preuve d'enjeu.", + "h001-c-label": "Preuve d'autorité", + "h001-c-explanation": "C'est exact ! Ethereum n'a jamais utilisé la preuve d'autorité sur le réseau principal d'Ethereum.", + "h001-d-label": "Toutes ces réponses", + "h001-d-explanation": "Il ne serait pas possible pour Ethereum d'avoir tous ces mécanismes de consensus en même temps.", + "h002-prompt": "La Fusion a réduit la consommation d'énergie d'Ethereum de :", + "h002-a-label": "50%", + "h002-a-explanation": "La consommation d'énergie d'Ethereum a été réduite de 99,95% après que la Fusion ait permis la transition la preuve de travail vers la preuve d'enjeu.", + "h002-b-label": "62,5%", + "h002-b-explanation": "La consommation d'énergie d'Ethereum a été réduite de 99,95% après que la Fusion ait permis la transition la preuve de travail vers la preuve d'enjeu.", + "h002-c-label": "90%", + "h002-c-explanation": "La consommation d'énergie d'Ethereum a été réduite de 99,95% après que la Fusion ait permis la transition la preuve de travail vers la preuve d'enjeu.", + "h002-d-label": "99.95%", + "h002-d-explanation": "La consommation d'énergie d'Ethereum a été réduite de 99,95% après que la Fusion ait permis la transition la preuve de travail vers la preuve d'enjeu.", + "h003-prompt": "Quand la fusion a-t-elle eu lieu ?", + "h003-a-label": "15 septembre 2022", + "h003-a-explanation": "La fusion a eu lieu le 15 septembre 2022 à 6:42:42 (UTC).", + "h003-b-label": "1er décembre 2021", + "h003-b-explanation": "La fusion a eu lieu plus tard. Le 1er décembre 2022 correspond à la date de lancement de la chaîne phare.", + "h003-c-label": "27 novembre 2013", + "h003-c-explanation": "La fusion a eu lieu plus tard. Le 27 novembre 2013 correspond à la date de publication du livre blanc d'Ethereum.", + "h003-d-label": "31 octobre 2008", + "h003-d-explanation": "La fusion a eu lieu plus tard. Le 31 octobre 2008 correspond à la date de publication du livre blanc du Bitcoin.", + "h004-prompt": "La Fusion signifiait que les utilisateurs devaient échanger leur ETH contre de l'ETH2 :", + "h004-a-label": "Vrai", + "h004-a-explanation": "L'ETH n'a pas changé à aucun moment avant, pendant ou après la Fusion. L'idée de « mettre à jour » l'ETH en ETH2 était une tactique courante utilisée par des acteurs malveillants pour escroquer les utilisateurs.", + "h004-b-label": "Faux", + "h004-b-explanation": "L'ETH n'a pas changé à aucun moment avant, pendant ou après la Fusion. L'idée de « mettre à jour » l'ETH en ETH2 était une tactique courante utilisée par des acteurs malveillants pour escroquer les utilisateurs.", + "h005-prompt": "La couche de consensus d'Ethereum était auparavant connue sous le nom de :", + "h005-a-label": "Preuve de travail", + "h005-a-explanation": "La preuve de travail était le mécanisme de consensus utilisé avant la Fusion.", + "h005-b-label": "Eth2", + "h005-b-explanation": "Avant d'être rebaptisée couche de consensus, elle s'appelait à l'origine \"Eth2\".", + "h005-c-label": "Eth1", + "h005-c-explanation": "Eth1 était le nom donné à l'origine à la couche d'exécution, et non à la couche de consensus.", + "h005-d-label": "Staking", + "h005-d-explanation": "La mise en jeu consiste à déposer de l'ETH dans un contrat intelligent pour aider à sécuriser le réseau." } diff --git a/src/intl/fr/page-developers-docs.json b/src/intl/fr/page-developers-docs.json index a0ba57fce39..c541252ad25 100644 --- a/src/intl/fr/page-developers-docs.json +++ b/src/intl/fr/page-developers-docs.json @@ -23,6 +23,9 @@ "docs-nav-dart": "Dart", "docs-nav-delphi": "Delphi", "docs-nav-deploying-smart-contracts": "Déployer des contrats intelligents", + "docs-nav-design-and-ux": "La méthodologie UX : Introduction", + "docs-nav-design-and-ux-description": "L'UX design, une méthode de conception centrée utilisateur, des études sur les développements de l'écosystème du Web3 et l'Ethereum : Introduction", + "docs-nav-design-fundamentals": "Les principes fondamentaux de la méthodologie", "docs-nav-development-frameworks": "Frameworks de développement", "docs-nav-development-frameworks-description": "Outils qui facilitent le développement avec Ethereum", "docs-nav-development-networks": "Réseaux de développement", @@ -70,6 +73,7 @@ "docs-nav-run-a-node": "Ajouter un nœud", "docs-nav-client-diversity": "Diversité des clients", "docs-nav-bootnodes": "Nœud d'amorçage", + "docs-nav-light-clients": "Clients légers", "docs-nav-nodes-as-a-service": "Nœuds en tant que service", "docs-nav-oracles": "Oracles", "docs-nav-oracles-description": "Comment l'information est injectée dans la blockchain Ethereum", @@ -113,6 +117,7 @@ "docs-nav-networking-layer": "Couche de réseau", "docs-nav-networking-layer-description": "Explication de la couche réseau d'Ethereum", "docs-nav-networking-layer-network-addresses": "Adresses réseau", + "docs-nav-networking-layer-portal-network": "Portail du Réseau", "docs-nav-data-structures-and-encoding": "Structures de données et encodage", "docs-nav-data-structures-and-encoding-description": "Introduction aux structures de données et au schéma d'encodage utilisés dans la pile Ethereum", "docs-nav-data-structures-and-encoding-rlp": "Préfixe de longueur récursive (RLP)", diff --git a/src/intl/fr/page-learn.json b/src/intl/fr/page-learn.json new file mode 100644 index 00000000000..b029424ff18 --- /dev/null +++ b/src/intl/fr/page-learn.json @@ -0,0 +1,123 @@ +{ + "toc-learn-hub": "Centre d'apprentissage", + "toc-what-is-crypto-ethereum": "Qu'est-ce qu'Ethereum ?", + "toc-how-do-i-use-ethereum": "Comment utiliser Ethereum ?", + "toc-what-is-ethereum-used-for": "À quoi sert Ethereum ?", + "toc-strengthen-the-ethereum-network": "Renforcer le réseau Ethereum", + "toc-learn-about-the-ethereum-protocol": "En savoir plus sur le protocole Ethereum", + "toc-learn-about-the-ethereum-community": "En savoir plus sur la communauté Ethereum", + "toc-books-and-podcasts": "Livres et podcasts", + "hero-header": "Découvrir Ethereum", + "hero-subtitle": "Votre guide éducatif sur le monde d'Ethereum. Apprenez comment fonctionne Ethereum et comment s'y connecter. Cette page comprend des articles, des guides et des ressources techniques et non techniques.", + "hero-button-lets-get-started": "C'est parti !", + "what-is-crypto-1": "Vous avez peut-être entendu parler de cryptomonnaies, de blockchains et de Bitcoin. Les liens ci-dessous vous aideront à apprendre ce qu'ils sont et comment ils s'articulent avec Ethereum.", + "what-is-crypto-2": "Les cryptomonnaies, comme le Bitcoin, permettent à n'importe qui de transférer de l'argent à l'échelle mondiale. Ethereum le permet également, mais il peut également exécuter du code qui permet aux gens de créer des applications et des organisations. Il est à la fois résilient et flexible : n'importe quel programme informatique peut être exécuté sur Ethereum. Apprenez-en davantage et découvrez comment commencer :", + "what-is-ethereum-card-title": "Qu'est-ce qu'Ethereum ?", + "what-is-ethereum-card-description": "Si vous êtes nouveau, commencez ici pour savoir pourquoi Ethereum est important.", + "what-is-ethereum-card-image-alt": "Illustration d'une personne jetant un coup d'œil à un bazar, destiné à représenter Ethereum.", + "what-is-eth-card-title": "Qu'est-ce que l'ETH ?", + "what-is-eth-description": "Ether (ETH) est la devise qui alimente le réseau et les applications Ethereum.", + "what-is-web3-card-title": "Qu'est-ce que le Web3 ?", + "what-is-web3-card-description": "Le Web3 est un modèle pour Internet qui valorise la propriété de vos actifs et de votre identité.", + "additional-reading-more-on-ethereum-basics": "En savoir plus sur les bases d'Ethereum", + "guides-hub-desc": "Guides : instructions étape par étape sur l'utilisation d'Ethereum", + "quiz-hub-desc": "Centre de quiz : testez votre connaissance", + "additional-reading-what-are-smart-contracts": "Qu'est-ce qu'un contrat intelligent ?", + "additional-reading-what-is-web3": "Qu'est-ce que le Web3 ?", + "additional-reading-ethereum-in-thirty-minutes": "Ethereum en 30 minutes par Vitalik Buterin", + "additional-reading-get-eth": "Apprenez comment acheter des ETH", + "how-do-i-use-ethereum-1": "Utiliser Ethereum peut signifier différentes choses pour différentes personnes. Peut-être souhaitez-vous vous connecter à une application, prouver votre identité en ligne ou transférer des ETH. La première chose dont vous aurez besoin est un compte. La manière la plus simple de créer et d'accéder à un compte est d'utiliser un logiciel appelé portefeuille (wallet).", + "what-is-a-wallet-card-title": "Qu'est-ce qu'un portefeuille ?", + "what-is-a-wallet-card-description": "Les portefeuilles numériques sont semblables aux portefeuilles physiques ; ils stockent ce dont vous avez besoin pour prouver votre identité et accéder aux endroits qui ont de la valeur pour vous.", + "what-is-a-wallet-card-alt": "Illustration d'un robot.", + "find-a-wallet-card-title": "Trouver un portefeuille", + "find-a-wallet-card-description": "Parcourez les portefeuilles en fonction des fonctionnalités qui sont importantes pour vous.", + "find-a-wallet-button": "Liste des portefeuilles", + "crypto-security-basics-card-title": "Notions de sécurité", + "crypto-security-basics-card-description": "Apprenez comment identifier les arnaques et comment éviter les pièges les plus courants.", + "crypto-security-basics-card-button": "Rester en sécurité", + "things-to-consider-banner-title": "Choses à considérer lors de l'utilisation d'Ethereum", + "things-to-consider-banner-1": "Chaque transaction Ethereum nécessite des frais sous la forme d'ETH, même si vous avez besoin de déplacer différents jetons construits sur Ethereum comme les stablecoins USDC ou DAI.", + "things-to-consider-banner-2": "Les frais peuvent être élevés en fonction du nombre de personnes essayant d'utiliser Ethereum, nous vous recommandons donc d'utiliser", + "things-to-consider-banner-layer-2": "Couche de niveau 2", + "additional-reading-more-on-using-ethereum": "En savoir plus sur l'utilisation d'Ethereum", + "additional-reading-how-to-create-an-ethereum-account": "Comment créer un compte Ethereum", + "additional-reading-how-to-use-a-wallet": "Comment utiliser un wallet (portefeuille cryptographique)", + "additional-reading-layer-2": "Couche 2 : réduction des frais de transaction", + "what-is-ethereum-used-for-1": "Ethereum a conduit à la création de nouveaux produits et services qui peuvent améliorer différents domaines de notre vie. Nous en sommes encore aux premières étapes, mais il y a beaucoup de choses à faire.", + "defi-card-title": "Finance Décentralisée (DeFi)", + "defi-card-description": "Explorez un système financier alternatif construit sans banques et ouvert à tous.", + "defi-card-button": "Qu'est-ce que DeFi ?", + "stablecoins-card-title": "Stablecoins", + "stablecoins-card-description": "Les cryptomonnaies sont liées à la valeur d'une devise, d'un produit ou d'un autre instrument financier.", + "stablecoins-card-button": "Que sont les stablecoins ?", + "nft-card-title": "Jetons non fongibles (NFTs)", + "nft-card-description": "Représente la propriété d’objets uniques, de l’art aux titres d’œuvre aux billets de concert.", + "nft-card-button": "Que sont les NFT ?", + "dao-card-title": "Organisations autonomes décentralisées (DAO)", + "dao-card-description": "Activer de nouvelles façons de coordonner le travail sans boss.", + "dao-card-button": "Que sont les DAO ?", + "dapp-card-title": "Applications décentralisées (dApps)", + "dapp-card-description": "Créer une économie numérique des services de pair à pair.", + "dapp-card-button": "Découvrir les dApps", + "emerging-use-cases-title": "Cas d'utilisation émergents", + "emerging-use-cases-description": "Il y a également d'autres industries importantes en cours de création ou d'amélioration avec Ethereum:", + "play-to-earn": "Jeux Play-to-earn (P2E)", + "fundraising-through-quadratic-funding": "Collecte de fonds grâce à au financement quadratique", + "supply-chain-management": "Gestion de la chaîne d'approvisionnement", + "more-on-ethereum-use-cases": "Plus d'infos sur les cas d'utilisation d'Ethereum", + "more-on-ethereum-use-cases-link": "La blockchain dans les pays en développement", + "strengthening-the-ethereum-network-description": "Vous pouvez aider à sécuriser Ethereum et gagner des récompenses en même temps en mettant votre ETH. Il existe différentes options de mise en jeu en fonction de vos connaissances techniques et de la quantité d'ETH que vous avez.", + "staking-ethereum-card-title": "Mise en jeu sur Ethereum", + "staking-ethereum-card-description": "Apprenez à commencer à mettre votre ETH.", + "staking-ethereum-card-button": "Commencer à miser", + "run-a-node-card-title": "Ajouter un nœud", + "run-a-node-card-description": "Jouez un rôle critique dans le réseau Ethereum en lançant un nœud.", + "learn-about-ethereum-protocol-description": "Pour les utilisateurs les plus intéressés par la partie technique du réseau Ethereum.", + "energy-consumption-card-title": "Energie consommée", + "energy-consumption-card-description": "Quelle est la consommation d'énergie d'Ethereum ?", + "energy-consumption-card-button": "Est-ce que Ethereum est vert ?", + "ethereum-upgrades-card-title": "Feuille de route d'Ethereum", + "ethereum-upgrades-card-description": "La feuille de route Ethereums la rend plus évolutive, plus sécurisée et plus durable.", + "ethereum-upgrades-card-button": "Explorer les données", + "ethereum-whitepaper-card-title": "Livre blanc Ethereum", + "ethereum-whitepaper-card-description": "La proposition originale d'Ethereum écrite par Vitalik Buterin en 2014.", + "ethereum-whitepaper-card-button": "Lire le Livre Blanc", + "more-on-ethereum-protocol-title": "En savoir plus sur la vision Ethereum", + "more-on-ethereum-protocol-ethereum-for-developers": "Ethereum pour les développeurs", + "more-on-ethereum-protocol-consensus": "Le mécanisme de consensus basé sur la preuve d'enjeu d'Ethereum", + "more-on-ethereum-protocol-evm": "L'ordinateur intégré d'Ethereum (l'EVM)", + "more-on-ethereum-protocol-nodes-and-clients": "Nœuds et clients Ethereum", + "ethereum-community-description": "Le succès d'Ethereum est attribué à sa communauté incroyablement dévouée. Des milliers de personnes inspirantes et motivées contribuent à faire avancer la vision d'Ethereum, tout en assurant la sécurité du réseau grâce au staking et à la gouvernance. Rejoignez-nous !", + "community-hub-card-title": "Hub de la communauté", + "community-hub-card-description": "Notre communauté comprend des personnes de tous horizons.", + "community-hub-card-alt": "Illustration d'un groupe de bâtisseurs travaillant ensemble.", + "community-hub-card-button": "En savoir plus", + "get-involved-card-title": "Comment s'impliquer ?", + "get-involved-card-description": "Vous (oui, vous!) êtes les bienvenus pour contribuer à la communauté Ethereum.", + "online-communities-card-title": "Communautés en ligne", + "online-communities-card-description": "Les communautés en ligne offrent une excellente occasion de poser des questions plus précises ou de s'impliquer.", + "online-communities-card-button": "Explorer les communautés", + "books-about-ethereum": "Livres sur Ethereum", + "proof-of-stake-title": "Preuve d'enjeu", + "proof-of-stake-description": "13 septembre 2022 - Vitalik Buterin, Nathan Schneider", + "cryptopians-title": "The Cryptopians", + "cryptopians-description": "22 février 2022 - Laura Shin", + "out-of-the-ether-title": "Hors de l'éther", + "out-of-the-ether-description": "29 septembre 2020 - Matthew Leising", + "the-infinite-machine-title": "La machine infinie", + "the-infinite-machine-description": "14 juillet 2020 - Camila Russo", + "mastering-ethereum-title": "Utiliser Ethereum", + "mastering-ethereum-description": "23 décembre 2018 – Andreas M. Antonopoulos, Ph.D. Gavin Wood.", + "podcasts-about-ethereum": "Podcasts sur Ethereum", + "bankless-title": "Bankless", + "bankless-description": "Un guide pour le financement de Crypto", + "zeroknowledge-title": "Zero Knowledge", + "zeroknowledge-description": "Enfonce dans la technologie qui alimentera le web décentralisé émergent et la communauté qui construira ceci", + "green-pill-title": "Pilule Verte", + "green-pill-description": "Explore les systèmes crypto-économiques qui créent des externalités positives pour le monde", + "unchained-title": "Déchaîné", + "unchained-description": "Pousse profondément dans les gens qui construisent l'internet décentralisé, les détails de cette technologie qui pourraient soutenir notre avenir, et certains des sujets les plus épineux dans les cryptomonnaies, tels que la réglementation, la sécurité et la confidentialité", + "the-daily-gwei-title": "The Daily Gwei", + "the-daily-gwei-description": "Récapitulatifs, mises à jour et analyses Ethereum" +} diff --git a/src/intl/fr/page-staking.json b/src/intl/fr/page-staking.json index 1d48d320d9d..137a4c9463a 100644 --- a/src/intl/fr/page-staking.json +++ b/src/intl/fr/page-staking.json @@ -17,7 +17,7 @@ "comp-withdrawal-credentials-not-upgraded-2": "Des instructions sur la façon de mettre à niveau peuvent actuellement être trouvées sur la plateforme de lancement de mise en jeu", "comp-withdrawal-credentials-verify-mainnet": "Vérifier sur le réseau principal", "comp-withdrawal-credentials-verify-goerli": "Vérifier sur Goerli", - "page-staking-withdrawals-when": "12 avril 2023", + "page-staking-withdrawals-when": "Expédié !", "page-staking-image-alt": "Image de la mascotte Rhino pour la plateforme de lancement de la mise en jeu.", "page-staking-benefits-1-title": "Gagner des récompenses", "page-staking-benefits-1-description": "Des récompenses sont offertes pour les actions qui aident le réseau à atteindre un consensus. Vous obtiendrez des récompenses en exécutant des logiciels permettant de regrouper correctement les transactions dans un nouveau bloc et de vérifier le travail d'autres validateurs. Cela permet en effet de sécuriser la chaîne.", @@ -40,6 +40,7 @@ "page-staking-learn-more-saas": "En savoir plus sur la mise en jeu en tant que service", "page-staking-dropdown-pools": "Mise en jeu mutualisée", "page-staking-dropdown-withdrawals": "À propos des retraits", + "page-staking-dropdown-dvt": "Technologie des registres distribués composée de nœuds validateurs", "page-staking-more-on-pools": "En savoir plus sur la mise en jeu mutualisée", "page-staking-learn-more-pools": "En savoir plus sur la mise en jeu mutualisée", "page-staking-section-what-title": "Qu'est-ce que la mise en jeu ?", @@ -47,6 +48,11 @@ "page-staking-section-why-title": "Pourquoi mettre en jeu vos ETH ?", "page-staking-section-why-p1": "Tout dépend de la somme que vous êtes prêt à mettre en jeu. Vous aurez besoin de 32 ETH pour activer votre propre validateur, mais il est possible de mettre en jeu une quantité moindre.", "page-staking-section-why-p2": "Découvrez les options offertes ci-dessous et optez pour la plus adaptée pour vous et le réseau.", + "page-staking-guide-title-coincashew-ethereum": "Le guide Ethereum 2.0 par CoinCashew", + "page-staking-guide-title-somer-esat": "Somer Esat", + "page-staking-guide-title-rocket-pool": "Opérateurs de nœud Rocket Pool", + "page-staking-guide-description-linux": "Linux (CLI)", + "page-staking-guide-description-mac-linux": "Linux, macOS (CLI)", "page-staking-hierarchy-solo-h2": "Mise en jeu individuelle", "page-staking-hierarchy-solo-pill-1": "Le plus efficace", "page-staking-hierarchy-solo-pill-2": "Contrôle total", @@ -104,9 +110,9 @@ "page-staking-considerations-solo-6-valid": "Aucune autorisation", "page-staking-considerations-solo-6-warning": "Autorisation requise", "page-staking-considerations-solo-7-title": "Multi clients", - "page-staking-considerations-solo-7-description": "Le logiciel permet aux utilisateurs de choisir et de basculer entre deux couches de consensus ou plus", + "page-staking-considerations-solo-7-description": "Les instances contiennent deux ou plusieurs sessions pour les processus utilisateurs, et deux ou plusieurs sessions pour les consensus layer. Cela donne aux utilisateurs la possibilité d'effectuer leur choix et de basculer entre deux ou plusieurs sessions", "page-staking-considerations-solo-7-valid": "Changement de client facile", - "page-staking-considerations-solo-7-warning": "Limité aux clients majoritaires", + "page-staking-considerations-solo-7-warning": "Des sessions réduites dans des processus utilisateurs majoritaires", "page-staking-considerations-solo-8-title": "Autonome", "page-staking-considerations-solo-8-description": "L'utilisateur conserve la garde de toutes les informations d'identification du validateur, y compris les clés de signature et de retrait", "page-staking-considerations-solo-8-warning": "Tiers de séquestre", @@ -118,19 +124,25 @@ "page-staking-considerations-saas-6-description": "Les utilisateurs n'ont pas besoin d'autorisation spéciale, d'inscription sur un compte ou de révéler leur identité pour participer au service", "page-staking-considerations-saas-6-valid": "Ouvert à tous", "page-staking-considerations-saas-6-warning": "Autorisation requise", - "page-staking-considerations-saas-7-title": "Multitude de clients", - "page-staking-considerations-saas-7-description": "Le service ne doit pas exécuter plus de 50 % de ses validateurs agrégés avec un client validateur majoritaire", + "page-staking-considerations-saas-7-title": "La dualité de méthode d'exécution", + "page-staking-considerations-saas-7-description": "Le service de staking ne devrait pas réduire de plus de 50% le nombre de validateurs secondaires ou tertiaires, engagés dans des processus utilisateurs majoritaires", "page-staking-considerations-saas-7-valid": "Moins de 50 %", "page-staking-considerations-saas-7-caution": "Actuellement inconnu", "page-staking-considerations-saas-7-warning": "Plus de 50 %", + "page-staking-considerations-saas-8-title": "La dualité de méthode de consensus", + "page-staking-considerations-saas-8-description": "Le service de staking ne devrait pas réduire de plus de 50% le nombre de validateurs secondaires ou tertiaires, impliqués dans l'élaboration d'un arrangement multisignature majoritaire", + "page-staking-considerations-saas-8-valid": "Moins de 50 %", + "page-staking-considerations-saas-8-caution": "Actuellement inconnu", + "page-staking-considerations-saas-8-warning": "Plus de 50 %", "page-staking-considerations-pools-5-description": "Le service ne nécessite pas de faire confiance à des humains pour garder vos clés ou distribuer des récompenses", "page-staking-considerations-pools-6-title": "Nœuds sans autorisation nécessaire", "page-staking-considerations-pools-6-description": "Le service permet à quiconque de devenir un opérateur de nœud pour le pool, sans autorisation", - "page-staking-considerations-pools-7-description": "Le service ne doit pas exécuter plus de 50 % de ses validateurs agréés avec un validateur client super majoritaire", + "page-staking-considerations-pools-7-description": "Le service de staking ne devrait pas réduire de plus de 50% le nombre de validateurs secondaires ou tertiaires, engagés dans des processus utilisateurs majoritaires", "page-staking-considerations-pools-8-title": "Jeton de liquidité", "page-staking-considerations-pools-8-description": "Offre des jetons de liquidité échangeable représentant votre ETH mis en jeu, détenu dans votre propre portefeuille", "page-staking-considerations-pools-8-valid": "Jeton(s) de liquidité", "page-staking-considerations-pools-8-warning": "Aucun jeton de liquidité", + "page-staking-considerations-pools-9-description": "Le service de staking ne devrait pas réduire de plus de 50% le nombre de validateurs secondaires ou tertiaires, impliqués dans l'élaboration d'un arrangement multisignature majoritaire", "page-staking-how-solo-works-item-1": "Obtenez du matériel : vous devez exécuter un noeud pour miser", "page-staking-how-solo-works-item-2": "Synchronisez le client d'exécution", "page-staking-how-solo-works-item-3": "Synchronisez le client de consensus", @@ -146,9 +158,14 @@ "page-staking-launchpad-widget-p3": "Pour faciliter les choses, découvrez quelques-uns des outils et des guides ci-dessous : ils peuvent vous aider, avec la plateforme de lancement de la mise en jeu, à configurer vos clients en toute simplicité.", "page-staking-launchpad-widget-link": "Outils logiciels et guide", "page-staking-products-get-started": "Premiers pas", + "page-staking-dropdown-staking-options": "Options de mise en jeu", + "page-staking-dropdown-staking-options-alt": "Menu déroulant des options de mise en jeu", "page-staking-stats-box-metric-1": "Nombre total d'ETH mis en jeu", "page-staking-stats-box-metric-2": "Nombre total de validateurs", "page-staking-stats-box-metric-3": "TAP actuel", + "page-staking-stats-box-metric-1-tooltip": "Somme des ETH en jeu sur la chaîne de balises, sans inclure les soldes de plus de 32 ETH", + "page-staking-stats-box-metric-2-tooltip": "Nombre de comptes de validateur actuellement activés sur la Chaîne Beacon", + "page-staking-stats-box-metric-3-tooltip": "Rendement financier annuel moyen par validateur sur la dernière période de 24 heures", "page-staking-section-comparison-subtitle": "Il n'y a pas de solution unique pour la mise en jeu et chacune d'entre elle a ses particularités. Nous allons comparer ici certains des risques, récompenses et exigences de chaque solution de mise en jeu.", "page-staking-section-comparison-rewards-title": "Récompenses", "page-staking-section-comparison-solo-rewards-li1": "Récompenses maximales - Recevez l'ensemble des récompenses directement du protocole", @@ -186,9 +203,9 @@ "page-staking-faq-4-question": "La mise en jeu est-elle déjà active ?", "page-staking-faq-4-answer-p1": "Oui. La mise en jeu est active depuis le 1er décembre 2020", "page-staking-faq-4-answer-p2": "Cela signifie que la mise en jeu est actuellement en ligne pour que les utilisateurs puissent déposer leur ETH, exécuter un client de validation et commencer à gagner des récompenses.", - "page-staking-faq-4-answer-p3": "La fusion a également eu lieu le 15 septembre 2022, et Ethereum est maintenant entièrement sécurisée par l'ETH misé depuis lors.", + "page-staking-faq-4-answer-p3": "La mise à niveau de Shanghai/Capella a été achevée le 12 avril 2023, permettant des retraits de mise en jeu, fermant la boucle sur la liquidité du staking.", "page-staking-faq-5-question": "Quand puis-je retirer mes ETH misés ?", - "page-staking-faq-5-answer-p1": "Les fonctionnalités de retrait devraient être incluses dans la prochaine mise à niveau du réseau, nommée Shanghai. Cette mise à niveau du réseau est estimée pour le premier semestre 2023, sous réserve de changements. Après la mise à jour de Shanghai, les stakers seront alors en mesure de retirer leurs récompenses et/ou leur dépôt de Eth de leur solde de validateur s'ils le souhaitent.", + "page-staking-faq-5-answer-p1": "Maintenant ! Les Stakers sont libres de retirer leurs récompenses et/ou de prélever le dépôt de leur solde de validateur s'ils le souhaitent.", "page-staking-faq-5-answer-p2": "En attendant, les stakers gagneront toujours des récompenses sous forme de frais et de MEV en proposant des blocs, qui sont mis à disposition immédiatement via l'adresse du destinataire des frais fixés.", "page-staking-faq-5-answer-link": "En savoir plus sur les retraits de mise en jeu", "page-staking-further-reading-1-link": "Pourquoi la preuve d'enjeu (Nov 2020)", @@ -215,6 +232,6 @@ "page-staking-meta-title": "Mise en jeu sur Ethereum", "page-staking-withdrawals-important-notices": "Informations importantes", "page-staking-withdrawals-important-notices-desc": "Les retraits ne sont pas encore disponibles. Veuillez lire la FAQ de Merge Eth2 et post-merge pour plus d'informations.", - "page-upgrades-merge-btn": "Plus d'informations sur la fusion", + "page-upgrades-merge-btn": "Plus d'infos sur la fusion", "subscribe-to-ef-blog": "Abonnez-vous au Blog EF pour recevoir des notifications par e-mail pour les dernières annonces de protocole." } diff --git a/src/intl/fr/page-wallets-find-wallet.json b/src/intl/fr/page-wallets-find-wallet.json index d6c0ac77870..164e23413a0 100644 --- a/src/intl/fr/page-wallets-find-wallet.json +++ b/src/intl/fr/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filtres de fonctionnalités", "page-find-wallet-footnote-1": "Les portefeuilles répertoriés sur cette page ne sont pas officiellement approuvés et sont fournis à titre d'information uniquement.", "page-find-wallet-footnote-2": "Leurs descriptions ont été fournies par les projets de portefeuilles eux-mêmes.", - "page-find-wallet-footnote-3": "Nous ajoutons des produits à cette page sur la base des critères de notre politique en matière de liste. Si vous souhaitez nous voir ajouter un portefeuille, soulevez un problème sur GitHub.", + "page-find-wallet-footnote-3": "Nous ajoutons des produits à cette page sur la base des critères de notre politique en matière de liste. Si vous souhaitez nous voir ajouter un portefeuille, soulevez un problème sur GitHub.", "page-find-wallet-mobile": "Téléphone", "page-find-wallet-mobile-desc": "Portefeuilles avec applications mobiles", "page-find-wallet-desktop": "Ordinateur", diff --git a/src/intl/hi/page-wallets-find-wallet.json b/src/intl/hi/page-wallets-find-wallet.json index 09d46af6f6f..504fe3e0d6c 100644 --- a/src/intl/hi/page-wallets-find-wallet.json +++ b/src/intl/hi/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "विशेषता फिल्टर", "page-find-wallet-footnote-1": "इस पेज पर सूचीबद्ध वॉलेट्स आधिकारिक समर्थन नहीं हैं और केवल सूचनात्मक उद्देश्यों के लिए प्रदान किए जाते हैं।", "page-find-wallet-footnote-2": "उनके विवरण वॉलेट प्रोजेक्ट द्वारा स्वयं प्रदान किए गए हैं।", - "page-find-wallet-footnote-3": "हम इस पेज पर प्रॉडक्टों को हमारे लिस्टिंग नीति के मानदंडों के आधार पर जोड़ते हैं। अगर आप हमसे कोई वॉलेट जोड़ना चाहते हैं, तो GitHub में एक मुद्दा उठाएं।", + "page-find-wallet-footnote-3": "हम इस पेज पर प्रॉडक्टों को हमारे लिस्टिंग नीति के मानदंडों के आधार पर जोड़ते हैं। अगर आप हमसे कोई वॉलेट जोड़ना चाहते हैं, तो GitHub में एक मुद्दा उठाएं।", "page-find-wallet-mobile": "मोबाइल", "page-find-wallet-mobile-desc": "मोबाइल ऐप्लिकेशन वाले वॉलेट", "page-find-wallet-desktop": "डेस्कटॉप", diff --git a/src/intl/hr/page-wallets-find-wallet.json b/src/intl/hr/page-wallets-find-wallet.json index 7a84812f0ee..17f52a084b5 100644 --- a/src/intl/hr/page-wallets-find-wallet.json +++ b/src/intl/hr/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filtri po značajkama", "page-find-wallet-footnote-1": "Prikaz novčanika na ovoj stranici ne predstavlja službeno odobrenje i služi samo za informaciju.", "page-find-wallet-footnote-2": "Njihovi opisi primljeni su izravno od projekata novčanika.", - "page-find-wallet-footnote-3": "Na ovu stranicu dodajemo proizvode temeljem kriterija iz naše politike uvrštenja. Ako želite da dodamo novčanik, podignite problem na GitHub-u.", + "page-find-wallet-footnote-3": "Na ovu stranicu dodajemo proizvode temeljem kriterija iz naše politike uvrštenja. Ako želite da dodamo novčanik, podignite problem na GitHub-u.", "page-find-wallet-mobile": "Mobitel", "page-find-wallet-mobile-desc": "Novčanici s mobilnim aplikacijama", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/hu/page-wallets-find-wallet.json b/src/intl/hu/page-wallets-find-wallet.json index 376743b525b..50c43cd10c6 100644 --- a/src/intl/hu/page-wallets-find-wallet.json +++ b/src/intl/hu/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Funkciószűrő", "page-find-wallet-footnote-1": "Az oldalon szereplő tárcák nem minősülnek az Ethereum által minősített termékeknek, az itt megjelenő adataik tájékoztatási célt szolgálnak.", "page-find-wallet-footnote-2": "A leírásokat a tárcákat biztosító projekt adta.", - "page-find-wallet-footnote-3": "Erre az oldalra a listázási szabályzatban meghatározott kritériumok alapján veszünk fel új termékeket. Ha új termék megjelenítését szeretné, akkor kérje a GitHubon.", + "page-find-wallet-footnote-3": "Erre az oldalra a listázási szabályzatban meghatározott kritériumok alapján veszünk fel új termékeket. Ha új termék megjelenítését szeretné, akkor kérje a GitHubon.", "page-find-wallet-mobile": "Mobil", "page-find-wallet-mobile-desc": "Tárcák mobilalkalmazásokkal", "page-find-wallet-desktop": "Asztali számítógép", diff --git a/src/intl/hy-am/page-wallets-find-wallet.json b/src/intl/hy-am/page-wallets-find-wallet.json index 297f49fce38..9f908097ccf 100644 --- a/src/intl/hy-am/page-wallets-find-wallet.json +++ b/src/intl/hy-am/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Հատկանիշային ֆիլտրներ", "page-find-wallet-footnote-1": "Այս էջում նշված դրամապանակների անունները տրվել են միմիայն տեղեկատվական նպատակներով:", "page-find-wallet-footnote-2": "Դրանց նկարագրությունը տրվել է դրանց հիմքում ընկած նախագծերի կողմից", - "page-find-wallet-footnote-3": "Մենք արտադրանքի անուն ավելացնում ենք հիմնվելով ցուցակագրման քաղաքականության չափանիշների վրա: Եթե ցանկանում եք, որ մենք այդ ցուցակում որևէ դրամապանակ ավելացնենք Գիթհաբում բարձրացրեք այդ հարցը:", + "page-find-wallet-footnote-3": "Մենք արտադրանքի անուն ավելացնում ենք հիմնվելով ցուցակագրման քաղաքականության չափանիշների վրա: Եթե ցանկանում եք, որ մենք այդ ցուցակում որևէ դրամապանակ ավելացնենք Գիթհաբում բարձրացրեք այդ հարցը:", "page-find-wallet-mobile": "Բջջային", "page-find-wallet-mobile-desc": "Բջջային հավելվածներով Դրամապանակներ", "page-find-wallet-desktop": "Դեսքթոփ", diff --git a/src/intl/id/page-wallets-find-wallet.json b/src/intl/id/page-wallets-find-wallet.json index d110e67e4bc..220c5319da8 100644 --- a/src/intl/id/page-wallets-find-wallet.json +++ b/src/intl/id/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Fitur filter", "page-find-wallet-footnote-1": "Dompet yang tercantum di halaman ini bukan dukungan resmi, dan disediakan hanya untuk tujuan informasi.", "page-find-wallet-footnote-2": "Deskripsi mereka telah disediakan oleh proyek dompet itu sendiri.", - "page-find-wallet-footnote-3": "Kami menambahkan produk ke halaman ini berdasarkan kriteria kami kebijakan daftar. Jika Anda ingin kami menambahkan dompet, kirim issue di GitHub.", + "page-find-wallet-footnote-3": "Kami menambahkan produk ke halaman ini berdasarkan kriteria kami kebijakan daftar. Jika Anda ingin kami menambahkan dompet, kirim issue di GitHub.", "page-find-wallet-mobile": "Seluler", "page-find-wallet-mobile-desc": "Dompet dengan aplikasi seluler", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/ig/page-wallets-find-wallet.json b/src/intl/ig/page-wallets-find-wallet.json index e813d434ede..a04880fc959 100644 --- a/src/intl/ig/page-wallets-find-wallet.json +++ b/src/intl/ig/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Nhọcha atụmatụ", "page-find-wallet-footnote-1": "Akpa ego ndi edepụtara na ibe akwụkwọ a abụghị nke gọọmentị kwadoro, ma enyere ya naanị maka ebumnuche ozi.", "page-find-wallet-footnote-2": "Akọwara ha site na ọrụ obere akpa nke onwe ha.", - "page-find-wallet-footnote-3": "Anyị na-etinye ngwaahịa na ibe akwụkwọ a site na usoro anyi dị na ndepụta amụma. Ọ bụrụ na ị ga-achọ ka anyị tinye kwa obere akpa, welite okwu Ń GitHub.", + "page-find-wallet-footnote-3": "Anyị na-etinye ngwaahịa na ibe akwụkwọ a site na usoro anyi dị na ndepụta amụma. Ọ bụrụ na ị ga-achọ ka anyị tinye kwa obere akpa, welite okwu Ń GitHub.", "page-find-wallet-mobile": "Npanaka", "page-find-wallet-mobile-desc": "Akpa ego na ngwa mkpanaka", "page-find-wallet-desktop": "Kọmpụta eji eme ihe na tebụl", diff --git a/src/intl/it/page-wallets-find-wallet.json b/src/intl/it/page-wallets-find-wallet.json index 97570a55c9d..29796ae0a2c 100644 --- a/src/intl/it/page-wallets-find-wallet.json +++ b/src/intl/it/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filtri di funzionalità", "page-find-wallet-footnote-1": "I portafogli elencati su questa pagina non sono sponsorizzazioni ufficiali e sono messi a disposizione per soli scopi informativi.", "page-find-wallet-footnote-2": "Le loro descrizioni sono state fornite dagli stessi progetti dei portafogli.", - "page-find-wallet-footnote-3": "Aggiungiamo prodotti a questa pagina secondo i criteri nella nostra politica di elencazione. Se vorresti che aggiungessimo un portafoglio, apri un ticket su GitHub.", + "page-find-wallet-footnote-3": "Aggiungiamo prodotti a questa pagina secondo i criteri nella nostra politica di elencazione. Se vorresti che aggiungessimo un portafoglio, apri un ticket su GitHub.", "page-find-wallet-mobile": "Mobile", "page-find-wallet-mobile-desc": "Portafogli con app mobili", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/ja/page-wallets-find-wallet.json b/src/intl/ja/page-wallets-find-wallet.json index 7da5c4246cb..e7c4641fd16 100644 --- a/src/intl/ja/page-wallets-find-wallet.json +++ b/src/intl/ja/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "機能", "page-find-wallet-footnote-1": "このページに記載されているウォレットは公式に推奨するものではなく、情報提供のみを目的として提供されています。", "page-find-wallet-footnote-2": "ウォレットの説明文は、それぞれのウォレットプロジェクト側より提供されたものです。", - "page-find-wallet-footnote-3": "イーサリアムの掲載ポリシーに基づいて、ウォレットを本ページに追加しています。新たなウォレットの追加をご希望の場合は、GitHubで問題を提起してください。", + "page-find-wallet-footnote-3": "イーサリアムの掲載ポリシーに基づいて、ウォレットを本ページに追加しています。新たなウォレットの追加をご希望の場合は、GitHubで問題を提起してください。", "page-find-wallet-mobile": "モバイル", "page-find-wallet-mobile-desc": "モバイルアプリのウォレット", "page-find-wallet-desktop": "デスクトップ", diff --git a/src/intl/km/page-wallets-find-wallet.json b/src/intl/km/page-wallets-find-wallet.json index 3ce9a1a54d3..981d9f4de0d 100644 --- a/src/intl/km/page-wallets-find-wallet.json +++ b/src/intl/km/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "តម្រង​លក្ខ​ណៈពិសេស", "page-find-wallet-footnote-1": "កាបូប​ដែលបានរាយក្នុង​ទំព័រនេះមិន​មែន​ជាការ​​យល់​​ព្រម​ជា​ផ្លូវ​ការ​ទេ ហើយ​គ្រាន់តែ​ផ្ត​ល់ជូន​ជាព័ត៌​មាន​តែប៉ុណ្ណោះ។", "page-find-wallet-footnote-2": "ការ​ពិ​ព​ណ៌​នា​ទាំងនេះត្រូវ​បាន​ផ្ត​ល់​​ជូន​ដោយ​គម្រោង​កាបូប​ខ្លួន​ឯង។", - "page-find-wallet-footnote-3": "យើងបន្ថែមផលិតផលទៅទំព័រនេះដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យនៅក្នុង គោលការណ៍ចុះបញ្ជីរបស់យើង។ ប្រសិនបើអ្នកចង់ឱ្យយើងបន្ថែមកាបូបមួយ សូមលើកបញ្ហាមួយនៅក្នុង GitHub.", + "page-find-wallet-footnote-3": "យើងបន្ថែមផលិតផលទៅទំព័រនេះដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យនៅក្នុង គោលការណ៍ចុះបញ្ជីរបស់យើង។ ប្រសិនបើអ្នកចង់ឱ្យយើងបន្ថែមកាបូបមួយ សូមលើកបញ្ហាមួយនៅក្នុង GitHub.", "page-find-wallet-mobile": "ទូរស័ព្ទដៃ", "page-find-wallet-mobile-desc": "កាបូប​ជាមួយ​កម្ម​វិធីទូរសព្ទ", "page-find-wallet-desktop": "កំ​ព្យូ​ទ័​រ", diff --git a/src/intl/kn/page-wallets-find-wallet.json b/src/intl/kn/page-wallets-find-wallet.json index a11a7866efc..4fc3778febb 100644 --- a/src/intl/kn/page-wallets-find-wallet.json +++ b/src/intl/kn/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "ವೈಶಿಷ್ಟ್ಯ ಫಿಲ್ಟರ್‌ಗಳು", "page-find-wallet-footnote-1": "ಈ ಪುಟದಲ್ಲಿ ಪಟ್ಟಿಯಾದ ವಾಲೆಟ್‌ಗಳು ಅಧಿಕೃತ ಅಭಿಪ್ರಾಯಗಳಲ್ಲ ಮತ್ತು ಮಾಹಿತಿಯ ಉದ್ದೇಶಕ್ಕೆ ಮಾತ್ರ ಒದಗಿಸಲಾಗಿದೆ.", "page-find-wallet-footnote-2": "ಅವರ ವಿವರಣೆಗಳು ವಾಲೆಟ್ ಯೋಜನೆಗಳೇ ಒದಗಿಸಿದವುಗಳಾಗಿವೆ.", - "page-find-wallet-footnote-3": "ನಾವು ಈ ಪುಟಕ್ಕೆ ಉತ್ತಮಗಳನ್ನು ನಮ್ಮ ಪಟ್ಟಿ ನೀತಿಯಲ್ಲಿನ ಮಾನದಂಡಗಳ ಆಧಾರದ ಮೇಲೆ ಸೇರಿಸುತ್ತೇವೆ. ನೀವು ನಮಗೆ ಒಂದು ವಾಲೆಟ್ ಸೇರಿಸಬೇಕೆಂದಿದ್ದರೆ, ಗಿಟ್‌ಹಬ್‌ನಲ್ಲಿ ಸಮಸ್ಯೆಯನ್ನು ಉತ್ತೇರಿಸಿ.", + "page-find-wallet-footnote-3": "ನಾವು ಈ ಪುಟಕ್ಕೆ ಉತ್ತಮಗಳನ್ನು ನಮ್ಮ ಪಟ್ಟಿ ನೀತಿಯಲ್ಲಿನ ಮಾನದಂಡಗಳ ಆಧಾರದ ಮೇಲೆ ಸೇರಿಸುತ್ತೇವೆ. ನೀವು ನಮಗೆ ಒಂದು ವಾಲೆಟ್ ಸೇರಿಸಬೇಕೆಂದಿದ್ದರೆ, ಗಿಟ್‌ಹಬ್‌ನಲ್ಲಿ ಸಮಸ್ಯೆಯನ್ನು ಉತ್ತೇರಿಸಿ.", "page-find-wallet-mobile": "ಮೊಬೈಲ್", "page-find-wallet-mobile-desc": "ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳೊಂದಿಗೆ ವಾಲೆಟ್‌ಗಳು", "page-find-wallet-desktop": "ಡೆಸ್ಕ್‌ಟಾಪ್", diff --git a/src/intl/ko/page-wallets-find-wallet.json b/src/intl/ko/page-wallets-find-wallet.json index 8893c50ffeb..66c6304db15 100644 --- a/src/intl/ko/page-wallets-find-wallet.json +++ b/src/intl/ko/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "기능 필터", "page-find-wallet-footnote-1": "이 페이지에 나열된 지갑은 공식적으로 보증된 것이 아니며 정보 제공 목적으로만 제공됩니다.", "page-find-wallet-footnote-2": "해당 설명은 지갑 프로젝트에서 직접 제공했습니다.", - "page-find-wallet-footnote-3": "리스팅 정책의 기준에 따라 이 페이지에 제품을 추가합니다. 지갑을 추가하려면 GitHub에 문제를 제출하세요.", + "page-find-wallet-footnote-3": "리스팅 정책의 기준에 따라 이 페이지에 제품을 추가합니다. 지갑을 추가하려면 GitHub에 문제를 제출하세요.", "page-find-wallet-mobile": "모바일", "page-find-wallet-mobile-desc": "모바일 앱이 있는 지갑", "page-find-wallet-desktop": "데스크톱", diff --git a/src/intl/mr/page-wallets-find-wallet.json b/src/intl/mr/page-wallets-find-wallet.json index 4aa1605db01..cdf355e420b 100644 --- a/src/intl/mr/page-wallets-find-wallet.json +++ b/src/intl/mr/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "वैशिष्ट्य फिल्टर", "page-find-wallet-footnote-1": "या पृष्ठावर सूचीबद्ध केलेले वॉलेट्स अधिकृत समर्थन नाहीत आणि केवळ माहितीच्या उद्देशाने प्रदान केले आहेत.", "page-find-wallet-footnote-2": "त्यांची वर्णने वॉलेट प्रकल्पांनीच दिली आहेत.", - "page-find-wallet-footnote-3": "आम्ही आमच्या सूची धोरण मधील निकषांवर आधारित या पृष्ठावर उत्पादने जोडतो. तुम्हाला आम्ही वॉलेट जोडायचे असल्यास, GitHub मध्ये समस्या मांडा सुचवा.", + "page-find-wallet-footnote-3": "आम्ही आमच्या सूची धोरण मधील निकषांवर आधारित या पृष्ठावर उत्पादने जोडतो. तुम्हाला आम्ही वॉलेट जोडायचे असल्यास, GitHub मध्ये समस्या मांडा सुचवा.", "page-find-wallet-mobile": "मोबाईल", "page-find-wallet-mobile-desc": "मोबाइल अॅप्ससह वॉलेट", "page-find-wallet-desktop": "डेस्कटॉप", diff --git a/src/intl/ms/page-wallets-find-wallet.json b/src/intl/ms/page-wallets-find-wallet.json index 8c55f1a36d9..c27f175bd67 100644 --- a/src/intl/ms/page-wallets-find-wallet.json +++ b/src/intl/ms/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Penapis ciri", "page-find-wallet-footnote-1": "Dompet yang disenaraikan di halaman ini bukan sokongan rasmi, dan disediakan untuk tujuan maklumat sahaja.", "page-find-wallet-footnote-2": "Penerangan telah disediakan oleh projek dompet itu sendiri.", - "page-find-wallet-footnote-3": "Kami menambah produk kepada halaman ini berdasarkan kriteria dalam dasar penyenaraian. Jika anda ingin kami menambah suatu dompet, bangkitkan isu di GitHub.", + "page-find-wallet-footnote-3": "Kami menambah produk kepada halaman ini berdasarkan kriteria dalam dasar penyenaraian. Jika anda ingin kami menambah suatu dompet, bangkitkan isu di GitHub.", "page-find-wallet-mobile": "Mudah Alih", "page-find-wallet-mobile-desc": "Dompet dengan aplikasi mudah alih", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/nl/page-dapps.json b/src/intl/nl/page-dapps.json index f5ff49d1639..24c4abba04f 100644 --- a/src/intl/nl/page-dapps.json +++ b/src/intl/nl/page-dapps.json @@ -1,5 +1,6 @@ { "page-dapps-1inch-logo-alt": "1inch logo", + "page-dapps-dexguru-logo-alt": "DexGuru-logo", "page-dapps-aave-logo-alt": "Aave logo", "page-dapps-add-button": "Suggereer dapp", "page-dapps-add-title": "Dapp toevoegen", @@ -86,6 +87,8 @@ "page-dapps-dapp-description-token-sets": "Crypto-beleggingsstrategieën die automatisch opnieuw in evenwicht worden gebracht.", "page-dapps-dapp-description-tornado-cash": "Stuur anonieme transacties op Ethereum.", "page-dapps-dapp-description-uniswap": "Wissel simpelweg tokens of leen tokens uit voor % beloningen.", + "page-dapps-dapp-description-dexguru": "Niet-custodiale handelsterminal voor DeFi-handelaren", + "page-dapps-dapp-description-synthetix": "Synthetix is een protocol voor de uitgifte en verhandeling van synthetische activa", "page-dapps-docklink-dapps": "Intro tot dapps", "page-dapps-docklink-smart-contracts": "Smart contracts", "page-dapps-dark-forest-logo-alt": "Dark Forest logo", @@ -97,6 +100,7 @@ "page-dapps-zerion-logo-alt": "Zerion logo", "page-dapps-rotki-logo-alt": "Rotki logo", "page-dapps-krystal-logo-alt": "Krystal logo", + "page-dapps-synthetix-logo-alt": "Synthetix-logo", "page-dapps-desc": "Zoek een Ethereum-applicatie om uit te proberen.", "page-dapps-doge-img-alt": "Illustratie van een doge die een computer gebruikt", "page-dapps-editors-choice-dark-forest": "Speel tegen anderen om planeten te veroveren en probeer bleeding-edge Ethereum scaling/privacy-technologie uit. Misschien iets voor degenen die al bekend zijn met Ethereum.", @@ -210,6 +214,10 @@ "page-dapps-more-on-nft-gaming-button": "Meer over getokeniseerde in-game items", "page-dapps-dapp-description-pwn": "Eenvoudige leningen ondersteund door eender welke token of NFT's op Ethereum.", "page-dapps-pwn-image-alt": "PWN logo", + "page-dapps-dapp-description-yearn": "Yearn Finance is een yield-aggregator. Het geeft personen, DAO's en andere protocollen een manier om digitale activa te deponeren en opbrengst te ontvangen.", + "page-dapps-yearn-image-alt": "Yearn-logo", + "page-dapps-dapp-description-convex": "Convex stelt Curve-liquiditeitsaanbieders in staat om handelsvergoedingen te verdienen en verhoogde CRV te claimen zonder hun CRV te vergrendelen.", + "page-dapps-convex-image-alt": "Convex-logo", "foundation": "Foundation", "transaction-fees": "Wat zijn transactiekosten?", "page-wallets-get-some": "Verkrijg ETH" diff --git a/src/intl/nl/page-developers-index.json b/src/intl/nl/page-developers-index.json index 97b4b6dd86e..219572a7867 100644 --- a/src/intl/nl/page-developers-index.json +++ b/src/intl/nl/page-developers-index.json @@ -51,7 +51,7 @@ "page-developers-meta-desc": "Documentatie, handleidingen en tools voor ontwikkelaars die bouwen op Ethereum.", "page-developers-mev-desc": "Een introductie tot maximaal extraheerbare waarde (MEV)", "page-developers-mev-link": "Maximale extraheerbare waarde (MEV)", - "page-developers-mining-desc": "Hoe nieuwe blocks worden gemaakt en consensus wordt bereikt", + "page-developers-mining-desc": "Hoe nieuwe blokken worden gecreëerd en consensus werd bereikt met behulp van proof-of-work", "page-developers-mining-link": "Mining", "page-developers-mining-algorithms-desc": "Informatie over Ethereums mining-algoritmes", "page-developers-mining-algorithms-link": "Mining-algoritmes", @@ -92,5 +92,6 @@ "page-developers-data-structures-and-encoding": "Gegevensstructuren en codering", "page-developers-data-structures-and-encoding-link": "Gegevensstructuren en codering", "page-developers-data-structures-and-encoding-desc": "Introductie tot de gegevensstructuren en het coderingsschema gebruikt in de Ethereum stack", - "alt-eth-blocks": "Illustratie van blokken die worden georganiseerd als een ETH-symbool" + "alt-eth-blocks": "Illustratie van blokken die worden georganiseerd als een ETH-symbool", + "page-assets-doge": "Doge maakt gebruik van dapps" } diff --git a/src/intl/nl/page-developers-learning-tools.json b/src/intl/nl/page-developers-learning-tools.json index 8de35a61e22..9a453457bd6 100644 --- a/src/intl/nl/page-developers-learning-tools.json +++ b/src/intl/nl/page-developers-learning-tools.json @@ -1,27 +1,29 @@ { "page-learning-tools-bloomtech-description": "De BloomTech Web3-cursus leert u de vaardigheden die werkgevers zoeken in ingenieurs.", - "page-learning-tools-bloomtech-logo-alt": "BloomTech logo", + "page-learning-tools-bloomtech-logo-alt": "BloomTech-logo", "page-learning-tools-bootcamps": "Bootcamps voor ontwikkelaars", "page-learning-tools-bootcamps-desc": "Betaalde online cursussen om u snel op weg te helpen.", "page-learning-tools-browse-docs": "Doorzoek documenten", "page-learning-tools-capture-the-ether-description": "Capture the Ether is een spel waarin u slimme contracten van Ethereum hackt om meer te weten te komen over beveiliging.", "page-learning-tools-capture-the-ether-logo-alt": "Logo van Capture the Ether", "page-learning-tools-chainshot-description": "Door instructeur geleide bootcamp op afstand voor Ethereum-ontwikkelaars en extra cursussen.", - "page-learning-tools-chainshot-logo-alt": "ChainShot logo", + "page-learning-tools-chainshot-logo-alt": "ChainShot-logo", "page-learning-tools-coding": "Leer door te coderen", "page-learning-tools-coding-subtitle": "Deze tools zullen u helpen te experimenteren met Ethereum als u de voorkeur geeft aan een meer interactieve leerervaring.", "page-learning-tools-consensys-academy-description": "Online bootcamp voor Ethereum-ontwikkelaars.", "page-learning-tools-consensys-academy-logo-alt": "Logo van ConsenSys Academy", "page-learning-tools-buildspace-description": "Leer over crypto door coole projecten te bouwen.", - "page-learning-tools-buildspace-logo-alt": "_buildspace Logo", + "page-learning-tools-buildspace-logo-alt": "_buildspace-logo", "page-learning-tools-cryptozombies-description": "Leer uw eigen Zombie-game te bouwen met Solidity.", - "page-learning-tools-cryptozombies-logo-alt": "CryptoZombies logo", + "page-learning-tools-cryptozombies-logo-alt": "CryptoZombies-logo", "page-learning-tools-documentation": "Leer met documentatie", "page-learning-tools-documentation-desc": "Wilt u meer informatie? Ga naar onze documentatie om de uitleg te vinden die u nodig heeft.", "page-learning-tools-eth-dot-build-description": "Een educatieve sandbox voor web3, inclusief drag-and-drop programmeren en open-source bouwstenen.", "page-learning-tools-eth-dot-build-logo-alt": "Eth.build logo", "page-learning-tools-ethernauts-description": "Voltooi niveaus door slimme contracten te hacken.", "page-learning-tools-ethernauts-logo-alt": "Ethernauts-logo", + "page-learning-tools-metaschool-description": "Word een Web3-ontwikkelaar door het bouwen en verzenden van dApps.", + "page-learning-tools-metaschool-logo-alt": "_metaschool-logo", "page-learning-tools-game-tutorials": "Interactieve game-tutorials", "page-learning-tools-game-tutorials-desc": "Leer terwijl u speelt. Deze tutorials leggen u de basis uit aan de hand van gameplay.", "page-learning-tools-meta-desc": "Webgebaseerde codeerhulpmiddelen en interactieve leerervaringen om u te helpen te experimenteren met Ethereum-ontwikkeling.", @@ -29,8 +31,12 @@ "page-learning-tools-questbook-description": "Zelfstudie-tutorials om Web 3.0 te leren door te bouwen", "page-learning-tools-questbook-logo-alt": "Questbook-logo", "page-learning-tools-remix-description": "Ontwikkel, implementeer en beheer slimme contracten voor Ethereum. Volg tutorials met de Learneth-plugin.", - "page-learning-tools-remix-description-2": "Remix en Replit zijn niet alleen sandboxes; ontwikkelaars kunnen er hun slimme contracten mee schrijven, compileren en implementeren.", + "page-learning-tools-remix-description-2": "Remix, Replit en ChainIDE zijn niet alleen sandboxes; ontwikkelaars kunnen er hun slimme contracten mee schrijven, compileren en implementeren.", "page-learning-tools-replit-description": "Een aanpasbare ontwikkelomgeving voor Ethereum met hot reloading, foutcontrole en eersteklas testnetondersteuning.", + "page-learning-tools-chainIDE-description": "Ga aan de slag met Web3 door slimme contracten voor Ethereum te schrijven met ChainIDE. Gebruik de ingebouwde sjablonen om te leren en tijd te besparen.", + "page-learning-tools-chainIDE-logo-alt": "ChainIDE-logo", + "page-learning-tools-tenderly-description": "Tenderly Sandbox is een prototype-omgeving waar je slimme contracten kunt schrijven, uitvoeren en debuggen in de browser met behulp van Solidity en JavaScript.", + "page-learning-tools-tenderly-logo-alt": "Tenderly-logo", "page-learning-tools-replit-logo-alt": "Replit-logo", "page-learning-tools-remix-logo-alt": "Remix-logo", "page-learning-tools-sandbox": "Code-sandboxes", @@ -46,5 +52,7 @@ "page-learning-tools-pointer-logo-alt": "Pointer-logo", "page-learning-tools-platzi-description": "Leer hoe u dapps kunt bouwen op Web3 en beheers alle vaardigheden die nodig zijn om blockchain-ontwikkelaar te zijn.", "page-learning-tools-platzi-logo-alt": "Platzi-logo", + "page-learning-tools-alchemy-university-description": "Ontwikkel je web3-carrière door middel van cursussen, projecten en code.", + "page-learning-tools-alchemy-university-logo-alt": "Alchemy University-logo", "alt-eth-blocks": "Illustratie van blokken die worden georganiseerd als een ETH-symbool" } diff --git a/src/intl/nl/page-developers-local-environment.json b/src/intl/nl/page-developers-local-environment.json index 99d6a6cd33b..c25c49df160 100644 --- a/src/intl/nl/page-developers-local-environment.json +++ b/src/intl/nl/page-developers-local-environment.json @@ -1,6 +1,8 @@ { "page-local-environment-brownie-desc": "Een op Python gebaseerd ontwikkel- en testraamwerk voor slimme contracten gericht op de Ethereum Virtual Machine.", "page-local-environment-brownie-logo-alt": "Brownie logo", + "page-local-environment-kurtosis-desc": "Een container-gebaseerde toolkit voor het configureren en opstarten van een multi-client Ethereum-testnet voor de snelle lokale ontwikkeling, prototyping en testen van dApps.", + "page-local-environment-kurtosis-logo-alt": "Kurtosis-logo", "page-local-environment-epirus-desc": "Een platform voor het ontwikkelen, implementeren en monitoren van blockchain-applicaties op de Java Virtual Machine.", "page-local-environment-epirus-logo-alt": "Epirus logo", "page-local-environment-eth-app-desc": "Maak door Ethereum aangedreven apps met één commando. Wordt geleverd met een breed aanbod aan UI frameworks en DeFi templates om uit te kiezen.", diff --git a/src/intl/nl/page-get-eth.json b/src/intl/nl/page-get-eth.json index a076824402b..2b99e40eef8 100644 --- a/src/intl/nl/page-get-eth.json +++ b/src/intl/nl/page-get-eth.json @@ -2,6 +2,9 @@ "page-get-eth-article-keeping-crypto-safe": "De sleutels om uw crypto veilig te houden", "page-get-eth-article-protecting-yourself": "Bescherm uzelf en uw middelen", "page-get-eth-article-store-digital-assets": "Hoe digitale activa op te slaan op Ethereum", + "page-get-eth-article-protecting-yourself-desc": "MyCrypto", + "page-get-eth-article-keeping-crypto-safe-desc": "Coinbase", + "page-get-eth-article-store-digital-assets-desc": "ConsenSys", "page-get-eth-cex": "Gecentraliseerde exchanges", "page-get-eth-cex-desc": "Exchanges zijn bedrijven waarmee u crypto kunt kopen met traditionele valuta's. Ze bewaren de ETH die u koopt totdat u het naar een wallet stuurt die u beheert.", "page-get-eth-checkout-dapps-btn": "Bekijk dapps", diff --git a/src/intl/nl/page-languages.json b/src/intl/nl/page-languages.json index 9eafccc591f..151b71673f3 100644 --- a/src/intl/nl/page-languages.json +++ b/src/intl/nl/page-languages.json @@ -15,7 +15,7 @@ "language-ar": "Arabisch", "language-az": "Azerbaidzjaans", "language-bg": "Bulgaars", - "language-bn": "Bengalees", + "language-bn": "Bengaals", "language-ca": "Catalaans", "language-cs": "Tsjechisch", "language-da": "Deens", @@ -27,6 +27,8 @@ "language-fi": "Fins", "language-fr": "Frans", "language-gl": "Galicisch", + "language-gu": "Gujarati", + "language-he": "Hebreeuws", "language-hi": "Hindi", "language-hr": "Kroatisch", "language-hu": "Hongaars", @@ -44,22 +46,25 @@ "language-ms": "Maleis", "language-nb": "Noors", "language-nl": "Nederlands", + "language-pcm": "Nigeriaans Pidgin", "language-fil": "Filipijns", "language-pl": "Pools", "language-pt": "Portugees", - "language-pt-br": "Portugees (Braziliaans)", + "language-pt-br": "Portugees (Brazilië)", "language-ro": "Roemeens", "language-ru": "Russisch", "language-se": "Zweeds", "language-sk": "Slowaaks", - "language-sl": "Sloweens", + "language-sl": "Sloveens", "language-sr": "Servisch", "language-sw": "Swahili", "language-th": "Thais", + "language-ta": "Tamil", "language-tr": "Turks", "language-uk": "Oekraïens", + "language-ur": "Urdu", "language-uz": "Oezbeeks", "language-vi": "Vietnamees", - "language-zh": "Vereenvoudigd Chinees", - "language-zh-tw": "Traditioneel Chinees" + "language-zh": "Chinees (vereenvoudigd)", + "language-zh-tw": "Chinees (traditioneel)" } diff --git a/src/intl/nl/page-layer-2.json b/src/intl/nl/page-layer-2.json index 1d933a86e41..6be0dab1d5b 100644 --- a/src/intl/nl/page-layer-2.json +++ b/src/intl/nl/page-layer-2.json @@ -4,8 +4,8 @@ "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 schalen, zonder in te leveren op veiligheid of decentralisatie.", - "layer-2-hero-alt-text": "Illustratie van transacties die op Laag 2 worden uitgevoerd en in het Ethereum-hoofdnet worden geplaatst", + "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", @@ -14,9 +14,9 @@ "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 iets dieper op ingaan, en om dit te doen moeten we eerst laag 1 (L1) uitleggen.", + "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 basisblockchain. Ethereum en Bitcoin zijn beide laag 1-blockchains omdat ze de onderliggende basis zijn van verschillende laag 2-netwerken. Voorbeelden van projecten in laag 2 omvatten \"rollups\" op Ethereum en het Lighting Network op Bitcoin. Alle gebruikerstransactie-activiteiten op deze laag 2-projecten kunnen uiteindelijk terugvloeien naar de blockchain in 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", @@ -27,10 +27,10 @@ "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 heeft zijn huidige capaciteit bereikt met meer dan 1 miljoen transacties per dag en een hoge vraag naar elk van deze transacties. Het succes van Ethereum en de vraag om het te gebruiken heeft ervoor gezorgd dat de gasprijzen aanzienlijk zijn gestegen. Daarom is de vraag naar schalingsoplossingen ook toegenomen. Hierbij komen laag 2-netwerken aan de orde.", + "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 belangrijkste doel van schaalbaarheid is het verhogen van de transactiesnelheid (snellere finaliteit) en transactiedoorvoer (meer transacties per seconde) zonder decentralisatie of beveiliging op te offeren.", - "layer-2-why-do-we-need-layer-2-scalability-2": "De Ethereum-gemeenschap heeft een sterk standpunt ingenomen om decentralisatie en veiligheid niet op te offeren om te schalen. Tot sharding is het Ethereum-hoofdnet (laag 1) alleen in staat om grofweg 15 transacties per seconde te verwerken. Wanneer de vraag om Ethereum te gebruiken hoog is, wordt het netwerk overbelast, wat de transactiekosten verhoogt en gebruikers achter zich laat die zich deze kosten niet kunnen veroorloven. Dit is wanneer laag 2 aan de orde komt om Ethereum op dit moment te schalen.", + "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", @@ -40,24 +40,24 @@ "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 we hierboven hebben gezegd, is laag 2 een collectieve term voor de schalingsoplossingen van Ethereum die transacties buiten laag 1 van Ethereum afhandelen, terwijl ze nog steeds kunnen profiteren van de robuuste gedecentraliseerde veiligheid van Ethereum laag 1. Een laag 2 is een aparte blockchain die Ethereum uitbreidt. Hoe werkt dat?", - "layer-2-how-does-layer-2-work-2": "Een laag 2-blockchain communiceert regelmatig met Ethereum (door het indienen van bundels van transacties) om ervoor te zorgen dat het vergelijkbare beveiligings- en decentralisatiegaranties heeft. Dit alles vereist geen wijzigingen in het protocol voor laag 1 (Ethereum). Hierdoor kan laag 1 de beveiliging, gegevensbeschikbaarheid en decentralisatie afhandelen, terwijl laag 2 de schaling behandelt. Laag 2'en nemen de transactionele last weg van laag 1 en sturen definitief bewijs terug naar laag 1. Door deze transactiebelasting te verwijderen uit laag 1, wordt de basislaag minder belast en wordt alles schaalbaarder.", + "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 zijn momenteel de laag 2-voorkeursoplossing voor het schalen van Ethereum. Door rollups te gebruiken, kunnen gebruikers gaskosten tot 100x verlagen ten opzichte van laag 1.", - "layer-2-rollups-2": "Rollups bundelen (of ’roll up’) honderden transacties in een enkele transactie op laag 1. Dit verdeelt de L1-transactiekosten over iedereen in de rollup, waardoor het goedkoper wordt voor elke gebruiker. Rollup-transacties worden buiten laag 1 uitgevoerd, maar de transactiegegevens worden op laag 1 geplaatst. Door transactiegegevens op laag 1 te plaatsen, erven rollups de veiligheid van Ethereum over. Er zijn twee verschillende benaderingen voor rollups: optimistic en zero-knowledge. Ze verschillen voornamelijk over hoe deze transactiegegevens op L1 worden geplaatst.", + "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 die zin dat verondersteld wordt dat transacties geldig zijn, maar indien nodig kunnen worden gecontrolleerd. Als er een ongeldige transactie wordt vermoed, wordt er een foutief bewijs geleverd om te zien of dit heeft plaatsgevonden.", + "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": "Omdat laag 2-ketens de beveiliging van Ethereum overerven, zijn ze (in een ideale wereld) net zo veilig als L1 Ethereum. Veel van de projecten zijn echter nog steeds jong en enigszins experimenteel. Na jaren van onderzoek en ontwikkeling werden veel van de L2-technologieën die Ethereum zullen schalen, gelanceerd in 2021. Veel projecten hebben nog steeds aannames ten aanzien van het vertrouwen terwijl ze eraan werken om hun netwerken te decentraliseren. Doe altijd je eigen onderzoek om te bepalen of je comfortabel bent met eventuele risico's.", + "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": "OPMERKING: Bij het overbruggen en gebruiken van laag 2, is het belangrijk om op te merken dat u het adres van uw EOA-account (een account waar slechts één persoonlijke sleutel het account beheert) net zoals op het Ethereum-hoofdnet controleert. Als u echter een contractaccount gebruikt, zoals Safe of Argent, dan heeft u geen controle over dit adres op laag 2 totdat u uw contractaccount opnieuw invoegt naar dat adres op laag 2. Als u geld overbrugt of verzendt naar een contractaccount, en u beheert dit adres voor het contractaccount niet, dan kunt u uw middelen verliezen.", + "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", @@ -67,8 +67,7 @@ "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 hebben een hogere doorvoer en lagere transactiekosten dan Ethereum. Deze alternatieve laag 1'en hebben veiligheid of decentralisatie moeten opofferen om hogere transacties per seconde en lagere transactiekosten te bereiken.", - "layer-2-sidechains-5": "Het Ethereum-ecosysteem is stevig afgestemd op het feit dat laag 2-schaling de enige manier is om het schaalbaarheidstrilemma op te lossen terwijl het gedecentraliseerd en veilig blijft.", + "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?", @@ -113,16 +112,16 @@ "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: Layer 2 scaling approaches| Vitalik Buterin en Lex Fridman", + "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 is een Optimistic Rollup die het exacte gevoel probeert te geven van een interactie met Ethereum, maar waarbij transacties maar een fractie kosten van wat ze op L1 kosten.", + "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.", + "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", diff --git a/src/intl/nl/page-stablecoins.json b/src/intl/nl/page-stablecoins.json index 1f029add125..4a3382807a9 100644 --- a/src/intl/nl/page-stablecoins.json +++ b/src/intl/nl/page-stablecoins.json @@ -154,13 +154,13 @@ "bittrex-logo": "Bittrex-logo", "coinbase-logo": "Coinbase-logo", "coinmama-logo": "Coinmama-logo", - "compound-logo": "Compound-logo", + "compound-logo": "Compound logo", "example-projects": "Voorbeeldprojecten", "gemini-logo": "Gemini-logo", - "gitcoin-logo": "Gitcoin-logo", - "loopring-logo": "Loopring-logo", + "gitcoin-logo": "Gitcoin logo", + "loopring-logo": "Loopring logo", "makerdao-logo": "MakerDao-logo", - "matcha-logo": "Matcha-logo", - "oasis-logo": "Oasis-logo", - "uniswap-logo": "Uniswap-logo" + "matcha-logo": "Matcha logo", + "oasis-logo": "Oasis logo", + "uniswap-logo": "Uniswap logo" } diff --git a/src/intl/nl/page-wallets-find-wallet.json b/src/intl/nl/page-wallets-find-wallet.json index 9662076159d..678fe295985 100644 --- a/src/intl/nl/page-wallets-find-wallet.json +++ b/src/intl/nl/page-wallets-find-wallet.json @@ -1,16 +1,94 @@ { "page-find-wallet-clear": "Filters wissen", - "page-find-wallet-desc-2": "Kies dus uw portemonnee op basis van de functies die u wilt.", - "page-find-wallet-description": "Portemonnees hebben veel optionele functies die u leuk zal vinden.", + "page-find-wallet-desc-2": "Kies je portemonnee dus op basis van de functies die je wilt.", + "page-find-wallet-description": "Portemonnees hebben veel optionele functies die je leuk zult vinden.", "page-find-wallet-last-updated": "Laatst gewijzigd op", - "page-find-wallet-meta-description": "Zoek en vergelijk Ethereum portemonnees op basis van de functies die u wilt.", - "page-find-wallet-meta-title": "Vind een Ethereum Portemonnee", + "page-find-wallet-meta-description": "Zoek en vergelijk Ethereum-portemonnees op basis van de functies die je wilt.", + "page-find-wallet-meta-title": "Vind een Ethereum-portemonnee", "page-find-wallet-title": "Vind een portemonnee", "page-find-wallet-try-removing": "Probeer een functie of twee te verwijderen", + "page-find-wallet-choose-to-compare": "Kies om te vergelijken", "page-stake-eth": "Stake ETH", - "page-find-wallet-swaps": "Gedecentraliseerde token swaps", - "page-find-wallet-swaps-desc": "Handel tussen ETH en andere tokens, direct vanuit je portemonnee.", - "page-find-wallet-multisig": "Multi-signature accounts", - "page-find-wallet-multisig-desc": "Voor extra beveiliging, vereisen multi-signature portemonnees meer dan één account om bepaalde transacties te autoriseren.", - "page-find-wallet-showing": "Zichtbaar " + "page-find-wallet-open-source": "Open source", + "page-find-wallet-open-source-desc": "Open-source software laat iedereen de integriteit en beveiliging van de applicatie controleren", + "page-find-wallet-self-custody": "Zelfbewaring", + "page-find-wallet-non-custodial": "Niet-custodiaal", + "page-find-wallet-non-custodial-desc": "Portemonnees die je privé-sleutels niet beheren", + "page-find-wallet-hardware-wallet-support": "Hardwareportemonnee-ondersteuning", + "page-find-wallet-hardware-wallet-support-desc": "Portemonnees die verbinding kunnen maken met hardwareportemonnees voor betere beveiliging", + "page-find-wallet-walletconnect": "WalletConnect", + "page-find-wallet-walletconnect-desc": "Portemonnees die WalletConnect ondersteunen voor het verbinden met dapps", + "page-find-wallet-rpc-importing": "RPC importeren", + "page-find-wallet-rpc-importing-desc": "Portemonnees die aangepaste RPC-eindpunten ondersteunen om verbinding te maken met verschillende nodes of netwerken", + "page-find-wallet-nft-support": "NFT-ondersteuning", + "page-find-wallet-nft-support-desc": "Portemonnees die het bekijken en communiceren met uw NFT's ondersteunen", + "page-find-wallet-connect-to-dapps": "Verbinding maken met dapps", + "page-find-wallet-connect-to-dapps-desc": "Portemonnees die verbinding maken met applicaties gebouwd op het Ethereum-netwerk", + "page-find-wallet-staking": "Staking", + "page-find-wallet-staking-desc": "Stake ETH direct uit de portemonnee", + "page-find-wallet-swaps": "Swaps", + "page-find-wallet-swaps-desc": "Wissel ERC-20 tokens direct in de portemonnee", + "page-find-wallet-layer-2": "Laag 2", + "page-find-wallet-layer-2-desc": "Portemonnees die Ethereum-laag 2s ondersteunen", + "page-find-wallet-gas-fee-customization": "Gasvergoeding aanpassen", + "page-find-wallet-gas-fee-customization-desc": "Pas uw gasbedragen aan (basisvergoeding, prioriteitsvergoeding en maximale vergoeding)", + "page-find-wallet-ens-support": "ENS-ondersteuning", + "page-find-wallet-ens-support-desc": "Portemonnees die Ethereum Name Service (ENS) ondersteunen", + "page-find-wallet-token-importing": "Token importeren", + "page-find-wallet-token-importing-desc": "Importeer eender welke ERC-20 token om te gebruiken in de portemonnee", + "page-find-wallet-fee-optimization": "Vergoedingsoptimalisatie", + "page-find-wallet-fee-optimization-desc": "Ondersteuning van type 2-transacties voor geoptimaliseerde gaskosten en restitutie van kosten voor ongebruikt gas", + "page-find-wallet-buy-crypto": "Koop crypto", + "page-find-wallet-buy-crypto-desc": "Koop crypto met fiat direct in de portemonnee \n *Let op: crypto kopen kan regiospecifiek zijn", + "page-find-wallet-sell-for-fiat": "Verkopen voor fiat", + "page-find-wallet-sell-for-fiat-desc": "Verkoop crypto met fiat direct in de portemonnee \n *Let op: het opnemen van crypto kan regiospecifiek zijn", + "page-find-wallet-multisig": "Multisig", + "page-find-wallet-multisig-desc": "Portemonnees die meerdere handtekeningen vereisen om een transactie te autoriseren", + "page-find-wallet-social-recovery": "Sociaal herstel", + "page-find-wallet-social-recovery-desc": "Portemonnees die guardians in staat stellen de ondertekeningssleutel voor smart contract portemonnees te wijzigen", + "page-find-wallet-token-support": "Tokenondersteuning", + "page-find-wallet-features": "Eigenschappen", + "page-find-wallet-security": "Beveiliging", + "page-find-wallet-smart-contract": "Smart contract", + "page-find-wallet-check-out": "Check out", + "page-find-wallet-info-updated-on": "informatie bijgewerkt op", + "page-find-wallet-showing-all-wallets": "Alle portemonnees weergeven", + "page-find-wallet-showing": "Weergeven", + "page-find-wallet-wallets": "wallets", + "page-find-wallet-iOS": "iOS", + "page-find-wallet-android": "Android", + "page-find-wallet-linux": "Linux", + "page-find-wallet-macOS": "macOS", + "page-find-wallet-windows": "Windows", + "page-find-wallet-chromium": "Chromium", + "page-find-wallet-firefox": "Firefox", + "page-find-wallet-hardware": "Hardware", + "page-find-wallet-hardware-desc": "Hardwareportemonnees", + "page-find-wallet-new-to-crypto-title": "Nieuw bij crypto", + "page-find-wallet-new-to-crypto-desc": "Jij bent een nieuwe gebruiker die op zoek is naar je eerste portemonnee", + "page-find-wallet-nfts-title": "NFT's", + "page-find-wallet-nfts-desc": "Jij bent iemand voor wie het om NFT's gaat en een portemonnee wilt met NFT-ondersteuning", + "page-find-wallet-hodler-title": "Hodler", + "page-find-wallet-hodler-desc": "Jij bent iemand die tokens heeft en ze niet wil aanraken", + "page-find-wallet-finance-title": "Financiën", + "page-find-wallet-finance-desc": "Jij bent iemand die DeFi gebruikt en een portemonnee wil waarmee je verbinding kunt maken met DeFi-applicaties", + "page-find-wallet-developer-title": "Ontwikkelaar", + "page-find-wallet-developer-desc": "Je bent ontwikkelaar en hebt een portemonnee nodig om te helpen met het ontwikkelen en testen van dapps", + "page-find-wallet-persona-desc": "Kies het profiel dat overeenkomt met jouw type gebruiker en filter de portemonneelijst", + "page-find-wallet-filters": "Filters", + "page-find-wallet-active": "actief", + "page-find-wallet-profile-filters": "Profiel filters", + "page-find-wallet-feature-filters": "Functiefilters", + "page-find-wallet-footnote-1": "Portemonnees op deze pagina zijn niet officiëel goedgekeurd en worden alleen ter informatie aangeboden.", + "page-find-wallet-footnote-2": "De beschrijvingen zijn afkomstig van de portemonneeprojecten zelf.", + "page-find-wallet-footnote-3": "We voegen producten toe aan deze pagina op basis van criteria in ons lijstbeleid. Als je wilt dat we een portemonnee toevoegen, meld dit dan via GitHub.", + "page-find-wallet-mobile": "Mobiel", + "page-find-wallet-mobile-desc": "Portemonnees met mobiele apps", + "page-find-wallet-desktop": "Desktop", + "page-find-wallet-desktop-desc": "Portemonnees met desktop apps", + "page-find-wallet-browser": "Browser", + "page-find-wallet-browser-desc": "Portemonnees met browserextensies", + "page-find-wallet-device": "Apparaat", + "page-find-choose-to-compare": "Kies om te vergelijken", + "page-find-wallet-choose-features": "Functies kiezen" } diff --git a/src/intl/nl/page-wallets.json b/src/intl/nl/page-wallets.json index 13260c4309a..d052c1dc80d 100644 --- a/src/intl/nl/page-wallets.json +++ b/src/intl/nl/page-wallets.json @@ -1,20 +1,20 @@ { - "page-wallets-accounts-addresses": "Wallets, accounts en adressen", + "page-wallets-accounts-addresses": "Portemonnees, accounts, sleutels en adressen", "page-wallets-accounts-addresses-desc": "Het is de moeite waard om de verschillen tussen enkele sleutelbegrippen te begrijpen.", - "page-wallets-accounts-ethereum-addresses": "Een Ethereum-account heeft een Ethereum-adres, zoals een inbox die een e-mailadres heeft. U kunt dit gebruiken om fondsen naar een account te sturen.", + "page-wallets-accounts-ethereum-addresses": "Een Ethereum-account heeft een adres, zoals een inbox die een e-mailadres heeft. Dit wordt gebruikt om je digitale activa te identificeren.", "page-wallets-alt": "Illustratie van een robot met een kluis als torso, bedoeld om een Ethereum wallet uit te beelden", - "page-wallets-ethereum-account": "Een Ethereum account is een entiteit die transacties kan verzenden en een saldo heeft.", + "page-wallets-ethereum-account": "Een Ethereum-account is een sleutelpaar. Eén sleutel wordt gebruikt om het adres te creëren dat je vrij kunt delen, de andere sleutel moet je geheim houden omdat deze wordt gebruikt bij het ondertekenen van dingen. Samen zorgen deze sleutels ervoor dat je activa kunt bezitten en transacties kunt uitvoeren.", "page-wallets-blog": "Coinbase blog", "page-wallets-bookmarking": "Bookmark uw wallet", "page-wallets-bookmarking-desc": "Als u een web wallet gebruikt, bookmark dan de website om uzelf te beschermen tegen phishing.", "page-wallets-cd": "Fysieke hardware wallets zijn apparaten waarmee u uw crypto offline kunt bewaren - zeer veilig", - "page-wallets-desc-2": "U hebt een wallet nodig om geld te verzenden en uw ETH te beheren.", + "page-wallets-desc-2": "Portemonnees zijn wat de meeste mensen gebruiken om hun digitale activa en identiteit te beheren.", "page-wallets-desc-2-link": "Meer over ETH", - "page-wallets-desc-3": "Uw wallet is slechts een hulpmiddel om uw Ethereum account te beheren. Dit betekent dat u altijd van walletaanbieder kunt wisselen. Veel wallets laten u ook meerdere Ethereum accounts tegelijk beheren vanuit één applicatie.", - "page-wallets-desc-4": "Dat is omdat wallets uw geld niet bewaren; dat doet u. Wallets zijn slechts een hulpmiddel om dat wat van u is te beheren.", - "page-wallets-description": "Ethereum wallets zijn applicaties die u laten communiceren met uw Ethereum account. Zie het als een app waarmee u kunt internetbankieren, maar dan zonder de bank. Via uw wallet bekijkt u uw saldo, verzendt u transacties en verbindt u zich met applicaties.", + "page-wallets-desc-3": "Je portemonnee is een hulpmiddel voor interactie met je Ethereum-account. Dat betekent dat je op elk moment van portemonnee-aanbieder kunt wisselen. Verschillende portemonnees maken het ook mogelijk om meerdere Ethereum-accounts te beheren vanuit één applicatie.", + "page-wallets-desc-4": "Portemonnee-aanbieders hebben geen bewaring over je fondsen. Ze bieden je alleen een venster om je activa op Ethereum te zien en gemakkelijk te beheren.", + "page-wallets-description": "Ethereum-portemonnees zijn applicaties die je controle geven over je account. Net als je fysieke portemonnee bevat het alles wat je nodig hebt om je identiteit te bewijzen en je bezittingen te beheren. Met je portemonnee kun je je aanmelden bij applicaties, je saldo bekijken, transacties uitvoeren en je identiteit verifiëren.", "page-wallets-desktop": "Desktopapplicaties - als uw voorkeur uitgaat naar het beheren van uw crypto via macOS, Windows of Linux", - "page-wallets-ethereum-wallet": "Een wallet is een product waarmee u uw Ethereum account kunt beheren. Hiermee kunt u uw accountsaldo bekijken, transacties versturen en meer.", + "page-wallets-ethereum-wallet": "Een portemonnee is een hulpmiddel waarmee je (met je sleutels) kunt communiceren met je Ethereum-account. Hiermee kun je je saldo bekijken, transacties uitvoeren en nog veel meer.", "page-wallets-explore": "Verken Ethereum", "page-wallets-features-desc": "We kunnen u helpen bij het kiezen van een wallet op basis van de functies die u belangrijk vindt.", "page-wallets-features-title": "Vergelijk wallets op basis van functies", @@ -39,12 +39,12 @@ "page-wallets-seed-phrase-example": "Hier is een voorbeeld:", "page-wallets-seed-phrase-snippet": "there aeroplane curve vent formation doge possible product distinct under spirit lamp", "page-wallets-seed-phrase-write-down": "Sla het niet op op een computer. Schrijf het op (op papier) en bewaar het veilig.", - "page-wallets-slogan": "De sleutel tot uw digitale toekomst", + "page-wallets-slogan": "De sleutels tot je digitale toekomst", "page-wallets-stay-safe": "Hoe kan ik veilig blijven", - "page-wallets-stay-safe-desc": "Wallets vereisen een andere mentaliteit als het gaat om veiligheid. Financiële vrijheid en de toegang tot en het gebruik van fondsen op eender welke plaats komt met een kleine verantwoordelijkheid – er is geen klantenservice in crypto.", - "page-wallets-subtitle": "Wallets geven toegang tot uw fondsen en Ethereum-applicaties. Alleen u moet toegang hebben tot uw wallet.", + "page-wallets-stay-safe-desc": "Financiële vrijheid en de mogelijkheid om overal ter wereld toegang te krijgen tot geld en het te gebruiken, komt met verantwoordelijkheid - er is geen klantenservice in crypto. Je bent zelf verantwoordelijk voor het veilig bewaren van je sleutels.", + "page-wallets-subtitle": "Portemonnees helpen je toegang te krijgen tot je digitale activa en je aan te melden bij applicaties.", "page-wallets-take-responsibility": "Neem verantwoordelijkheid voor uw eigen fondsen", - "page-wallets-take-responsibility-desc": "Gecentraliseerde exchanges koppelen uw wallet aan een gebruikersnaam en wachtwoord die u op traditionele manier kunt herstellen. Vergeet niet dat u deze exchange vertrouwt met bewaring van uw geld. Als dat bedrijf wordt aangevallen of failliet gaat, loopt ook uw geld gevaar.", + "page-wallets-take-responsibility-desc": "Gecentraliseerde beurzen koppelen je portemonnee aan een gebruikersnaam en wachtwoord die je op een traditionele manier kunt achterhalen. Vergeet niet dat je die beurs vertrouwt met de bewaring van je fondsen. Als de beurs ooit financiële problemen heeft, loopt je geld ook gevaar.", "page-wallets-tips": "Meer tips over veilig blijven", "page-wallets-tips-community": "Van de gemeenschap", "page-wallets-title": "Ethereum wallets", @@ -61,5 +61,7 @@ "page-wallets-your-ethereum-account": "Uw Ethereum account", "page-wallets-your-ethereum-account-desc": "Uw wallet is uw interactie met uw Ethereum account – uw saldo, transactiegeschiedenis en meer. Maar u kunt op elk gewenst moment van walletaanbieder wisselen.", "page-wallets-your-login": "Uw login voor Ethereum apps", - "page-wallets-your-login-desc": "Met behulp van uw wallet verbindt u zich via uw Ethereum account met iedere decentrale applicatie. Het is een soort login die u kunt gebruiken voor vele dapps." + "page-wallets-your-login-desc": "Met je portemonnee kun je verbinding maken met applicaties via je Ethereum-account. Het is net als een login die je kunt gebruiken voor verschillende apps.", + "additional-reading-how-to-create-an-ethereum-account": "Hoe een Ethereum-account aanmaken?", + "additional-reading-how-to-use-a-wallet": "Hoe een wallet gebruiken" } diff --git a/src/intl/nl/page-what-is-ethereum.json b/src/intl/nl/page-what-is-ethereum.json index 76158a0542e..bfe0e8c2533 100644 --- a/src/intl/nl/page-what-is-ethereum.json +++ b/src/intl/nl/page-what-is-ethereum.json @@ -11,44 +11,41 @@ "page-what-is-ethereum-comm-desc": "Onze community bestaat uit mensen met verschillende achtergronden, waaronder artiesten, crypto-anarchisten, Fortune 500-bedrijven en nu ook u. Ontdek hoe u vandaag nog mee kunt doen.", "page-what-is-ethereum-commerce-card": "Handelsgaranties", "page-what-is-ethereum-commerce-card-desc": "Klanten hebben een veilige en ingebouwde garantie dat tegoeden enkel worden uitgewisseld als u levert zoals vooraf is afgesproken. Op deze manier hebben ontwikkelaars de zekerheid dat de regels voor hen niet zullen veranderen.", - "page-what-is-ethereum-composable-card": "Alle producten kunnen op elkaar bouwen", - "page-what-is-ethereum-composable-card-desc": "Doordat alle apps op dezelfde blockchain zijn gebouwd met een gedeelde algemene staat, kunnen ze op elkaar bouwen (zoals lego's). Dit maakt het mogelijk om steeds betere producten en ervaringen te bouwen.", + "page-what-is-ethereum-composable-card": "Samenstelbare producten", + "page-what-is-ethereum-composable-card-desc": "Alle apps worden gebouwd op dezelfde blockchain met een gedeelde globale staat, wat betekent dat ze op elkaar kunnen voortbouwen (zoals legoblokjes). Dit zorgt voor betere producten en ervaringen en verzekert dat niemand tools kan verwijderen waar apps op vertrouwen.", "page-what-is-ethereum-community": "De Ethereum-community", "page-what-is-ethereum-desc": "Het fundament voor onze digitale toekomst", "page-what-is-ethereum-explore": "Verken Ethereum", - "page-what-is-ethereum-internet-card": "Een privacy-vriendelijker internet", - "page-what-is-ethereum-internet-card-desc": "Je hoeft niet al je persoonlijke gegevens op te geven om een Ethereum-app te gebruiken. Ethereum bouwt een economie gebaseerd op waarde, niet op toezicht.", + "page-what-is-ethereum-internet-card": "Een open internet", + "page-what-is-ethereum-internet-card-desc": "Iedereen kan communiceren en toepassingen bouwen op het Ethereum-netwerk. Hierdoor heb je controle over je eigen bezittingen en identiteit, in plaats van dat ze worden gecontroleerd door een paar mega-bedrijven.", "page-what-is-ethereum-meet-comm": "Ontmoet de community", "page-what-is-ethereum-meta-description": "Leer over Ethereum, wat het doet en hoe u het zelf kunt uitproberen.", "page-what-is-ethereum-meta-title": "Wat is Ethereum?", "page-what-is-ethereum-p2p-card": "Een peer-to-peer-netwerk", - "page-what-is-ethereum-p2p-card-desc": "Ethereum stelt je in staat om geld te verplaatsen of overeenkomsten te sluiten direct met iemand anders. Je hebt geen tussenpersonen nodig.", + "page-what-is-ethereum-p2p-card-desc": "Met Ethereum kun je direct met andere mensen coördineren, afspraken maken of digitale activa overdragen. Je hoeft niet te vertrouwen op tussenpersonen.", "page-what-is-ethereum-start-building-btn": "Start met bouwen", "page-what-is-ethereum-title": "Wat is Ethereum?", "page-what-is-ethereum-subtitle": "Een volledige beginnershandleiding over hoe Ethereum werkt, de voordelen die het oplevert en hoe het wordt gebruikt door miljoenen mensen over de hele wereld.", "page-what-is-ethereum-button-lets-start": "Laten we beginnen", "page-what-is-ethereum-blockchain-tab-title": "Wat is een blockchain?", - "page-what-is-ethereum-blockchain-tab-content": " Een blockchain is een database van transacties die wordt bijgewerkt en gedeeld over verschillende computers in een netwerk. Elke keer wanneer er een nieuwe reeks transacties wordt toegevoegd, wordt dit een \"blok\" genoemd - vandaar de naam blockchain. De meeste blockchains zijn openbaar en hebben enkel de mogelijkheid om data toe te voegen, niet om te verwijderen. Als iemand de informatie wil wijzigen of het systeem wil misleiden, hebben ze de meerderheid van de computers op het netwerk nodig. Dat is een hele hoop! Dit maakt reeds gevestigde blockchains zoals Ethereum extreem veilig.", - "page-what-is-ethereum-cryptocurrency-tab-title": "Waarom heet het cryptovaluta?", - "page-what-is-ethereum-cryptocurrency-tab-content": "Blockchains gebruiken cryptografische technieken om ervoor te zorgen dat uw geld veilig is. In de banksector worden al jaren vergelijkbare technieken gebruikt om monetaire transacties veilig te stellen. Je zou dus kunnen zeggen dat cryptovaluta's het veiligheidsniveau van een bank hebben.", + "page-what-is-ethereum-blockchain-tab-content": "Een blockchain is een database van transacties die wordt bijgewerkt en gedeeld over verschillende computers in een netwerk. Elke keer wanneer er een nieuwe reeks transacties wordt toegevoegd, wordt dit een \"blok\" genoemd - vandaar de naam blockchain. Openbare blockchains zoals Ethereum staan iedereen toe om transacties toe te voegen, maar niet te verwijderen. Als iemand de informatie wil wijzigen of het systeem wil misleiden, hebben ze de meerderheid van de computers op het netwerk nodig. Dat is een hele hoop! Dit maakt gedecentraliseerde blockchains zoals Ethereum zeer veilig.", + "page-what-is-ethereum-cryptocurrency-tab-title": "Wat is een cryptovaluta?", + "page-what-is-ethereum-cryptocurrency-tab-content-1": "Cryptocurrency is een term die wordt gebruikt om vele soorten fungibele (vervangbare) digitale tokens te beschrijven die worden beveiligd door een blockchain. Het begon allemaal met Bitcoin. Bitcoin kan worden gebruikt om waarde over te dragen tussen twee partijen zonder een tussenpersoon te hoeven vertrouwen. Je hoeft alleen de Bitcoin-code te vertrouwen, die volledig open en vrij beschikbaar is.", + "page-what-is-ethereum-cryptocurrency-tab-content-2": "De reden dat activa zoals bitcoin en ether \"cryptocurrencies\" worden genoemd, is omdat de veiligheid van je gegevens en activa wordt gegarandeerd door cryptografie, niet door een instelling of bedrijf te vertrouwen om eerlijk te handelen.", + "page-what-is-ethereum-cryptocurrency-tab-content-3": "Ethereum heeft zijn eigen cryptocurrency, ether (ETH), die wordt gebruikt om te betalen voor activiteiten op het netwerk. Het kan worden overgedragen aan andere gebruikers of worden geruild voor andere tokens op Ethereum. Ether is speciaal omdat het wordt gebruikt om te betalen voor de berekeningen die nodig zijn om apps en organisaties op Ethereum te bouwen en te laten draaien.", "page-what-is-ethereum-summary-title": "Samenvatting", - "page-what-is-ethereum-summary-desc-1": "Ethereum is een technologie voor het bouwen van apps en organisaties, het houden van activa, het uitvoeren van transacties en om te communiceren zonder gecontroleerd te worden door een centrale autoriteit. Het is niet nodig om al uw persoonlijke gegevens over te dragen om Ethereum te kunnen gebruiken - u houdt zelf de controle over uw eigen gegevens en over wat er wordt gedeeld. Ethereum heeft zijn eigen cryptovaluta, Ether, die wordt gebruikt om bepaalde activiteiten op het Ethereum-netwerk te betalen.", - "page-what-is-ethereum-summary-desc-2": "Nog steeds in de war? Laten we het stap voor stap uitleggen.", - "page-what-is-ethereum-what-is-crypto-title": "Wat is een cryptovaluta?", - "page-what-is-ethereum-what-is-crypto-desc-1": "Crypto (kort voor cryptocurrency/cryptovaluta) is een nieuwe vorm van digitaal geld aangedreven door cryptografie.", - "page-what-is-ethereum-what-is-crypto-desc-2": "Het begon allemaal in 2008 met Bitcoin. Het kon gebruikt worden om fondsen naar iedereen wereldwijd te sturen. Wat cryptogeld anders maakte dan normale bankoverschrijvingen of andere financiële diensten zoals Paypal of Alipay, is dat er voor de eerste keer geen tussenpersoon was.", - "page-what-is-ethereum-what-is-crypto-desc-3": "Wacht, wat is een tussenpersoon?", - "page-what-is-ethereum-what-is-crypto-desc-4": "Een tussenpersoon (middle-man) is een centrale autoriteit zoals een bank of een overheid die tussenbeide komt in een transactie tussen afzender en ontvanger. Zij hebben de bevoegdheid om transacties te onderzoeken, te censureren of terug te draaien. Zij kunnen de gevoelige gegevens die zij over u verzamelen met derden delen. Ze beslissen vaak ook tot welke financiële diensten u toegang heeft.", - "page-what-is-ethereum-what-is-crypto-desc-5": "Dingen zijn anders met crypto. Transacties verbinden afzenders en ontvangers direct met elkaar zonder dat ze met een centrale autoriteit te maken krijgen. Niemand anders zal toegang hebben tot uw geld en niemand kan u vertellen welke diensten u mag gebruiken. Dit is mogelijk vanwege de blockchain-technologie op basis waarvan cryptovaluta's kunnen werken.", + "page-what-is-ethereum-summary-desc-1": "Ethereum is een netwerk van computers over de hele wereld die een set regels volgen die het Ethereum-protocol wordt genoemd. Het Ethereum-netwerk vormt de basis voor gemeenschappen, toepassingen, organisaties en digitale activa die iedereen kan bouwen en gebruiken.", + "page-what-is-ethereum-summary-desc-2": "Je kunt overal en altijd een Ethereum-account aanmaken en een wereld aan apps verkennen of je eigen apps bouwen. De belangrijkste innovatie is dat je dit allemaal kunt doen zonder te vertrouwen op een centrale autoriteit die de regels zou kunnen veranderen of je toegang zou kunnen beperken.", + "page-what-is-ethereum-summary-desc-3": "Lees verder voor meer informatie…", "page-what-is-ethereum-btc-eth-diff-title": "Wat is het verschil tussen Ethereum en Bitcoin?", "page-what-is-ethereum-btc-eth-diff-1": "Ethereum, gelanceerd in 2015, bouwt voort op de innovaties van Bitcoin, met enkele grote verschillen.", "page-what-is-ethereum-btc-eth-diff-2": "Beide laten u digitaal geld gebruiken zonder tussenkomst van betalingsproviders of banken. Maar Ethereum is programmeerbaar, wat wil zeggen dat u ook gedecentraliseerde toepassingen op het netwerk kunt bouwen.", - "page-what-is-ethereum-btc-eth-diff-3": "Dat Ethereum programmeerbaar is betekent dat u apps kunt bouwen die de blockchain gebruiken om gegevens op te slaan of te bepalen wat uw app kan doen. Dit resulteert in een algemene blockchain die kan worden geprogrammeerd om wat dan ook te doen. Omdat er geen limiet is aan wat Ethereum mag doen, maakt dit het mogelijk dat er grote innovaties plaatsvinden op het Ethereum-netwerk.", - "page-what-is-ethereum-btc-eth-diff-4": "Terwijl Bitcoin alleen maar een betalingsnetwerk is, lijkt Ethereum meer op een markt van financiële diensten, games, sociale netwerken en andere apps die uw privacy respecteren en u niet kunnen censureren.", + "page-what-is-ethereum-btc-eth-diff-3": "Bitcoin maakt het mogelijk om elkaar eenvoudige berichten te sturen over wat we waardevol vinden. Het vaststellen van waarde zonder autoriteit is al een krachtig gegeven. Ethereum breidt dit verder uit: in plaats van alleen berichten, kun je eender welk generiek programma of contract schrijven. Er is geen beperking aan het type contract dat kan worden opgesteld en afgesloten, wat uitgebreide innovatie mogelijk maakt op het Ethereum-netwerk.", + "page-what-is-ethereum-btc-eth-diff-4": "Terwijl Bitcoin alleen een betalingsnetwerk is, is Ethereum meer een marktplaats van financiële diensten, games, sociale netwerken en andere apps.", "page-what-is-ethereum-what-can-eth-do-title": "Wat kan Ethereum doen?", "page-what-is-ethereum-why-would-i-use-ethereum-title": "Waarom zou ik Ethereum gebruiken?", - "page-what-is-ethereum-why-would-i-use-ethereum-1": "Als u ooit geld naar het buitenland heeft gestuurd (of van plan bent om dit te doen), of u ooit zorgen heeft gemaakt over uw bezittingen omdat ze door externe bedrijven buiten uw controle bewaard worden, of u heeft genoeg van de vele beperkingen en vergoedingen die traditionele financiële instellingen opleggen voor dagelijkse transacties, dan zou u geïntresseerd kunnen zijn in wat cryptovaluta's te bieden hebben.", - "page-what-is-ethereum-why-would-i-use-ethereum-2": "Vergeet niet dat Ethereum een verhaal is dat nog steeds wordt geschreven, Het wordt continu ontwikkeld en elke dag komen er meer redenen bij om het te gebruiken.", + "page-what-is-ethereum-why-would-i-use-ethereum-1": "Als je geïnteresseerd bent in veerkrachtigere, openere en betrouwbaardere manieren om wereldwijd te coördineren, organisaties te creëren, apps te bouwen en waarde te delen, dan is Ethereum iets voor jou. Ethereum is een verhaal dat door ons allen wordt geschreven, dus kom en ontdek wat voor ongelooflijke werelden we er samen mee kunnen bouwen.", + "page-what-is-ethereum-why-would-i-use-ethereum-2": "Ethereum is ook van onschatbare waarde voor mensen die te maken hadden met onzekerheid over de veiligheid, betrouwbaarheid of mobiliteit van hun bezittingen wegens externe zaken waar ze geen invloed op hadden.", "page-what-is-ethereum-slide-1-title": "Goedkopere en snellere grensoverschrijdende betalingen", "page-what-is-ethereum-slide-1-desc-1": "Stablecoins zijn een nieuw type cryptovaluta dat afhankelijk is van een stabielere activa als basis voor de waarde. De meesten van deze zijn verbonden met de Amerikaanse dollar en houden dus vast aan de waarde van die munt. Dit zorgt voor een zeer goedkoop en stabiel mondiaal betalingssysteem. Veel huidige stablecoins zijn gebouwd op het Ethereum-netwerk.", "page-what-is-ethereum-slide-1-desc-2": "Ethereum en stablecoins vereenvoudigen het proces van het verzenden van geld naar het buitenalnd. Het duurt vaak maar een paar minuten om fondsen over de hele wereld te verschuiven, dit in tegenstelling tot enkele werkdagen of zelfs weken bij de gemiddelde bank, en voor een fractie van de prijs. Daarnaast zijn er geen extra kosten voor het uitvoeren van een hoge waarde en er zijn geen beperkingen op waar of waarom u uw geld stuurt.", @@ -61,38 +58,56 @@ "page-what-is-ethereum-slide-4-desc-1": "Play-to-earn games (waar spelers daadwerkelijk worden beloond voor het spelen van de games) zijn recent verschenen en transformeren de game-industrie. Traditioneel is het vaak verboden om in-game middelen te verhandelen voor echt geld. Dit zorgt ervoor dat veel spelers zwarte markt websites gebruiken die een veiligheidsrisico vormen. Blockchain-gaming omarmt de in-game economie en bevordert dergelijk gedrag op een vertrouwde manier.", "page-what-is-ethereum-slide-4-desc-2": "Bovendien worden spelers gestimuleerd door het feit dat ze in-game tokens kunnen verhandelen voor echt geld, en dus daadwerkelijk worden beloond voor hun speeltijd.", "page-what-is-ethereum-meet-ether-title": "Maak kennis met ether, de cryptovaluta van Ethereum.", - "page-what-is-ethereum-meet-ether-desc-1": "Ethereum heeft een eigen cryptovaluta genaamd Ether (ETH). Het is zuiver digitaal, en u kunt het onmiddellijk naar iedereen ter wereld sturen. Het aanbod van ETH wordt niet gecontroleerd door een regering of bedrijf - het is gedecentraliseerd en volledig transparant. Nieuwe munten (ook wel tokens genoemd) worden alleen uitgegeven aan validators die het netwerk beveiligen.", - "page-what-is-ethereum-meet-ether-desc-2": "Elke actie op het Ethereum-netwerk vereist een bepaalde hoeveelheid rekenkracht. Deze vergoeding wordt betaald in de vorm van ether. Dit betekent dat je minimaal een kleine hoeveelheid ETH nodig hebt om het netwerk te kunnen gebruiken.", + "page-what-is-ethereum-meet-ether-desc-1": "Veel acties op het Ethereum-netwerk vereisen werk dat gedaan moet worden op de ingebouwde computer van Ethereum (ook bekend als de Ethereum Virtual Machine). Deze berekeningen zijn niet gratis; er wordt voor betaald met Ethereums eigen cryptocurrency genaamd ether (ETH). Dit betekent dat je op zijn minst een kleine hoeveelheid ether nodig hebt om het netwerk te gebruiken.", + "page-what-is-ethereum-meet-ether-desc-2": "Ether is puur digitaal en je kunt het onmiddellijk naar iedereen overal ter wereld sturen. De uitgave van ether wordt niet gecontroleerd door een overheid of bedrijf - het is gedecentraliseerd en volledig transparant. Ether wordt uitgegeven op een precieze manier volgens het protocol, alleen aan stakers die het netwerk beveiligen.", "page-what-is-ethereum-what-is-ether": "Wat is ether?", "page-what-is-ethereum-get-eth": "Verkrijg ETH", - "page-what-is-ethereum-what-can-i-do-title": "Wat kan ik doen met ETH-munten?", - "page-what-is-ethereum-what-can-i-do-desc-1": "Veel dingen! Een van de meest populaire toepassingen van de Ethereum-technologie is gedecentraliseerde financiering (DeFi) die financiële diensten mogelijk maakt voor iedereen met een internetverbinding. U kunt uw ether als onderpand gebruiken om leningen op te nemen, of om liquiditeit te bieden om rente op uw geld te verdienen.", "page-what-is-ethereum-explore-applications": "Applicaties verkennen", "page-what-is-ethereum-learn-defi": "Meer informatie over DeFi", "page-what-is-ethereum-who-runs-ethereum-title": "Wie beheert Ethereum?", - "page-what-is-ethereum-who-runs-ethereum-desc-1": "Ethereum wordt niet gecontroleerd door één enkele entiteit. Het bestaat uitsluitend door de gedecentraliseerde deelname en samenwerking van de gemeenschap. Ethereum maakt gebruik van nodes (een computer met een kopie van de Ethereum-blockchaindata) die door vrijwilligers beheerd worden om individuele server- en cloudsystemen te vervangen (die eigendom zijn van grote internetproviders en -diensten).", - "page-what-is-ethereum-who-runs-ethereum-desc-2": "Deze gedistribueerde nodes, beheerd door personen en bedrijven over de hele wereld, bieden veerkracht aan de infrastructuur van het Ethereum-netwerk. Het is daarom veel minder kwetsbaar voor hacks of shutdowns. Sinds de lancering in 2015 heeft Ethereum nooit downtime gehad. Er zijn duizenden individuele nodes die Ethereum gebruiken. Dit maakt Ethereum een van de meest gedecentraliseerde cryptovaluta's, op de tweede plaats na bitcoin.", + "page-what-is-ethereum-who-runs-ethereum-desc-1": "Ethereum wordt niet beheerd door één welbepaalde entiteit. Het bestaat zodra verbonden computers de software van het Ethereum-protocol draaien en toevoegen aan de Ethereum-blockchain. Elk van deze computers staat bekend als een node. Nodes kunnen beheerd worden door iedereen, maar om deel te nemen aan het beveiligen van het netwerk moet je ETH (Ethereums token) staken. Iedereen met 32 ETH kan dit doen zonder toestemming.", + "page-what-is-ethereum-who-runs-ethereum-desc-2": "Zelfs de broncode van Ethereum wordt niet beheerd door één enkele entiteit. Iedereen kan wijzigingen aan het protocol voorstellen en upgrades bespreken. Er zijn verschillende implementaties van het Ethereum-protocol die geproduceerd worden door onafhankelijke organisaties in verschillende programmeertalen, en ze zijn meestal open-source gebouwd.", "page-what-is-ethereum-run-a-node": "Een node runnen", "page-what-is-ethereum-smart-contract-title": "Wat zijn smart contracts?", - "page-what-is-ethereum-smart-contract-desc-1": "Slimme contracten zijn gewoon computerprogramma's die op de Ethereum-blockchain bestaan. Ze worden alleen uitgevoerd wanneer ze worden geactiveerd door een transactie van een gebruiker (of door een ander contract). Ze maken Ethereum zeer flexibel in wat het kan en zorgen voor een onderscheid tussen Ethereum en andere cryptovaluta's. Deze programma's zijn wat we nu gedecentraliseerde apps of dapps noemen.", + "page-what-is-ethereum-smart-contract-desc-1": "Slimme contracten zijn computerprogramma's die op de Ethereum-blockchain bestaan. Ze worden uitgevoerd wanneer ze worden geactiveerd door een transactie van een gebruiker. Ze maken Ethereum zeer flexibel in wat het kan doen. Deze programma's fungeren als bouwstenen voor gedecentraliseerde apps en organisaties.", "page-what-is-ethereum-smart-contract-desc-2": "Heeft u ooit al eens een product gebruikt dat zijn gebruiksvoorwaarden heeft gewijzigd? Of die een functie heeft verwijderd die u nuttig vond? Bij Ethereum kan dit niet. Zodra een slim contract is gepubliceerd op Ethereum, zal het online en operationeel blijven zolang Ethereum bestaat. Zelfs de auteur kan het niet verwijderen. Omdat slimme contracten geautomatiseerd zijn, worden gebruikers nooit gediscimineerd en zijn ze altijd beschikbaar om gebruikt te worden.", - "page-what-is-ethereum-smart-contract-desc-3": "Populaire voorbeelden van slimme contracten zijn: lening-apps, gedecentraliseerde handelsuitwisselingen, verzekeringen, crowdfunding apps - eigenlijk alles waar u aan kunt denken.", + "page-what-is-ethereum-smart-contract-desc-3": "Populaire voorbeelden van slimme contracten zijn: uitleen-apps, gedecentraliseerde handelsbeurzen, verzekeringen, quadratic funding, sociale netwerken, NFT's - eigenlijk alles wat je maar kunt bedenken.", "page-what-is-ethereum-more-on-smart-contracts": "Meer over slimme contracten", "page-what-is-ethereum-explore-dapps": "Verken dapps", "page-what-is-ethereum-criminal-activity-title": "Ik heb gehoord dat crypto wordt gebruikt als tool voor criminele activiteiten. Is dat waar?", - "page-what-is-ethereum-criminal-activity-desc-1": "Zoals bij elke vorm van geld zal een deel van het geld worden misbruikt. Het is echter vaak veel gemakkelijker voor de autoriteiten om illegale activiteiten op te sporen op Ethereum, omdat alle Ethereum-transacties plaatsvinden op een open blockchain. Dit zorgt er indirect voor dat Ethereum minder aantrekkelijk is voor degenen die liever niet worden gedetecteerd.", + "page-what-is-ethereum-criminal-activity-desc-1": "Zoals bij elke technologie wordt ook deze soms misbruikt. Maar omdat alle Ethereum-transacties op een open blockchain plaatsvinden, is het voor de autoriteiten vaak makkelijker om illegale activiteiten op te sporen dan in het traditionele financiële systeem, wat Ethereum een minder aantrekkelijke keuze maakt voor diegenen die liever onopgemerkt blijven.", "page-what-is-ethereum-criminal-activity-desc-2": "Volgens de belangrijkste bevindingen van een recent rapport van Europol, het Agentschap van de Europese Unie voor samenwerking op gebied van wetgeving, blijkt dat cryptovaluta veel minder dan fiat valuta gebruikt worden voor criminele doeleinden :", "page-what-is-ethereum-criminal-activity-desc-3": "“Het gebruik van cryptovaluta's voor illegale activiteiten omvat slechts een klein deel van de totale cryptovaluta-economie; bovendien is het een relatief klein bedrag in vergelijking met de hoeveelheid illegale fondsen die bij traditionele financiën zijn betrokken.\"", "page-what-is-ethereum-energy-title": "Hoe zit het met Ethereums energieverbruik?", - "page-what-is-ethereum-energy-desc-1": "Ethereum gebruikt momenteel het proof-of-work mechanisme, dat een grote hoeveelheid energie verbruikt. In de komende maanden (K3/K4 2022) zal Ethereum een grote update ondergaan en wordt er overgeschakeld op het proof-of-stake mechanisme, dat de impact op het milieu aanzienlijk gaat verminderen.", - "page-what-is-ethereum-energy-desc-2": "Deze update vermindert de energie die nodig is om Ethereum te beveiligen met ongeveer 99,95%, het creëert een veiliger netwerk voor veel lagere koolstofkosten. Dit zal van Ethereum een echt koolstofarme blockchain maken en tegelijkertijd de veiligheid en schaalbaarheid ervan vergroten.", + "page-what-is-ethereum-energy-desc-1": "Op 15 september 2022 ging Ethereum door de Merge-upgrade, waardoor Ethereum van proof-of-work naar proof-of-stake is overgestapt.", + "page-what-is-ethereum-energy-desc-2": "De Merge was de grootste upgrade van Ethereum en verminderde de energie die nodig is om Ethereum te beveiligen met ongeveer 99,95%, waardoor een veiliger netwerk voor veel lagere koolstofkosten gecreëerd werd. Dit maakt van Ethereum een echt koolstofarme blockchain, terwijl tegelijkertijd de veiligheid en schaalbaarheid ervan vergroot zijn.", "page-what-is-ethereum-more-on-energy-consumption": "Meer over energieverbruik", - "page-what-is-ethereum-energy-consumption-chart-legend": "Jaarlijks energieverbruik in TW/jr", + "page-what-is-ethereum-energy-consumption-chart-legend": "Jaarlijks energieverbruik in TWu/jr", + "energy-consumption-chart-global-data-centers-label": "Globale datacenters", + "energy-consumption-gold-mining-cbeci-label": "Goud delven", + "energy-consumption-chart-btc-pow-label": "BTC PoW", + "energy-consumption-chart-netflix-label": "Netflix", + "energy-consumption-chart-eth-pow-label": "ETH PoW", + "energy-consumption-chart-gaming-us-label": "Gaming in de VS", + "energy-consumption-chart-airbnb-label": "AirBnB", + "energy-consumption-chart-paypal-label": "PayPal", + "energy-consumption-chart-eth-pos-label": "ETH PoS", "page-what-is-ethereum-the-merge-update": "De merge update", - "page-what-is-ethereum-additional-reading": "Lees meer", + "page-what-is-ethereum-additional-reading": "Verder lezen", "page-what-is-ethereum-week-in-ethereum": "Week in Ethereum News", "page-what-is-ethereum-week-in-ethereum-desc": "- Een wekelijkse nieuwsbrief over belangrijke ontwikkelingen in het ecosysteem.", + "page-what-is-ethereum-kernel-dreamers": "Kernel", + "page-what-is-ethereum-kernel-dreamers-desc": "Ethereum's Dream", "page-what-is-ethereum-atoms-institutions-blockchains": "Atoms, Institutions, Blockchains", "page-what-is-ethereum-atoms-institutions-blockchains-desc": "- Waarom blockchains belangrijk zijn?", - "page-what-is-ethereum-ethereum-in-numbers-title": "Ethereum in cijfers" + "page-what-is-ethereum-ethereum-in-numbers-title": "Ethereum in cijfers", + "adoption-chart-column-now-label": "Nu", + "adoption-chart-investors-label": "Investeerders", + "adoption-chart-developers-label": "Ontwikkelaars", + "adoption-chart-companies-label": "Bedrijven", + "adoption-chart-artists-label": "Artiesten", + "adoption-chart-musicians-label": "Muzikanten", + "adoption-chart-writers-label": "Auteurs", + "adoption-chart-gamers-label": "Gamers", + "adoption-chart-refugees-label": "Vluchtelingen" } diff --git a/src/intl/nl/template-usecase.json b/src/intl/nl/template-usecase.json index eded0ec85ea..49c4077d24a 100644 --- a/src/intl/nl/template-usecase.json +++ b/src/intl/nl/template-usecase.json @@ -4,6 +4,8 @@ "template-usecase-dropdown-dao": "Gedecentraliseerde autonome organisaties (DAO's)", "template-usecase-dropdown-social-networks": "Gedecentraliseerde sociale netwerken", "template-usecase-dropdown-identity": "Gedecentraliseerde identiteit", + "template-usecase-dropdown-desci": "Gedecentraliseerde wetenschap (DeSci)", + "template-usecase-dropdown-refi": "Regeneratieve financiering (ReFi)", "template-usecase-dropdown": "Ethereum use cases", "template-usecase-banner": "Gebruiksmogelijkheden van Ethereum ontwikkelen en evolueren. Voeg alle informatie toe die dingen volgens u duidelijker of meer up-to-date te maken.", "template-usecase-edit-link": "Bewerk pagina", diff --git a/src/intl/pcm/page-wallets-find-wallet.json b/src/intl/pcm/page-wallets-find-wallet.json index 29e5776ed76..502fe5ebf0d 100644 --- a/src/intl/pcm/page-wallets-find-wallet.json +++ b/src/intl/pcm/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Feature filtas", "page-find-wallet-footnote-1": "Wallets wey dem list for dis page nor get official endorsements, and dem dey provided only for informashional purposes.", "page-find-wallet-footnote-2": "Di wallet projects don already provide dia diskripshon demsefs.", - "page-find-wallet-footnote-3": "Wi add prodcuts to dis page based on di kriteria wey dey awa listin policy. If yu go like add new wallet, you fit raise issue for di GitHub.", + "page-find-wallet-footnote-3": "Wi add prodcuts to dis page based on di kriteria wey dey awa listin policy. If yu go like add new wallet, you fit raise issue for di GitHub.", "page-find-wallet-mobile": "Mobile", "page-find-wallet-mobile-desc": "Wallet wey get mobile apps", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/pl/page-wallets-find-wallet.json b/src/intl/pl/page-wallets-find-wallet.json index 9d7094082f5..0bc9ac148f1 100644 --- a/src/intl/pl/page-wallets-find-wallet.json +++ b/src/intl/pl/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filtry cech", "page-find-wallet-footnote-1": "Wyszczególnienie portfeli na tej stronie nie stanowi ich oficjalnej aprobaty i portfele te podano wyłącznie do celów informacyjnych.", "page-find-wallet-footnote-2": "Ich opisy zostały dostarczone przez projekty portfelowe.", - "page-find-wallet-footnote-3": "Produkty dodajemy do tej strony na podstawie kryteriów określonych w naszych zasadach . Jeśli chcesz, abyśmy dodali jakiś portfel, prześlij zgłoszenie w GitHub.", + "page-find-wallet-footnote-3": "Produkty dodajemy do tej strony na podstawie kryteriów określonych w naszych zasadach . Jeśli chcesz, abyśmy dodali jakiś portfel, prześlij zgłoszenie w GitHub.", "page-find-wallet-mobile": "Mobilny", "page-find-wallet-mobile-desc": "Portfele z aplikacjami mobilnymi", "page-find-wallet-desktop": "Desktopowe", diff --git a/src/intl/pt-br/page-wallets-find-wallet.json b/src/intl/pt-br/page-wallets-find-wallet.json index f3686c5cd7f..c6e7fb5ac2b 100644 --- a/src/intl/pt-br/page-wallets-find-wallet.json +++ b/src/intl/pt-br/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filtros de recursos", "page-find-wallet-footnote-1": "As carteiras listadas nesta página não são endossos oficiais e são fornecidas apenas a título informativo.", "page-find-wallet-footnote-2": "As descrições delas foram fornecidas pelos próprios projetos da carteira.", - "page-find-wallet-footnote-3": "Adicionamos produtos a esta página com base nos critérios em nossa política de listagem. Se você quiser que adicionemos uma carteira, abra um tíquete no GitHub.", + "page-find-wallet-footnote-3": "Adicionamos produtos a esta página com base nos critérios em nossa política de listagem. Se você quiser que adicionemos uma carteira, abra um tíquete no GitHub.", "page-find-wallet-mobile": "Celular", "page-find-wallet-mobile-desc": "Carteiras com aplicativos móveis", "page-find-wallet-desktop": "Área de trabalho", diff --git a/src/intl/pt/page-wallets-find-wallet.json b/src/intl/pt/page-wallets-find-wallet.json index 9dfcd878cc3..210418c12b1 100644 --- a/src/intl/pt/page-wallets-find-wallet.json +++ b/src/intl/pt/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filtros de características", "page-find-wallet-footnote-1": "As carteiras listadas nesta página não são recomendações oficiais e são fornecidas apenas para fins informativos.", "page-find-wallet-footnote-2": "As suas descrições foram fornecidas pelos próprios projetos de carteiras.", - "page-find-wallet-footnote-3": "Adicionamos produtos a esta página com base nos critérios da nossa política de admissão. Se pretender que adicionemos uma carteira, levante uma questão no GitHub.", + "page-find-wallet-footnote-3": "Adicionamos produtos a esta página com base nos critérios da nossa política de admissão. Se pretender que adicionemos uma carteira, levante uma questão no GitHub.", "page-find-wallet-mobile": "Telemóvel", "page-find-wallet-mobile-desc": "Carteiras com aplicações móveis", "page-find-wallet-desktop": "Computador", diff --git a/src/intl/ru/page-wallets-find-wallet.json b/src/intl/ru/page-wallets-find-wallet.json index 53997c84128..c5d8d2087a0 100644 --- a/src/intl/ru/page-wallets-find-wallet.json +++ b/src/intl/ru/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Фильтры функций", "page-find-wallet-footnote-1": "Кошельки, перечисленные на этой странице, не являются официально подтвержденными и представлены исключительно в информационных целях.", "page-find-wallet-footnote-2": "Их описания были предоставлены самими проектами кошельков.", - "page-find-wallet-footnote-3": "Мы добавляем продукты на эту страницу на основе критериев политики листинга. Если вы хотите, чтобы мы добавили кошелек, сообщите о проблеме в GitHub.", + "page-find-wallet-footnote-3": "Мы добавляем продукты на эту страницу на основе критериев политики листинга. Если вы хотите, чтобы мы добавили кошелек, сообщите о проблеме в GitHub.", "page-find-wallet-mobile": "На мобильном", "page-find-wallet-mobile-desc": "Кошельки с мобильными приложениями", "page-find-wallet-desktop": "На настольном ПК", diff --git a/src/intl/se/page-wallets-find-wallet.json b/src/intl/se/page-wallets-find-wallet.json index 7f77853ffc4..ae542373527 100644 --- a/src/intl/se/page-wallets-find-wallet.json +++ b/src/intl/se/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filter med funktioner", "page-find-wallet-footnote-1": "Plånböckerna på den här sidan är inte officiella rekommendationer utan tillhandahålls endast i informationssyfte.", "page-find-wallet-footnote-2": "Beskrivningarna har tillhandahållits av plånboksprojekten själva.", - "page-find-wallet-footnote-3": "Vi lägger till produkter på denna sida baserat på kriterier i vår listningspolicy. Om du vill att vi ska lägga till en plånbok kan du skapa ett problem i GitHub.", + "page-find-wallet-footnote-3": "Vi lägger till produkter på denna sida baserat på kriterier i vår listningspolicy. Om du vill att vi ska lägga till en plånbok kan du skapa ett problem i GitHub.", "page-find-wallet-mobile": "Mobil", "page-find-wallet-mobile-desc": "Plånböcker med mobilappar", "page-find-wallet-desktop": "Skrivbord", diff --git a/src/intl/sk/page-wallets-find-wallet.json b/src/intl/sk/page-wallets-find-wallet.json index 3be15efee82..28e7528b2f7 100644 --- a/src/intl/sk/page-wallets-find-wallet.json +++ b/src/intl/sk/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filtre vlastností", "page-find-wallet-footnote-1": "Peňaženky uvedené na tejto stránke niesu oficiálne schválené a sú zobrazené len na informatívne účely.", "page-find-wallet-footnote-2": "Ich popisy boli poskytnuté priamo ich prevádzkovateľmi.", - "page-find-wallet-footnote-3": "Produkty na tejto stránke pridávame na základe ktitérií našej politiky. Pokiaľ si želáte pridať peňaženku, dajte nám vedieť v GitHub.", + "page-find-wallet-footnote-3": "Produkty na tejto stránke pridávame na základe ktitérií našej politiky. Pokiaľ si želáte pridať peňaženku, dajte nám vedieť v GitHub.", "page-find-wallet-mobile": "Mobil", "page-find-wallet-mobile-desc": "Peňaženky s mobilnými aplikáciami", "page-find-wallet-desktop": "Počítač", diff --git a/src/intl/sr/page-wallets-find-wallet.json b/src/intl/sr/page-wallets-find-wallet.json index 3f1a7b75377..aa7b1f8ea58 100644 --- a/src/intl/sr/page-wallets-find-wallet.json +++ b/src/intl/sr/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Filteri funkcija", "page-find-wallet-footnote-1": "Novčanici navedeni na ovoj stranici nisu zvanične preporuke i služe samo u informativne svrhe.", "page-find-wallet-footnote-2": "Opise novčanika pružaju sami projekti novčanika.", - "page-find-wallet-footnote-3": "Dodajemo proizvode na ovu stranicu prema kriterijumima naše politike navođenja. Ako želite da dodamo novčanik, prijavite se za to na platformi GitHub.", + "page-find-wallet-footnote-3": "Dodajemo proizvode na ovu stranicu prema kriterijumima naše politike navođenja. Ako želite da dodamo novčanik, prijavite se za to na platformi GitHub.", "page-find-wallet-mobile": "Mobilni", "page-find-wallet-mobile-desc": "Novčanici sa mobilnim aplikacijama", "page-find-wallet-desktop": "Desktop", diff --git a/src/intl/sw/page-wallets-find-wallet.json b/src/intl/sw/page-wallets-find-wallet.json index cd114219b78..5ad4b822e89 100644 --- a/src/intl/sw/page-wallets-find-wallet.json +++ b/src/intl/sw/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Chujio za huduma", "page-find-wallet-footnote-1": "Pochi zilizoorodheshwa hapa sio ridhaa rasmi, bali kwa kutoa taarifa peke yake.", "page-find-wallet-footnote-2": "Maelezo yametolewa na kazi za pochi zenyewe.", - "page-find-wallet-footnote-3": "Tunaongeza bidhaa kwenye ukurasa huu kwa kutazama msingi wa sera za orodha. Kama ungependa tuongeze pochi, andika pendekezo kwenye GitHub.", + "page-find-wallet-footnote-3": "Tunaongeza bidhaa kwenye ukurasa huu kwa kutazama msingi wa sera za orodha. Kama ungependa tuongeze pochi, andika pendekezo kwenye GitHub.", "page-find-wallet-mobile": "Rununu", "page-find-wallet-mobile-desc": "Pochi zenye programu za simu", "page-find-wallet-desktop": "Tarakilishi", diff --git a/src/intl/th/page-wallets-find-wallet.json b/src/intl/th/page-wallets-find-wallet.json index d83f1866efe..d5a8a610463 100644 --- a/src/intl/th/page-wallets-find-wallet.json +++ b/src/intl/th/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "กรองคุณสมบัติ", "page-find-wallet-footnote-1": "การรวมของวอลเล็ทในหน้านี้มิได้แสดงถึงการรับรองสนับสนุนอย่างเป็นทางการ และเป็นเพียงวัตถุประสงค์ในการให้ข้อมูลเท่านั้น", "page-find-wallet-footnote-2": "คุณสมบัติของพวกวอลเล็ทจัดเตรียมให้โดยโครงการของวอลเล็ทนั้นเอง", - "page-find-wallet-footnote-3": "เราเพิ่มเติมผลิตภัณฑ์ในหน้านี้ตามเกณฑ์ในนโยบายการลงรายการของเรา หากคุณต้องการให้เราเติมวอลเล็ท กรุณาแจ้งปัญหาใน GitHub", + "page-find-wallet-footnote-3": "เราเพิ่มเติมผลิตภัณฑ์ในหน้านี้ตามเกณฑ์ในนโยบายการลงรายการของเรา หากคุณต้องการให้เราเติมวอลเล็ท กรุณาแจ้งปัญหาใน GitHub", "page-find-wallet-mobile": "โทรศัพท์มือถือ", "page-find-wallet-mobile-desc": "วอลเล็ทที่มีแอปมือถือ", "page-find-wallet-desktop": "เดสก์ทอป", diff --git a/src/intl/tk/page-wallets-find-wallet.json b/src/intl/tk/page-wallets-find-wallet.json index 2d214d384dd..03903819a27 100644 --- a/src/intl/tk/page-wallets-find-wallet.json +++ b/src/intl/tk/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Aýratynlyk süzgüçleri", "page-find-wallet-footnote-1": "Bu sahypada görkezilen gapjyklar resmi tassyklama däl we diňe maglumat maksatly görkezilýär.", "page-find-wallet-footnote-2": "Olaryň beýany gapjyk taslamalarynyň özleri tarapyndan üpjün edildi.", - "page-find-wallet-footnote-3": "Sanaw goşmak boýunça syýasatymyzdaky talaplara laýyklykda bu sahypa önümleri goşýarys. Gapjyk goşmagymyzy isleseňiz, GitHub-da bir mesele gozgaň.", + "page-find-wallet-footnote-3": "Sanaw goşmak boýunça syýasatymyzdaky talaplara laýyklykda bu sahypa önümleri goşýarys. Gapjyk goşmagymyzy isleseňiz, GitHub-da bir mesele gozgaň.", "page-find-wallet-mobile": "Mobil", "page-find-wallet-mobile-desc": "Mobil programmalary bolan gapjyklar", "page-find-wallet-desktop": "Iş stoly", diff --git a/src/intl/tr/page-wallets-find-wallet.json b/src/intl/tr/page-wallets-find-wallet.json index 08d409b32cc..d7b282715b9 100644 --- a/src/intl/tr/page-wallets-find-wallet.json +++ b/src/intl/tr/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Özellik filtreleri", "page-find-wallet-footnote-1": "Bu sayfada listelenen cüzdanlar resmi onaylı değildir ve yalnızca bilgilendirme amaçlıdır.", "page-find-wallet-footnote-2": "Açıklamaları, cüzdan projelerinin kendileri tarafından sağlanmıştır.", - "page-find-wallet-footnote-3": "Bu sayfaya listeleme politikamıza göre ürün ekliyoruz. Bir cüzdan eklememizi isterseniz, GitHub ile iletişime geçin.", + "page-find-wallet-footnote-3": "Bu sayfaya listeleme politikamıza göre ürün ekliyoruz. Bir cüzdan eklememizi isterseniz, GitHub ile iletişime geçin.", "page-find-wallet-mobile": "Mobil", "page-find-wallet-mobile-desc": "Mobil uygulaması olan cüzdanlar", "page-find-wallet-desktop": "Masaüstü", diff --git a/src/intl/uk/page-wallets-find-wallet.json b/src/intl/uk/page-wallets-find-wallet.json index 85042072046..e134f19e192 100644 --- a/src/intl/uk/page-wallets-find-wallet.json +++ b/src/intl/uk/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Фільтри функцій", "page-find-wallet-footnote-1": "Гаманці, перераховані на цій сторінці, не є офіційно схваленими, і надаються тільки в інформаційних цілях.", "page-find-wallet-footnote-2": "Їхні описи були надані самими проєктами гаманців.", - "page-find-wallet-footnote-3": "Ми додаємо продукти на цю сторінку згідно з критеріями нашої політики лістингу. Якщо ви хочете, щоб ми додали гаманець, створіть запит на GitHub.", + "page-find-wallet-footnote-3": "Ми додаємо продукти на цю сторінку згідно з критеріями нашої політики лістингу. Якщо ви хочете, щоб ми додали гаманець, створіть запит на GitHub.", "page-find-wallet-mobile": "Мобільний пристрій", "page-find-wallet-mobile-desc": "Гаманці з мобільними програмами", "page-find-wallet-desktop": "Настільний комп’ютер", diff --git a/src/intl/vi/page-wallets-find-wallet.json b/src/intl/vi/page-wallets-find-wallet.json index fb0288e3d6f..79d99399225 100644 --- a/src/intl/vi/page-wallets-find-wallet.json +++ b/src/intl/vi/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "Lọc theo tính năng", "page-find-wallet-footnote-1": "Ví được liệt kê trên trang này chỉ là giả dụ và chỉ được cung cấp cho mục đích thông tin.", "page-find-wallet-footnote-2": "Những tiêu chí trên đã được cung cấp bởi chính các chủ của dự án ví.", - "page-find-wallet-footnote-3": "Chúng tôi thêm sản phẩm vào trang này dựa trên các tiêu chí trong chính sách niêm yết của chúng tôi. Nếu bạn muốn chúng tôi thống kê thêm, hãy báo cáo trong GitHub.", + "page-find-wallet-footnote-3": "Chúng tôi thêm sản phẩm vào trang này dựa trên các tiêu chí trong chính sách niêm yết của chúng tôi. Nếu bạn muốn chúng tôi thống kê thêm, hãy báo cáo trong GitHub.", "page-find-wallet-mobile": "Di động", "page-find-wallet-mobile-desc": "Ví có trên di động", "page-find-wallet-desktop": "Máy tính để bàn", diff --git a/src/intl/zh-tw/page-wallets-find-wallet.json b/src/intl/zh-tw/page-wallets-find-wallet.json index 7eda67a58d4..753d110b0e6 100644 --- a/src/intl/zh-tw/page-wallets-find-wallet.json +++ b/src/intl/zh-tw/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "功能篩選條件", "page-find-wallet-footnote-1": "本頁面所列錢包並非官方認可,僅供用於參考用途。", "page-find-wallet-footnote-2": "錢包說明由錢包專案本身提供。", - "page-find-wallet-footnote-3": "我们根據我们上架政策中的標準將產品添加到本頁面。如果你想讓我們添加錢包,請在 GitHub 中提出問題。", + "page-find-wallet-footnote-3": "我们根據我们上架政策中的標準將產品添加到本頁面。如果你想讓我們添加錢包,請在 GitHub 中提出問題。", "page-find-wallet-mobile": "行動裝置", "page-find-wallet-mobile-desc": "有行動裝置應用程式的錢包", "page-find-wallet-desktop": "桌上型電腦", diff --git a/src/intl/zh/page-wallets-find-wallet.json b/src/intl/zh/page-wallets-find-wallet.json index 49f87eeff59..aaa3c1db2cd 100644 --- a/src/intl/zh/page-wallets-find-wallet.json +++ b/src/intl/zh/page-wallets-find-wallet.json @@ -81,7 +81,7 @@ "page-find-wallet-feature-filters": "功能筛选", "page-find-wallet-footnote-1": "本页所列钱包并非官方认可,仅供参考。", "page-find-wallet-footnote-2": "钱包描述由钱包项目自行提供。", - "page-find-wallet-footnote-3": "我们根据我们上架政策中的标准将产品添加到本页面。如果你想要添加钱包,请在 GitHub 中提出问题。", + "page-find-wallet-footnote-3": "我们根据我们上架政策中的标准将产品添加到本页面。如果你想要添加钱包,请在 GitHub 中提出问题。", "page-find-wallet-mobile": "移动版", "page-find-wallet-mobile-desc": "带有移动应用程序的钱包", "page-find-wallet-desktop": "桌面", diff --git a/src/lambda/calendarEvents.ts b/src/lambda/calendarEvents.ts deleted file mode 100644 index f668b561647..00000000000 --- a/src/lambda/calendarEvents.ts +++ /dev/null @@ -1,66 +0,0 @@ -import axios from "axios" - -import type { HandlerResponse } from "@netlify/functions" - -export const lambda = async ( - apiKey: string, - calenderId: string -): Promise => { - try { - const futureEventsReq = await axios.get( - `https://content.googleapis.com/calendar/v3/calendars/${calenderId}/events`, - { - params: { - key: apiKey, - timeMin: new Date().toISOString(), - maxResults: 3, - singleEvents: true, - orderBy: "startTime", - }, - } - ) - - const pastEventsReq = await axios.get( - `https://content.googleapis.com/calendar/v3/calendars/${calenderId}/events`, - { - params: { - key: apiKey, - timeMax: new Date().toISOString(), - maxResults: 4, - singleEvents: true, - orderBy: "startTime", - }, - } - ) - - const response = { - pastEvents: pastEventsReq.data.items, - futureEvents: futureEventsReq.data.items, - } - return { statusCode: 200, body: JSON.stringify(response) } - } catch (error) { - console.error(error) - // @ts-ignore - return { - statusCode: 500, - body: JSON.stringify({ - msg: "Something went wrong with requesting the calendar events data.", - }), - } - } -} - -export const handler = (): Promise => { - let apiKey = process.env.GOOGLE_API_KEY - let calendarId = process.env.GOOGLE_CALENDAR_ID - - if (!apiKey) { - throw new Error("required env GOOGLE_API_KEY not set") - } - - if (!calendarId) { - throw new Error("require env GOOGLE_CALENDAR_ID not set") - } - - return lambda(apiKey, calendarId) -} diff --git a/src/lambda/defipulse.ts b/src/lambda/defipulse.ts deleted file mode 100644 index 3c2446f0d54..00000000000 --- a/src/lambda/defipulse.ts +++ /dev/null @@ -1,39 +0,0 @@ -import axios from "axios" -import takeRightWhile from "lodash/takeRightWhile" - -import type { HandlerResponse } from "@netlify/functions" - -export const lambda = async (): Promise => { - try { - const response = await axios.get(`https://api.llama.fi/charts/Ethereum`) - if (response.status < 200 || response.status >= 300) { - return { - statusCode: response.status, - body: response.statusText, - } - } - - const { data } = response - - // get only the last 90 days - const daysToFetch = 90 - const now = new Date() - const startDate = new Date(now.setDate(now.getDate() - daysToFetch)) - const startTimestamp = Math.round(startDate.getTime() / 1000) - - const trimmedData = takeRightWhile( - data, - ({ date }) => Number(date) > startTimestamp - ) - - return { statusCode: 200, body: JSON.stringify(trimmedData) } - } catch (error) { - console.error(error) - // @ts-ignore - return { statusCode: 500, body: JSON.stringify({ msg: error.message }) } - } -} - -export const handler = (): Promise => { - return lambda() -} diff --git a/src/lambda/etherscan.ts b/src/lambda/etherscan.ts deleted file mode 100644 index 3ee4f23db22..00000000000 --- a/src/lambda/etherscan.ts +++ /dev/null @@ -1,38 +0,0 @@ -import axios from "axios" - -import type { HandlerResponse } from "@netlify/functions" - -export const lambda = async (apiKey: string): Promise => { - const daysToFetch = 90 - const now = new Date() - const endDate = now.toISOString().split("T")[0] // YYYY-MM-DD - const startDate = new Date(now.setDate(now.getDate() - daysToFetch)) - .toISOString() - .split("T")[0] // {daysToFetch} days ago - try { - const response = await axios.get( - `https://api.etherscan.io/api?module=stats&action=nodecounthistory&startdate=${startDate}&enddate=${endDate}&sort=desc&apikey=${apiKey}` - ) - if (response.status < 200 || response.status >= 300) { - return { statusCode: response.status, body: response.statusText } - } - const { data } = response - return { statusCode: 200, body: JSON.stringify(data) } - } catch (error) { - console.error(error) - return { - statusCode: 500, - body: JSON.stringify({ msg: (error as Error).message }), - } - } -} - -export const handler = () => { - let apiKey = process.env.ETHERSCAN_API_KEY - - if (!apiKey) { - throw new Error("required env ETHERSCAN_API_KEY not set") - } - - return lambda(apiKey) -} diff --git a/src/lambda/etherscanBlock.ts b/src/lambda/etherscanBlock.ts deleted file mode 100644 index 53bbeb7beaf..00000000000 --- a/src/lambda/etherscanBlock.ts +++ /dev/null @@ -1,36 +0,0 @@ -import axios from "axios" - -import type { HandlerResponse } from "@netlify/functions" - -export const lambda = async (apiKey: string): Promise => { - try { - const response = await axios.get( - `https://api.etherscan.io/api?module=block&action=getblockcountdown&blockno=12965000&apikey=${apiKey}` - ) - if (response.status < 200 || response.status >= 300) { - return { statusCode: response.status, body: response.statusText } - } - - const { data } = response - return { - statusCode: 200, - body: JSON.stringify(data.result.EstimateTimeInSec || 0), - } - } catch (error) { - console.error(error) - return { - statusCode: 500, - body: JSON.stringify({ msg: (error as Error).message }), - } - } -} - -export const handler = () => { - let apiKey = process.env.ETHERSCAN_API_KEY - - if (!apiKey) { - throw new Error("required env ETHERSCAN_API_KEY not set") - } - - return lambda(apiKey) -} diff --git a/src/lambda/l2beat.ts b/src/lambda/l2beat.ts deleted file mode 100644 index be34b0fd451..00000000000 --- a/src/lambda/l2beat.ts +++ /dev/null @@ -1,28 +0,0 @@ -import axios from "axios" - -import type { HandlerResponse } from "@netlify/functions" - -export const lambda = async (): Promise => { - try { - const response = await axios.get(`https://api.l2beat.com/api/tvl`) - if (response.status < 200 || response.status >= 300) { - return { statusCode: response.status, body: response.statusText } - } - - const { data } = response - return { - statusCode: 200, - body: JSON.stringify(data), - } - } catch (error) { - console.error(error) - return { - statusCode: 500, - body: JSON.stringify({ msg: (error as Error).message }), - } - } -} - -export const handler = () => { - return lambda() -} diff --git a/src/lambda/translation-build.ts b/src/lambda/translation-build.ts deleted file mode 100644 index 86b8f6d5751..00000000000 --- a/src/lambda/translation-build.ts +++ /dev/null @@ -1,29 +0,0 @@ -// TODO add /translations-build/ page - -// const axios = require("axios") - -// exports.handler = async function (event, context) { -// try { -// const baseURL = -// "https://api.crowdin.com/api/project/ethereum-org/export" -// const { CROWDIN_API_KEY } = process.env - -// const resp = await axios.get(`${baseURL}?key=${CROWDIN_API_KEY}&json`) - -// if (resp.status < 200 || resp.status >= 300) { -// return { statusCode: resp.status, body: resp.statusText } -// } - -// const data = await resp.data -// return { -// statusCode: 200, -// body: JSON.stringify({ data }), -// } -// } catch (err) { -// console.log(err) // output to netlify function log -// return { -// statusCode: 500, -// body: JSON.stringify({ msg: err.message }), -// } -// } -// } diff --git a/src/lambda/translations.ts b/src/lambda/translations.ts deleted file mode 100644 index 42deb90a5ca..00000000000 --- a/src/lambda/translations.ts +++ /dev/null @@ -1,37 +0,0 @@ -import axios from "axios" - -import type { HandlerResponse } from "@netlify/functions" - -export const lambda = async (apiKey: string): Promise => { - try { - const baseURL = "https://api.crowdin.com/api/project/ethereum-org/status" - - const resp = await axios.get(`${baseURL}?key=${apiKey}&json`) - - if (resp.status < 200 || resp.status >= 300) { - return { statusCode: resp.status, body: resp.statusText } - } - - const data = await resp.data - return { - statusCode: 200, - body: JSON.stringify({ data }), - } - } catch (error) { - console.log(error) // output to netlify function log - return { - statusCode: 500, - body: JSON.stringify({ msg: (error as Error).message }), - } - } -} - -export const handler = () => { - let apiKey = process.env.CROWDIN_API_KEY - - if (!apiKey) { - throw new Error("required env CROWDIN_API_KEY not set") - } - - return lambda(apiKey) -} diff --git a/src/lambda/txs.ts b/src/lambda/txs.ts deleted file mode 100644 index 9ad64f82287..00000000000 --- a/src/lambda/txs.ts +++ /dev/null @@ -1,41 +0,0 @@ -import axios from "axios" - -import type { HandlerResponse } from "@netlify/functions" - -export const lambda = async (apiKey: string): Promise => { - try { - const daysToFetch = 90 - const now = new Date() - const endDate = now.toISOString().split("T")[0] // YYYY-MM-DD - const startDate = new Date(now.setDate(now.getDate() - daysToFetch)) - .toISOString() - .split("T")[0] // {daysToFetch} days ago - const response = await axios.get( - `https://api.etherscan.io/api?module=stats&action=dailytx&startdate=${startDate}&enddate=${endDate}&sort=asc&apikey=${apiKey}` - ) - if (response.status < 200 || response.status >= 300) { - return { statusCode: response.status, body: response.statusText } - } - const { data } = response - return { - statusCode: 200, - body: JSON.stringify(data.result), - } - } catch (error) { - console.error(error) - return { - statusCode: 500, - body: JSON.stringify({ msg: (error as Error).message }), - } - } -} - -export const handler = () => { - let apiKey = process.env.ETHERSCAN_API_KEY - - if (!apiKey) { - throw new Error("required env ETHERSCAN_API_KEY not set") - } - - return lambda(apiKey) -} diff --git a/src/pages-conditional/dapps.tsx b/src/pages-conditional/dapps.tsx index 3c145752160..0048a92e7c9 100644 --- a/src/pages-conditional/dapps.tsx +++ b/src/pages-conditional/dapps.tsx @@ -1113,7 +1113,7 @@ const DappsPage = ({ { title: "Lido", description: t("page-dapps-dapp-description-lido"), - link: "https://lido.is/", + link: "https://lido.fi/", image: getImage(data.lido), alt: t("page-dapps-lido-logo-alt"), }, diff --git a/src/pages-conditional/eth.tsx b/src/pages-conditional/eth.tsx index 3c4c1761255..a0981630121 100644 --- a/src/pages-conditional/eth.tsx +++ b/src/pages-conditional/eth.tsx @@ -1,7 +1,6 @@ import React, { ComponentProps } from "react" import { Box, - Center, Flex, FlexProps, Heading, @@ -24,7 +23,7 @@ import InlineLink from "../components/Link" import HorizontalCard from "../components/HorizontalCard" import PageMetadata from "../components/PageMetadata" import FeedbackCard from "../components/FeedbackCard" -import QuizWidget from "../components/Quiz/QuizWidget" +import { StandaloneQuizWidget } from "../components/Quiz/QuizWidget" import Card from "../components/Card" import Text from "../components/OldText" import OldHeading from "../components/OldHeading" @@ -590,9 +589,7 @@ const EthPage = (props: PageProps) => { -
- -
+
diff --git a/src/pages-conditional/wallets.tsx b/src/pages-conditional/wallets.tsx index 897276a3901..99a026100f9 100644 --- a/src/pages-conditional/wallets.tsx +++ b/src/pages-conditional/wallets.tsx @@ -1,6 +1,5 @@ import React from "react" import { - Center, Box, Flex, BoxProps, @@ -20,7 +19,7 @@ import HorizontalCard, { } from "../components/HorizontalCard" import CardList from "../components/CardList" import FeedbackCard from "../components/FeedbackCard" -import QuizWidget from "../components/Quiz/QuizWidget" +import { StandaloneQuizWidget } from "../components/Quiz/QuizWidget" import Text from "../components/OldText" import OldHeading from "../components/OldHeading" import { Simulator } from "../components/Simulator" @@ -489,9 +488,7 @@ const WalletsPage = ({ -
- -
+
diff --git a/src/pages-conditional/what-is-ethereum.tsx b/src/pages-conditional/what-is-ethereum.tsx index a46a6da21fb..f7701da650d 100644 --- a/src/pages-conditional/what-is-ethereum.tsx +++ b/src/pages-conditional/what-is-ethereum.tsx @@ -34,7 +34,7 @@ import AdoptionChart from "../components/AdoptionChart" import EnergyConsumptionChart from "../components/EnergyConsumptionChart" import Slider, { EmblaSlide } from "../components/Slider" import FeedbackCard from "../components/FeedbackCard" -import QuizWidget from "../components/Quiz/QuizWidget" +import { StandaloneQuizWidget } from "../components/Quiz/QuizWidget" import StatErrorMessage from "../components/StatErrorMessage" import StatLoadingMessage from "../components/StatLoadingMessage" import Text from "../components/OldText" @@ -842,9 +842,7 @@ const WhatIsEthereumPage = ({ -
- -
+
diff --git a/src/pages/community.tsx b/src/pages/community.tsx index 873ae8b08ca..63c80573f7f 100644 --- a/src/pages/community.tsx +++ b/src/pages/community.tsx @@ -17,12 +17,11 @@ import Card from "../components/Card" import ButtonLink, { IProps as IButtonLinkProps, } from "../components/Buttons/ButtonLink" +import { HubHero, type HubHeroProps } from "../components/Hero" import PageMetadata from "../components/PageMetadata" import Translation from "../components/Translation" -import PageHero from "../components/PageHero" import FeedbackCard from "../components/FeedbackCard" -import WritersCohortBanner from "../components/Banners/Implementations/WritersCohortBanner" import GatsbyImage from "../components/GatsbyImage" import OldHeading from "../components/OldHeading" @@ -144,17 +143,9 @@ interface IGetInvolvedCard { const CommunityPage = ({ data, - location, }: PageProps) => { const { t } = useTranslation() const theme = useTheme() - const heroContent = { - title: t("page-community-hero-title"), - header: t("page-community-hero-header"), - subtitle: t("page-community-hero-subtitle"), - image: getImage(data.enterprise)!, - alt: t("page-community-hero-alt"), - } const cards: Array = [ { @@ -205,14 +196,20 @@ const CommunityPage = ({ }, ] + const heroContent: HubHeroProps = { + title: t("page-community-hero-title"), + header: t("page-community-hero-header"), + description: t("page-community-hero-subtitle"), + heroImgSrc: getImage(data.heroImage)!, + } + return ( - - + ) => { descriptionKey="Layer 2 extends Ethereum, reducing costs and increasing accessibility for decentralized applications." > - Use layer 2 + Use layer 2 ( /> ) -const PageHeader = () => ( - - - - - - - - - - - - - -) - const HomePage = ({ data, pageContext: { language = "en" }, @@ -283,24 +256,13 @@ const HomePage = ({ return ( - - - - + + + {/* Getting Started Section */} diff --git a/src/pages/layer-2.tsx b/src/pages/layer-2.tsx index 416a6a0ac00..b564ef4ffab 100644 --- a/src/pages/layer-2.tsx +++ b/src/pages/layer-2.tsx @@ -1,5 +1,5 @@ // Libraries -import React, { HTMLAttributes, ReactNode, useEffect, useState } from "react" +import React, { ReactNode, useEffect, useState } from "react" import { graphql, PageProps } from "gatsby" import { useI18next, useTranslation } from "gatsby-plugin-react-i18next" import { @@ -35,7 +35,7 @@ import OrderedList from "../components/OrderedList" import PageHero from "../components/PageHero" import PageMetadata from "../components/PageMetadata" import ProductList from "../components/ProductList" -import QuizWidget from "../components/Quiz/QuizWidget" +import { StandaloneQuizWidget } from "../components/Quiz/QuizWidget" import Tooltip from "../components/Tooltip" import Translation from "../components/Translation" import Text from "../components/OldText" @@ -914,9 +914,7 @@ const Layer2Page = ({ data }: PageProps) => { {/* Layer 2 Quiz Section */} - - - + {/* Layer 2 Feedback Section */} diff --git a/src/pages/learn/index.tsx b/src/pages/learn/index.tsx index 0a2e63411bb..d38f2ea8102 100644 --- a/src/pages/learn/index.tsx +++ b/src/pages/learn/index.tsx @@ -22,7 +22,7 @@ import InlineLink from "../../components/Link" import OriginalCard, { IProps as IOriginalCardProps, } from "../../components/Card" -import PageHero from "../../components/PageHero" +import { HubHero, type HubHeroProps } from "../../components/Hero" import PageMetadata from "../../components/PageMetadata" import Translation from "../../components/Translation" import UpgradeTableOfContents from "../../components/UpgradeTableOfContents" @@ -166,12 +166,11 @@ const LearnPage = ({ data }: PageProps) => { }, ] - const heroContent = { + const heroContent: HubHeroProps = { title: t("learn-hub"), header: t("hero-header"), - subtitle: t("hero-subtitle"), - image: getImage(data.heroImage)!, - alt: "", + description: t("hero-subtitle"), + heroImgSrc: getImage(data.heroImage)!, buttons: [ { content: t("hero-button-lets-get-started"), @@ -189,11 +188,7 @@ const LearnPage = ({ data }: PageProps) => { - - - - - + ) => { w="full" mb={16} mx="auto" - pt={{ lg: 16 }} + pt={{ base: "10", lg: "16" }} dir={isRightToLeft ? "rtl" : "ltr"} > @@ -811,10 +806,10 @@ export const query = graphql` } } } - heroImage: file(relativePath: { eq: "eth.png" }) { + heroImage: file(relativePath: { eq: "heroes/learn-hub-hero.png" }) { childImageSharp { gatsbyImageData( - width: 500 + width: 1504 layout: CONSTRAINED placeholder: BLURRED quality: 100 diff --git a/src/templates/static.tsx b/src/templates/static.tsx index 2f8fcb29ae2..55cb65df6a8 100644 --- a/src/templates/static.tsx +++ b/src/templates/static.tsx @@ -41,12 +41,11 @@ import NetworkUpgradeSummary from "../components/History/NetworkUpgradeSummary" import TranslationChartImage from "../components/TranslationChartImage" import PostMergeBanner from "../components/Banners/PostMergeBanner" import EnergyConsumptionChart from "../components/EnergyConsumptionChart" -import QuizWidget from "../components/Quiz/QuizWidget" +import { StandaloneQuizWidget } from "../components/Quiz/QuizWidget" import { Item as ItemTableOfContents } from "../components/TableOfContents/utils" import Text from "../components/OldText" import GlossaryDefinition from "../components/Glossary/GlossaryDefinition" import GlossaryTooltip from "../components/Glossary/GlossaryTooltip" -import WritersCohortBanner from "../components/Banners/Implementations/WritersCohortBanner" import MdLink from "../components/MdLink" import OldHeading from "../components/OldHeading" @@ -209,7 +208,7 @@ const components = { NetworkUpgradeSummary, TranslationChartImage, EnergyConsumptionChart, - QuizWidget, + QuizWidget: StandaloneQuizWidget, UpgradeStatus, GlossaryDefinition, GlossaryTooltip, @@ -255,7 +254,6 @@ const StaticPage = ({ /> )} - 0.25%", "not dead"], - }, - }, - ], - ], - }, - }, - }, - ], - }, -} diff --git a/yarn.lock b/yarn.lock index 6f6e79408da..ae769999992 100644 --- a/yarn.lock +++ b/yarn.lock @@ -214,6 +214,14 @@ dependencies: "@babel/highlight" "^7.22.5" +"@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + dependencies: + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" + "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" @@ -241,7 +249,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.10.4", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.15.5", "@babel/core@^7.19.6", "@babel/core@^7.20.12", "@babel/core@^7.22.9", "@babel/core@^7.7.5": +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.15.5", "@babel/core@^7.19.6", "@babel/core@^7.20.12", "@babel/core@^7.22.9", "@babel/core@^7.7.5": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.9.tgz#bd96492c68822198f33e8a256061da3cf391f58f" integrity sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w== @@ -271,7 +279,7 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.14.0", "@babel/generator@^7.15.4", "@babel/generator@^7.20.14", "@babel/generator@^7.22.7", "@babel/generator@^7.22.9": +"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.14.0", "@babel/generator@^7.15.4", "@babel/generator@^7.20.14", "@babel/generator@^7.22.9": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.9.tgz#572ecfa7a31002fa1de2a9d91621fd895da8493d" integrity sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw== @@ -281,6 +289,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== + dependencies: + "@babel/types" "^7.23.0" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" @@ -341,6 +359,11 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + "@babel/helper-environment-visitor@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" @@ -354,6 +377,14 @@ "@babel/template" "^7.22.5" "@babel/types" "^7.22.5" +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" @@ -447,6 +478,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + "@babel/helper-validator-identifier@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" @@ -484,11 +520,25 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.8", "@babel/parser@^7.20.13", "@babel/parser@^7.20.7", "@babel/parser@^7.22.5", "@babel/parser@^7.22.7": version "7.22.7" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.7.tgz#df8cf085ce92ddbdbf668a7f186ce848c9036cae" integrity sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q== +"@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz#87245a21cd69a73b0b81bcda98d443d6df08f05e" @@ -505,7 +555,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-optional-chaining" "^7.22.5" -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.14.0", "@babel/plugin-proposal-class-properties@^7.18.6": +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.14.0", "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -538,7 +588,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.10.4", "@babel/plugin-proposal-object-rest-spread@^7.14.7": +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.14.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== @@ -972,13 +1022,6 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-assign@^7.10.4": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.22.5.tgz#290c1b9555dcea48bb2c29ad94237777600d04f9" - integrity sha512-iDhx9ARkXq4vhZ2CYOSnQXkmxkDgosLi3J8Z17mKz7LyzthtkdVchLD7WZ3aXeCuvJDOW3+1I5TpJmwIbF9MKQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-transform-object-rest-spread@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz#9686dc3447df4753b0b2a2fae7e8bc33cdc1f2e1" @@ -1184,7 +1227,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/preset-env@^7.10.4", "@babel/preset-env@^7.15.4", "@babel/preset-env@^7.20.2", "@babel/preset-env@^7.22.9": +"@babel/preset-env@^7.15.4", "@babel/preset-env@^7.20.2", "@babel/preset-env@^7.22.9": version "7.22.9" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.9.tgz#57f17108eb5dfd4c5c25a44c1977eba1df310ac7" integrity sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g== @@ -1345,19 +1388,28 @@ "@babel/parser" "^7.22.5" "@babel/types" "^7.22.5" -"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.9", "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.20.13", "@babel/traverse@^7.22.6", "@babel/traverse@^7.22.8": - version "7.22.8" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.8.tgz#4d4451d31bc34efeae01eac222b514a77aa4000e" - integrity sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw== +"@babel/template@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.7" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.9", "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.20.13", "@babel/traverse@^7.22.6", "@babel/traverse@^7.22.8": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.7" - "@babel/types" "^7.22.5" + "@babel/parser" "^7.23.0" + "@babel/types" "^7.23.0" debug "^4.1.0" globals "^11.1.0" @@ -1370,6 +1422,15 @@ "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" +"@babel/types@^7.22.15", "@babel/types@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@base2/pretty-print-object@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4" @@ -2624,6 +2685,11 @@ resolved "https://registry.yarnpkg.com/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz#c05ed35ad82df8e6ac616c68b92c2282bd083ba4" integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ== +"@fastify/accept-negotiator@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz#c1c66b3b771c09742a54dd5bc87c582f6b0630ff" + integrity sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ== + "@gatsbyjs/parcel-namer-relative-to-cwd@^2.11.0": version "2.11.0" resolved "https://registry.yarnpkg.com/@gatsbyjs/parcel-namer-relative-to-cwd/-/parcel-namer-relative-to-cwd-2.11.0.tgz#80b92ea1432838f5d86a8f85719ffe57fd3ddabe" @@ -2853,6 +2919,11 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@ioredis/commands@^1.1.1": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" + integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -3200,13 +3271,75 @@ pump "^3.0.0" tar-fs "^2.1.1" -"@netlify/functions@^1.2.0": +"@netlify/functions@^1.2.0", "@netlify/functions@^1.6.0": version "1.6.0" resolved "https://registry.yarnpkg.com/@netlify/functions/-/functions-1.6.0.tgz#c373423e6fef0e6f7422ac0345e8bbf2cb692366" integrity sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ== dependencies: is-promise "^4.0.0" +"@netlify/functions@^2.1.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@netlify/functions/-/functions-2.3.0.tgz#37e2ca41c0034a10de4addbdff7fbb8ec669e8c7" + integrity sha512-E3kzXPWMP/r1rAWhjTaXcaOT47dhEvg/eQUJjRLhD9Zzp0WqkdynHr+bqff4rFNv6tuXrtFZrpbPJFKHH0c0zw== + dependencies: + "@netlify/serverless-functions-api" "1.9.0" + is-promise "^4.0.0" + +"@netlify/ipx@^1.4.5": + version "1.4.5" + resolved "https://registry.yarnpkg.com/@netlify/ipx/-/ipx-1.4.5.tgz#c0b38628457786ca3edf365a9a0cf97cdd9d0883" + integrity sha512-QuPxUj8Bn8hXwjdcA1BF+HPLqFJ2e9OCNrKX/s3hoUFjjqQrNSK8lLARAtzGfOM3BRsTXyi/zGdwBE+oJKd0dw== + dependencies: + "@netlify/functions" "^2.1.0" + etag "^1.8.1" + fs-extra "^11.0.0" + ipx "^1.3.1" + micromatch "^4.0.5" + mkdirp "^3.0.0" + murmurhash "^2.0.0" + node-fetch "^2.0.0" + ufo "^1.0.0" + unstorage "^1.0.0" + +"@netlify/node-cookies@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@netlify/node-cookies/-/node-cookies-0.1.0.tgz#dda912ba618527695cf519fafa221c5e6777c612" + integrity sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== + +"@netlify/plugin-gatsby@^3.7.2": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@netlify/plugin-gatsby/-/plugin-gatsby-3.7.2.tgz#ae7bb2367e5c43838dc8d6d6cb85bab67b054147" + integrity sha512-xEWPmZQkGwLkJNjTwzv6CsNYfkDERr8wOUFdNmIX+XUiN8GMwYOGQafqGdEPKqxsF/O95b3i3DhKDhc0PuW2rA== + dependencies: + "@netlify/functions" "^1.6.0" + "@netlify/ipx" "^1.4.5" + abortcontroller-polyfill "^1.7.3" + chalk "^4.1.2" + co-body "^6.1.0" + cookie "^0.5.0" + download "^8.0.0" + etag "^1.8.1" + fs-extra "^10.0.0" + linkfs "^2.1.0" + multer "^1.4.2" + node-fetch "^2.6.1" + node-stream-zip "^1.15.0" + pathe "^0.3.0" + pretty-bytes "^5.6.0" + semver "^7.3.5" + statuses "^2.0.1" + tempy "^1.0.0" + uuid "^9.0.0" + +"@netlify/serverless-functions-api@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@netlify/serverless-functions-api/-/serverless-functions-api-1.9.0.tgz#3e58249e57350aee2c5143c282fddb4abbae4a9d" + integrity sha512-Jq4uk1Mwa5vyxImupJYXPP+I5yYcp3PtguvXtJRutKdm9DPALXfZVtCQzBWMNdZiqVWCM3La9hvaBsPjSMfeug== + dependencies: + "@netlify/node-cookies" "^0.1.0" + urlpattern-polyfill "8.0.2" + "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" @@ -3521,51 +3654,120 @@ resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.2.0.tgz#3d1a71f251ba829ab884dfe119cc4f4c49c7222b" integrity sha512-nU2wh00CTQT9rr1TIKTjdQ9lAGYpmz6XuKw0nAwAN+S2A5YiD55BK1u+E5WMCT8YOIDe/n6gaj4o/Bi9294SSQ== +"@parcel/watcher-android-arm64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz#d82e74bb564ebd4d8a88791d273a3d2bd61e27ab" + integrity sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA== + "@parcel/watcher-darwin-arm64@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.2.0.tgz#9ed47d9e4146d53a39f62577a993426d6ddec2d2" integrity sha512-cJl0UZDcodciy3TDMomoK/Huxpjlkkim3SyMgWzjovHGOZKNce9guLz2dzuFwfObBFCjfznbFMIvAZ5syXotYw== +"@parcel/watcher-darwin-arm64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz#c9cd03f8f233d512fcfc873d5b4e23f1569a82ad" + integrity sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw== + "@parcel/watcher-darwin-x64@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.2.0.tgz#9b553e61f4a01a0947b1c005619db7b7c9a286d1" integrity sha512-QI77zxaGrCV1StKcoRYfsUfmUmvPMPfQrubkBBy5XujV2fwaLgZivQOTQMBgp5K2+E19u1ufpspKXAPqSzpbyg== +"@parcel/watcher-darwin-x64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz#83c902994a2a49b9e1ab5050dba24876fdc2c219" + integrity sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow== + +"@parcel/watcher-freebsd-x64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz#7a0f4593a887e2752b706aff2dae509aef430cf6" + integrity sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw== + "@parcel/watcher-linux-arm-glibc@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.2.0.tgz#2644f6292b862c52d636978da8711bf2f7b14b24" integrity sha512-I2GPBcAXazPzabCmfsa3HRRW+MGlqxYd8g8RIueJU+a4o5nyNZDz0CR1cu0INT0QSQXEZV7w6UE8Hz9CF8u3Pg== +"@parcel/watcher-linux-arm-glibc@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz#3fc90c3ebe67de3648ed2f138068722f9b1d47da" + integrity sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ== + "@parcel/watcher-linux-arm64-glibc@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.2.0.tgz#b82c1715a20e6725c89b2697a208d2ae488d22da" integrity sha512-St5mlfp+2lS9AmgixUqfwJa/DwVmTCJxC1HcOubUTz6YFOKIlkHCeUa1Bxi4E/tR/HSez8+heXHL8HQkJ4Bd8g== +"@parcel/watcher-linux-arm64-glibc@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz#f7bbbf2497d85fd11e4c9e9c26ace8f10ea9bcbc" + integrity sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA== + "@parcel/watcher-linux-arm64-musl@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.2.0.tgz#45511adc69c4c89b10965f0dd1519e56a00f512f" integrity sha512-jS+qfhhoOBVWwMLP65MaG8xdInMK30pPW8wqTCg2AAuVJh5xepMbzkhHJ4zURqHiyY3EiIRuYu4ONJKCxt8iqA== +"@parcel/watcher-linux-arm64-musl@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz#de131a9fcbe1fa0854e9cbf4c55bed3b35bcff43" + integrity sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw== + "@parcel/watcher-linux-x64-glibc@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.2.0.tgz#f6e878bf40874b1ce9530ec87e5c2e644e9ad5ac" integrity sha512-xJvJ7R2wJdi47WZBFS691RDOWvP1j/IAs3EXaWVhDI8FFITbWrWaln7KoNcR0Y3T+ZwimFY/cfb0PNht1q895g== +"@parcel/watcher-linux-x64-glibc@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz#193dd1c798003cdb5a1e59470ff26300f418a943" + integrity sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow== + "@parcel/watcher-linux-x64-musl@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.2.0.tgz#4a1b7a8f65b42f50b1819185ef56ed3c9e251425" integrity sha512-D+NMpgr23a+RI5mu8ZPKWy7AqjBOkURFDgP5iIXXEf/K3hm0jJ3ogzi0Ed2237B/CdYREimCgXyeiAlE/FtwyA== +"@parcel/watcher-linux-x64-musl@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz#6dbdb86d96e955ab0fe4a4b60734ec0025a689dd" + integrity sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g== + +"@parcel/watcher-wasm@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz#73b66c6fbd2a3326ae86a1ec77eab7139d0dd725" + integrity sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA== + dependencies: + is-glob "^4.0.3" + micromatch "^4.0.5" + napi-wasm "^1.1.0" + "@parcel/watcher-win32-arm64@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.2.0.tgz#4cdbaf8c1097038e838d12f897ac8595b18dfb1f" integrity sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q== +"@parcel/watcher-win32-arm64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz#59da26a431da946e6c74fa6b0f30b120ea6650b6" + integrity sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw== + +"@parcel/watcher-win32-ia32@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz#3ee6a18b08929cd3b788e8cc9547fd9a540c013a" + integrity sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow== + "@parcel/watcher-win32-x64@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.2.0.tgz#f2fcc255b7cadfd0afa7c51cde36413632075bcc" integrity sha512-JqGW0RJ61BkKx+yYzIURt9s53P7xMVbv0uxYPzAXLBINGaFmkIKSuUPyBVfy8TMbvp93lvF4SPBNDzVRJfvgOw== +"@parcel/watcher-win32-x64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz#14e7246289861acc589fd608de39fe5d8b4bb0a7" + integrity sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA== + "@parcel/watcher@^2.0.7": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.2.0.tgz#92067954e591d239c3ecfa08add205f88f476068" @@ -3587,6 +3789,29 @@ "@parcel/watcher-win32-arm64" "2.2.0" "@parcel/watcher-win32-x64" "2.2.0" +"@parcel/watcher@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.3.0.tgz#803517abbc3981a1a1221791d9f59dc0590d50f9" + integrity sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.3.0" + "@parcel/watcher-darwin-arm64" "2.3.0" + "@parcel/watcher-darwin-x64" "2.3.0" + "@parcel/watcher-freebsd-x64" "2.3.0" + "@parcel/watcher-linux-arm-glibc" "2.3.0" + "@parcel/watcher-linux-arm64-glibc" "2.3.0" + "@parcel/watcher-linux-arm64-musl" "2.3.0" + "@parcel/watcher-linux-x64-glibc" "2.3.0" + "@parcel/watcher-linux-x64-musl" "2.3.0" + "@parcel/watcher-win32-arm64" "2.3.0" + "@parcel/watcher-win32-ia32" "2.3.0" + "@parcel/watcher-win32-x64" "2.3.0" + "@parcel/workers@2.8.3": version "2.8.3" resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.8.3.tgz#255450ccf4db234082407e4ddda5fd575f08c235" @@ -3667,6 +3892,11 @@ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== +"@sindresorhus/is@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" + integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== + "@sindresorhus/is@^4.0.0": version "4.6.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" @@ -5462,64 +5692,21 @@ "@webassemblyjs/helper-numbers" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@webassemblyjs/floating-point-hex-parser@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - "@webassemblyjs/helper-api-error@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - "@webassemblyjs/helper-buffer@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-numbers@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" @@ -5534,11 +5721,6 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - "@webassemblyjs/helper-wasm-section@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" @@ -5549,16 +5731,6 @@ "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/wasm-gen" "1.11.6" -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/ieee754@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" @@ -5566,13 +5738,6 @@ dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - "@webassemblyjs/leb128@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" @@ -5580,37 +5745,11 @@ dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - "@webassemblyjs/utf8@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - "@webassemblyjs/wasm-edit@^1.11.5": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" @@ -5636,17 +5775,6 @@ "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - "@webassemblyjs/wasm-opt@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" @@ -5657,16 +5785,6 @@ "@webassemblyjs/wasm-gen" "1.11.6" "@webassemblyjs/wasm-parser" "1.11.6" -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" @@ -5679,30 +5797,6 @@ "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - "@webassemblyjs/wast-printer@1.11.6": version "1.11.6" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" @@ -5711,15 +5805,6 @@ "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - "@wry/context@^0.7.0": version "0.7.3" resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.3.tgz#240f6dfd4db5ef54f81f6597f6714e58d4f476a1" @@ -5798,7 +5883,7 @@ dependencies: "@zag-js/dom-query" "0.10.5" -abortcontroller-polyfill@^1.1.9: +abortcontroller-polyfill@^1.1.9, abortcontroller-polyfill@^1.7.3: version "1.7.5" resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== @@ -5838,7 +5923,7 @@ acorn-walk@^8.1.1, acorn-walk@^8.2.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^6.2.1, acorn@^6.4.1: +acorn@^6.2.1: version "6.4.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== @@ -5848,7 +5933,7 @@ acorn@^7.4.0, acorn@^7.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.10.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: version "8.10.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== @@ -5878,11 +5963,6 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -5890,7 +5970,7 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -5902,7 +5982,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -6022,15 +6102,7 @@ ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@^3.1.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -6053,16 +6125,18 @@ application-config-path@^0.1.0: resolved "https://registry.yarnpkg.com/application-config-path/-/application-config-path-0.1.1.tgz#8b5ac64ff6afdd9bd70ce69f6f64b6998f5f756e" integrity sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw== -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -arch@^2.1.1: +arch@^2.1.1, arch@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== +archive-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-4.0.0.tgz#f92e72233056dfc6969472749c267bdb046b1d70" + integrity sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA== + dependencies: + file-type "^4.2.0" + arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -6101,21 +6175,6 @@ aria-query@^5.1.3: dependencies: dequal "^2.0.3" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - array-buffer-byte-length@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" @@ -6155,11 +6214,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - array.prototype.findlastindex@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz#bc229aef98f6bd0533a2bc61ff95209875526c9b" @@ -6229,24 +6283,6 @@ asap@~2.0.3: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - assert@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" @@ -6257,11 +6293,6 @@ assert@^2.0.0: object-is "^1.0.1" util "^0.12.0" -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - ast-types-flow@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" @@ -6293,11 +6324,6 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-each@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77" - integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg== - async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" @@ -6393,7 +6419,7 @@ babel-jsx-utils@^1.1.0: resolved "https://registry.yarnpkg.com/babel-jsx-utils/-/babel-jsx-utils-1.1.0.tgz#304ce4fce0c86cbeee849551a45eb4ed1036381a" integrity sha512-Mh1j/rw4xM9T3YICkw22aBQ78FhsHdsmlb9NEk4uVAFBOg+Ez9ZgXXHugoBPCZui3XLomk/7/JBBH4daJqTkQQ== -babel-loader@^8.1.0, babel-loader@^8.3.0: +babel-loader@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== @@ -6623,7 +6649,7 @@ base-x@^3.0.8: dependencies: safe-buffer "^5.0.1" -base64-js@^1.0.2, base64-js@^1.3.1: +base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -6633,19 +6659,6 @@ base64id@2.0.0, base64id@~2.0.0: resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - better-opn@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6" @@ -6675,22 +6688,18 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== dependencies: - file-uri-to-path "1.0.0" + readable-stream "^2.3.5" + safe-buffer "^5.1.1" bl@^4.0.3, bl@^4.1.0: version "4.1.0" @@ -6701,21 +6710,11 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -bluebird@^3.0.5, bluebird@^3.5.1, bluebird@^3.5.5, bluebird@^3.7.2: +bluebird@^3.0.5, bluebird@^3.5.1, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - body-parser@1.20.1: version "1.20.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" @@ -6734,24 +6733,6 @@ body-parser@1.20.1: type-is "~1.6.18" unpipe "1.0.0" -body-parser@^1.19.0: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -6793,22 +6774,6 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -6816,11 +6781,6 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - browser-assert@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" @@ -6836,60 +6796,6 @@ browser-lang@^0.2.1: resolved "https://registry.yarnpkg.com/browser-lang/-/browser-lang-0.2.1.tgz#7374d2e033743a7600790189de588a051fd4ea25" integrity sha512-+xmtsTxVZKWrKHoNUQp4Tm7BEXlnMwOMAHZAh1SSot1+n04qHLFIH0K5anX52k5BkcauggbaNlWT8f3bVwDh/Q== -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - browserify-zlib@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" @@ -6897,13 +6803,6 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.18.1, browserslist@^4.21.0, browserslist@^4.21.4, browserslist@^4.21.5, browserslist@^4.21.7, browserslist@^4.21.9, browserslist@^4.6.6: version "4.21.10" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" @@ -6921,31 +6820,35 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.5.0: +buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -6953,10 +6856,13 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== +busboy@^0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" + integrity sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg== + dependencies: + dicer "0.2.5" + readable-stream "1.1.x" busboy@^1.0.0: version "1.6.0" @@ -6993,42 +6899,6 @@ c8@^7.6.0: yargs "^16.2.0" yargs-parser "^20.2.9" -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - cache-manager@^2.11.1: version "2.11.1" resolved "https://registry.yarnpkg.com/cache-manager/-/cache-manager-2.11.1.tgz#212e8c3db15288af653b029a1d9fe12f1fd9df61" @@ -7061,7 +6931,20 @@ cacheable-request@^10.2.8: normalize-url "^8.0.0" responselike "^3.0.0" -cacheable-request@^7.0.2: +cacheable-request@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" + integrity sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ== + dependencies: + clone-response "1.0.2" + get-stream "3.0.0" + http-cache-semantics "3.8.1" + keyv "3.0.0" + lowercase-keys "1.0.0" + normalize-url "2.0.1" + responselike "1.0.2" + +cacheable-request@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== @@ -7332,26 +7215,7 @@ cheerio@^1.0.0-rc.10: parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.3: +chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -7396,23 +7260,12 @@ ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== +citty@^0.1.3, citty@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/citty/-/citty-0.1.4.tgz#91091be06ae4951dffa42fd443de7fe72245f2e0" + integrity sha512-Q3bK1huLxzQrvj7hImJ7Z1vKYJRPQCDnd0EjXfHMidcjecGOMuLrmuQmtWmFkuKLcMThlGh1yCKG8IEc6VeNXQ== dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" + consola "^3.2.3" classnames@^2.2.5: version "2.3.2" @@ -7517,6 +7370,15 @@ clipboardy@^2.3.0: execa "^1.0.0" is-wsl "^2.1.1" +clipboardy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-3.0.0.tgz#f3876247404d334c9ed01b6f269c11d09a5e3092" + integrity sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg== + dependencies: + arch "^2.2.0" + execa "^5.1.1" + is-wsl "^2.2.0" + cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -7544,6 +7406,13 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clone-response@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q== + dependencies: + mimic-response "^1.0.0" + clone-response@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" @@ -7561,19 +7430,26 @@ clone@^2.1.1: resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== +cluster-key-slot@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac" + integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA== + +co-body@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/co-body/-/co-body-6.1.0.tgz#d87a8efc3564f9bfe3aced8ef5cd04c7a8766547" + integrity sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ== + dependencies: + inflation "^2.0.0" + qs "^6.5.2" + raw-body "^2.3.3" + type-is "^1.6.16" + collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -7651,7 +7527,7 @@ command-exists@^1.2.4: resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -commander@^2.19.0, commander@^2.20.0: +commander@^2.19.0, commander@^2.20.0, commander@^2.20.3, commander@^2.8.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -7671,7 +7547,7 @@ commander@^8.3.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== -commander@^9.0.0, commander@^9.3.0: +commander@^9.3.0: version "9.5.0" resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== @@ -7696,11 +7572,6 @@ compare-versions@^3.6.0: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -7731,7 +7602,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@^1.5.0, concat-stream@^1.5.2, concat-stream@^1.6.2: +concat-stream@^1.5.2, concat-stream@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -7766,10 +7637,10 @@ confusing-browser-globals@^1.0.10: resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== +consola@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" + integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== constant-case@^2.0.0: version "2.0.0" @@ -7793,14 +7664,14 @@ constants-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== -content-disposition@0.5.4: +content-disposition@0.5.4, content-disposition@^0.5.2: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: safe-buffer "5.2.1" -content-type@~1.0.4, content-type@~1.0.5: +content-type@~1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== @@ -7820,6 +7691,11 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== +cookie-es@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.0.0.tgz#4759684af168dfc54365b2c2dda0a8d7ee1e4865" + integrity sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -7835,23 +7711,6 @@ cookie@~0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - copy-to-clipboard@3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" @@ -7926,14 +7785,6 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - create-gatsby@^3.11.0: version "3.11.0" resolved "https://registry.yarnpkg.com/create-gatsby/-/create-gatsby-3.11.0.tgz#098251f8df1b827c1eb9fde47d23626f5bcb19b4" @@ -7941,29 +7792,6 @@ create-gatsby@^3.11.0: dependencies: "@babel/runtime" "^7.20.13" -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -8003,23 +7831,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -8160,6 +7971,11 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +cssfilter@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" + integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== + cssnano-preset-default@^5.2.14: version "5.2.14" resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" @@ -8230,11 +8046,6 @@ csvtojson@^2.0.10: lodash "^4.17.3" strip-bom "^2.0.0" -cyclist@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.2.tgz#673b5f233bf34d8e602b949429f8171d9121bea3" - integrity sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA== - "d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6: version "3.2.4" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" @@ -8331,7 +8142,7 @@ date-fns@^2.30.0: dependencies: "@babel/runtime" "^7.21.0" -debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: +debug@2, debug@2.6.9, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -8375,6 +8186,13 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -8382,6 +8200,59 @@ decompress-response@^6.0.0: dependencies: mimic-response "^3.1.0" +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== + dependencies: + decompress-tar "^4.1.0" + file-type "^6.1.0" + is-stream "^1.1.0" + seek-bzip "^1.0.5" + unbzip2-stream "^1.0.9" + +decompress-targz@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + integrity sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw== + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" + integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== + dependencies: + decompress-tar "^4.0.0" + decompress-tarbz2 "^4.0.0" + decompress-targz "^4.0.0" + decompress-unzip "^4.0.1" + graceful-fs "^4.1.10" + make-dir "^1.0.0" + pify "^2.3.0" + strip-dirs "^2.0.0" + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -8459,28 +8330,6 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - defu@^6.1.2: version "6.1.2" resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.2.tgz#1217cba167410a1765ba93893c6dbac9ed9d9e5c" @@ -8510,6 +8359,11 @@ delegate@^3.1.2: resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== +denque@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" + integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== + depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" @@ -8525,13 +8379,10 @@ dequal@^2.0.2, dequal@^2.0.3: resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== -des.js@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" - integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" +destr@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.1.tgz#2fc7bddc256fed1183e03f8d148391dde4023cb2" + integrity sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA== destroy@1.2.0: version "1.2.0" @@ -8617,20 +8468,19 @@ devcert@^1.2.2: tmp "^0.0.33" tslib "^1.10.0" +dicer@0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" + integrity sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg== + dependencies: + readable-stream "1.1.x" + streamsearch "0.1.2" + diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -8713,11 +8563,6 @@ dom-serializer@~0.1.0: domelementtype "^1.3.0" entities "^1.1.1" -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" @@ -8830,12 +8675,34 @@ dotenv@^8.2.0, dotenv@^8.6.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== +download@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/download/-/download-8.0.0.tgz#afc0b309730811731aae9f5371c9f46be73e51b1" + integrity sha512-ASRY5QhDk7FK+XrQtQyvhpDKanLluEEQtWl/J7Lxuf/b+i8RYh997QeXvL85xitrmRKVlx9c7eTrcRdq2GS4eA== + dependencies: + archive-type "^4.0.0" + content-disposition "^0.5.2" + decompress "^4.2.1" + ext-name "^5.0.0" + file-type "^11.1.0" + filenamify "^3.0.0" + get-stream "^4.1.0" + got "^8.3.1" + make-dir "^2.1.0" + p-event "^2.1.0" + pify "^4.0.1" + +duplexer3@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" + integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== + duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: +duplexify@^3.5.0, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== @@ -8867,19 +8734,6 @@ electron-to-chromium@^1.4.477: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.479.tgz#ec9f676f23d3a0b0e429bc454d25e0b3253d2118" integrity sha512-ABv1nHMIR8I5n3O3Een0gr6i0mfM+YcTZqjHy3pAYaOjgFG+BMquuKrSyfYf5CbEkLr9uM05RA3pOk4udNB/aQ== -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - embla-carousel-react@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/embla-carousel-react/-/embla-carousel-react-7.1.0.tgz#e716f4df7fd31f7ca3e59a3e011158167bc3c468" @@ -8965,15 +8819,6 @@ engine.io@~6.4.1: engine.io-parser "~5.0.3" ws "~8.11.0" -enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - enhanced-resolve@^5.14.1, enhanced-resolve@^5.15.0: version "5.15.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" @@ -9015,13 +8860,6 @@ eol@^0.9.1: resolved "https://registry.yarnpkg.com/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd" integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg== -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -9387,14 +9225,6 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" @@ -9496,7 +9326,7 @@ esquery@^1.4.0: dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0, esrecurse@^4.3.0: +esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== @@ -9527,7 +9357,7 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -etag@~1.8.1: +etag@^1.8.1, etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== @@ -9565,19 +9395,11 @@ eventemitter3@^4.0.1, eventemitter3@^4.0.4: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.0.0, events@^3.2.0: +events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -9621,19 +9443,6 @@ execa@^5.0.0, execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expand-template@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" @@ -9648,14 +9457,7 @@ express-http-proxy@^1.6.3: es6-promise "^4.1.1" raw-body "^2.3.0" -express-logging@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/express-logging/-/express-logging-1.1.1.tgz#62839618cbab5bb3610f1a1c1485352fe9d26c2a" - integrity sha512-1KboYwxxCG5kwkJHR5LjFDTD1Mgl8n4PIMcCuhhd/1OqaxlC68P3QKbvvAbZVUtVgtlxEdTgSUwf6yxwzRCuuA== - dependencies: - on-headers "^1.0.0" - -express@^4.17.1, express@^4.17.3, express@^4.18.2: +express@^4.17.3, express@^4.18.2: version "4.18.2" resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== @@ -9692,6 +9494,21 @@ express@^4.17.1, express@^4.17.3, express@^4.18.2: utils-merge "1.0.1" vary "~1.1.2" +ext-list@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" + integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== + dependencies: + mime-db "^1.28.0" + +ext-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" + integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== + dependencies: + ext-list "^2.0.0" + sort-keys-length "^1.0.0" + ext@^1.1.2: version "1.7.0" resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" @@ -9706,14 +9523,6 @@ extend-shallow@^2.0.1: dependencies: is-extendable "^0.1.0" -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - extend@^3.0.0, extend@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -9728,20 +9537,6 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - extract-zip@^1.6.6: version "1.7.0" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" @@ -9842,11 +9637,6 @@ fetch-retry@^5.0.2: resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-5.0.6.tgz#17d0bc90423405b7a88b74355bf364acd2a7fa56" integrity sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ== -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" @@ -9877,6 +9667,11 @@ file-system-cache@2.3.0: fs-extra "11.1.1" ramda "0.29.0" +file-type@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-11.1.0.tgz#93780f3fed98b599755d846b99a1617a2ad063b8" + integrity sha512-rM0UO7Qm9K7TWTtA6AShI/t7H5BPjDeGVDaNyg9BjHAj3PysKy7+8C8D137R88jnR3rFJZQB/tFgydl5sN5m7g== + file-type@^16.5.3, file-type@^16.5.4: version "16.5.4" resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.4.tgz#474fb4f704bee427681f98dd390058a172a6c2fd" @@ -9886,10 +9681,25 @@ file-type@^16.5.3, file-type@^16.5.4: strtok3 "^6.2.4" token-types "^4.1.1" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +file-type@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== + +file-type@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.4.0.tgz#1b600e5fca1fbdc6e80c0a70c71c8dba5f7906c5" + integrity sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ== + +file-type@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + integrity sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ== + +file-type@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== filelist@^1.0.4: version "1.0.4" @@ -9903,6 +9713,15 @@ filename-reserved-regex@^2.0.0: resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" integrity sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ== +filenamify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-3.0.0.tgz#9603eb688179f8c5d40d828626dcbb92c3a4672c" + integrity sha512-5EFZ//MsvJgXjBAFJ+Bh2YaCTRF/VP1YOmGrgt+KJ4SFRLjI87EIdwLLuT6wQX0I4F9W41xutobzczjsOKlI/g== + dependencies: + filename-reserved-regex "^2.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" + filenamify@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.3.0.tgz#62391cb58f02b09971c9d4f9d63b3cf9aba03106" @@ -9917,16 +9736,6 @@ filesize@^8.0.6: resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -9952,7 +9761,7 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: +find-cache-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== @@ -10039,14 +9848,6 @@ flow-parser@0.*: resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.213.1.tgz#c1916465050b165c9d8b931c02d78fe582e6c20c" integrity sha512-l+vyZO6hrWG60DredryA8mq62fK9vxL6/RR13HA/aVLBNh9No/wEJsKI+CJqPRkF4CIRUfcJQBeaMXSKcncxUQ== -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - focus-lock@^0.11.6: version "0.11.6" resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.11.6.tgz#e8821e21d218f03e100f7dc27b733f9c4f61e683" @@ -10081,11 +9882,6 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - foreground-child@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" @@ -10172,13 +9968,6 @@ fraction.js@^4.2.0: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - framer-motion@^6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-6.5.1.tgz#802448a16a6eb764124bf36d8cbdfa6dd6b931a7" @@ -10212,7 +10001,7 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -from2@^2.1.0: +from2@^2.1.1: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== @@ -10230,7 +10019,7 @@ fs-exists-cached@1.0.0, fs-exists-cached@^1.0.0: resolved "https://registry.yarnpkg.com/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce" integrity sha512-kSxoARUDn4F2RPXX48UXnaFKwVU7Ivd/6qpzZL29MCDmr9sTvybv4gFCp+qaI4fM9m0z9fgz/yJvi56GAz+BZg== -fs-extra@11.1.1, fs-extra@^11.1.0, fs-extra@^11.1.1: +fs-extra@11.1.1, fs-extra@^11.0.0, fs-extra@^11.1.0, fs-extra@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== @@ -10270,29 +10059,11 @@ fs-monkey@^1.0.4: resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.4.tgz#ee8c1b53d3fe8bb7e5d2c5c5dfc0168afdd2f747" integrity sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ== -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" @@ -11096,6 +10867,11 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-port-please@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.1.1.tgz#2556623cddb4801d823c0a6a15eec038abb483be" + integrity sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA== + get-port@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" @@ -11106,7 +10882,20 @@ get-port@^5.1.1: resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== -get-stream@^4.0.0: +get-stream@3.0.0, get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + +get-stream@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + integrity sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA== + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== @@ -11133,11 +10922,6 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - giget@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/giget/-/giget-1.1.2.tgz#f99a49cb0ff85479c8c3612cdc7ca27f2066e818" @@ -11169,14 +10953,6 @@ github-slugger@^1.0.0, github-slugger@^1.2.1, github-slugger@^1.3.0: resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -11317,12 +11093,35 @@ got@^12.1.0: p-cancelable "^3.0.0" responselike "^3.0.0" +got@^8.3.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" + integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== + dependencies: + "@sindresorhus/is" "^0.7.0" + cacheable-request "^2.1.1" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + into-stream "^3.1.0" + is-retry-allowed "^1.1.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + mimic-response "^1.0.0" + p-cancelable "^0.4.0" + p-timeout "^2.0.1" + pify "^3.0.0" + safe-buffer "^5.1.1" + timed-out "^4.0.1" + url-parse-lax "^3.0.0" + url-to-options "^1.0.1" + graceful-fs@4.2.10: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -11390,6 +11189,20 @@ gzip-size@^6.0.0: dependencies: duplexer "^0.1.2" +h3@^1.7.1, h3@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/h3/-/h3-1.8.2.tgz#69ea8ca0285c1bb268cd08b9a7017e02939f88b7" + integrity sha512-1Ca0orJJlCaiFY68BvzQtP2lKLk46kcLAxVM8JgYbtm2cUg6IY7pjpYgWMwUvDO9QI30N5JAukOKoT8KD3Q0PQ== + dependencies: + cookie-es "^1.0.0" + defu "^6.1.2" + destr "^2.0.1" + iron-webcrypto "^0.10.1" + radix3 "^1.1.0" + ufo "^1.3.0" + uncrypto "^0.1.3" + unenv "^1.7.4" + handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" @@ -11439,11 +11252,23 @@ has-proto@^1.0.1: resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + has-tostringtag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" @@ -11451,37 +11276,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -11489,28 +11283,11 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - hash-wasm@^4.9.0: version "4.9.0" resolved "https://registry.yarnpkg.com/hash-wasm/-/hash-wasm-4.9.0.tgz#7e9dcc9f7d6bd0cc802f2a58f24edce999744206" integrity sha512-7SW7ejyfnRxuOc7ptQHSf4LDoZaWOivfzqw+5rpcQku0nHfmicPKE51ra9BiRLAmT8+gGLestr1XroUkqdjL6w== -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - hasha@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" @@ -11656,15 +11433,6 @@ hey-listen@^1.0.8: resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -11775,6 +11543,11 @@ htmr@^1.0.2: html-entities "^2.1.0" htmlparser2 "^6.0.0" +http-cache-semantics@3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== + http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" @@ -11791,6 +11564,11 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" +http-shutdown@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f" + integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw== + http2-wrapper@^1.0.0-beta.5.2: version "1.0.3" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" @@ -11807,11 +11585,6 @@ http2-wrapper@^2.1.10: quick-lru "^5.1.1" resolve-alpn "^1.2.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - https-proxy-agent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" @@ -11880,16 +11653,11 @@ identity-obj-proxy@^3.0.0: dependencies: harmony-reflect "^1.4.6" -ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== - ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -11900,6 +11668,11 @@ ignore@^5.1.4, ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== +image-meta@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/image-meta/-/image-meta-0.1.1.tgz#a84dc7d5f61c7d60e85ec0c3ac81beee8646039b" + integrity sha512-+oXiHwOEPr1IE5zY0tcBLED/CYcre15J4nwL50x3o0jxWqEkyjrusiKP3YSU+tr9fvJp33ZcP5Gpj2295g3aEw== + immer@^9.0.7: version "9.0.21" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" @@ -11933,10 +11706,10 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== +inflation@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.1.0.tgz#9214db11a47e6f756d111c4f9df96971c60f886c" + integrity sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ== inflight@^1.0.4: version "1.0.6" @@ -11951,16 +11724,6 @@ inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, i resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" @@ -12004,6 +11767,14 @@ internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5: resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== +into-stream@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" + integrity sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ== + dependencies: + from2 "^2.1.1" + p-is-promise "^1.1.0" + invariant@^2.2.1, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -12011,6 +11782,21 @@ invariant@^2.2.1, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +ioredis@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.3.2.tgz#9139f596f62fc9c72d873353ac5395bcf05709f7" + integrity sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA== + dependencies: + "@ioredis/commands" "^1.1.1" + cluster-key-slot "^1.1.0" + debug "^4.3.4" + denque "^2.1.0" + lodash.defaults "^4.2.0" + lodash.isarguments "^3.1.0" + redis-errors "^1.2.0" + redis-parser "^3.0.0" + standard-as-callback "^2.1.0" + ip-regex@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" @@ -12026,6 +11812,29 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== +ipx@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/ipx/-/ipx-1.3.1.tgz#2ff4aa9bc5be74f63cccd80d1df430fcc5e715b6" + integrity sha512-hWRLXdMDOz2q81T2x9lowFtAGO3E5b2HtC8xOOBTrlnxygHNaVrZqJ5c1P3T7tDkC3oCocYRRz0VBffvJKeQlw== + dependencies: + "@fastify/accept-negotiator" "^1.1.0" + consola "^3.2.3" + defu "^6.1.2" + destr "^2.0.1" + etag "^1.8.1" + image-meta "^0.1.1" + listhen "^1.5.5" + node-fetch-native "^1.4.0" + pathe "^1.1.1" + sharp "^0.32.6" + ufo "^1.3.1" + xss "^1.0.14" + +iron-webcrypto@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-0.10.1.tgz#cab8636a468685533a8521bfd7f06b19b7174809" + integrity sha512-QGOS8MRMnj/UiOa+aMIgfyHcvkhqNUsUxb1XzskENvbo+rEfp6TOwqd1KPuDzXC4OnGHcMSVxDGRoilqB8ViqA== + is-absolute-url@^3.0.0, is-absolute-url@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" @@ -12039,20 +11848,6 @@ is-absolute@^1.0.0: is-relative "^1.0.0" is-windows "^1.0.1" -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - is-alphabetical@1.0.4, is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" @@ -12105,13 +11900,6 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -12127,11 +11915,6 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-buffer@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" @@ -12156,20 +11939,6 @@ is-core-module@^2.11.0, is-core-module@^2.12.0, is-core-module@^2.12.1, is-core- dependencies: has "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" @@ -12187,47 +11956,22 @@ is-deflate@^1.0.0: resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14" integrity sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ== -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - is-docker@^2.0.0, is-docker@^2.1.1, is-docker@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-extendable@^0.1.0, is-extendable@^0.1.1: +is-extendable@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" integrity sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww== -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== @@ -12251,13 +11995,6 @@ is-glob@^2.0.0: dependencies: is-extglob "^1.0.0" -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== - dependencies: - is-extglob "^2.1.0" - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -12314,6 +12051,11 @@ is-nan@^1.2.1: call-bind "^1.0.0" define-properties "^1.1.3" +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + integrity sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ== + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -12326,13 +12068,6 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -12343,6 +12078,11 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== +is-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" + integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== + is-path-cwd@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" @@ -12353,7 +12093,7 @@ is-path-inside@^3.0.2: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^1.1.0: +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== @@ -12368,7 +12108,7 @@ is-plain-object@5.0.0, is-plain-object@^5.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== @@ -12407,6 +12147,11 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" +is-retry-allowed@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + is-root@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" @@ -12537,7 +12282,7 @@ is-whitespace-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== -is-windows@^1.0.1, is-windows@^1.0.2: +is-windows@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -12547,11 +12292,6 @@ is-word-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== - is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -12559,29 +12299,27 @@ is-wsl@^2.1.1, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: +isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== @@ -12619,6 +12357,14 @@ istanbul-reports@^3.1.4: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + jackspeak@^2.0.3: version "2.2.2" resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.2.2.tgz#707c62733924b8dc2a0a629dc6248577788b5385" @@ -12716,6 +12462,11 @@ jest-worker@^29.6.2: merge-stream "^2.0.0" supports-color "^8.0.0" +jiti@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42" + integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== + joi@^17.9.2: version "17.9.2" resolved "https://registry.yarnpkg.com/joi/-/joi-17.9.2.tgz#8b2e4724188369f55451aebd1d0b1d9482470690" @@ -12775,6 +12526,11 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -12785,11 +12541,6 @@ json-loader@^0.5.7: resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w== -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -12827,6 +12578,11 @@ json5@^2.1.2, json5@^2.1.3, json5@^2.2.0, json5@^2.2.1, json5@^2.2.2: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== +jsonc-parser@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -12846,11 +12602,6 @@ jsonfile@^6.0.1: object.assign "^4.1.4" object.values "^1.1.6" -jwt-decode@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59" - integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== - kebab-hash@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/kebab-hash/-/kebab-hash-0.1.2.tgz#dfb7949ba34d8e70114ea7d83e266e5e2a4abaac" @@ -12858,6 +12609,13 @@ kebab-hash@^0.1.2: dependencies: lodash.kebabcase "^4.1.1" +keyv@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" + integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== + dependencies: + json-buffer "3.0.0" + keyv@^4.0.0, keyv@^4.5.3: version "4.5.3" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" @@ -12865,25 +12623,6 @@ keyv@^4.0.0, keyv@^4.5.3: dependencies: json-buffer "3.0.1" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -12950,6 +12689,34 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +linkfs@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/linkfs/-/linkfs-2.1.0.tgz#5cc774ad8ed6b0aae5a858bd67e3334cc300a917" + integrity sha512-kmsGcmpvjStZ0ATjuHycBujtNnXiZR28BTivEu0gAMDTT7GEyodcK6zSRtu6xsrdorrPZEIN380x7BD7xEYkew== + +listhen@^1.2.2, listhen@^1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.5.5.tgz#58915512af70f770aa3e9fb19367adf479bb58c4" + integrity sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA== + dependencies: + "@parcel/watcher" "^2.3.0" + "@parcel/watcher-wasm" "2.3.0" + citty "^0.1.4" + clipboardy "^3.0.0" + consola "^3.2.3" + defu "^6.1.2" + get-port-please "^3.1.1" + h3 "^1.8.1" + http-shutdown "^1.2.2" + jiti "^1.20.0" + mlly "^1.4.2" + node-forge "^1.3.1" + pathe "^1.1.1" + std-env "^3.4.3" + ufo "^1.3.0" + untun "^0.1.2" + uqr "^0.1.2" + lmdb@2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.5.2.tgz#37e28a9fb43405f4dc48c44cec0e13a14c4a6ff1" @@ -12986,11 +12753,6 @@ lmdb@2.5.3: "@lmdb/lmdb-linux-x64" "2.5.3" "@lmdb/lmdb-win32-x64" "2.5.3" -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" @@ -13005,7 +12767,7 @@ loader-utils@1.1.0: emojis-list "^2.0.0" json5 "^0.5.0" -loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.4.0: version "1.4.2" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== @@ -13094,7 +12856,7 @@ lodash.deburr@^4.1.0: resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-4.1.0.tgz#ddb1bbb3ef07458c0177ba07de14422cb033ff9b" integrity sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ== -lodash.defaults@^4.0.1: +lodash.defaults@^4.0.1, lodash.defaults@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== @@ -13134,6 +12896,11 @@ lodash.has@^4.0: resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" integrity sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g== +lodash.isarguments@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== + lodash.isstring@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" @@ -13257,6 +13024,16 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" +lowercase-keys@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + integrity sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A== + +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + lowercase-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" @@ -13275,6 +13052,11 @@ lru-cache@4.0.0: pseudomap "^1.0.1" yallist "^2.0.0" +lru-cache@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a" + integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -13311,6 +13093,13 @@ lz-string@^1.5.0: resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -13352,7 +13141,7 @@ map-age-cleaner@^0.1.3: dependencies: p-defer "^1.0.0" -map-cache@^0.2.0, map-cache@^0.2.2: +map-cache@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== @@ -13372,13 +13161,6 @@ map-or-similar@^1.5.0: resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - markdown-escapes@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" @@ -13401,15 +13183,6 @@ markdown-to-jsx@^7.1.8: resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.2.1.tgz#87061fd3176ad926ef3d99493e5c57f6335e0c51" integrity sha512-9HrdzBAo0+sFz9ZYAGT5fB8ilzTW+q6lPocRxrIesMO+aB40V9MgFfbfMXxlGjf22OpRy+IXlvVaQenicdpgbg== -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - mdast-squeeze-paragraphs@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" @@ -13655,22 +13428,6 @@ memoizerific@^1.11.3: dependencies: map-or-similar "^1.5.0" -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - meow@^7.0.1: version "7.1.1" resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" @@ -13768,25 +13525,6 @@ micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3: debug "^4.0.0" parse-entities "^2.0.0" -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" @@ -13795,15 +13533,7 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -13869,16 +13599,6 @@ mini-css-extract-plugin@1.6.2: schema-utils "^3.0.0" webpack-sources "^1.1.0" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -13951,41 +13671,17 @@ minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - mitt@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.2.0.tgz#cb24e6569c806e31bd4e3995787fe38a04fdf90d" integrity sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw== -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: +mkdirp@^0.5.1, mkdirp@^0.5.4: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -13997,23 +13693,26 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +mkdirp@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" + integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== + +mlly@^1.2.0, mlly@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.4.2.tgz#7cf406aa319ff6563d25da6b36610a93f2a8007e" + integrity sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== + dependencies: + acorn "^8.10.0" + pathe "^1.1.1" + pkg-types "^1.0.3" + ufo "^1.3.0" + moment@^2.29.4: version "2.29.4" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - mri@^1.1.5, mri@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -14060,6 +13759,20 @@ msgpackr@^1.5.4: optionalDependencies: msgpackr-extract "^3.0.2" +multer@^1.4.2: + version "1.4.4" + resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.4.tgz#e2bc6cac0df57a8832b858d7418ccaa8ebaf7d8c" + integrity sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw== + dependencies: + append-field "^1.0.0" + busboy "^0.2.11" + concat-stream "^1.5.2" + mkdirp "^0.5.4" + object-assign "^4.1.1" + on-finished "^2.3.0" + type-is "^1.6.4" + xtend "^4.0.0" + multer@^1.4.5-lts.1: version "1.4.5-lts.1" resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.5-lts.1.tgz#803e24ad1984f58edffbc79f56e305aec5cfd1ac" @@ -14084,43 +13797,31 @@ multimatch@^4.0.0: arrify "^2.0.1" minimatch "^3.0.4" +murmurhash@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/murmurhash/-/murmurhash-2.0.1.tgz#4097720e08cf978872194ad84ea5be2dec9b610f" + integrity sha512-5vQEh3y+DG/lMPM0mCGPDnyV8chYg/g7rl6v3Gd8WMF9S429ox3Xk8qrk174kWhG767KQMqqxLD1WnGd77hiew== + mute-stream@0.0.8, mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.12.1: - version "2.17.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== - nanoid@^3.3.6: version "3.3.6" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - napi-build-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== +napi-wasm@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/napi-wasm/-/napi-wasm-1.1.0.tgz#bbe617823765ae9c1bc12ff5942370eae7b2ba4e" + integrity sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg== + natural-compare-lite@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" @@ -14150,28 +13851,6 @@ neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -netlify-lambda@^2.0.3: - version "2.0.16" - resolved "https://registry.yarnpkg.com/netlify-lambda/-/netlify-lambda-2.0.16.tgz#5403d9447252a9f55aaec58eb39d174d84154ebb" - integrity sha512-Wykqt2wBYswjN4nOlZ1nWC15A8Rkoe+OHUWyASBr1byYQB2BcqzCCFwaImt/iwyCW1hgWXezHUlb9XvoVgsADA== - dependencies: - "@babel/core" "^7.10.4" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/plugin-proposal-object-rest-spread" "^7.10.4" - "@babel/plugin-transform-object-assign" "^7.10.4" - "@babel/preset-env" "^7.10.4" - babel-loader "^8.1.0" - body-parser "^1.19.0" - commander "^9.0.0" - express "^4.17.1" - express-logging "^1.1.1" - find-up "^5.0.0" - globby "^11.0.1" - jwt-decode "^3.0.0" - toml "^3.0.0" - webpack "^4.43.0" - webpack-merge "^4.2.2" - next-tick@1, next-tick@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" @@ -14241,6 +13920,11 @@ node-fetch-native@^1.0.2: resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.2.0.tgz#13ec6df98f33168958dbfb6945f10aedf42e7ea8" integrity sha512-5IAMBTl9p6PaAjYCnMv5FmqIF6GcZnawAVnzaCG0rX2aYZJ4CxEkZNtVPuTRug7fL7wyM5BQYTlAzcyMPi6oTQ== +node-fetch-native@^1.2.0, node-fetch-native@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.4.0.tgz#fbe8ac033cb6aa44bd106b5e4fd2b6277ba70fa1" + integrity sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA== + node-fetch@^2.0.0, node-fetch@^2.6.11, node-fetch@^2.6.12: version "2.6.12" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" @@ -14248,6 +13932,18 @@ node-fetch@^2.0.0, node-fetch@^2.6.11, node-fetch@^2.6.12: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.6.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + node-gyp-build-optional-packages@5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" @@ -14271,35 +13967,6 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - node-object-hash@^2.3.10: version "2.3.10" resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-2.3.10.tgz#4b0c1a3a8239e955f0db71f8e00b38b5c0b33992" @@ -14310,6 +13977,11 @@ node-releases@^2.0.13: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== +node-stream-zip@^1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" + integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== + normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -14337,6 +14009,15 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== +normalize-url@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" + integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" @@ -14398,15 +14079,6 @@ object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1 resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - object-inspect@^1.12.3, object-inspect@^1.9.0: version "1.12.3" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" @@ -14425,13 +14097,6 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - object.assign@^4.1.0, object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" @@ -14478,13 +14143,6 @@ object.hasown@^1.1.2: define-properties "^1.1.4" es-abstract "^1.20.4" -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - object.values@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" @@ -14504,14 +14162,23 @@ objectorarray@^1.0.5: resolved "https://registry.yarnpkg.com/objectorarray/-/objectorarray-1.0.5.tgz#2c05248bbefabd8f43ad13b41085951aac5e68a5" integrity sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg== -on-finished@2.4.1: +ofetch@^1.1.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.3.3.tgz#588cb806a28e5c66c2c47dd8994f9059a036d8c0" + integrity sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg== + dependencies: + destr "^2.0.1" + node-fetch-native "^1.4.0" + ufo "^1.3.0" + +on-finished@2.4.1, on-finished@^2.3.0: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" -on-headers@^1.0.0, on-headers@~1.0.2: +on-headers@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== @@ -14597,11 +14264,6 @@ ordered-binary@^1.2.4: resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.4.1.tgz#205cb6efd6c27fa0ef4eced994a023e081cdc911" integrity sha512-9LtiGlPy982CsgxZvJGNNp2/NnrgEr6EAyN3iIEP3/8vd3YLgAZQHbQ75ZrkfBRGrNg37Dk3U6tuVb+B4Xfslg== -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -14612,6 +14274,11 @@ outdent@^0.8.0: resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.8.0.tgz#2ebc3e77bf49912543f1008100ff8e7f44428eb0" integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A== +p-cancelable@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" + integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== + p-cancelable@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" @@ -14632,11 +14299,23 @@ p-defer@^3.0.0: resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== +p-event@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-2.3.1.tgz#596279ef169ab2c3e0cae88c1cfbb08079993ef6" + integrity sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA== + dependencies: + p-timeout "^2.0.1" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== +p-is-promise@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" + integrity sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg== + p-limit@3.1.0, p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -14701,6 +14380,13 @@ p-queue@^6.6.2: eventemitter3 "^4.0.4" p-timeout "^3.2.0" +p-timeout@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" + integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== + dependencies: + p-finally "^1.0.0" + p-timeout@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" @@ -14728,20 +14414,6 @@ pako@~0.2.0: resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - param-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" @@ -14764,17 +14436,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - parse-english@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/parse-english/-/parse-english-4.2.0.tgz#037b68f34d1a1bdf3d33668b87791bdfc1f01e1e" @@ -14897,11 +14558,6 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - password-prompt@^1.0.4: version "1.1.3" resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.3.tgz#05e539f4e7ca4d6c865d479313f10eb9db63ee5f" @@ -14910,11 +14566,6 @@ password-prompt@^1.0.4: ansi-escapes "^4.3.2" cross-spawn "^7.0.3" -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" @@ -14935,11 +14586,6 @@ path-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -15015,22 +14661,16 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathe@^1.1.0: +pathe@^0.3.0: + version "0.3.9" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-0.3.9.tgz#4baff768f37f03e3d9341502865fb93116f65191" + integrity sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g== + +pathe@^1.1.0, pathe@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a" integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - peek-readable@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72" @@ -15065,11 +14705,33 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.0, picomatc resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + pirates@^4.0.4, pirates@^4.0.5: version "4.0.6" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" @@ -15103,6 +14765,15 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" +pkg-types@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" + integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== + dependencies: + jsonc-parser "^3.2.0" + mlly "^1.2.0" + pathe "^1.1.0" + pkg-up@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" @@ -15144,11 +14815,6 @@ popmotion@11.0.3: style-value-types "5.0.0" tslib "^2.1.0" -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - postcss-calc@^8.2.3: version "8.2.4" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" @@ -15438,6 +15104,11 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== + prettier@^2.0.5, prettier@^2.2.1, prettier@^2.8.0, prettier@^2.8.8: version "2.8.8" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" @@ -15524,11 +15195,6 @@ progress@^2.0.0, progress@^2.0.1, progress@^2.0.3: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" @@ -15592,28 +15258,11 @@ proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - pseudomap@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - pump@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" @@ -15639,7 +15288,7 @@ pumpify@^1.3.3: inherits "^2.0.3" pump "^2.0.0" -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== @@ -15672,13 +15321,22 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" -qs@^6.10.0, qs@^6.11.0: +qs@^6.10.0, qs@^6.11.0, qs@^6.5.2: version "6.11.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== dependencies: side-channel "^1.0.4" +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + query-string@^6.14.1: version "6.14.1" resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" @@ -15689,11 +15347,6 @@ query-string@^6.14.1: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -15714,6 +15367,11 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== +radix3@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.0.tgz#9745df67a49c522e94a33d0a93cf743f104b6e0d" + integrity sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A== + ramda@0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35" @@ -15724,21 +15382,13 @@ ramda@0.29.0: resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.29.0.tgz#fbbb67a740a754c8a4cbb41e2a6e0eb8507f55fb" integrity sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -15754,7 +15404,7 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@2.5.2, raw-body@^2.3.0: +raw-body@^2.3.0, raw-body@^2.3.3: version "2.5.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== @@ -16124,7 +15774,17 @@ read@^1.0.7: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +readable-stream@1.1.x: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -16153,15 +15813,6 @@ readable-web-to-node-stream@^3.0.0: dependencies: readable-stream "^3.6.0" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -16232,6 +15883,18 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" +redis-errors@^1.0.0, redis-errors@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" + integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w== + +redis-parser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" + integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A== + dependencies: + redis-errors "^1.0.0" + reduce-css-calc@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03" @@ -16276,14 +15939,6 @@ regenerator-transform@^0.15.1: dependencies: "@babel/runtime" "^7.8.4" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" @@ -16543,12 +16198,7 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.0.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: +repeat-string@^1.0.0, repeat-string@^1.5.2, repeat-string@^1.5.4: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== @@ -16642,6 +16292,13 @@ response-iterator@^0.2.6: resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== +responselike@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== + dependencies: + lowercase-keys "^1.0.0" + responselike@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" @@ -16664,11 +16321,6 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - retext-english@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/retext-english/-/retext-english-3.0.4.tgz#f978828d51fbcee842bc3807a45b7f709822ea8d" @@ -16687,7 +16339,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@^2.6.1, rimraf@^2.6.2: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -16715,14 +16367,6 @@ rimraf@~2.6.2: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -16735,13 +16379,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== - dependencies: - aproba "^1.1.1" - rx@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" @@ -16774,7 +16411,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -16788,14 +16425,7 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0: +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -16833,15 +16463,6 @@ schema-utils@2.7.0: ajv "^6.12.2" ajv-keywords "^3.4.1" -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" @@ -16878,6 +16499,13 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" +seek-bzip@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" + integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== + dependencies: + commander "^2.8.1" + select@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" @@ -16951,13 +16579,6 @@ sentence-case@^3.0.4: tslib "^2.0.3" upper-case-first "^2.0.2" -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - serialize-javascript@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" @@ -16998,17 +16619,7 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== @@ -17018,14 +16629,6 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -17052,6 +16655,20 @@ sharp@^0.32.1: tar-fs "^3.0.4" tunnel-agent "^0.6.0" +sharp@^0.32.6: + version "0.32.6" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.32.6.tgz#6ad30c0b7cd910df65d5f355f774aa4fce45732a" + integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== + dependencies: + color "^4.2.3" + detect-libc "^2.0.2" + node-addon-api "^6.1.0" + prebuild-install "^7.1.1" + semver "^7.5.4" + simple-get "^4.0.1" + tar-fs "^3.0.4" + tunnel-agent "^0.6.0" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -17189,36 +16806,6 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - socket.io-adapter@~2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12" @@ -17256,6 +16843,27 @@ socket.io@4.6.1: socket.io-adapter "~2.5.2" socket.io-parser "~4.2.1" +sort-keys-length@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" + integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== + dependencies: + sort-keys "^1.0.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== + dependencies: + is-plain-obj "^1.0.0" + +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== + dependencies: + is-plain-obj "^1.0.0" + source-list-map@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1" @@ -17271,7 +16879,7 @@ source-map-js@^1.0.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: +source-map-resolve@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== @@ -17282,7 +16890,7 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.16, source-map-support@~0.5.12, source-map-support@~0.5.20: +source-map-support@^0.5.16, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -17295,7 +16903,7 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== -source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.3: +source-map@^0.5.0, source-map@^0.5.7, source-map@~0.5.3: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== @@ -17346,13 +16954,6 @@ split-on-first@^1.0.0: resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - sponge-case@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sponge-case/-/sponge-case-1.0.1.tgz#260833b86453883d974f84854cdb63aecc5aef4c" @@ -17370,13 +16971,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -17392,19 +16986,16 @@ stackframe@^1.3.4: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== +standard-as-callback@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" + integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== + state-toggle@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - static-site-generator-webpack-plugin@^3.4.2: version "3.4.2" resolved "https://registry.yarnpkg.com/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-3.4.2.tgz#ad9fd0a4fb8b6f439a7a66018320b459bdb6d916" @@ -17416,11 +17007,16 @@ static-site-generator-webpack-plugin@^3.4.2: url "^0.11.0" webpack-sources "^0.2.0" -statuses@2.0.1: +statuses@2.0.1, statuses@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +std-env@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.4.3.tgz#326f11db518db751c83fd58574f449b7c3060910" + integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q== + stop-iteration-iterator@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" @@ -17452,33 +17048,6 @@ storybook@^7.0.23: dependencies: "@storybook/cli" "7.1.1" -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - stream-parser@~0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" @@ -17491,6 +17060,11 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== +streamsearch@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" + integrity sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA== + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" @@ -17504,6 +17078,11 @@ streamx@^2.15.0: fast-fifo "^1.1.0" queue-tick "^1.0.1" +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" @@ -17593,13 +17172,18 @@ string.prototype.trimstart@^1.0.6: define-properties "^1.1.4" es-abstract "^1.20.4" -string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -17671,6 +17255,13 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== +strip-dirs@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== + dependencies: + is-natural-number "^4.0.1" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -17698,7 +17289,7 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== -strip-outer@^1.0.1: +strip-outer@^1.0.0, strip-outer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== @@ -17882,7 +17473,7 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" -tapable@^1.0.0, tapable@^1.1.3: +tapable@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== @@ -17911,6 +17502,19 @@ tar-fs@^3.0.4: pump "^3.0.0" tar-stream "^3.1.5" +tar-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + tar-stream@^2.1.4: version "2.2.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" @@ -17962,7 +17566,7 @@ temp@^0.8.4: dependencies: rimraf "~2.6.2" -tempy@^1.0.1: +tempy@^1.0.0, tempy@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de" integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w== @@ -17973,21 +17577,6 @@ tempy@^1.0.1: type-fest "^0.16.0" unique-string "^2.0.0" -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - terser-webpack-plugin@^5.3.1, terser-webpack-plugin@^5.3.7, terser-webpack-plugin@^5.3.9: version "5.3.9" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" @@ -17999,15 +17588,6 @@ terser-webpack-plugin@^5.3.1, terser-webpack-plugin@^5.3.7, terser-webpack-plugi serialize-javascript "^6.0.1" terser "^5.16.8" -terser@^4.1.2: - version "4.8.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" - integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - terser@^5.10.0, terser@^5.16.8, terser@^5.2.0: version "5.19.2" resolved "https://registry.yarnpkg.com/terser/-/terser-5.19.2.tgz#bdb8017a9a4a8de4663a7983f45c506534f9234e" @@ -18032,7 +17612,7 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -through2@^2.0.0, through2@^2.0.3: +through2@^2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -18040,17 +17620,15 @@ through2@^2.0.0, through2@^2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through@^2.3.6: +through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" +timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== timers-ext@^0.1.7: version "0.1.7" @@ -18104,31 +17682,16 @@ tmpl@1.0.5: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -18136,16 +17699,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - tocbot@^4.20.1: version "4.21.0" resolved "https://registry.yarnpkg.com/tocbot/-/tocbot-4.21.0.tgz#ae0e5daa8f1e8534835759f30206f802466bb60a" @@ -18169,11 +17722,6 @@ token-types@^4.1.1: "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" -toml@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" - integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== - tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -18284,11 +17832,6 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -18343,7 +17886,7 @@ type-fest@^3.11.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== -type-is@^1.6.4, type-is@~1.6.18: +type-is@^1.6.16, type-is@^1.6.4, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -18427,6 +17970,11 @@ ua-parser-js@^1.0.35: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.35.tgz#c4ef44343bc3db0a3cbefdf21822f1b1fc1ab011" integrity sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA== +ufo@^1.0.0, ufo@^1.2.0, ufo@^1.3.0, ufo@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.3.1.tgz#e085842f4627c41d4c1b60ebea1f75cdab4ce86b" + integrity sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw== + uglify-js@^3.1.4: version "3.17.4" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" @@ -18442,11 +17990,24 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +unbzip2-stream@^1.0.9: + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== +uncrypto@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" + integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== + underscore.string@^3.3.5, underscore.string@^3.3.6: version "3.3.6" resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.6.tgz#ad8cf23d7423cb3b53b898476117588f4e2f9159" @@ -18455,6 +18016,17 @@ underscore.string@^3.3.5, underscore.string@^3.3.6: sprintf-js "^1.1.1" util-deprecate "^1.0.2" +unenv@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/unenv/-/unenv-1.7.4.tgz#a0e5a78de2c7c3c4563c06ba9763c96c59db3333" + integrity sha512-fjYsXYi30It0YCQYqLOcT6fHfMXsBr2hw9XC7ycf8rTG7Xxpe3ZssiqUnD0khrjiZEmkBXWLwm42yCSCH46fMw== + dependencies: + consola "^3.2.3" + defu "^6.1.2" + mime "^3.0.0" + node-fetch-native "^1.4.0" + pathe "^1.1.1" + unherit@^1.0.4: version "1.1.3" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" @@ -18535,30 +18107,6 @@ unified@^9.1.0, unified@^9.2.2: trough "^1.0.0" vfile "^4.0.0" -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -18738,23 +18286,36 @@ unplugin@^1.3.1: webpack-sources "^3.2.3" webpack-virtual-modules "^0.5.0" -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== +unstorage@^1.0.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.9.0.tgz#0c1977f4e769a48344339ac97ec3f2feea94d43d" + integrity sha512-VpD8ZEYc/le8DZCrny3bnqKE4ZjioQxBRnWE+j5sGNvziPjeDlaS1NaFFHzl/kkXaO3r7UaF8MGQrs14+1B4pQ== dependencies: - has-value "^0.3.1" - isobject "^3.0.0" + anymatch "^3.1.3" + chokidar "^3.5.3" + destr "^2.0.1" + h3 "^1.7.1" + ioredis "^5.3.2" + listhen "^1.2.2" + lru-cache "^10.0.0" + mri "^1.2.0" + node-fetch-native "^1.2.0" + ofetch "^1.1.1" + ufo "^1.2.0" untildify@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +untun@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/untun/-/untun-0.1.2.tgz#fa42a62ae24c1c5c6f3209692a2b0e1f573f1353" + integrity sha512-wLAMWvxfqyTiBODA1lg3IXHQtjggYLeTK7RnSfqtOXixWJ3bAa2kK/HHmOOg19upteqO3muLvN6O/icbyQY33Q== + dependencies: + citty "^0.1.3" + consola "^3.2.3" + pathe "^1.1.1" update-browserslist-db@^1.0.11: version "1.0.11" @@ -18790,6 +18351,11 @@ upper-case@^2.0.2: dependencies: tslib "^2.0.3" +uqr@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d" + integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -18811,6 +18377,18 @@ url-loader@^4.1.1: mime-types "^2.1.27" schema-utils "^3.0.0" +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== + dependencies: + prepend-http "^2.0.0" + +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A== + url@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/url/-/url-0.11.1.tgz#26f90f615427eca1b9f4d6a28288c147e2302a32" @@ -18819,6 +18397,11 @@ url@^0.11.0: punycode "^1.4.1" qs "^6.11.0" +urlpattern-polyfill@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz#99f096e35eff8bf4b5a2aa7d58a1523d6ebc7ce5" + integrity sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== + use-callback-ref@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" @@ -18841,30 +18424,11 @@ use-sidecar@^1.1.2: detect-node-es "^1.1.0" tslib "^2.0.0" -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - util@^0.12.0, util@^0.12.4: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" @@ -19016,11 +18580,6 @@ victory-vendor@^36.6.8: d3-time "^3.0.0" d3-timer "^3.0.1" -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - void-elements@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" @@ -19038,24 +18597,6 @@ walker@^1.0.8: dependencies: makeerror "1.0.12" -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" - watchpack@^2.2.0, watchpack@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" @@ -19131,13 +18672,6 @@ webpack-hot-middleware@^2.25.1: html-entities "^2.1.0" strip-ansi "^6.0.0" -webpack-merge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== - dependencies: - lodash "^4.17.15" - webpack-merge@^5.9.0: version "5.9.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.9.0.tgz#dc160a1c4cf512ceca515cc231669e9ddb133826" @@ -19154,7 +18688,7 @@ webpack-sources@^0.2.0: source-list-map "^1.1.1" source-map "~0.5.3" -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: +webpack-sources@^1.1.0: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== @@ -19207,35 +18741,6 @@ webpack@5, webpack@^5.85.0: watchpack "^2.4.0" webpack-sources "^3.2.3" -webpack@^4.43.0: - version "4.46.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" - integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -19317,13 +18822,6 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -19430,6 +18928,14 @@ xmlhttprequest-ssl@~2.0.0: resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== +xss@^1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" + integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw== + dependencies: + commander "^2.20.3" + cssfilter "0.0.10" + xstate@^4.37.2: version "4.38.2" resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.38.2.tgz#1b74544fc9c8c6c713ba77f81c6017e65aa89804" @@ -19532,7 +19038,7 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yauzl@^2.10.0: +yauzl@^2.10.0, yauzl@^2.4.2: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==